@hotmeshio/long-tail 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/build/api/agents.d.ts +1 -1
  2. package/build/api/agents.js +1 -1
  3. package/build/api/controlplane.d.ts +33 -0
  4. package/build/api/controlplane.js +46 -0
  5. package/build/bin/ltc.js +16 -0
  6. package/build/lib/cli/commands/streams.d.ts +20 -0
  7. package/build/lib/cli/commands/streams.js +134 -0
  8. package/build/lib/db/schemas/001_schema.sql +3 -3
  9. package/build/lib/db/schemas/003_agents.sql +1 -2
  10. package/build/lib/db/schemas/004_agent_subscriptions.sql +1 -1
  11. package/build/lib/db/schemas/006_agent_sub_unique.sql +1 -0
  12. package/build/routes/agents.js +3 -3
  13. package/build/routes/controlplane.js +28 -0
  14. package/build/sdk/index.d.ts +1 -0
  15. package/build/sdk/index.js +1 -0
  16. package/build/services/agent/index.d.ts +2 -3
  17. package/build/services/agent/index.js +5 -12
  18. package/build/services/agent/sql.d.ts +3 -4
  19. package/build/services/agent/sql.js +16 -20
  20. package/build/services/agent/subscription-sql.d.ts +1 -1
  21. package/build/services/agent/subscription-sql.js +1 -1
  22. package/build/services/agent/trigger-registry.js +1 -1
  23. package/build/services/controlplane/index.d.ts +9 -1
  24. package/build/services/controlplane/index.js +39 -0
  25. package/build/services/controlplane/stream-messages-sql.d.ts +21 -0
  26. package/build/services/controlplane/stream-messages-sql.js +109 -0
  27. package/build/services/controlplane/types.d.ts +44 -0
  28. package/build/services/cron/index.js +5 -5
  29. package/build/services/export/post-process.js +14 -6
  30. package/build/services/mcp-runs/execution-builder.js +9 -4
  31. package/build/services/topics/index.js +1 -4
  32. package/build/services/topics/sql.d.ts +2 -2
  33. package/build/services/topics/sql.js +9 -2
  34. package/build/services/topics/system-topics.js +2 -3
  35. package/build/start/workers.js +11 -14
  36. package/build/tsconfig.tsbuildinfo +1 -1
  37. package/build/types/agent.d.ts +1 -1
  38. package/dashboard/dist/assets/{AdminDashboard-CbeSejVX.js → AdminDashboard-BBWJAsjl.js} +2 -2
  39. package/dashboard/dist/assets/{AdminDashboard-CbeSejVX.js.map → AdminDashboard-BBWJAsjl.js.map} +1 -1
  40. package/dashboard/dist/assets/{AgentConfigPage-CFJNOrlg.js → AgentConfigPage-Br2O6NDa.js} +3 -3
  41. package/dashboard/dist/assets/AgentConfigPage-Br2O6NDa.js.map +1 -0
  42. package/dashboard/dist/assets/AgentDetailPage-DjgOR62z.js +4 -0
  43. package/dashboard/dist/assets/AgentDetailPage-DjgOR62z.js.map +1 -0
  44. package/dashboard/dist/assets/AgentsPage-CASVGEvY.js +2 -0
  45. package/dashboard/dist/assets/AgentsPage-CASVGEvY.js.map +1 -0
  46. package/dashboard/dist/assets/AvailableEscalationsPage-Dl9ZmjKA.js +2 -0
  47. package/dashboard/dist/assets/{AvailableEscalationsPage-DdrzePy4.js.map → AvailableEscalationsPage-Dl9ZmjKA.js.map} +1 -1
  48. package/dashboard/dist/assets/{BotPicker-kKBifD1w.js → BotPicker-wEoqL3HR.js} +2 -2
  49. package/dashboard/dist/assets/{BotPicker-kKBifD1w.js.map → BotPicker-wEoqL3HR.js.map} +1 -1
  50. package/dashboard/dist/assets/CapabilitiesPage-DYkx5aa4.js +2 -0
  51. package/dashboard/dist/assets/{CapabilitiesPage-Ch5qY0I7.js.map → CapabilitiesPage-DYkx5aa4.js.map} +1 -1
  52. package/dashboard/dist/assets/{CollapsibleSection-kYTBL7dT.js → CollapsibleSection-DN1aF5HO.js} +2 -2
  53. package/dashboard/dist/assets/{CollapsibleSection-kYTBL7dT.js.map → CollapsibleSection-DN1aF5HO.js.map} +1 -1
  54. package/dashboard/dist/assets/{ConfirmDeleteModal-CcaAapMl.js → ConfirmDeleteModal-v8ufrnX5.js} +2 -2
  55. package/dashboard/dist/assets/{ConfirmDeleteModal-CcaAapMl.js.map → ConfirmDeleteModal-v8ufrnX5.js.map} +1 -1
  56. package/dashboard/dist/assets/{CopyableId-B4CL12pv.js → CopyableId-D94R2n6C.js} +2 -2
  57. package/dashboard/dist/assets/{CopyableId-B4CL12pv.js.map → CopyableId-D94R2n6C.js.map} +1 -1
  58. package/dashboard/dist/assets/{CredentialsPage-D1VAlwid.js → CredentialsPage-CSSjAEx6.js} +2 -2
  59. package/dashboard/dist/assets/{CredentialsPage-D1VAlwid.js.map → CredentialsPage-CSSjAEx6.js.map} +1 -1
  60. package/dashboard/dist/assets/{CronLabel-DRmO5rH0.js → CronLabel-fYpkTnEd.js} +2 -2
  61. package/dashboard/dist/assets/{CronLabel-DRmO5rH0.js.map → CronLabel-fYpkTnEd.js.map} +1 -1
  62. package/dashboard/dist/assets/{CustomDurationPicker-C06QDDir.js → CustomDurationPicker-CSarfbO1.js} +2 -2
  63. package/dashboard/dist/assets/{CustomDurationPicker-C06QDDir.js.map → CustomDurationPicker-CSarfbO1.js.map} +1 -1
  64. package/dashboard/dist/assets/{DataTable-J5R6mepB.js → DataTable-VKt4pvC-.js} +2 -2
  65. package/dashboard/dist/assets/{DataTable-J5R6mepB.js.map → DataTable-VKt4pvC-.js.map} +1 -1
  66. package/dashboard/dist/assets/{DropZone-DwNj3GiG.js → DropZone-Bl4j-AID.js} +2 -2
  67. package/dashboard/dist/assets/{DropZone-DwNj3GiG.js.map → DropZone-Bl4j-AID.js.map} +1 -1
  68. package/dashboard/dist/assets/{ElapsedCell-ChyMzl9n.js → ElapsedCell-Y4UmrII0.js} +2 -2
  69. package/dashboard/dist/assets/{ElapsedCell-ChyMzl9n.js.map → ElapsedCell-Y4UmrII0.js.map} +1 -1
  70. package/dashboard/dist/assets/{EmptyState-BXGvOADa.js → EmptyState-Di6_NfbP.js} +2 -2
  71. package/dashboard/dist/assets/{EmptyState-BXGvOADa.js.map → EmptyState-Di6_NfbP.js.map} +1 -1
  72. package/dashboard/dist/assets/{EscalationsOverview-DM6zmE4g.js → EscalationsOverview-D0Ry84FE.js} +2 -2
  73. package/dashboard/dist/assets/{EscalationsOverview-DM6zmE4g.js.map → EscalationsOverview-D0Ry84FE.js.map} +1 -1
  74. package/dashboard/dist/assets/{EventTable-CvJ98E8s.js → EventTable-BzPleN3Y.js} +2 -2
  75. package/dashboard/dist/assets/{EventTable-CvJ98E8s.js.map → EventTable-BzPleN3Y.js.map} +1 -1
  76. package/dashboard/dist/assets/{EventTopicPill-CB_rIGlL.js → EventTopicPill-DCqcr7N7.js} +2 -2
  77. package/dashboard/dist/assets/{EventTopicPill-CB_rIGlL.js.map → EventTopicPill-DCqcr7N7.js.map} +1 -1
  78. package/dashboard/dist/assets/{FilterBar-Bdssa-Xn.js → FilterBar-BoRQss2J.js} +2 -2
  79. package/dashboard/dist/assets/{FilterBar-Bdssa-Xn.js.map → FilterBar-BoRQss2J.js.map} +1 -1
  80. package/dashboard/dist/assets/HomePage-CGH_dYSo.js +2 -0
  81. package/dashboard/dist/assets/HomePage-CGH_dYSo.js.map +1 -0
  82. package/dashboard/dist/assets/{ListToolbar-jy8NL6ll.js → ListToolbar-BMWttsi2.js} +2 -2
  83. package/dashboard/dist/assets/{ListToolbar-jy8NL6ll.js.map → ListToolbar-BMWttsi2.js.map} +1 -1
  84. package/dashboard/dist/assets/{McpOverview-xkaKuHbX.js → McpOverview-DpC-BbBV.js} +2 -2
  85. package/dashboard/dist/assets/{McpOverview-xkaKuHbX.js.map → McpOverview-DpC-BbBV.js.map} +1 -1
  86. package/dashboard/dist/assets/{McpQueryDetailPage-D5ICn6cR.js → McpQueryDetailPage-CZSzX-cI.js} +2 -2
  87. package/dashboard/dist/assets/{McpQueryDetailPage-D5ICn6cR.js.map → McpQueryDetailPage-CZSzX-cI.js.map} +1 -1
  88. package/dashboard/dist/assets/{McpQueryPage-C46fzfm5.js → McpQueryPage-B4KsvBGo.js} +2 -2
  89. package/dashboard/dist/assets/{McpQueryPage-C46fzfm5.js.map → McpQueryPage-B4KsvBGo.js.map} +1 -1
  90. package/dashboard/dist/assets/{McpRunDetailPage-Znsl4Yc-.js → McpRunDetailPage-_owlNUzp.js} +2 -2
  91. package/dashboard/dist/assets/{McpRunDetailPage-Znsl4Yc-.js.map → McpRunDetailPage-_owlNUzp.js.map} +1 -1
  92. package/dashboard/dist/assets/McpRunsPage-C3A1fU3h.js +2 -0
  93. package/dashboard/dist/assets/McpRunsPage-C3A1fU3h.js.map +1 -0
  94. package/dashboard/dist/assets/{Modal-C6k6_5KB.js → Modal-IsEbA4rW.js} +2 -2
  95. package/dashboard/dist/assets/{Modal-C6k6_5KB.js.map → Modal-IsEbA4rW.js.map} +1 -1
  96. package/dashboard/dist/assets/OperatorDashboard-B8MOtt_p.js +2 -0
  97. package/dashboard/dist/assets/{OperatorDashboard-e5N3_dVl.js.map → OperatorDashboard-B8MOtt_p.js.map} +1 -1
  98. package/dashboard/dist/assets/{PageHeader-COcgWWf-.js → PageHeader-C4DNgZKA.js} +2 -2
  99. package/dashboard/dist/assets/{PageHeader-COcgWWf-.js.map → PageHeader-C4DNgZKA.js.map} +1 -1
  100. package/dashboard/dist/assets/{PageHeaderWithStats-C0PCY3aJ.js → PageHeaderWithStats-Fy6tGBaa.js} +2 -2
  101. package/dashboard/dist/assets/{PageHeaderWithStats-C0PCY3aJ.js.map → PageHeaderWithStats-Fy6tGBaa.js.map} +1 -1
  102. package/dashboard/dist/assets/{PriorityBadge-BQCsYMpM.js → PriorityBadge-kSpsF-Zm.js} +2 -2
  103. package/dashboard/dist/assets/{PriorityBadge-BQCsYMpM.js.map → PriorityBadge-kSpsF-Zm.js.map} +1 -1
  104. package/dashboard/dist/assets/{ProcessDetailPage-C03LOgI0.js → ProcessDetailPage-CZjjs4jE.js} +2 -2
  105. package/dashboard/dist/assets/{ProcessDetailPage-C03LOgI0.js.map → ProcessDetailPage-CZjjs4jE.js.map} +1 -1
  106. package/dashboard/dist/assets/{ProcessesListPage-iyPsmlhm.js → ProcessesListPage-Ds7y71o8.js} +2 -2
  107. package/dashboard/dist/assets/{ProcessesListPage-iyPsmlhm.js.map → ProcessesListPage-Ds7y71o8.js.map} +1 -1
  108. package/dashboard/dist/assets/{RolePill-CHwys1f9.js → RolePill-DmdF9L9Q.js} +2 -2
  109. package/dashboard/dist/assets/{RolePill-CHwys1f9.js.map → RolePill-DmdF9L9Q.js.map} +1 -1
  110. package/dashboard/dist/assets/{RolesPage-Bmc3XaUk.js → RolesPage-CCmK38yn.js} +2 -2
  111. package/dashboard/dist/assets/{RolesPage-Bmc3XaUk.js.map → RolesPage-CCmK38yn.js.map} +1 -1
  112. package/dashboard/dist/assets/{RowActions-Bs4PF-Gd.js → RowActions-uGuPBEWb.js} +2 -2
  113. package/dashboard/dist/assets/{RowActions-Bs4PF-Gd.js.map → RowActions-uGuPBEWb.js.map} +1 -1
  114. package/dashboard/dist/assets/{RunAsSelector-DXzAr2WW.js → RunAsSelector-BsO-uSh9.js} +2 -2
  115. package/dashboard/dist/assets/{RunAsSelector-DXzAr2WW.js.map → RunAsSelector-BsO-uSh9.js.map} +1 -1
  116. package/dashboard/dist/assets/{ServerName-BIdLC1Ay.js → ServerName-BHl8nLOV.js} +2 -2
  117. package/dashboard/dist/assets/{ServerName-BIdLC1Ay.js.map → ServerName-BHl8nLOV.js.map} +1 -1
  118. package/dashboard/dist/assets/{StatCard-OKzRSSx4.js → StatCard-DI4ZQ-Zi.js} +2 -2
  119. package/dashboard/dist/assets/{StatCard-OKzRSSx4.js.map → StatCard-DI4ZQ-Zi.js.map} +1 -1
  120. package/dashboard/dist/assets/{StatusBadge-CQlF46RR.js → StatusBadge-TV20Ulgl.js} +2 -2
  121. package/dashboard/dist/assets/{StatusBadge-CQlF46RR.js.map → StatusBadge-TV20Ulgl.js.map} +1 -1
  122. package/dashboard/dist/assets/{StepIndicator-CP7eycjI.js → StepIndicator-ziIED3Pz.js} +2 -2
  123. package/dashboard/dist/assets/{StepIndicator-CP7eycjI.js.map → StepIndicator-ziIED3Pz.js.map} +1 -1
  124. package/dashboard/dist/assets/{StickyPagination-CGk8VAKt.js → StickyPagination-CXBDS1ka.js} +2 -2
  125. package/dashboard/dist/assets/{StickyPagination-CGk8VAKt.js.map → StickyPagination-CXBDS1ka.js.map} +1 -1
  126. package/dashboard/dist/assets/{SwimlaneTimeline-MEUPc3yJ.js → SwimlaneTimeline-Dc_a4-D5.js} +2 -2
  127. package/dashboard/dist/assets/{SwimlaneTimeline-MEUPc3yJ.js.map → SwimlaneTimeline-Dc_a4-D5.js.map} +1 -1
  128. package/dashboard/dist/assets/{TagInput-BGxXKiWD.js → TagInput-BYEjEPsa.js} +2 -2
  129. package/dashboard/dist/assets/{TagInput-BGxXKiWD.js.map → TagInput-BYEjEPsa.js.map} +1 -1
  130. package/dashboard/dist/assets/{TaskDetailPage-pN5BXzYA.js → TaskDetailPage-Cu0XLEA4.js} +2 -2
  131. package/dashboard/dist/assets/{TaskDetailPage-pN5BXzYA.js.map → TaskDetailPage-Cu0XLEA4.js.map} +1 -1
  132. package/dashboard/dist/assets/{TaskQueuePill-bw8ieKsf.js → TaskQueuePill-yBqQ-piu.js} +2 -2
  133. package/dashboard/dist/assets/{TaskQueuePill-bw8ieKsf.js.map → TaskQueuePill-yBqQ-piu.js.map} +1 -1
  134. package/dashboard/dist/assets/{TasksListPage-D1INzcrA.js → TasksListPage-Dl0quVgM.js} +2 -2
  135. package/dashboard/dist/assets/{TasksListPage-D1INzcrA.js.map → TasksListPage-Dl0quVgM.js.map} +1 -1
  136. package/dashboard/dist/assets/{TimeAgo-CywLVIBA.js → TimeAgo-BAs-HL55.js} +2 -2
  137. package/dashboard/dist/assets/{TimeAgo-CywLVIBA.js.map → TimeAgo-BAs-HL55.js.map} +1 -1
  138. package/dashboard/dist/assets/{TimestampCell-B4Pc6f3A.js → TimestampCell-zFm6ze1U.js} +2 -2
  139. package/dashboard/dist/assets/{TimestampCell-B4Pc6f3A.js.map → TimestampCell-zFm6ze1U.js.map} +1 -1
  140. package/dashboard/dist/assets/ToolPill-DiM3hgAB.js +2 -0
  141. package/dashboard/dist/assets/{ToolPill-DdLN3JOT.js.map → ToolPill-DiM3hgAB.js.map} +1 -1
  142. package/dashboard/dist/assets/{ToolTestPanel-DusbUka5.js → ToolTestPanel-C3vWUW2p.js} +2 -2
  143. package/dashboard/dist/assets/{ToolTestPanel-DusbUka5.js.map → ToolTestPanel-C3vWUW2p.js.map} +1 -1
  144. package/dashboard/dist/assets/TopicDetailPage-wjwRE5eI.js +9 -0
  145. package/dashboard/dist/assets/TopicDetailPage-wjwRE5eI.js.map +1 -0
  146. package/dashboard/dist/assets/{TopicsPage-DbtrnQON.js → TopicsPage-D3AONwHP.js} +2 -2
  147. package/dashboard/dist/assets/{TopicsPage-DbtrnQON.js.map → TopicsPage-D3AONwHP.js.map} +1 -1
  148. package/dashboard/dist/assets/{UserName-CLbusknU.js → UserName-0vrAWvND.js} +2 -2
  149. package/dashboard/dist/assets/{UserName-CLbusknU.js.map → UserName-0vrAWvND.js.map} +1 -1
  150. package/dashboard/dist/assets/{WorkflowExecutionPage-C61R-3Gg.js → WorkflowExecutionPage-CBbWToVN.js} +2 -2
  151. package/dashboard/dist/assets/{WorkflowExecutionPage-C61R-3Gg.js.map → WorkflowExecutionPage-CBbWToVN.js.map} +1 -1
  152. package/dashboard/dist/assets/{WorkflowPill-7vt2F6wR.js → WorkflowPill-C7jE0e1g.js} +2 -2
  153. package/dashboard/dist/assets/{WorkflowPill-7vt2F6wR.js.map → WorkflowPill-C7jE0e1g.js.map} +1 -1
  154. package/dashboard/dist/assets/WorkflowsDashboard-1GVHYLlw.js +2 -0
  155. package/dashboard/dist/assets/{WorkflowsDashboard-BWiUNvyl.js.map → WorkflowsDashboard-1GVHYLlw.js.map} +1 -1
  156. package/dashboard/dist/assets/{WorkflowsOverview-DA2ZOs7D.js → WorkflowsOverview-2POOJzat.js} +2 -2
  157. package/dashboard/dist/assets/{WorkflowsOverview-DA2ZOs7D.js.map → WorkflowsOverview-2POOJzat.js.map} +1 -1
  158. package/dashboard/dist/assets/YamlWorkflowsPage-BcRKxz3P.js +2 -0
  159. package/dashboard/dist/assets/{YamlWorkflowsPage-CLebf2eL.js.map → YamlWorkflowsPage-BcRKxz3P.js.map} +1 -1
  160. package/dashboard/dist/assets/{agents-Dga6NU7U.js → agents-Bd6SNUID.js} +2 -2
  161. package/dashboard/dist/assets/agents-Bd6SNUID.js.map +1 -0
  162. package/dashboard/dist/assets/{bots-CtU4i4OQ.js → bots-DEsg-T8t.js} +2 -2
  163. package/dashboard/dist/assets/{bots-CtU4i4OQ.js.map → bots-DEsg-T8t.js.map} +1 -1
  164. package/dashboard/dist/assets/{controlplane-BVoALhbL.js → controlplane-B3m1kIWb.js} +2 -2
  165. package/dashboard/dist/assets/{controlplane-BVoALhbL.js.map → controlplane-B3m1kIWb.js.map} +1 -1
  166. package/dashboard/dist/assets/{escalation-_N5GfuIi.js → escalation-CJQPC0gm.js} +2 -2
  167. package/dashboard/dist/assets/{escalation-_N5GfuIi.js.map → escalation-CJQPC0gm.js.map} +1 -1
  168. package/dashboard/dist/assets/{escalation-columns-CoTmTpHp.js → escalation-columns-DEE62U3_.js} +2 -2
  169. package/dashboard/dist/assets/{escalation-columns-CoTmTpHp.js.map → escalation-columns-DEE62U3_.js.map} +1 -1
  170. package/dashboard/dist/assets/{helpers-Dz2U3Ctb.js → helpers-BveI_035.js} +2 -2
  171. package/dashboard/dist/assets/{helpers-Dz2U3Ctb.js.map → helpers-BveI_035.js.map} +1 -1
  172. package/dashboard/dist/assets/index-B7zv_NKJ.js +2 -0
  173. package/dashboard/dist/assets/index-B7zv_NKJ.js.map +1 -0
  174. package/dashboard/dist/assets/index-BVVdr9s0.js +2 -0
  175. package/dashboard/dist/assets/{index-6Kd78p_v.js.map → index-BVVdr9s0.js.map} +1 -1
  176. package/dashboard/dist/assets/{index-D_H_Prht.js → index-BXIwxi_u.js} +2 -2
  177. package/dashboard/dist/assets/{index-D_H_Prht.js.map → index-BXIwxi_u.js.map} +1 -1
  178. package/dashboard/dist/assets/{index-B9ealjkt.js → index-CEPo8tn_.js} +2 -2
  179. package/dashboard/dist/assets/{index-B9ealjkt.js.map → index-CEPo8tn_.js.map} +1 -1
  180. package/dashboard/dist/assets/{index-BYwPVJv0.js → index-CTKfvoGj.js} +2 -2
  181. package/dashboard/dist/assets/{index-BYwPVJv0.js.map → index-CTKfvoGj.js.map} +1 -1
  182. package/dashboard/dist/assets/{index-Dpjguclc.js → index-CZVprWC6.js} +2 -2
  183. package/dashboard/dist/assets/{index-Dpjguclc.js.map → index-CZVprWC6.js.map} +1 -1
  184. package/dashboard/dist/assets/{index-CtbG3UN-.js → index-ChNwlMdo.js} +2 -2
  185. package/dashboard/dist/assets/{index-CtbG3UN-.js.map → index-ChNwlMdo.js.map} +1 -1
  186. package/dashboard/dist/assets/{index-QicYdUsl.js → index-Cpq83bZq.js} +2 -2
  187. package/dashboard/dist/assets/{index-QicYdUsl.js.map → index-Cpq83bZq.js.map} +1 -1
  188. package/dashboard/dist/assets/{index-CS61sh5q.js → index-Csts1D-x.js} +2 -2
  189. package/dashboard/dist/assets/{index-CS61sh5q.js.map → index-Csts1D-x.js.map} +1 -1
  190. package/dashboard/dist/assets/{index-dM-OgCY3.js → index-D4v-EUTe.js} +2 -2
  191. package/dashboard/dist/assets/{index-dM-OgCY3.js.map → index-D4v-EUTe.js.map} +1 -1
  192. package/dashboard/dist/assets/{index-DWUunWxh.js → index-DI36hw6W.js} +2 -2
  193. package/dashboard/dist/assets/{index-DWUunWxh.js.map → index-DI36hw6W.js.map} +1 -1
  194. package/dashboard/dist/assets/{index-CCOSf1PY.js → index-MnRuwfHN.js} +59 -59
  195. package/dashboard/dist/assets/index-MnRuwfHN.js.map +1 -0
  196. package/dashboard/dist/assets/index-dp_Q2Hha.css +1 -0
  197. package/dashboard/dist/assets/{index-BWHDW_CF.js → index-wQaJXZYX.js} +2 -2
  198. package/dashboard/dist/assets/{index-BWHDW_CF.js.map → index-wQaJXZYX.js.map} +1 -1
  199. package/dashboard/dist/assets/{knowledge-DJlebU82.js → knowledge-krdvn5bg.js} +2 -2
  200. package/dashboard/dist/assets/{knowledge-DJlebU82.js.map → knowledge-krdvn5bg.js.map} +1 -1
  201. package/dashboard/dist/assets/{mcp-CsLJ5SRm.js → mcp-BTZ2ex4x.js} +2 -2
  202. package/dashboard/dist/assets/{mcp-CsLJ5SRm.js.map → mcp-BTZ2ex4x.js.map} +1 -1
  203. package/dashboard/dist/assets/{mcp-query-WNK1ItRV.js → mcp-query-BzqJu709.js} +2 -2
  204. package/dashboard/dist/assets/{mcp-query-WNK1ItRV.js.map → mcp-query-BzqJu709.js.map} +1 -1
  205. package/dashboard/dist/assets/{mcp-runs-DtTTsuPH.js → mcp-runs-BBUaY28a.js} +2 -2
  206. package/dashboard/dist/assets/{mcp-runs-DtTTsuPH.js.map → mcp-runs-BBUaY28a.js.map} +1 -1
  207. package/dashboard/dist/assets/{namespaces-iRejH3_A.js → namespaces-DJVfgGst.js} +2 -2
  208. package/dashboard/dist/assets/{namespaces-iRejH3_A.js.map → namespaces-DJVfgGst.js.map} +1 -1
  209. package/dashboard/dist/assets/{roles-3Jm5KtKc.js → roles-DogkRzK2.js} +2 -2
  210. package/dashboard/dist/assets/{roles-3Jm5KtKc.js.map → roles-DogkRzK2.js.map} +1 -1
  211. package/dashboard/dist/assets/{settings-DmN2I-c6.js → settings-D2sLRpie.js} +2 -2
  212. package/dashboard/dist/assets/{settings-DmN2I-c6.js.map → settings-D2sLRpie.js.map} +1 -1
  213. package/dashboard/dist/assets/{tasks-Cc-QoITQ.js → tasks-CIuWkHLG.js} +2 -2
  214. package/dashboard/dist/assets/{tasks-Cc-QoITQ.js.map → tasks-CIuWkHLG.js.map} +1 -1
  215. package/dashboard/dist/assets/{topics-p8anbgi0.js → topics-DxMDwZFs.js} +2 -2
  216. package/dashboard/dist/assets/topics-DxMDwZFs.js.map +1 -0
  217. package/dashboard/dist/assets/{useEventHooks-VaJ52jMm.js → useEventHooks-xXspN8_9.js} +2 -2
  218. package/dashboard/dist/assets/{useEventHooks-VaJ52jMm.js.map → useEventHooks-xXspN8_9.js.map} +1 -1
  219. package/dashboard/dist/assets/{useYamlActivityEvents-BU4Uhksl.js → useYamlActivityEvents-2hdnnML7.js} +2 -2
  220. package/dashboard/dist/assets/{useYamlActivityEvents-BU4Uhksl.js.map → useYamlActivityEvents-2hdnnML7.js.map} +1 -1
  221. package/dashboard/dist/assets/{users-oXOlnold.js → users-DWQ-ojf9.js} +2 -2
  222. package/dashboard/dist/assets/{users-oXOlnold.js.map → users-DWQ-ojf9.js.map} +1 -1
  223. package/dashboard/dist/assets/{vendor-icons-CBOM6Es0.js → vendor-icons-YdqUbzg6.js} +110 -100
  224. package/dashboard/dist/assets/vendor-icons-YdqUbzg6.js.map +1 -0
  225. package/dashboard/dist/assets/{workflows-Yq7cK-vR.js → workflows-BvGU8_fj.js} +2 -2
  226. package/dashboard/dist/assets/{workflows-Yq7cK-vR.js.map → workflows-BvGU8_fj.js.map} +1 -1
  227. package/dashboard/dist/assets/{yaml-workflows-Ch53yD43.js → yaml-workflows-DNgb7krQ.js} +2 -2
  228. package/dashboard/dist/assets/{yaml-workflows-Ch53yD43.js.map → yaml-workflows-DNgb7krQ.js.map} +1 -1
  229. package/dashboard/dist/index.html +3 -3
  230. package/docs/agents.md +1 -1
  231. package/docs/api/http/agents.md +5 -7
  232. package/docs/api/http/controlplane.md +193 -0
  233. package/docs/api/sdk/agents.md +5 -5
  234. package/docs/api/sdk/controlplane.md +36 -0
  235. package/docs/dashboard.md +13 -0
  236. package/package.json +2 -2
  237. package/dashboard/dist/assets/AgentConfigPage-CFJNOrlg.js.map +0 -1
  238. package/dashboard/dist/assets/AgentDetailPage-Dbx2t-Uk.js +0 -4
  239. package/dashboard/dist/assets/AgentDetailPage-Dbx2t-Uk.js.map +0 -1
  240. package/dashboard/dist/assets/AgentsPage-Bz61Nl-x.js +0 -2
  241. package/dashboard/dist/assets/AgentsPage-Bz61Nl-x.js.map +0 -1
  242. package/dashboard/dist/assets/AvailableEscalationsPage-DdrzePy4.js +0 -2
  243. package/dashboard/dist/assets/CapabilitiesPage-Ch5qY0I7.js +0 -2
  244. package/dashboard/dist/assets/HomePage-BuZkdXZt.js +0 -2
  245. package/dashboard/dist/assets/HomePage-BuZkdXZt.js.map +0 -1
  246. package/dashboard/dist/assets/McpRunsPage-DT-armx5.js +0 -2
  247. package/dashboard/dist/assets/McpRunsPage-DT-armx5.js.map +0 -1
  248. package/dashboard/dist/assets/OperatorDashboard-e5N3_dVl.js +0 -2
  249. package/dashboard/dist/assets/ToolPill-DdLN3JOT.js +0 -2
  250. package/dashboard/dist/assets/TopicDetailPage-DadwM52Y.js +0 -9
  251. package/dashboard/dist/assets/TopicDetailPage-DadwM52Y.js.map +0 -1
  252. package/dashboard/dist/assets/WorkflowsDashboard-BWiUNvyl.js +0 -2
  253. package/dashboard/dist/assets/YamlWorkflowsPage-CLebf2eL.js +0 -2
  254. package/dashboard/dist/assets/agents-Dga6NU7U.js.map +0 -1
  255. package/dashboard/dist/assets/index-6Kd78p_v.js +0 -2
  256. package/dashboard/dist/assets/index-BIUHY2Jz.css +0 -1
  257. package/dashboard/dist/assets/index-CCOSf1PY.js.map +0 -1
  258. package/dashboard/dist/assets/topics-p8anbgi0.js.map +0 -1
  259. package/dashboard/dist/assets/vendor-icons-CBOM6Es0.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PageHeaderWithStats-C0PCY3aJ.js","sources":["../../src/components/common/layout/PageHeaderWithStats.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { BookOpen } from 'lucide-react';\n\nexport interface InlineStat {\n label: string;\n value: string | number;\n dotClass?: string;\n}\n\ninterface PageHeaderWithStatsProps {\n title: string;\n subtitle?: string;\n stats?: InlineStat[];\n actions?: ReactNode;\n docsHash?: string;\n}\n\nexport function PageHeaderWithStats({\n title,\n subtitle,\n stats,\n actions,\n docsHash,\n}: PageHeaderWithStatsProps) {\n return (\n <div className=\"flex items-baseline justify-between mb-10\">\n <div className=\"flex items-center gap-4\">\n <div className=\"flex items-center gap-2\">\n <h1 className=\"text-3xl font-light text-text-primary\">{title}</h1>\n {docsHash && (\n <button\n onClick={() => { window.location.hash = docsHash; }}\n className=\"text-text-quaternary hover:text-accent transition-colors mt-1\"\n title=\"Open docs for this page\"\n >\n <BookOpen className=\"w-4 h-4\" strokeWidth={1.5} />\n </button>\n )}\n </div>\n {subtitle && (\n <span className=\"text-sm text-text-tertiary font-light\">{subtitle}</span>\n )}\n </div>\n <div className=\"flex items-center gap-5\">\n {stats?.map((s) => (\n <div key={s.label} className=\"flex items-center gap-1.5 text-xs text-text-tertiary\">\n {s.dotClass && <span className={`w-1.5 h-1.5 rounded-full ${s.dotClass}`} />}\n <span>{s.label}</span>\n <span className=\"font-medium text-text-secondary\">{s.value}</span>\n </div>\n ))}\n {actions && <div className=\"flex items-center gap-3\">{actions}</div>}\n </div>\n </div>\n );\n}\n"],"names":["PageHeaderWithStats","title","subtitle","stats","actions","docsHash","jsxDEV","BookOpen","s"],"mappings":"uFAiBO,SAASA,EAAoB,CAClC,MAAAC,EACA,SAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAA6B,CAC3B,OACEC,EAAAA,OAAC,MAAA,CAAI,UAAU,4CACb,SAAA,CAAAA,EAAAA,OAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAA,EAAAA,OAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAA,SAAC,KAAA,CAAG,UAAU,wCAAyC,SAAAL,CAAA,EAAvD,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAA6D,EAC5DI,GACCC,EAAAA,OAAC,SAAA,CACC,QAAS,IAAM,CAAE,OAAO,SAAS,KAAOD,CAAU,EAClD,UAAU,gEACV,MAAM,0BAEN,SAAAC,EAAAA,OAACC,EAAA,CAAS,UAAU,UAAU,YAAa,GAAA,EAA3C,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAgD,CAAA,EALlD,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAA,CAMA,CAAA,EATJ,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IAWA,EACCL,GACCI,EAAAA,OAAC,OAAA,CAAK,UAAU,wCAAyC,SAAAJ,CAAA,EAAzD,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAkE,CAAA,CAAA,EAdtE,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IAgBA,EACAI,EAAAA,OAAC,MAAA,CAAI,UAAU,0BACZ,SAAA,CAAAH,GAAA,YAAAA,EAAO,IAAKK,GACXF,EAAAA,OAAC,MAAA,CAAkB,UAAU,uDAC1B,SAAA,CAAAE,EAAE,UAAYF,EAAAA,OAAC,OAAA,CAAK,UAAW,4BAA4BE,EAAE,QAAQ,IAAvD,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAA2D,EAC1EF,EAAAA,OAAC,OAAA,CAAM,SAAAE,EAAE,KAAA,EAAT,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAe,EACfF,SAAC,OAAA,CAAK,UAAU,kCAAmC,WAAE,KAAA,EAArD,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAA2D,CAAA,GAHnDE,EAAE,MAAZ,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAIA,GAEDJ,GAAWE,EAAAA,OAAC,MAAA,CAAI,UAAU,0BAA2B,SAAAF,CAAA,EAA1C,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAkD,CAAA,CAAA,EARhE,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IASA,CAAA,CAAA,EA3BF,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IA4BA,CAEJ"}
1
+ {"version":3,"file":"PageHeaderWithStats-Fy6tGBaa.js","sources":["../../src/components/common/layout/PageHeaderWithStats.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { BookOpen } from 'lucide-react';\n\nexport interface InlineStat {\n label: string;\n value: string | number;\n dotClass?: string;\n}\n\ninterface PageHeaderWithStatsProps {\n title: string;\n subtitle?: string;\n stats?: InlineStat[];\n actions?: ReactNode;\n docsHash?: string;\n}\n\nexport function PageHeaderWithStats({\n title,\n subtitle,\n stats,\n actions,\n docsHash,\n}: PageHeaderWithStatsProps) {\n return (\n <div className=\"flex items-baseline justify-between mb-10\">\n <div className=\"flex items-center gap-4\">\n <div className=\"flex items-center gap-2\">\n <h1 className=\"text-3xl font-light text-text-primary\">{title}</h1>\n {docsHash && (\n <button\n onClick={() => { window.location.hash = docsHash; }}\n className=\"text-text-quaternary hover:text-accent transition-colors mt-1\"\n title=\"Open docs for this page\"\n >\n <BookOpen className=\"w-4 h-4\" strokeWidth={1.5} />\n </button>\n )}\n </div>\n {subtitle && (\n <span className=\"text-sm text-text-tertiary font-light\">{subtitle}</span>\n )}\n </div>\n <div className=\"flex items-center gap-5\">\n {stats?.map((s) => (\n <div key={s.label} className=\"flex items-center gap-1.5 text-xs text-text-tertiary\">\n {s.dotClass && <span className={`w-1.5 h-1.5 rounded-full ${s.dotClass}`} />}\n <span>{s.label}</span>\n <span className=\"font-medium text-text-secondary\">{s.value}</span>\n </div>\n ))}\n {actions && <div className=\"flex items-center gap-3\">{actions}</div>}\n </div>\n </div>\n );\n}\n"],"names":["PageHeaderWithStats","title","subtitle","stats","actions","docsHash","jsxDEV","BookOpen","s"],"mappings":"uFAiBO,SAASA,EAAoB,CAClC,MAAAC,EACA,SAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAA6B,CAC3B,OACEC,EAAAA,OAAC,MAAA,CAAI,UAAU,4CACb,SAAA,CAAAA,EAAAA,OAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAA,EAAAA,OAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAA,SAAC,KAAA,CAAG,UAAU,wCAAyC,SAAAL,CAAA,EAAvD,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAA6D,EAC5DI,GACCC,EAAAA,OAAC,SAAA,CACC,QAAS,IAAM,CAAE,OAAO,SAAS,KAAOD,CAAU,EAClD,UAAU,gEACV,MAAM,0BAEN,SAAAC,EAAAA,OAACC,EAAA,CAAS,UAAU,UAAU,YAAa,GAAA,EAA3C,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAgD,CAAA,EALlD,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAA,CAMA,CAAA,EATJ,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IAWA,EACCL,GACCI,EAAAA,OAAC,OAAA,CAAK,UAAU,wCAAyC,SAAAJ,CAAA,EAAzD,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAkE,CAAA,CAAA,EAdtE,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IAgBA,EACAI,EAAAA,OAAC,MAAA,CAAI,UAAU,0BACZ,SAAA,CAAAH,GAAA,YAAAA,EAAO,IAAKK,GACXF,EAAAA,OAAC,MAAA,CAAkB,UAAU,uDAC1B,SAAA,CAAAE,EAAE,UAAYF,EAAAA,OAAC,OAAA,CAAK,UAAW,4BAA4BE,EAAE,QAAQ,IAAvD,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAA2D,EAC1EF,EAAAA,OAAC,OAAA,CAAM,SAAAE,EAAE,KAAA,EAAT,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAe,EACfF,SAAC,OAAA,CAAK,UAAU,kCAAmC,WAAE,KAAA,EAArD,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAA2D,CAAA,GAHnDE,EAAE,MAAZ,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAIA,GAEDJ,GAAWE,EAAAA,OAAC,MAAA,CAAI,UAAU,0BAA2B,SAAAF,CAAA,EAA1C,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAkD,CAAA,CAAA,EARhE,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IASA,CAAA,CAAA,EA3BF,OAAA,GAAA,CAAA,SAAA,sEAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IA4BA,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"./index-CCOSf1PY.js";const r={1:"P1",2:"P2",3:"P3",4:"P4"},s={1:"text-text-primary font-semibold",2:"text-text-primary font-medium",3:"text-text-secondary",4:"text-text-tertiary"};function a({priority:t}){return e.jsxDEV("span",{className:`text-xs ${s[t]??"text-text-secondary"}`,children:r[t]??`P${t}`},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/PriorityBadge.tsx",lineNumber:17,columnNumber:5},this)}export{a as P};
2
- //# sourceMappingURL=PriorityBadge-BQCsYMpM.js.map
1
+ import{j as e}from"./index-MnRuwfHN.js";const r={1:"P1",2:"P2",3:"P3",4:"P4"},s={1:"text-text-primary font-semibold",2:"text-text-primary font-medium",3:"text-text-secondary",4:"text-text-tertiary"};function a({priority:t}){return e.jsxDEV("span",{className:`text-xs ${s[t]??"text-text-secondary"}`,children:r[t]??`P${t}`},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/PriorityBadge.tsx",lineNumber:17,columnNumber:5},this)}export{a as P};
2
+ //# sourceMappingURL=PriorityBadge-kSpsF-Zm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PriorityBadge-BQCsYMpM.js","sources":["../../src/components/common/display/PriorityBadge.tsx"],"sourcesContent":["const priorityLabels: Record<number, string> = {\n 1: 'P1',\n 2: 'P2',\n 3: 'P3',\n 4: 'P4',\n};\n\nconst priorityStyles: Record<number, string> = {\n 1: 'text-text-primary font-semibold',\n 2: 'text-text-primary font-medium',\n 3: 'text-text-secondary',\n 4: 'text-text-tertiary',\n};\n\nexport function PriorityBadge({ priority }: { priority: number }) {\n return (\n <span className={`text-xs ${priorityStyles[priority] ?? 'text-text-secondary'}`}>\n {priorityLabels[priority] ?? `P${priority}`}\n </span>\n );\n}\n"],"names":["priorityLabels","priorityStyles","PriorityBadge","priority","jsxDEV"],"mappings":"wCAAA,MAAMA,EAAyC,CAC7C,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,IACL,EAEMC,EAAyC,CAC7C,EAAG,kCACH,EAAG,gCACH,EAAG,sBACH,EAAG,oBACL,EAEO,SAASC,EAAc,CAAE,SAAAC,GAAkC,CAChE,OACEC,EAAAA,OAAC,OAAA,CAAK,UAAW,WAAWH,EAAeE,CAAQ,GAAK,qBAAqB,GAC1E,SAAAH,EAAeG,CAAQ,GAAK,IAAIA,CAAQ,EAAA,EAD3C,OAAA,GAAA,CAAA,SAAA,iEAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IAEA,CAEJ"}
1
+ {"version":3,"file":"PriorityBadge-kSpsF-Zm.js","sources":["../../src/components/common/display/PriorityBadge.tsx"],"sourcesContent":["const priorityLabels: Record<number, string> = {\n 1: 'P1',\n 2: 'P2',\n 3: 'P3',\n 4: 'P4',\n};\n\nconst priorityStyles: Record<number, string> = {\n 1: 'text-text-primary font-semibold',\n 2: 'text-text-primary font-medium',\n 3: 'text-text-secondary',\n 4: 'text-text-tertiary',\n};\n\nexport function PriorityBadge({ priority }: { priority: number }) {\n return (\n <span className={`text-xs ${priorityStyles[priority] ?? 'text-text-secondary'}`}>\n {priorityLabels[priority] ?? `P${priority}`}\n </span>\n );\n}\n"],"names":["priorityLabels","priorityStyles","PriorityBadge","priority","jsxDEV"],"mappings":"wCAAA,MAAMA,EAAyC,CAC7C,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,IACL,EAEMC,EAAyC,CAC7C,EAAG,kCACH,EAAG,gCACH,EAAG,sBACH,EAAG,oBACL,EAEO,SAASC,EAAc,CAAE,SAAAC,GAAkC,CAChE,OACEC,EAAAA,OAAC,OAAA,CAAK,UAAW,WAAWH,EAAeE,CAAQ,GAAK,qBAAqB,GAC1E,SAAAH,EAAeG,CAAQ,GAAK,IAAIA,CAAQ,EAAA,EAD3C,OAAA,GAAA,CAAA,SAAA,iEAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IAEA,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{j as e,D as _,f as y,C as U,a as z,J as M,S}from"./index-CCOSf1PY.js";import{a as D}from"./vendor-query-DLp59M9_.js";import{a as J}from"./tasks-Cc-QoITQ.js";import{a as q}from"./useEventHooks-VaJ52jMm.js";import{u as G}from"./settings-DmN2I-c6.js";import{P as K}from"./PageHeaderWithStats-C0PCY3aJ.js";import{S as I}from"./StatusBadge-CQlF46RR.js";import{W as Q}from"./WorkflowPill-7vt2F6wR.js";import{T as V}from"./TimestampCell-B4Pc6f3A.js";import{L as k,e as X}from"./vendor-react-Co3Y8ikm.js";import{R as Y}from"./RolePill-CHwys1f9.js";import{U as Z}from"./UserName-CLbusknU.js";import"./vendor-icons-CBOM6Es0.js";import"./users-oXOlnold.js";const ee="bg-stripes animate-pulse opacity-70";function L(s){switch(s){case"completed":return"text-status-success";case"in_progress":case"pending":return"text-status-warning";case"needs_intervention":return"text-status-error";case"cancelled":return"text-text-tertiary";default:return"text-text-tertiary"}}function C(s){switch(s){case"resolved":return"text-status-success";case"pending":return"text-status-warning";case"cancelled":return"text-text-tertiary";default:return"text-text-tertiary"}}function se(s,t,n){return`${s==="task"?"Task":n?"Notification":"Escalation"} is ${t.replace(/_/g," ")}`}function ae(s,t){if(t)return ee;switch(s){case"completed":case"resolved":return"bg-status-success";case"pending":case"in_progress":case"needs_intervention":return"bg-status-warning";case"cancelled":return"bg-status-error";default:return"bg-text-tertiary"}}function te(s){return s.startsWith("mcp")||s.startsWith("Mcp")}function $(s){return!s.workflow_type}function R(s,t){if(s.length<=t)return s;const n=Math.floor((t-1)/2);return`${s.slice(0,n)}…${s.slice(s.length-n)}`}function re(s,t){const n=Date.now(),c=new Map,p=[];for(const a of t)a.task_id?(c.has(a.task_id)||c.set(a.task_id,[]),c.get(a.task_id).push(a)):p.push(a);const i=[...s].sort((a,m)=>new Date(a.created_at).getTime()-new Date(m.created_at).getTime()),l=[];for(const a of s)l.push(new Date(a.created_at).getTime()),a.completed_at&&l.push(new Date(a.completed_at).getTime());for(const a of t)l.push(new Date(a.created_at).getTime()),a.resolved_at&&l.push(new Date(a.resolved_at).getTime()),a.claimed_at&&l.push(new Date(a.claimed_at).getTime());if(l.length===0)return{lanes:[],timeMin:0,timeMax:1};const o=Math.min(...l),N=s.some(a=>!a.completed_at)||t.some(a=>!a.resolved_at)?Math.max(n,Math.max(...l)):Math.max(...l),b=N-o||1,d=a=>(a-o)/b*100,h=[];for(const a of i){const m=new Date(a.created_at).getTime(),f=a.completed_at?new Date(a.completed_at).getTime():n,x=!a.completed_at;h.push({kind:"task",id:a.id,label:a.workflow_type,taskId:a.id,startMs:m,endMs:f,startPct:d(m),widthPct:Math.max((f-m)/b*100,.5),durationMs:f-m,isOpen:x,task:a});const g=(c.get(a.id)||[]).sort((r,u)=>new Date(r.created_at).getTime()-new Date(u.created_at).getTime());for(const r of g){const u=new Date(r.created_at).getTime(),v=r.resolved_at?new Date(r.resolved_at).getTime():n,P=!r.resolved_at;let w=null;if(r.claimed_at){const O=new Date(r.claimed_at).getTime(),F=v-u||1;w=(O-u)/F*100}h.push({kind:"escalation",id:r.id,label:r.role,taskId:a.id,startMs:u,endMs:v,startPct:d(u),widthPct:Math.max((v-u)/b*100,.5),durationMs:v-u,isOpen:P,escalation:r,claimPct:w})}}for(const a of p){const m=new Date(a.created_at).getTime(),f=a.resolved_at?new Date(a.resolved_at).getTime():n;let x=null;if(a.claimed_at){const g=new Date(a.claimed_at).getTime(),r=f-m||1;x=(g-m)/r*100}h.push({kind:"escalation",id:a.id,label:a.role,taskId:"",startMs:m,endMs:f,startPct:d(m),widthPct:Math.max((f-m)/b*100,.5),durationMs:f-m,isOpen:!a.resolved_at,escalation:a,claimPct:x})}return{lanes:h,timeMin:o,timeMax:N}}function ie(s,t,n,c=500){const[p,i]=D.useState(0),l=D.useRef(null),o=n-t||1;D.useEffect(()=>{if(s===0)return;l.current=null,i(0);let N;const b=d=>{l.current===null&&(l.current=d);const h=d-l.current,a=Math.min(h/c,1),m=1-Math.pow(1-a,3);i(m),a<1&&(N=requestAnimationFrame(b))};return N=requestAnimationFrame(b),()=>cancelAnimationFrame(N)},[s,c]);const E=D.useCallback(N=>{const b=(N.startMs-t)/o,d=(N.endMs-t)/o;if(p<b)return{width:0,opacity:0};const h=d-b||.001,a=Math.min((p-b)/h,1),m=N.widthPct*a,f=Math.min(a/.1,1);return{width:m,opacity:f}},[p,t,o]);return{progress:p,animatedBar:E}}function H({className:s}){return e.jsxDEV("svg",{className:s,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:4,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:3,columnNumber:5},this)}function A({className:s}){return e.jsxDEV("svg",{className:s,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.455 2.456L21.75 6l-1.036.259a3.375 3.375 0 00-2.455 2.456zM16.894 20.567L16.5 21.75l-.394-1.183a2.25 2.25 0 00-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 001.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 001.423 1.423l1.183.394-1.183.394a2.25 2.25 0 00-1.423 1.423z"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:13,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:12,columnNumber:5},this)}function W({className:s}){return e.jsxDEV("svg",{className:s,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:22,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:21,columnNumber:5},this)}function B({className:s}){return e.jsxDEV("svg",{className:s,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:30,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:29,columnNumber:5},this)}function le({allExpanded:s,onToggleAll:t}){return e.jsxDEV("div",{className:"flex items-center gap-4 mb-4 flex-wrap",children:[e.jsxDEV("button",{onClick:t,className:"text-[10px] text-accent hover:underline",children:s?"Collapse all":"Expand all"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:11,columnNumber:7},this),e.jsxDEV("div",{className:"flex items-center gap-4 ml-auto",children:[e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV(H,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:18,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"Task"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:19,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:17,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV(A,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:22,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"AI Task"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:23,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:21,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV(B,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:26,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"Escalation"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:27,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:25,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV(W,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:30,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"Notification"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:29,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV("span",{className:"w-2 h-2 rounded-full bg-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:34,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"Done"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:35,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:33,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV("span",{className:"w-2 h-2 rounded-full bg-status-warning"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:38,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"Active"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:39,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:37,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:16,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:10,columnNumber:5},this)}function oe({ticks:s}){return e.jsxDEV("div",{className:"flex",children:[e.jsxDEV("div",{className:"w-52 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TimeAxis.tsx",lineNumber:13,columnNumber:7},this),e.jsxDEV("div",{className:"flex-1 relative h-6 border-b border-surface-border",children:s.map(t=>e.jsxDEV("span",{className:"absolute text-[9px] font-mono text-text-tertiary -translate-x-1/2 bottom-1 whitespace-nowrap",style:{left:`${t.pct}%`},children:t.label},t.pct,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TimeAxis.tsx",lineNumber:16,columnNumber:11},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TimeAxis.tsx",lineNumber:14,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TimeAxis.tsx",lineNumber:12,columnNumber:5},this)}function j({label:s,children:t}){return e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-0.5",children:s},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/MetricCell.tsx",lineNumber:11,columnNumber:7},this),e.jsxDEV("div",{className:"text-xs text-text-primary",children:t},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/MetricCell.tsx",lineNumber:14,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/MetricCell.tsx",lineNumber:10,columnNumber:5},this)}function ne({traceId:s,href:t}){const[n,c]=D.useState(!1),p=l=>{l.stopPropagation(),navigator.clipboard.writeText(s),c(!0),setTimeout(()=>c(!1),1500)},i=l=>{l.stopPropagation(),t&&window.open(t,"_blank","noopener,noreferrer")};return e.jsxDEV("span",{className:"group/trace inline-flex items-center gap-1.5",children:[t&&e.jsxDEV("button",{onClick:i,title:"Open trace",className:"opacity-0 group-hover/trace:opacity-100 transition-opacity p-0.5",children:e.jsxDEV("svg",{className:"w-3 h-3 text-text-tertiary hover:text-accent",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-4.5-4.5h6m0 0v6m0-6L10.5 15"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:27,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:26,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:21,columnNumber:9},this),e.jsxDEV("button",{onClick:p,title:"Copy trace ID",className:"opacity-0 group-hover/trace:opacity-100 transition-opacity p-0.5",children:e.jsxDEV("svg",{className:`w-3 h-3 transition-colors ${n?"text-status-success":"text-text-tertiary hover:text-accent"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:n?e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:41,columnNumber:15},this):e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:42,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:36,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:31,columnNumber:7},this),e.jsxDEV("span",{className:"text-[11px] text-accent",children:"Trace Details"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:46,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:19,columnNumber:5},this)}function ce({task:s,traceUrl:t}){const n=s.completed_at?new Date(s.completed_at).getTime()-new Date(s.created_at).getTime():Date.now()-new Date(s.created_at).getTime();return e.jsxDEV("div",{className:"grid grid-cols-[3fr_1fr] gap-6",children:[e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV(I,{status:s.status},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:26,columnNumber:11},this),e.jsxDEV(Q,{type:s.workflow_type},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:27,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:25,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxDEV(j,{label:"Started",children:e.jsxDEV(V,{date:s.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:32,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:31,columnNumber:11},this),e.jsxDEV(j,{label:"Completed",children:s.completed_at?e.jsxDEV(V,{date:s.completed_at},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:37,columnNumber:15},this):e.jsxDEV("span",{className:"text-text-tertiary italic text-xs",children:"In progress"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:39,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:35,columnNumber:11},this),e.jsxDEV(j,{label:"Duration",children:e.jsxDEV(_,{ms:n,className:"font-mono text-sm"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:44,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:43,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:30,columnNumber:9},this),s.milestones.length>0&&e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Milestones"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:50,columnNumber:13},this),e.jsxDEV("div",{className:"flex flex-wrap gap-1.5",children:s.milestones.map((c,p)=>e.jsxDEV("span",{className:"px-2 py-0.5 text-[10px] font-mono bg-accent-faint/50 rounded text-text-secondary",children:[c.name,": ",String(c.value)]},p,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:55,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:53,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:49,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:24,columnNumber:7},this),e.jsxDEV("div",{className:"flex flex-col items-end gap-2",children:[e.jsxDEV(k,{to:`/workflows/executions/${encodeURIComponent(s.workflow_id)}`,className:"block text-[11px] text-accent hover:underline",children:"Execution Details"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:69,columnNumber:9},this),e.jsxDEV(k,{to:`/workflows/tasks/detail/${s.id}`,className:"block text-[11px] text-accent hover:underline",children:"Task Details"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:75,columnNumber:9},this),s.trace_id&&e.jsxDEV(ne,{traceId:s.trace_id,href:t?t.replace("{traceId}",s.trace_id):void 0},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:82,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:68,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:22,columnNumber:5},this)}function me({escalation:s}){const t=new Date(s.created_at).getTime(),n=s.claimed_at?new Date(s.claimed_at).getTime()-t:null,c=s.resolved_at?new Date(s.resolved_at).getTime()-t:null;return e.jsxDEV("div",{className:"grid grid-cols-[3fr_1fr] gap-6",children:[e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV(I,{status:s.status},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:28,columnNumber:11},this),e.jsxDEV(Y,{role:s.role},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:29,columnNumber:11},this),s.type&&e.jsxDEV("span",{className:"text-[10px] text-text-tertiary",children:[s.type,s.subtype?` / ${s.subtype}`:""]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:31,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:27,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxDEV(j,{label:"Created",children:e.jsxDEV(V,{date:s.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:40,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:39,columnNumber:11},this),e.jsxDEV(j,{label:"Claimed",children:s.claimed_at?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(V,{date:s.claimed_at},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:46,columnNumber:17},this),e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:["after ",e.jsxDEV(_,{ms:n},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:48,columnNumber:25},this),s.assigned_to&&e.jsxDEV(e.Fragment,{children:[" ","by"," ",e.jsxDEV("span",{className:"text-text-secondary font-medium",children:e.jsxDEV(Z,{userId:s.assigned_to},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:53,columnNumber:25},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:52,columnNumber:23},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:50,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:47,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:45,columnNumber:15},this):e.jsxDEV("span",{className:"text-text-tertiary italic text-xs",children:"Unclaimed"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:60,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:43,columnNumber:11},this),e.jsxDEV(j,{label:"Resolved",children:s.resolved_at?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(V,{date:s.resolved_at},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:67,columnNumber:17},this),e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:[e.jsxDEV(_,{ms:c},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:69,columnNumber:19},this)," total"]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:68,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:66,columnNumber:15},this):e.jsxDEV("span",{className:"text-text-tertiary italic text-xs",children:"Pending"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:73,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:64,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:38,columnNumber:9},this),s.description&&e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Description"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:80,columnNumber:13},this),e.jsxDEV("p",{className:"text-[11px] text-text-secondary leading-relaxed",children:s.description},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:83,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:79,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:26,columnNumber:7},this),e.jsxDEV("div",{className:"flex flex-col items-end gap-2",children:[s.workflow_id&&e.jsxDEV(k,{to:`/workflows/executions/${encodeURIComponent(s.workflow_id)}`,className:"block text-[11px] text-accent hover:underline",children:"Execution Details"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:93,columnNumber:11},this),e.jsxDEV(k,{to:`/escalations/detail/${s.id}`,className:"block text-[11px] text-accent hover:underline",children:"Escalation Details"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:100,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:91,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:24,columnNumber:5},this)}function pe({lane:s,ticks:t,isExpanded:n,onToggle:c,anim:p,animDone:i,traceUrl:l}){var d,h;const o=s.kind==="task",E=o?s.task.status:s.escalation.status,N=ae(E,s.isOpen),b=p.opacity>0;return e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-center border-b border-surface-border cursor-pointer hover:bg-surface-sunken/40 transition-colors",onClick:c,children:[e.jsxDEV("div",{className:`w-52 shrink-0 py-3 pr-4 flex items-center gap-2 ${o?"":"pl-6"}`,style:{opacity:b?1:0,transition:"opacity 0.15s ease-out"},children:[o?te(s.task.workflow_type)?e.jsxDEV(A,{className:`w-4 h-4 shrink-0 ${L(s.task.status)}`},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:59,columnNumber:15},this):e.jsxDEV(H,{className:`w-4 h-4 shrink-0 ${L(s.task.status)}`},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:63,columnNumber:15},this):$(s.escalation)?e.jsxDEV(W,{className:`w-4 h-4 shrink-0 ${C(s.escalation.status)}`},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:68,columnNumber:13},this):e.jsxDEV(B,{className:`w-4 h-4 shrink-0 ${C(s.escalation.status)}`},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:72,columnNumber:13},this),e.jsxDEV("p",{className:"text-xs font-mono text-text-secondary whitespace-nowrap overflow-hidden",title:se(s.kind,o?s.task.status:s.escalation.status,!o&&$(s.escalation)),children:o?R(s.label,24):R(((d=s.escalation)==null?void 0:d.role)??s.label,20)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:76,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:51,columnNumber:9},this),e.jsxDEV("div",{className:"flex-1 relative h-10",children:[t.map(a=>e.jsxDEV("div",{className:"absolute top-0 bottom-0 w-px bg-surface-border opacity-30",style:{left:`${a.pct}%`}},a.pct,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:90,columnNumber:13},this)),e.jsxDEV("div",{className:`absolute top-2 h-6 rounded-sm ${n?`${N} ring-2 ring-accent ring-offset-1`:`${N} hover:opacity-80`}`,style:{left:`${s.startPct}%`,width:b?`${Math.max(p.width,.3)}%`:"0%",minWidth:b?"4px":"0px",opacity:p.opacity},title:`${s.label} — ${y(s.durationMs)} — ${new Date(s.startMs).toLocaleTimeString()}`,children:[p.width>8&&i&&e.jsxDEV("span",{className:"absolute inset-0 flex items-center px-1.5 text-[9px] font-mono text-white truncate",children:y(s.durationMs)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:114,columnNumber:15},this),s.claimPct!=null&&i&&e.jsxDEV("div",{className:"absolute top-0 bottom-0 w-px border-l border-dashed border-white/70",style:{left:`${s.claimPct}%`},title:(h=s.escalation)!=null&&h.assigned_to?`Claimed by ${s.escalation.assigned_to}`:"Claimed",children:e.jsxDEV("div",{className:"absolute -top-1 -left-[3px] w-[7px] h-[7px] rounded-full bg-white border border-amber-600"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:131,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:121,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:98,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:87,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:46,columnNumber:7},this),e.jsxDEV(U,{open:n,children:e.jsxDEV("div",{className:"py-4 px-6 pl-52 border-b border-surface-border bg-surface-sunken/20",children:o&&s.task?e.jsxDEV(ce,{task:s.task,traceUrl:l},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:142,columnNumber:13},this):s.escalation?e.jsxDEV(me,{escalation:s.escalation},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:144,columnNumber:13},this):null},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:140,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:139,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:44,columnNumber:5},this)}function de({tasks:s,escalations:t,traceUrl:n}){const[c,p]=D.useState(new Set),{lanes:i,timeMin:l,timeMax:o}=D.useMemo(()=>re(s,t),[s,t]),E=o-l||1,{progress:N,animatedBar:b}=ie(i.length,l,o);if(i.length===0)return e.jsxDEV("p",{className:"text-sm text-text-tertiary py-8 text-center",children:"No events in this process."},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/ProcessSwimlaneTimeline.tsx",lineNumber:27,columnNumber:7},this);const d=5,h=Array.from({length:d+1},(r,u)=>({pct:u/d*100,label:y(Math.round(u/d*E))})),a=r=>{p(u=>{const v=new Set(u);return v.has(r)?v.delete(r):v.add(r),v})},m=i.map(r=>r.id),f=m.length>0&&m.every(r=>c.has(r)),x=()=>{p(f?new Set:new Set(m))},g=N>=1;return e.jsxDEV("div",{className:"py-2",children:[e.jsxDEV(le,{allExpanded:f,onToggleAll:x},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/ProcessSwimlaneTimeline.tsx",lineNumber:60,columnNumber:7},this),e.jsxDEV(oe,{ticks:h},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/ProcessSwimlaneTimeline.tsx",lineNumber:61,columnNumber:7},this),i.map(r=>e.jsxDEV(pe,{lane:r,ticks:h,isExpanded:c.has(r.id),onToggle:()=>a(r.id),anim:b(r),animDone:g,traceUrl:n},`${r.kind}-${r.id}`,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/ProcessSwimlaneTimeline.tsx",lineNumber:64,columnNumber:9},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/ProcessSwimlaneTimeline.tsx",lineNumber:59,columnNumber:5},this)}function T(s){if(!s)return null;try{return JSON.parse(s)}catch{return null}}function ue(s){return s.length===0?null:[...s].sort((t,n)=>new Date(t.created_at).getTime()-new Date(n.created_at).getTime())[0]}function Se(){var f;const{originId:s}=X();q(s);const{data:t,isLoading:n}=J(s??""),{data:c}=G(),p=((f=c==null?void 0:c.telemetry)==null?void 0:f.traceUrl)??null,i=(t==null?void 0:t.tasks)??[],l=(t==null?void 0:t.escalations)??[],o=D.useMemo(()=>ue(i),[i]),E=D.useMemo(()=>T(o==null?void 0:o.envelope),[o]),N=D.useMemo(()=>{if(o!=null&&o.data)return T(o.data);const x=i.filter(g=>g.status==="completed"&&g.data).sort((g,r)=>new Date(r.completed_at).getTime()-new Date(g.completed_at).getTime());return x.length>0?T(x[0].data):null},[o,i]),b=D.useMemo(()=>i.length>0&&i.some(x=>x.status!=="completed"&&x.status!=="cancelled"),[i]),d=D.useMemo(()=>{const x=i.filter(u=>u.status==="completed").length,g=i.filter(u=>u.status==="needs_intervention").length,r=l.filter(u=>u.status==="resolved").length;return{tasks:i.length,completed:x,escalated:g,escalations:l.length,resolved:r}},[i,l]),h=D.useMemo(()=>{if(i.length===0&&l.length===0)return null;const g=[...i.map(w=>w.created_at),...l.map(w=>w.created_at)].sort()[0],r=i.every(w=>w.status==="completed"||w.status==="cancelled"),u=l.every(w=>w.status==="resolved"),v=i.length>0&&r&&u,P=v?[...i.map(w=>w.completed_at),...l.map(w=>w.resolved_at)].filter(Boolean).sort().pop()??null:null;return{startIso:g,endIso:P,isFinished:v,elapsed:z(g,P)}},[i,l]),a=D.useMemo(()=>{const x=[];return h&&x.push({label:h.isFinished?"Completed":"Running",value:h.elapsed,dotClass:h.isFinished?"bg-status-success":"bg-status-pending animate-pulse"}),x.push({label:"Tasks",value:`${d.completed}/${d.tasks}`},{label:"Escalations",value:`${d.resolved}/${d.escalations}`}),x},[h,d]);if(n&&i.length===0)return e.jsxDEV("div",{className:"animate-pulse space-y-4",children:[e.jsxDEV("div",{className:"h-8 bg-surface-sunken rounded w-48"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:96,columnNumber:9},this),e.jsxDEV("div",{className:"h-40 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:97,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:95,columnNumber:7},this);const m=E||N||b;return e.jsxDEV("div",{children:[e.jsxDEV(K,{title:"Process Detail",docsHash:"#docs:dashboard.md:process-detail",subtitle:s,stats:a},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:106,columnNumber:7},this),m&&e.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 mb-10",children:[e.jsxDEV("div",{children:E?e.jsxDEV(M,{data:E,label:"Input",defaultMode:"json",defaultCollapsed:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:117,columnNumber:15},this):e.jsxDEV("div",{children:[e.jsxDEV(S,{children:"Input"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:120,columnNumber:17},this),e.jsxDEV("div",{className:"font-mono text-xs bg-surface-sunken rounded-md p-4 text-text-tertiary italic mt-2",children:"Waiting for task..."},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:121,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:119,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:115,columnNumber:11},this),e.jsxDEV("div",{children:N?e.jsxDEV(M,{data:N,label:"Output",defaultMode:"json",defaultCollapsed:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:129,columnNumber:15},this):b?e.jsxDEV("div",{children:[e.jsxDEV(S,{children:"Output"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:132,columnNumber:17},this),e.jsxDEV("div",{className:"flex items-center gap-2 font-mono text-xs bg-surface-sunken rounded-md p-4 text-text-secondary mt-2",children:[e.jsxDEV("span",{className:"w-1.5 h-1.5 rounded-full bg-status-pending animate-pulse"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:134,columnNumber:19},this),"Processing..."]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:133,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:131,columnNumber:15},this):null},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:127,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:114,columnNumber:9},this),e.jsxDEV(S,{className:"mb-6",children:"Timeline"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:143,columnNumber:7},this),e.jsxDEV(de,{tasks:i,escalations:l,traceUrl:p},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:145,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:105,columnNumber:5},this)}export{Se as ProcessDetailPage};
2
- //# sourceMappingURL=ProcessDetailPage-C03LOgI0.js.map
1
+ import{j as e,D as _,f as y,C as U,a as z,J as M,S}from"./index-MnRuwfHN.js";import{a as D}from"./vendor-query-DLp59M9_.js";import{a as J}from"./tasks-CIuWkHLG.js";import{a as q}from"./useEventHooks-xXspN8_9.js";import{u as G}from"./settings-D2sLRpie.js";import{P as K}from"./PageHeaderWithStats-Fy6tGBaa.js";import{S as I}from"./StatusBadge-TV20Ulgl.js";import{W as Q}from"./WorkflowPill-C7jE0e1g.js";import{T as V}from"./TimestampCell-zFm6ze1U.js";import{L as k,e as X}from"./vendor-react-Co3Y8ikm.js";import{R as Y}from"./RolePill-DmdF9L9Q.js";import{U as Z}from"./UserName-0vrAWvND.js";import"./vendor-icons-YdqUbzg6.js";import"./users-DWQ-ojf9.js";const ee="bg-stripes animate-pulse opacity-70";function L(s){switch(s){case"completed":return"text-status-success";case"in_progress":case"pending":return"text-status-warning";case"needs_intervention":return"text-status-error";case"cancelled":return"text-text-tertiary";default:return"text-text-tertiary"}}function C(s){switch(s){case"resolved":return"text-status-success";case"pending":return"text-status-warning";case"cancelled":return"text-text-tertiary";default:return"text-text-tertiary"}}function se(s,t,n){return`${s==="task"?"Task":n?"Notification":"Escalation"} is ${t.replace(/_/g," ")}`}function ae(s,t){if(t)return ee;switch(s){case"completed":case"resolved":return"bg-status-success";case"pending":case"in_progress":case"needs_intervention":return"bg-status-warning";case"cancelled":return"bg-status-error";default:return"bg-text-tertiary"}}function te(s){return s.startsWith("mcp")||s.startsWith("Mcp")}function $(s){return!s.workflow_type}function R(s,t){if(s.length<=t)return s;const n=Math.floor((t-1)/2);return`${s.slice(0,n)}…${s.slice(s.length-n)}`}function re(s,t){const n=Date.now(),c=new Map,p=[];for(const a of t)a.task_id?(c.has(a.task_id)||c.set(a.task_id,[]),c.get(a.task_id).push(a)):p.push(a);const i=[...s].sort((a,m)=>new Date(a.created_at).getTime()-new Date(m.created_at).getTime()),l=[];for(const a of s)l.push(new Date(a.created_at).getTime()),a.completed_at&&l.push(new Date(a.completed_at).getTime());for(const a of t)l.push(new Date(a.created_at).getTime()),a.resolved_at&&l.push(new Date(a.resolved_at).getTime()),a.claimed_at&&l.push(new Date(a.claimed_at).getTime());if(l.length===0)return{lanes:[],timeMin:0,timeMax:1};const o=Math.min(...l),N=s.some(a=>!a.completed_at)||t.some(a=>!a.resolved_at)?Math.max(n,Math.max(...l)):Math.max(...l),b=N-o||1,d=a=>(a-o)/b*100,h=[];for(const a of i){const m=new Date(a.created_at).getTime(),f=a.completed_at?new Date(a.completed_at).getTime():n,x=!a.completed_at;h.push({kind:"task",id:a.id,label:a.workflow_type,taskId:a.id,startMs:m,endMs:f,startPct:d(m),widthPct:Math.max((f-m)/b*100,.5),durationMs:f-m,isOpen:x,task:a});const g=(c.get(a.id)||[]).sort((r,u)=>new Date(r.created_at).getTime()-new Date(u.created_at).getTime());for(const r of g){const u=new Date(r.created_at).getTime(),v=r.resolved_at?new Date(r.resolved_at).getTime():n,P=!r.resolved_at;let w=null;if(r.claimed_at){const O=new Date(r.claimed_at).getTime(),F=v-u||1;w=(O-u)/F*100}h.push({kind:"escalation",id:r.id,label:r.role,taskId:a.id,startMs:u,endMs:v,startPct:d(u),widthPct:Math.max((v-u)/b*100,.5),durationMs:v-u,isOpen:P,escalation:r,claimPct:w})}}for(const a of p){const m=new Date(a.created_at).getTime(),f=a.resolved_at?new Date(a.resolved_at).getTime():n;let x=null;if(a.claimed_at){const g=new Date(a.claimed_at).getTime(),r=f-m||1;x=(g-m)/r*100}h.push({kind:"escalation",id:a.id,label:a.role,taskId:"",startMs:m,endMs:f,startPct:d(m),widthPct:Math.max((f-m)/b*100,.5),durationMs:f-m,isOpen:!a.resolved_at,escalation:a,claimPct:x})}return{lanes:h,timeMin:o,timeMax:N}}function ie(s,t,n,c=500){const[p,i]=D.useState(0),l=D.useRef(null),o=n-t||1;D.useEffect(()=>{if(s===0)return;l.current=null,i(0);let N;const b=d=>{l.current===null&&(l.current=d);const h=d-l.current,a=Math.min(h/c,1),m=1-Math.pow(1-a,3);i(m),a<1&&(N=requestAnimationFrame(b))};return N=requestAnimationFrame(b),()=>cancelAnimationFrame(N)},[s,c]);const E=D.useCallback(N=>{const b=(N.startMs-t)/o,d=(N.endMs-t)/o;if(p<b)return{width:0,opacity:0};const h=d-b||.001,a=Math.min((p-b)/h,1),m=N.widthPct*a,f=Math.min(a/.1,1);return{width:m,opacity:f}},[p,t,o]);return{progress:p,animatedBar:E}}function H({className:s}){return e.jsxDEV("svg",{className:s,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:4,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:3,columnNumber:5},this)}function A({className:s}){return e.jsxDEV("svg",{className:s,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.455 2.456L21.75 6l-1.036.259a3.375 3.375 0 00-2.455 2.456zM16.894 20.567L16.5 21.75l-.394-1.183a2.25 2.25 0 00-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 001.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 001.423 1.423l1.183.394-1.183.394a2.25 2.25 0 00-1.423 1.423z"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:13,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:12,columnNumber:5},this)}function W({className:s}){return e.jsxDEV("svg",{className:s,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:22,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:21,columnNumber:5},this)}function B({className:s}){return e.jsxDEV("svg",{className:s,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:30,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneIcons.tsx",lineNumber:29,columnNumber:5},this)}function le({allExpanded:s,onToggleAll:t}){return e.jsxDEV("div",{className:"flex items-center gap-4 mb-4 flex-wrap",children:[e.jsxDEV("button",{onClick:t,className:"text-[10px] text-accent hover:underline",children:s?"Collapse all":"Expand all"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:11,columnNumber:7},this),e.jsxDEV("div",{className:"flex items-center gap-4 ml-auto",children:[e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV(H,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:18,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"Task"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:19,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:17,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV(A,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:22,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"AI Task"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:23,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:21,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV(B,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:26,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"Escalation"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:27,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:25,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV(W,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:30,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"Notification"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:29,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV("span",{className:"w-2 h-2 rounded-full bg-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:34,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"Done"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:35,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:33,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV("span",{className:"w-2 h-2 rounded-full bg-status-warning"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:38,columnNumber:11},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"Active"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:39,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:37,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:16,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneHeader.tsx",lineNumber:10,columnNumber:5},this)}function oe({ticks:s}){return e.jsxDEV("div",{className:"flex",children:[e.jsxDEV("div",{className:"w-52 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TimeAxis.tsx",lineNumber:13,columnNumber:7},this),e.jsxDEV("div",{className:"flex-1 relative h-6 border-b border-surface-border",children:s.map(t=>e.jsxDEV("span",{className:"absolute text-[9px] font-mono text-text-tertiary -translate-x-1/2 bottom-1 whitespace-nowrap",style:{left:`${t.pct}%`},children:t.label},t.pct,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TimeAxis.tsx",lineNumber:16,columnNumber:11},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TimeAxis.tsx",lineNumber:14,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TimeAxis.tsx",lineNumber:12,columnNumber:5},this)}function j({label:s,children:t}){return e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-0.5",children:s},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/MetricCell.tsx",lineNumber:11,columnNumber:7},this),e.jsxDEV("div",{className:"text-xs text-text-primary",children:t},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/MetricCell.tsx",lineNumber:14,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/MetricCell.tsx",lineNumber:10,columnNumber:5},this)}function ne({traceId:s,href:t}){const[n,c]=D.useState(!1),p=l=>{l.stopPropagation(),navigator.clipboard.writeText(s),c(!0),setTimeout(()=>c(!1),1500)},i=l=>{l.stopPropagation(),t&&window.open(t,"_blank","noopener,noreferrer")};return e.jsxDEV("span",{className:"group/trace inline-flex items-center gap-1.5",children:[t&&e.jsxDEV("button",{onClick:i,title:"Open trace",className:"opacity-0 group-hover/trace:opacity-100 transition-opacity p-0.5",children:e.jsxDEV("svg",{className:"w-3 h-3 text-text-tertiary hover:text-accent",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-4.5-4.5h6m0 0v6m0-6L10.5 15"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:27,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:26,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:21,columnNumber:9},this),e.jsxDEV("button",{onClick:p,title:"Copy trace ID",className:"opacity-0 group-hover/trace:opacity-100 transition-opacity p-0.5",children:e.jsxDEV("svg",{className:`w-3 h-3 transition-colors ${n?"text-status-success":"text-text-tertiary hover:text-accent"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:n?e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:41,columnNumber:15},this):e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:42,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:36,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:31,columnNumber:7},this),e.jsxDEV("span",{className:"text-[11px] text-accent",children:"Trace Details"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:46,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TraceLink.tsx",lineNumber:19,columnNumber:5},this)}function ce({task:s,traceUrl:t}){const n=s.completed_at?new Date(s.completed_at).getTime()-new Date(s.created_at).getTime():Date.now()-new Date(s.created_at).getTime();return e.jsxDEV("div",{className:"grid grid-cols-[3fr_1fr] gap-6",children:[e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV(I,{status:s.status},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:26,columnNumber:11},this),e.jsxDEV(Q,{type:s.workflow_type},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:27,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:25,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxDEV(j,{label:"Started",children:e.jsxDEV(V,{date:s.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:32,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:31,columnNumber:11},this),e.jsxDEV(j,{label:"Completed",children:s.completed_at?e.jsxDEV(V,{date:s.completed_at},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:37,columnNumber:15},this):e.jsxDEV("span",{className:"text-text-tertiary italic text-xs",children:"In progress"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:39,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:35,columnNumber:11},this),e.jsxDEV(j,{label:"Duration",children:e.jsxDEV(_,{ms:n,className:"font-mono text-sm"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:44,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:43,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:30,columnNumber:9},this),s.milestones.length>0&&e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Milestones"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:50,columnNumber:13},this),e.jsxDEV("div",{className:"flex flex-wrap gap-1.5",children:s.milestones.map((c,p)=>e.jsxDEV("span",{className:"px-2 py-0.5 text-[10px] font-mono bg-accent-faint/50 rounded text-text-secondary",children:[c.name,": ",String(c.value)]},p,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:55,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:53,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:49,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:24,columnNumber:7},this),e.jsxDEV("div",{className:"flex flex-col items-end gap-2",children:[e.jsxDEV(k,{to:`/workflows/executions/${encodeURIComponent(s.workflow_id)}`,className:"block text-[11px] text-accent hover:underline",children:"Execution Details"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:69,columnNumber:9},this),e.jsxDEV(k,{to:`/workflows/tasks/detail/${s.id}`,className:"block text-[11px] text-accent hover:underline",children:"Task Details"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:75,columnNumber:9},this),s.trace_id&&e.jsxDEV(ne,{traceId:s.trace_id,href:t?t.replace("{traceId}",s.trace_id):void 0},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:82,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:68,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/TaskDetailPanel.tsx",lineNumber:22,columnNumber:5},this)}function me({escalation:s}){const t=new Date(s.created_at).getTime(),n=s.claimed_at?new Date(s.claimed_at).getTime()-t:null,c=s.resolved_at?new Date(s.resolved_at).getTime()-t:null;return e.jsxDEV("div",{className:"grid grid-cols-[3fr_1fr] gap-6",children:[e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV(I,{status:s.status},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:28,columnNumber:11},this),e.jsxDEV(Y,{role:s.role},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:29,columnNumber:11},this),s.type&&e.jsxDEV("span",{className:"text-[10px] text-text-tertiary",children:[s.type,s.subtype?` / ${s.subtype}`:""]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:31,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:27,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxDEV(j,{label:"Created",children:e.jsxDEV(V,{date:s.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:40,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:39,columnNumber:11},this),e.jsxDEV(j,{label:"Claimed",children:s.claimed_at?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(V,{date:s.claimed_at},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:46,columnNumber:17},this),e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:["after ",e.jsxDEV(_,{ms:n},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:48,columnNumber:25},this),s.assigned_to&&e.jsxDEV(e.Fragment,{children:[" ","by"," ",e.jsxDEV("span",{className:"text-text-secondary font-medium",children:e.jsxDEV(Z,{userId:s.assigned_to},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:53,columnNumber:25},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:52,columnNumber:23},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:50,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:47,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:45,columnNumber:15},this):e.jsxDEV("span",{className:"text-text-tertiary italic text-xs",children:"Unclaimed"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:60,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:43,columnNumber:11},this),e.jsxDEV(j,{label:"Resolved",children:s.resolved_at?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(V,{date:s.resolved_at},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:67,columnNumber:17},this),e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:[e.jsxDEV(_,{ms:c},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:69,columnNumber:19},this)," total"]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:68,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:66,columnNumber:15},this):e.jsxDEV("span",{className:"text-text-tertiary italic text-xs",children:"Pending"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:73,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:64,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:38,columnNumber:9},this),s.description&&e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Description"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:80,columnNumber:13},this),e.jsxDEV("p",{className:"text-[11px] text-text-secondary leading-relaxed",children:s.description},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:83,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:79,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:26,columnNumber:7},this),e.jsxDEV("div",{className:"flex flex-col items-end gap-2",children:[s.workflow_id&&e.jsxDEV(k,{to:`/workflows/executions/${encodeURIComponent(s.workflow_id)}`,className:"block text-[11px] text-accent hover:underline",children:"Execution Details"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:93,columnNumber:11},this),e.jsxDEV(k,{to:`/escalations/detail/${s.id}`,className:"block text-[11px] text-accent hover:underline",children:"Escalation Details"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:100,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:91,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/EscalationDetailPanel.tsx",lineNumber:24,columnNumber:5},this)}function pe({lane:s,ticks:t,isExpanded:n,onToggle:c,anim:p,animDone:i,traceUrl:l}){var d,h;const o=s.kind==="task",E=o?s.task.status:s.escalation.status,N=ae(E,s.isOpen),b=p.opacity>0;return e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-center border-b border-surface-border cursor-pointer hover:bg-surface-sunken/40 transition-colors",onClick:c,children:[e.jsxDEV("div",{className:`w-52 shrink-0 py-3 pr-4 flex items-center gap-2 ${o?"":"pl-6"}`,style:{opacity:b?1:0,transition:"opacity 0.15s ease-out"},children:[o?te(s.task.workflow_type)?e.jsxDEV(A,{className:`w-4 h-4 shrink-0 ${L(s.task.status)}`},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:59,columnNumber:15},this):e.jsxDEV(H,{className:`w-4 h-4 shrink-0 ${L(s.task.status)}`},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:63,columnNumber:15},this):$(s.escalation)?e.jsxDEV(W,{className:`w-4 h-4 shrink-0 ${C(s.escalation.status)}`},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:68,columnNumber:13},this):e.jsxDEV(B,{className:`w-4 h-4 shrink-0 ${C(s.escalation.status)}`},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:72,columnNumber:13},this),e.jsxDEV("p",{className:"text-xs font-mono text-text-secondary whitespace-nowrap overflow-hidden",title:se(s.kind,o?s.task.status:s.escalation.status,!o&&$(s.escalation)),children:o?R(s.label,24):R(((d=s.escalation)==null?void 0:d.role)??s.label,20)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:76,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:51,columnNumber:9},this),e.jsxDEV("div",{className:"flex-1 relative h-10",children:[t.map(a=>e.jsxDEV("div",{className:"absolute top-0 bottom-0 w-px bg-surface-border opacity-30",style:{left:`${a.pct}%`}},a.pct,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:90,columnNumber:13},this)),e.jsxDEV("div",{className:`absolute top-2 h-6 rounded-sm ${n?`${N} ring-2 ring-accent ring-offset-1`:`${N} hover:opacity-80`}`,style:{left:`${s.startPct}%`,width:b?`${Math.max(p.width,.3)}%`:"0%",minWidth:b?"4px":"0px",opacity:p.opacity},title:`${s.label} — ${y(s.durationMs)} — ${new Date(s.startMs).toLocaleTimeString()}`,children:[p.width>8&&i&&e.jsxDEV("span",{className:"absolute inset-0 flex items-center px-1.5 text-[9px] font-mono text-white truncate",children:y(s.durationMs)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:114,columnNumber:15},this),s.claimPct!=null&&i&&e.jsxDEV("div",{className:"absolute top-0 bottom-0 w-px border-l border-dashed border-white/70",style:{left:`${s.claimPct}%`},title:(h=s.escalation)!=null&&h.assigned_to?`Claimed by ${s.escalation.assigned_to}`:"Claimed",children:e.jsxDEV("div",{className:"absolute -top-1 -left-[3px] w-[7px] h-[7px] rounded-full bg-white border border-amber-600"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:131,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:121,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:98,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:87,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:46,columnNumber:7},this),e.jsxDEV(U,{open:n,children:e.jsxDEV("div",{className:"py-4 px-6 pl-52 border-b border-surface-border bg-surface-sunken/20",children:o&&s.task?e.jsxDEV(ce,{task:s.task,traceUrl:l},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:142,columnNumber:13},this):s.escalation?e.jsxDEV(me,{escalation:s.escalation},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:144,columnNumber:13},this):null},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:140,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:139,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/SwimlaneRow.tsx",lineNumber:44,columnNumber:5},this)}function de({tasks:s,escalations:t,traceUrl:n}){const[c,p]=D.useState(new Set),{lanes:i,timeMin:l,timeMax:o}=D.useMemo(()=>re(s,t),[s,t]),E=o-l||1,{progress:N,animatedBar:b}=ie(i.length,l,o);if(i.length===0)return e.jsxDEV("p",{className:"text-sm text-text-tertiary py-8 text-center",children:"No events in this process."},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/ProcessSwimlaneTimeline.tsx",lineNumber:27,columnNumber:7},this);const d=5,h=Array.from({length:d+1},(r,u)=>({pct:u/d*100,label:y(Math.round(u/d*E))})),a=r=>{p(u=>{const v=new Set(u);return v.has(r)?v.delete(r):v.add(r),v})},m=i.map(r=>r.id),f=m.length>0&&m.every(r=>c.has(r)),x=()=>{p(f?new Set:new Set(m))},g=N>=1;return e.jsxDEV("div",{className:"py-2",children:[e.jsxDEV(le,{allExpanded:f,onToggleAll:x},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/ProcessSwimlaneTimeline.tsx",lineNumber:60,columnNumber:7},this),e.jsxDEV(oe,{ticks:h},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/ProcessSwimlaneTimeline.tsx",lineNumber:61,columnNumber:7},this),i.map(r=>e.jsxDEV(pe,{lane:r,ticks:h,isExpanded:c.has(r.id),onToggle:()=>a(r.id),anim:b(r),animDone:g,traceUrl:n},`${r.kind}-${r.id}`,!1,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/ProcessSwimlaneTimeline.tsx",lineNumber:64,columnNumber:9},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/process-swimlane/ProcessSwimlaneTimeline.tsx",lineNumber:59,columnNumber:5},this)}function T(s){if(!s)return null;try{return JSON.parse(s)}catch{return null}}function ue(s){return s.length===0?null:[...s].sort((t,n)=>new Date(t.created_at).getTime()-new Date(n.created_at).getTime())[0]}function Se(){var f;const{originId:s}=X();q(s);const{data:t,isLoading:n}=J(s??""),{data:c}=G(),p=((f=c==null?void 0:c.telemetry)==null?void 0:f.traceUrl)??null,i=(t==null?void 0:t.tasks)??[],l=(t==null?void 0:t.escalations)??[],o=D.useMemo(()=>ue(i),[i]),E=D.useMemo(()=>T(o==null?void 0:o.envelope),[o]),N=D.useMemo(()=>{if(o!=null&&o.data)return T(o.data);const x=i.filter(g=>g.status==="completed"&&g.data).sort((g,r)=>new Date(r.completed_at).getTime()-new Date(g.completed_at).getTime());return x.length>0?T(x[0].data):null},[o,i]),b=D.useMemo(()=>i.length>0&&i.some(x=>x.status!=="completed"&&x.status!=="cancelled"),[i]),d=D.useMemo(()=>{const x=i.filter(u=>u.status==="completed").length,g=i.filter(u=>u.status==="needs_intervention").length,r=l.filter(u=>u.status==="resolved").length;return{tasks:i.length,completed:x,escalated:g,escalations:l.length,resolved:r}},[i,l]),h=D.useMemo(()=>{if(i.length===0&&l.length===0)return null;const g=[...i.map(w=>w.created_at),...l.map(w=>w.created_at)].sort()[0],r=i.every(w=>w.status==="completed"||w.status==="cancelled"),u=l.every(w=>w.status==="resolved"),v=i.length>0&&r&&u,P=v?[...i.map(w=>w.completed_at),...l.map(w=>w.resolved_at)].filter(Boolean).sort().pop()??null:null;return{startIso:g,endIso:P,isFinished:v,elapsed:z(g,P)}},[i,l]),a=D.useMemo(()=>{const x=[];return h&&x.push({label:h.isFinished?"Completed":"Running",value:h.elapsed,dotClass:h.isFinished?"bg-status-success":"bg-status-pending animate-pulse"}),x.push({label:"Tasks",value:`${d.completed}/${d.tasks}`},{label:"Escalations",value:`${d.resolved}/${d.escalations}`}),x},[h,d]);if(n&&i.length===0)return e.jsxDEV("div",{className:"animate-pulse space-y-4",children:[e.jsxDEV("div",{className:"h-8 bg-surface-sunken rounded w-48"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:96,columnNumber:9},this),e.jsxDEV("div",{className:"h-40 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:97,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:95,columnNumber:7},this);const m=E||N||b;return e.jsxDEV("div",{children:[e.jsxDEV(K,{title:"Process Detail",docsHash:"#docs:dashboard.md:process-detail",subtitle:s,stats:a},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:106,columnNumber:7},this),m&&e.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 mb-10",children:[e.jsxDEV("div",{children:E?e.jsxDEV(M,{data:E,label:"Input",defaultMode:"json",defaultCollapsed:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:117,columnNumber:15},this):e.jsxDEV("div",{children:[e.jsxDEV(S,{children:"Input"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:120,columnNumber:17},this),e.jsxDEV("div",{className:"font-mono text-xs bg-surface-sunken rounded-md p-4 text-text-tertiary italic mt-2",children:"Waiting for task..."},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:121,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:119,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:115,columnNumber:11},this),e.jsxDEV("div",{children:N?e.jsxDEV(M,{data:N,label:"Output",defaultMode:"json",defaultCollapsed:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:129,columnNumber:15},this):b?e.jsxDEV("div",{children:[e.jsxDEV(S,{children:"Output"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:132,columnNumber:17},this),e.jsxDEV("div",{className:"flex items-center gap-2 font-mono text-xs bg-surface-sunken rounded-md p-4 text-text-secondary mt-2",children:[e.jsxDEV("span",{className:"w-1.5 h-1.5 rounded-full bg-status-pending animate-pulse"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:134,columnNumber:19},this),"Processing..."]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:133,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:131,columnNumber:15},this):null},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:127,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:114,columnNumber:9},this),e.jsxDEV(S,{className:"mb-6",children:"Timeline"},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:143,columnNumber:7},this),e.jsxDEV(de,{tasks:i,escalations:l,traceUrl:p},void 0,!1,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:145,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/processes/ProcessDetailPage.tsx",lineNumber:105,columnNumber:5},this)}export{Se as ProcessDetailPage};
2
+ //# sourceMappingURL=ProcessDetailPage-CZjjs4jE.js.map