@hotmeshio/long-tail 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/build/services/controlplane/stream-messages-sql.js +11 -12
  2. package/dashboard/dist/assets/AdminDashboard-CR0FtTE6.js +2 -0
  3. package/dashboard/dist/assets/{AdminDashboard-BBWJAsjl.js.map → AdminDashboard-CR0FtTE6.js.map} +1 -1
  4. package/dashboard/dist/assets/AgentConfigPage-BVypgq9m.js +13 -0
  5. package/dashboard/dist/assets/{AgentConfigPage-Br2O6NDa.js.map → AgentConfigPage-BVypgq9m.js.map} +1 -1
  6. package/dashboard/dist/assets/AgentDetailPage-D64ath8c.js +4 -0
  7. package/dashboard/dist/assets/{AgentDetailPage-DjgOR62z.js.map → AgentDetailPage-D64ath8c.js.map} +1 -1
  8. package/dashboard/dist/assets/AgentsPage-j-zblMNR.js +2 -0
  9. package/dashboard/dist/assets/{AgentsPage-CASVGEvY.js.map → AgentsPage-j-zblMNR.js.map} +1 -1
  10. package/dashboard/dist/assets/AvailableEscalationsPage-DmUid1h0.js +2 -0
  11. package/dashboard/dist/assets/{AvailableEscalationsPage-Dl9ZmjKA.js.map → AvailableEscalationsPage-DmUid1h0.js.map} +1 -1
  12. package/dashboard/dist/assets/BotPicker-DCScT8BN.js +2 -0
  13. package/dashboard/dist/assets/{BotPicker-wEoqL3HR.js.map → BotPicker-DCScT8BN.js.map} +1 -1
  14. package/dashboard/dist/assets/CapabilitiesPage-g5iUvHRL.js +2 -0
  15. package/dashboard/dist/assets/{CapabilitiesPage-DYkx5aa4.js.map → CapabilitiesPage-g5iUvHRL.js.map} +1 -1
  16. package/dashboard/dist/assets/CollapsibleSection-Dj1YOsVG.js +2 -0
  17. package/dashboard/dist/assets/{CollapsibleSection-DN1aF5HO.js.map → CollapsibleSection-Dj1YOsVG.js.map} +1 -1
  18. package/dashboard/dist/assets/ConfirmDeleteModal-dOxidrSR.js +2 -0
  19. package/dashboard/dist/assets/{ConfirmDeleteModal-v8ufrnX5.js.map → ConfirmDeleteModal-dOxidrSR.js.map} +1 -1
  20. package/dashboard/dist/assets/CopyableId-DmLF-RqZ.js +2 -0
  21. package/dashboard/dist/assets/{CopyableId-D94R2n6C.js.map → CopyableId-DmLF-RqZ.js.map} +1 -1
  22. package/dashboard/dist/assets/CredentialsPage-Dvb4QelY.js +2 -0
  23. package/dashboard/dist/assets/{CredentialsPage-CSSjAEx6.js.map → CredentialsPage-Dvb4QelY.js.map} +1 -1
  24. package/dashboard/dist/assets/CronLabel-sk1BkcJd.js +2 -0
  25. package/dashboard/dist/assets/{CronLabel-fYpkTnEd.js.map → CronLabel-sk1BkcJd.js.map} +1 -1
  26. package/dashboard/dist/assets/CustomDurationPicker-C0MV2Q06.js +2 -0
  27. package/dashboard/dist/assets/{CustomDurationPicker-CSarfbO1.js.map → CustomDurationPicker-C0MV2Q06.js.map} +1 -1
  28. package/dashboard/dist/assets/DataTable-D9yuBv0w.js +2 -0
  29. package/dashboard/dist/assets/{DataTable-VKt4pvC-.js.map → DataTable-D9yuBv0w.js.map} +1 -1
  30. package/dashboard/dist/assets/DropZone-DN8uwUtf.js +2 -0
  31. package/dashboard/dist/assets/{DropZone-Bl4j-AID.js.map → DropZone-DN8uwUtf.js.map} +1 -1
  32. package/dashboard/dist/assets/ElapsedCell-CFXhhKKc.js +2 -0
  33. package/dashboard/dist/assets/{ElapsedCell-Y4UmrII0.js.map → ElapsedCell-CFXhhKKc.js.map} +1 -1
  34. package/dashboard/dist/assets/EmptyState-BcsfPq9T.js +2 -0
  35. package/dashboard/dist/assets/{EmptyState-Di6_NfbP.js.map → EmptyState-BcsfPq9T.js.map} +1 -1
  36. package/dashboard/dist/assets/EscalationsOverview-BEuUFGwC.js +2 -0
  37. package/dashboard/dist/assets/{EscalationsOverview-D0Ry84FE.js.map → EscalationsOverview-BEuUFGwC.js.map} +1 -1
  38. package/dashboard/dist/assets/EventTable-DcwVWOKb.js +2 -0
  39. package/dashboard/dist/assets/{EventTable-BzPleN3Y.js.map → EventTable-DcwVWOKb.js.map} +1 -1
  40. package/dashboard/dist/assets/EventTopicPill-CWCP1v1O.js +2 -0
  41. package/dashboard/dist/assets/{EventTopicPill-DCqcr7N7.js.map → EventTopicPill-CWCP1v1O.js.map} +1 -1
  42. package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +2 -0
  43. package/dashboard/dist/assets/{FilterBar-BoRQss2J.js.map → FilterBar-Ck4K4rzu.js.map} +1 -1
  44. package/dashboard/dist/assets/HomePage-BH-F5ws9.js +2 -0
  45. package/dashboard/dist/assets/{HomePage-CGH_dYSo.js.map → HomePage-BH-F5ws9.js.map} +1 -1
  46. package/dashboard/dist/assets/ListToolbar-CUxJlz__.js +2 -0
  47. package/dashboard/dist/assets/{ListToolbar-BMWttsi2.js.map → ListToolbar-CUxJlz__.js.map} +1 -1
  48. package/dashboard/dist/assets/McpOverview-O8XrOzy0.js +2 -0
  49. package/dashboard/dist/assets/{McpOverview-DpC-BbBV.js.map → McpOverview-O8XrOzy0.js.map} +1 -1
  50. package/dashboard/dist/assets/McpQueryDetailPage-DhiR0Xrx.js +5 -0
  51. package/dashboard/dist/assets/{McpQueryDetailPage-CZSzX-cI.js.map → McpQueryDetailPage-DhiR0Xrx.js.map} +1 -1
  52. package/dashboard/dist/assets/McpQueryPage-Czot0nfl.js +2 -0
  53. package/dashboard/dist/assets/{McpQueryPage-B4KsvBGo.js.map → McpQueryPage-Czot0nfl.js.map} +1 -1
  54. package/dashboard/dist/assets/McpRunDetailPage-B1kNnD_t.js +2 -0
  55. package/dashboard/dist/assets/{McpRunDetailPage-_owlNUzp.js.map → McpRunDetailPage-B1kNnD_t.js.map} +1 -1
  56. package/dashboard/dist/assets/McpRunsPage-QUY3pWp9.js +2 -0
  57. package/dashboard/dist/assets/{McpRunsPage-C3A1fU3h.js.map → McpRunsPage-QUY3pWp9.js.map} +1 -1
  58. package/dashboard/dist/assets/Modal-DEODGeqx.js +2 -0
  59. package/dashboard/dist/assets/{Modal-IsEbA4rW.js.map → Modal-DEODGeqx.js.map} +1 -1
  60. package/dashboard/dist/assets/OperatorDashboard-BG1Q9qZk.js +2 -0
  61. package/dashboard/dist/assets/{OperatorDashboard-B8MOtt_p.js.map → OperatorDashboard-BG1Q9qZk.js.map} +1 -1
  62. package/dashboard/dist/assets/PageHeader-DlzOOM4Y.js +2 -0
  63. package/dashboard/dist/assets/{PageHeader-C4DNgZKA.js.map → PageHeader-DlzOOM4Y.js.map} +1 -1
  64. package/dashboard/dist/assets/PageHeaderWithStats-C5cZ3IOO.js +2 -0
  65. package/dashboard/dist/assets/{PageHeaderWithStats-Fy6tGBaa.js.map → PageHeaderWithStats-C5cZ3IOO.js.map} +1 -1
  66. package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +2 -0
  67. package/dashboard/dist/assets/{PriorityBadge-kSpsF-Zm.js.map → PriorityBadge-DfQY9St9.js.map} +1 -1
  68. package/dashboard/dist/assets/ProcessDetailPage-DS1AwTso.js +2 -0
  69. package/dashboard/dist/assets/{ProcessDetailPage-CZjjs4jE.js.map → ProcessDetailPage-DS1AwTso.js.map} +1 -1
  70. package/dashboard/dist/assets/ProcessesListPage-CAmVcn1P.js +2 -0
  71. package/dashboard/dist/assets/{ProcessesListPage-Ds7y71o8.js.map → ProcessesListPage-CAmVcn1P.js.map} +1 -1
  72. package/dashboard/dist/assets/RolePill-BZaUpkHg.js +2 -0
  73. package/dashboard/dist/assets/{RolePill-DmdF9L9Q.js.map → RolePill-BZaUpkHg.js.map} +1 -1
  74. package/dashboard/dist/assets/RolesPage-CFdIXfmv.js +2 -0
  75. package/dashboard/dist/assets/{RolesPage-CCmK38yn.js.map → RolesPage-CFdIXfmv.js.map} +1 -1
  76. package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +2 -0
  77. package/dashboard/dist/assets/{RowActions-uGuPBEWb.js.map → RowActions-Dg-Fsm5O.js.map} +1 -1
  78. package/dashboard/dist/assets/RunAsSelector-BGww9lta.js +2 -0
  79. package/dashboard/dist/assets/{RunAsSelector-BsO-uSh9.js.map → RunAsSelector-BGww9lta.js.map} +1 -1
  80. package/dashboard/dist/assets/ServerName-DfS3pfon.js +2 -0
  81. package/dashboard/dist/assets/{ServerName-BHl8nLOV.js.map → ServerName-DfS3pfon.js.map} +1 -1
  82. package/dashboard/dist/assets/StatCard-DlgF0CJC.js +2 -0
  83. package/dashboard/dist/assets/{StatCard-DI4ZQ-Zi.js.map → StatCard-DlgF0CJC.js.map} +1 -1
  84. package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js +2 -0
  85. package/dashboard/dist/assets/{StatusBadge-TV20Ulgl.js.map → StatusBadge-XQlNFwmH.js.map} +1 -1
  86. package/dashboard/dist/assets/StepIndicator-CuUIGxKk.js +2 -0
  87. package/dashboard/dist/assets/{StepIndicator-ziIED3Pz.js.map → StepIndicator-CuUIGxKk.js.map} +1 -1
  88. package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +2 -0
  89. package/dashboard/dist/assets/{StickyPagination-CXBDS1ka.js.map → StickyPagination-F9FZsRy9.js.map} +1 -1
  90. package/dashboard/dist/assets/SwimlaneTimeline-C2hGjy0V.js +2 -0
  91. package/dashboard/dist/assets/{SwimlaneTimeline-Dc_a4-D5.js.map → SwimlaneTimeline-C2hGjy0V.js.map} +1 -1
  92. package/dashboard/dist/assets/TagInput-D21mrQx6.js +2 -0
  93. package/dashboard/dist/assets/{TagInput-BYEjEPsa.js.map → TagInput-D21mrQx6.js.map} +1 -1
  94. package/dashboard/dist/assets/TaskDetailPage-B49WQj8W.js +2 -0
  95. package/dashboard/dist/assets/TaskDetailPage-B49WQj8W.js.map +1 -0
  96. package/dashboard/dist/assets/TaskQueuePill-D8UMH1rd.js +2 -0
  97. package/dashboard/dist/assets/{TaskQueuePill-yBqQ-piu.js.map → TaskQueuePill-D8UMH1rd.js.map} +1 -1
  98. package/dashboard/dist/assets/TasksListPage-CJB-EvKX.js +2 -0
  99. package/dashboard/dist/assets/{TasksListPage-Dl0quVgM.js.map → TasksListPage-CJB-EvKX.js.map} +1 -1
  100. package/dashboard/dist/assets/TimeAgo-CnjY3XDt.js +2 -0
  101. package/dashboard/dist/assets/{TimeAgo-BAs-HL55.js.map → TimeAgo-CnjY3XDt.js.map} +1 -1
  102. package/dashboard/dist/assets/TimestampCell-u1YA8eA3.js +2 -0
  103. package/dashboard/dist/assets/{TimestampCell-zFm6ze1U.js.map → TimestampCell-u1YA8eA3.js.map} +1 -1
  104. package/dashboard/dist/assets/ToolPill-Dmcwmqh2.js +2 -0
  105. package/dashboard/dist/assets/{ToolPill-DiM3hgAB.js.map → ToolPill-Dmcwmqh2.js.map} +1 -1
  106. package/dashboard/dist/assets/ToolTestPanel-B1T4Hk0t.js +2 -0
  107. package/dashboard/dist/assets/{ToolTestPanel-C3vWUW2p.js.map → ToolTestPanel-B1T4Hk0t.js.map} +1 -1
  108. package/dashboard/dist/assets/TopicDetailPage-ClibbST4.js +9 -0
  109. package/dashboard/dist/assets/{TopicDetailPage-wjwRE5eI.js.map → TopicDetailPage-ClibbST4.js.map} +1 -1
  110. package/dashboard/dist/assets/TopicsPage-KjODhitc.js +2 -0
  111. package/dashboard/dist/assets/{TopicsPage-D3AONwHP.js.map → TopicsPage-KjODhitc.js.map} +1 -1
  112. package/dashboard/dist/assets/UserName-DVqimwsO.js +2 -0
  113. package/dashboard/dist/assets/{UserName-0vrAWvND.js.map → UserName-DVqimwsO.js.map} +1 -1
  114. package/dashboard/dist/assets/WorkflowExecutionPage-DYNPy7Gk.js +2 -0
  115. package/dashboard/dist/assets/{WorkflowExecutionPage-CBbWToVN.js.map → WorkflowExecutionPage-DYNPy7Gk.js.map} +1 -1
  116. package/dashboard/dist/assets/WorkflowPill-h43nlUmM.js +2 -0
  117. package/dashboard/dist/assets/{WorkflowPill-C7jE0e1g.js.map → WorkflowPill-h43nlUmM.js.map} +1 -1
  118. package/dashboard/dist/assets/WorkflowsDashboard-DdJm6X7x.js +2 -0
  119. package/dashboard/dist/assets/{WorkflowsDashboard-1GVHYLlw.js.map → WorkflowsDashboard-DdJm6X7x.js.map} +1 -1
  120. package/dashboard/dist/assets/WorkflowsOverview-CBOYkfpD.js +2 -0
  121. package/dashboard/dist/assets/{WorkflowsOverview-2POOJzat.js.map → WorkflowsOverview-CBOYkfpD.js.map} +1 -1
  122. package/dashboard/dist/assets/YamlWorkflowsPage-BZnD_hMw.js +2 -0
  123. package/dashboard/dist/assets/{YamlWorkflowsPage-BcRKxz3P.js.map → YamlWorkflowsPage-BZnD_hMw.js.map} +1 -1
  124. package/dashboard/dist/assets/{agents-Bd6SNUID.js → agents-oHMkS1GD.js} +2 -2
  125. package/dashboard/dist/assets/{agents-Bd6SNUID.js.map → agents-oHMkS1GD.js.map} +1 -1
  126. package/dashboard/dist/assets/{bots-DEsg-T8t.js → bots-BispbsY3.js} +2 -2
  127. package/dashboard/dist/assets/{bots-DEsg-T8t.js.map → bots-BispbsY3.js.map} +1 -1
  128. package/dashboard/dist/assets/{controlplane-B3m1kIWb.js → controlplane-CIbrx5rX.js} +2 -2
  129. package/dashboard/dist/assets/{controlplane-B3m1kIWb.js.map → controlplane-CIbrx5rX.js.map} +1 -1
  130. package/dashboard/dist/assets/escalation-columns-Dh_0iVTH.js +2 -0
  131. package/dashboard/dist/assets/{escalation-columns-DEE62U3_.js.map → escalation-columns-Dh_0iVTH.js.map} +1 -1
  132. package/dashboard/dist/assets/escalation-qhj4TxA3.js +2 -0
  133. package/dashboard/dist/assets/{escalation-CJQPC0gm.js.map → escalation-qhj4TxA3.js.map} +1 -1
  134. package/dashboard/dist/assets/helpers-BYw1qqKV.js +2 -0
  135. package/dashboard/dist/assets/{helpers-BveI_035.js.map → helpers-BYw1qqKV.js.map} +1 -1
  136. package/dashboard/dist/assets/index-B9t_vpam.js +2 -0
  137. package/dashboard/dist/assets/{index-CZVprWC6.js.map → index-B9t_vpam.js.map} +1 -1
  138. package/dashboard/dist/assets/index-Bh9g-EOF.js +2 -0
  139. package/dashboard/dist/assets/{index-Csts1D-x.js.map → index-Bh9g-EOF.js.map} +1 -1
  140. package/dashboard/dist/assets/index-BhhWCADo.js +63 -0
  141. package/dashboard/dist/assets/index-BhhWCADo.js.map +1 -0
  142. package/dashboard/dist/assets/index-Bn-VSH41.js +2 -0
  143. package/dashboard/dist/assets/index-Bn-VSH41.js.map +1 -0
  144. package/dashboard/dist/assets/index-C2yJWps6.js +6 -0
  145. package/dashboard/dist/assets/{index-CEPo8tn_.js.map → index-C2yJWps6.js.map} +1 -1
  146. package/dashboard/dist/assets/index-C4W1_Rfk.js +5 -0
  147. package/dashboard/dist/assets/{index-ChNwlMdo.js.map → index-C4W1_Rfk.js.map} +1 -1
  148. package/dashboard/dist/assets/index-CEF3Idec.js +2 -0
  149. package/dashboard/dist/assets/{index-BVVdr9s0.js.map → index-CEF3Idec.js.map} +1 -1
  150. package/dashboard/dist/assets/index-CHxvfc97.css +1 -0
  151. package/dashboard/dist/assets/index-CVRVw3g_.js +2 -0
  152. package/dashboard/dist/assets/{index-D4v-EUTe.js.map → index-CVRVw3g_.js.map} +1 -1
  153. package/dashboard/dist/assets/index-CY3EhrEA.js +2 -0
  154. package/dashboard/dist/assets/{index-Cpq83bZq.js.map → index-CY3EhrEA.js.map} +1 -1
  155. package/dashboard/dist/assets/index-D-q2lzup.js +2 -0
  156. package/dashboard/dist/assets/{index-DI36hw6W.js.map → index-D-q2lzup.js.map} +1 -1
  157. package/dashboard/dist/assets/index-D6YjH5uG.js +15 -0
  158. package/dashboard/dist/assets/{index-CTKfvoGj.js.map → index-D6YjH5uG.js.map} +1 -1
  159. package/dashboard/dist/assets/index-ht5r_7jQ.js +2 -0
  160. package/dashboard/dist/assets/index-ht5r_7jQ.js.map +1 -0
  161. package/dashboard/dist/assets/index-zHicKKh9.js +2 -0
  162. package/dashboard/dist/assets/{index-BXIwxi_u.js.map → index-zHicKKh9.js.map} +1 -1
  163. package/dashboard/dist/assets/{knowledge-krdvn5bg.js → knowledge-B23TU6JN.js} +2 -2
  164. package/dashboard/dist/assets/{knowledge-krdvn5bg.js.map → knowledge-B23TU6JN.js.map} +1 -1
  165. package/dashboard/dist/assets/{mcp-BTZ2ex4x.js → mcp-Cew_Sb-Q.js} +2 -2
  166. package/dashboard/dist/assets/{mcp-BTZ2ex4x.js.map → mcp-Cew_Sb-Q.js.map} +1 -1
  167. package/dashboard/dist/assets/{mcp-query-BzqJu709.js → mcp-query-So0Oz5Lx.js} +2 -2
  168. package/dashboard/dist/assets/{mcp-query-BzqJu709.js.map → mcp-query-So0Oz5Lx.js.map} +1 -1
  169. package/dashboard/dist/assets/{mcp-runs-BBUaY28a.js → mcp-runs-4176y3SA.js} +2 -2
  170. package/dashboard/dist/assets/{mcp-runs-BBUaY28a.js.map → mcp-runs-4176y3SA.js.map} +1 -1
  171. package/dashboard/dist/assets/namespaces-CqBbWsJx.js +2 -0
  172. package/dashboard/dist/assets/{namespaces-DJVfgGst.js.map → namespaces-CqBbWsJx.js.map} +1 -1
  173. package/dashboard/dist/assets/{roles-DogkRzK2.js → roles-BTxMgLE6.js} +2 -2
  174. package/dashboard/dist/assets/{roles-DogkRzK2.js.map → roles-BTxMgLE6.js.map} +1 -1
  175. package/dashboard/dist/assets/settings-CtQNxacL.js +2 -0
  176. package/dashboard/dist/assets/{settings-D2sLRpie.js.map → settings-CtQNxacL.js.map} +1 -1
  177. package/dashboard/dist/assets/{tasks-CIuWkHLG.js → tasks-CIRlUTbo.js} +2 -2
  178. package/dashboard/dist/assets/{tasks-CIuWkHLG.js.map → tasks-CIRlUTbo.js.map} +1 -1
  179. package/dashboard/dist/assets/{topics-DxMDwZFs.js → topics-C8YmK_j2.js} +2 -2
  180. package/dashboard/dist/assets/{topics-DxMDwZFs.js.map → topics-C8YmK_j2.js.map} +1 -1
  181. package/dashboard/dist/assets/{useEventHooks-xXspN8_9.js → useEventHooks-BvMUy36X.js} +2 -2
  182. package/dashboard/dist/assets/{useEventHooks-xXspN8_9.js.map → useEventHooks-BvMUy36X.js.map} +1 -1
  183. package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js → useExpandedRows-CkcEntB-.js} +2 -2
  184. package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js.map → useExpandedRows-CkcEntB-.js.map} +1 -1
  185. package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js → useFilterParams-DZCAaBC7.js} +2 -2
  186. package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js.map → useFilterParams-DZCAaBC7.js.map} +1 -1
  187. package/dashboard/dist/assets/{useYamlActivityEvents-2hdnnML7.js → useYamlActivityEvents-DLEzqv-z.js} +2 -2
  188. package/dashboard/dist/assets/{useYamlActivityEvents-2hdnnML7.js.map → useYamlActivityEvents-DLEzqv-z.js.map} +1 -1
  189. package/dashboard/dist/assets/{users-DWQ-ojf9.js → users-C_bD6mzW.js} +2 -2
  190. package/dashboard/dist/assets/{users-DWQ-ojf9.js.map → users-C_bD6mzW.js.map} +1 -1
  191. package/dashboard/dist/assets/{vendor-icons-YdqUbzg6.js → vendor-icons-DY1ctJgc.js} +3 -3
  192. package/dashboard/dist/assets/{vendor-icons-YdqUbzg6.js.map → vendor-icons-DY1ctJgc.js.map} +1 -1
  193. package/dashboard/dist/assets/vendor-query-B2UbickB.js +18 -0
  194. package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +1 -0
  195. package/dashboard/dist/assets/vendor-react-CX88sFS5.js +22 -0
  196. package/dashboard/dist/assets/vendor-react-CX88sFS5.js.map +1 -0
  197. package/dashboard/dist/assets/{workflows-BvGU8_fj.js → workflows-DFR0-hI3.js} +2 -2
  198. package/dashboard/dist/assets/{workflows-BvGU8_fj.js.map → workflows-DFR0-hI3.js.map} +1 -1
  199. package/dashboard/dist/assets/{yaml-workflows-DNgb7krQ.js → yaml-workflows-wXURdyjP.js} +2 -2
  200. package/dashboard/dist/assets/{yaml-workflows-DNgb7krQ.js.map → yaml-workflows-wXURdyjP.js.map} +1 -1
  201. package/dashboard/dist/index.html +5 -5
  202. package/package.json +2 -2
  203. package/dashboard/dist/assets/AdminDashboard-BBWJAsjl.js +0 -2
  204. package/dashboard/dist/assets/AgentConfigPage-Br2O6NDa.js +0 -13
  205. package/dashboard/dist/assets/AgentDetailPage-DjgOR62z.js +0 -4
  206. package/dashboard/dist/assets/AgentsPage-CASVGEvY.js +0 -2
  207. package/dashboard/dist/assets/AvailableEscalationsPage-Dl9ZmjKA.js +0 -2
  208. package/dashboard/dist/assets/BotPicker-wEoqL3HR.js +0 -2
  209. package/dashboard/dist/assets/CapabilitiesPage-DYkx5aa4.js +0 -2
  210. package/dashboard/dist/assets/CollapsibleSection-DN1aF5HO.js +0 -2
  211. package/dashboard/dist/assets/ConfirmDeleteModal-v8ufrnX5.js +0 -2
  212. package/dashboard/dist/assets/CopyableId-D94R2n6C.js +0 -2
  213. package/dashboard/dist/assets/CredentialsPage-CSSjAEx6.js +0 -2
  214. package/dashboard/dist/assets/CronLabel-fYpkTnEd.js +0 -2
  215. package/dashboard/dist/assets/CustomDurationPicker-CSarfbO1.js +0 -2
  216. package/dashboard/dist/assets/DataTable-VKt4pvC-.js +0 -2
  217. package/dashboard/dist/assets/DropZone-Bl4j-AID.js +0 -2
  218. package/dashboard/dist/assets/ElapsedCell-Y4UmrII0.js +0 -2
  219. package/dashboard/dist/assets/EmptyState-Di6_NfbP.js +0 -2
  220. package/dashboard/dist/assets/EscalationsOverview-D0Ry84FE.js +0 -2
  221. package/dashboard/dist/assets/EventTable-BzPleN3Y.js +0 -2
  222. package/dashboard/dist/assets/EventTopicPill-DCqcr7N7.js +0 -2
  223. package/dashboard/dist/assets/FilterBar-BoRQss2J.js +0 -2
  224. package/dashboard/dist/assets/HomePage-CGH_dYSo.js +0 -2
  225. package/dashboard/dist/assets/ListToolbar-BMWttsi2.js +0 -2
  226. package/dashboard/dist/assets/McpOverview-DpC-BbBV.js +0 -2
  227. package/dashboard/dist/assets/McpQueryDetailPage-CZSzX-cI.js +0 -5
  228. package/dashboard/dist/assets/McpQueryPage-B4KsvBGo.js +0 -2
  229. package/dashboard/dist/assets/McpRunDetailPage-_owlNUzp.js +0 -2
  230. package/dashboard/dist/assets/McpRunsPage-C3A1fU3h.js +0 -2
  231. package/dashboard/dist/assets/Modal-IsEbA4rW.js +0 -2
  232. package/dashboard/dist/assets/OperatorDashboard-B8MOtt_p.js +0 -2
  233. package/dashboard/dist/assets/PageHeader-C4DNgZKA.js +0 -2
  234. package/dashboard/dist/assets/PageHeaderWithStats-Fy6tGBaa.js +0 -2
  235. package/dashboard/dist/assets/PriorityBadge-kSpsF-Zm.js +0 -2
  236. package/dashboard/dist/assets/ProcessDetailPage-CZjjs4jE.js +0 -2
  237. package/dashboard/dist/assets/ProcessesListPage-Ds7y71o8.js +0 -2
  238. package/dashboard/dist/assets/RolePill-DmdF9L9Q.js +0 -2
  239. package/dashboard/dist/assets/RolesPage-CCmK38yn.js +0 -2
  240. package/dashboard/dist/assets/RowActions-uGuPBEWb.js +0 -2
  241. package/dashboard/dist/assets/RunAsSelector-BsO-uSh9.js +0 -2
  242. package/dashboard/dist/assets/ServerName-BHl8nLOV.js +0 -2
  243. package/dashboard/dist/assets/StatCard-DI4ZQ-Zi.js +0 -2
  244. package/dashboard/dist/assets/StatusBadge-TV20Ulgl.js +0 -2
  245. package/dashboard/dist/assets/StepIndicator-ziIED3Pz.js +0 -2
  246. package/dashboard/dist/assets/StickyPagination-CXBDS1ka.js +0 -2
  247. package/dashboard/dist/assets/SwimlaneTimeline-Dc_a4-D5.js +0 -2
  248. package/dashboard/dist/assets/TagInput-BYEjEPsa.js +0 -2
  249. package/dashboard/dist/assets/TaskDetailPage-Cu0XLEA4.js +0 -2
  250. package/dashboard/dist/assets/TaskDetailPage-Cu0XLEA4.js.map +0 -1
  251. package/dashboard/dist/assets/TaskQueuePill-yBqQ-piu.js +0 -2
  252. package/dashboard/dist/assets/TasksListPage-Dl0quVgM.js +0 -2
  253. package/dashboard/dist/assets/TimeAgo-BAs-HL55.js +0 -2
  254. package/dashboard/dist/assets/TimestampCell-zFm6ze1U.js +0 -2
  255. package/dashboard/dist/assets/ToolPill-DiM3hgAB.js +0 -2
  256. package/dashboard/dist/assets/ToolTestPanel-C3vWUW2p.js +0 -2
  257. package/dashboard/dist/assets/TopicDetailPage-wjwRE5eI.js +0 -9
  258. package/dashboard/dist/assets/TopicsPage-D3AONwHP.js +0 -2
  259. package/dashboard/dist/assets/UserName-0vrAWvND.js +0 -2
  260. package/dashboard/dist/assets/WorkflowExecutionPage-CBbWToVN.js +0 -2
  261. package/dashboard/dist/assets/WorkflowPill-C7jE0e1g.js +0 -2
  262. package/dashboard/dist/assets/WorkflowsDashboard-1GVHYLlw.js +0 -2
  263. package/dashboard/dist/assets/WorkflowsOverview-2POOJzat.js +0 -2
  264. package/dashboard/dist/assets/YamlWorkflowsPage-BcRKxz3P.js +0 -2
  265. package/dashboard/dist/assets/escalation-CJQPC0gm.js +0 -2
  266. package/dashboard/dist/assets/escalation-columns-DEE62U3_.js +0 -2
  267. package/dashboard/dist/assets/helpers-BveI_035.js +0 -2
  268. package/dashboard/dist/assets/index-B7zv_NKJ.js +0 -2
  269. package/dashboard/dist/assets/index-B7zv_NKJ.js.map +0 -1
  270. package/dashboard/dist/assets/index-BVVdr9s0.js +0 -2
  271. package/dashboard/dist/assets/index-BXIwxi_u.js +0 -2
  272. package/dashboard/dist/assets/index-CEPo8tn_.js +0 -6
  273. package/dashboard/dist/assets/index-CTKfvoGj.js +0 -15
  274. package/dashboard/dist/assets/index-CZVprWC6.js +0 -2
  275. package/dashboard/dist/assets/index-ChNwlMdo.js +0 -5
  276. package/dashboard/dist/assets/index-Cpq83bZq.js +0 -2
  277. package/dashboard/dist/assets/index-Csts1D-x.js +0 -2
  278. package/dashboard/dist/assets/index-D4v-EUTe.js +0 -2
  279. package/dashboard/dist/assets/index-DI36hw6W.js +0 -2
  280. package/dashboard/dist/assets/index-MnRuwfHN.js +0 -281
  281. package/dashboard/dist/assets/index-MnRuwfHN.js.map +0 -1
  282. package/dashboard/dist/assets/index-dp_Q2Hha.css +0 -1
  283. package/dashboard/dist/assets/index-wQaJXZYX.js +0 -2
  284. package/dashboard/dist/assets/index-wQaJXZYX.js.map +0 -1
  285. package/dashboard/dist/assets/namespaces-DJVfgGst.js +0 -2
  286. package/dashboard/dist/assets/settings-D2sLRpie.js +0 -2
  287. package/dashboard/dist/assets/vendor-query-DLp59M9_.js +0 -35
  288. package/dashboard/dist/assets/vendor-query-DLp59M9_.js.map +0 -1
  289. package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js +0 -26
  290. package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{j as e}from"./index-MnRuwfHN.js";import{a as l}from"./vendor-query-DLp59M9_.js";import{P as oe}from"./PageHeader-C4DNgZKA.js";import{F as ie,a as de}from"./FilterBar-BoRQss2J.js";import{L as me}from"./ListToolbar-BMWttsi2.js";import{S as ce}from"./StickyPagination-CXBDS1ka.js";import{E as Q}from"./EmptyState-Di6_NfbP.js";import{D as ue}from"./DropZone-Bl4j-AID.js";import{T as _}from"./TimeAgo-BAs-HL55.js";import{u as pe,a as ge,b as ne,c as be,d as he,e as le,f as Ne}from"./knowledge-krdvn5bg.js";import{T as xe}from"./TagInput-BYEjEPsa.js";import{o as fe,X as we,Y as Z,d as X,n as ee,D as ae,aA as se}from"./vendor-icons-YdqUbzg6.js";import{a as Ee,f as ve}from"./vendor-react-Co3Y8ikm.js";function ye(t){return t==null?"":typeof t=="string"?t:JSON.stringify(t,null,2)}function te(t){const r=t.trim();if(!r)return{value:"",looksLikeJson:!1,parsedOk:!1};const o=r.startsWith("{")||r.startsWith("[");try{return{value:JSON.parse(r),looksLikeJson:o,parsedOk:!0}}catch{return{value:r,looksLikeJson:o,parsedOk:!1}}}function re(t){if(typeof t=="string"){const r=t.trim();return!(r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))}return typeof t=="number"||typeof t=="boolean"||t===null}function q({value:t,onChange:r,onKeyDown:o,placeholder:i,mono:m}){const c=l.useRef(null);return l.useEffect(()=>{c.current&&(c.current.style.height="auto",c.current.style.height=`${c.current.scrollHeight}px`,c.current.focus())},[t]),e.jsxDEV("textarea",{ref:c,value:t,onChange:f=>r(f.target.value),onKeyDown:o,placeholder:i,rows:1,className:`w-full bg-transparent text-xs text-text-primary resize-none outline-none p-0 ${m?"font-mono":""}`,style:{minHeight:"1.5em"}},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:60,columnNumber:5},this)}function ke({domain:t,entryKey:r,onDeleted:o}){const{data:i,isLoading:m,refetch:c}=pe(t,r),f=ge(),u=ne(),S=be(),k=he(),[V,M]=l.useState(!1),[p,h]=l.useState(null),[D,N]=l.useState(""),[x,P]=l.useState(""),[j,n]=l.useState(""),[C,A]=l.useState(null),[R,J]=l.useState(null),[F,w]=l.useState(!1),E=i==null?void 0:i.data,T=E?Object.entries(E):[],H=l.useMemo(()=>{const a=x.trim().toLowerCase();return a?T.filter(([b])=>b.toLowerCase().includes(a)):T},[T,x]),G=l.useCallback((a,b)=>b==="field"?a:ye(E==null?void 0:E[a]),[E]),W=p?D!==G(p.field,p.column):!1;function $(a,b){h({field:a,column:b}),N(G(a,b)),A(null)}function O(){h(null),N("")}function s(){J("Invalid JSON — saved as text"),setTimeout(()=>J(null),4e3)}async function d(){if(!p||!E)return;const{field:a,column:b}=p;if(b==="value"){const{value:y,looksLikeJson:K,parsedOk:z}=te(D);K&&!z&&s(),await S.mutateAsync({domain:t,key:r,path:a,value:y})}else{const y=D.trim();if(!y||y===a){O();return}const K=E[a];await k.mutateAsync({domain:t,key:r,path:a}),await S.mutateAsync({domain:t,key:r,path:y,value:K})}h(null),N(""),c()}async function v(a){await k.mutateAsync({domain:t,key:r,path:a}),A(null),h(null),c()}async function g(a){await u.mutateAsync({domain:t,key:r,data:E||{},tags:a,replace:!0}),c()}async function B(){const a=x.trim();if(!a)return;const{value:b,looksLikeJson:y,parsedOk:K}=te(j);y&&!K&&s();const z={...E,[a]:b||""};await u.mutateAsync({domain:t,key:r,data:z}),P(""),n(""),c()}function U(a){a.key==="Escape"?O():a.key==="Enter"&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),d())}function Y(a){a.key==="Escape"?(P(""),n("")):a.key==="Enter"&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),B())}return m?e.jsxDEV("div",{className:"animate-pulse space-y-3 mt-4",children:[e.jsxDEV("div",{className:"h-4 bg-surface-sunken rounded w-1/3"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:200,columnNumber:9},this),e.jsxDEV("div",{className:"h-48 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:201,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:199,columnNumber:7},this):!i||i.found===!1?e.jsxDEV("p",{className:"text-sm text-text-tertiary mt-4",children:"Entry not found."},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:207,columnNumber:12},this):e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-center justify-between mb-4",children:[e.jsxDEV("div",{className:"flex items-center gap-4 min-h-[28px]",children:F?e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV(xe,{tags:i.tags||[],onChange:a=>{g(a)},placeholder:"Add tag...",compact:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:217,columnNumber:15},this),e.jsxDEV("button",{onClick:()=>w(!1),className:"text-[10px] text-text-tertiary hover:text-text-secondary shrink-0",children:"Done"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:223,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:216,columnNumber:13},this):e.jsxDEV("div",{className:"flex items-center gap-1 cursor-text group",onClick:()=>w(!0),title:"Click to edit tags",children:i.tags&&i.tags.length>0?i.tags.map(a=>e.jsxDEV("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-[10px] font-medium bg-accent/10 text-accent",children:a},a,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:238,columnNumber:19},this)):e.jsxDEV("span",{className:"text-[10px] text-text-tertiary/40 italic group-hover:text-text-tertiary",children:"add tags..."},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:243,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:231,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:214,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("span",{className:"text-[10px] text-text-tertiary",children:e.jsxDEV(_,{date:i.updated_at},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:249,columnNumber:60},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:249,columnNumber:11},this),V?e.jsxDEV("span",{className:"flex items-center gap-2 text-[10px]",children:[e.jsxDEV("span",{className:"text-status-error",children:"Delete entry?"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:252,columnNumber:15},this),e.jsxDEV("button",{onClick:async()=>{try{await f.mutateAsync({domain:t,key:r}),o()}catch{}},className:"font-medium text-status-error hover:text-status-error/80",disabled:f.isPending,children:f.isPending?"Deleting...":"Yes"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:253,columnNumber:15},this),e.jsxDEV("button",{onClick:()=>M(!1),className:"text-text-tertiary hover:text-text-secondary",children:"No"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:265,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:251,columnNumber:13},this):e.jsxDEV("button",{onClick:()=>M(!0),className:"text-text-tertiary/50 hover:text-status-error transition-colors",title:"Delete entry",children:e.jsxDEV(fe,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:278,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:273,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:248,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:213,columnNumber:7},this),R&&e.jsxDEV("div",{className:"flex items-center justify-end gap-2 mb-2 px-1",children:[e.jsxDEV("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-status-warning animate-pulse"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:286,columnNumber:11},this),e.jsxDEV("span",{className:"text-xs text-status-warning",children:R},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:287,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:285,columnNumber:9},this),e.jsxDEV("table",{className:"w-full border-collapse",children:[e.jsxDEV("thead",{className:"sticky top-0 z-10 bg-surface",children:[e.jsxDEV("tr",{className:"text-left text-[10px] uppercase tracking-wider text-text-tertiary border-b border-surface-border",children:[e.jsxDEV("th",{className:"px-3 py-2 font-medium w-[200px] border-r border-surface-border",children:"Field"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:295,columnNumber:13},this),e.jsxDEV("th",{className:"px-3 py-2 font-medium",children:"Value"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:296,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:294,columnNumber:11},this),e.jsxDEV("tr",{className:"border-b border-surface-border bg-surface",children:[e.jsxDEV("td",{className:"px-3 py-2 align-top border-r border-surface-border",children:e.jsxDEV("input",{value:x,onChange:a=>P(a.target.value),onKeyDown:Y,placeholder:T.length?"add or filter...":"new field",className:"w-full bg-transparent text-xs text-text-primary placeholder:text-text-tertiary/40 placeholder:italic outline-none p-0"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:301,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:300,columnNumber:13},this),e.jsxDEV("td",{className:"px-3 py-2 align-top",children:[e.jsxDEV(q,{value:j,onChange:n,onKeyDown:Y,placeholder:"value"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:310,columnNumber:15},this),x.trim()&&e.jsxDEV("div",{className:"flex gap-2 mt-1.5",children:[e.jsxDEV("button",{onClick:B,className:"text-[10px] font-medium text-accent hover:text-accent-hover",disabled:u.isPending,children:u.isPending?"Saving...":"Save"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:318,columnNumber:19},this),e.jsxDEV("button",{onClick:()=>{P(""),n("")},className:"text-[10px] text-text-tertiary hover:text-text-secondary",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:325,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:317,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:309,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:299,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:293,columnNumber:9},this),e.jsxDEV("tbody",{children:H.map(([a,b])=>{const y=(p==null?void 0:p.field)===a&&p.column==="field",K=(p==null?void 0:p.field)===a&&p.column==="value",z=y||K,L=C===a;return e.jsxDEV("tr",{className:`border-b border-surface-border ${L?"bg-status-error/10":z?"":"hover:bg-surface-hover/30"}`,children:[e.jsxDEV("td",{className:`px-3 py-2 align-top border-r cursor-text ${L?"bg-transparent border-r-transparent":y?"border-r-surface-border bg-accent/5 border-l-2 border-l-accent":"border-r-surface-border"}`,onClick:()=>!y&&!L&&$(a,"field"),children:y?e.jsxDEV("div",{children:[e.jsxDEV(q,{value:D,onChange:N,onKeyDown:U,placeholder:"field name"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:352,columnNumber:23},this),W&&e.jsxDEV("div",{className:"flex gap-2 mt-1.5",children:[e.jsxDEV("button",{onClick:d,className:"text-[10px] font-medium text-accent hover:text-accent-hover",disabled:u.isPending,children:u.isPending?"Saving...":"Save"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:355,columnNumber:27},this),e.jsxDEV("button",{onClick:O,className:"text-[10px] text-text-tertiary hover:text-text-secondary",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:358,columnNumber:27},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:354,columnNumber:25},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:351,columnNumber:21},this):e.jsxDEV("span",{className:"text-xs font-medium text-text-secondary break-all",children:a},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:363,columnNumber:21},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:346,columnNumber:17},this),e.jsxDEV("td",{className:`px-3 py-2 align-top cursor-text ${L?"bg-transparent":K?"bg-accent/5 border-l-2 border-l-accent":""}`,onClick:()=>!K&&!L&&$(a,"value"),children:L?e.jsxDEV("span",{className:"flex items-center justify-end gap-2 text-[10px]",children:[e.jsxDEV("span",{className:"text-status-error",children:["Remove ",e.jsxDEV("span",{className:"font-medium",children:a},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:374,columnNumber:66},this),"?"]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:374,columnNumber:23},this),e.jsxDEV("button",{onClick:I=>{I.stopPropagation(),v(a)},className:"font-medium text-status-error hover:text-status-error/80",disabled:u.isPending,children:u.isPending?"...":"Yes"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:375,columnNumber:23},this),e.jsxDEV("button",{onClick:I=>{I.stopPropagation(),A(null)},className:"text-text-tertiary hover:text-text-secondary",children:"No"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:382,columnNumber:23},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:373,columnNumber:21},this):K?e.jsxDEV("div",{children:[e.jsxDEV(q,{value:D,onChange:N,onKeyDown:U,placeholder:"value (string or JSON)",mono:!re(b)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:391,columnNumber:23},this),e.jsxDEV("div",{className:"flex gap-2 mt-1.5",children:[W&&e.jsxDEV("button",{onClick:d,className:"text-[10px] font-medium text-accent hover:text-accent-hover",disabled:u.isPending,children:u.isPending?"Saving...":"Save"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:400,columnNumber:27},this),e.jsxDEV("button",{onClick:O,className:"text-[10px] text-text-tertiary hover:text-text-secondary",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:404,columnNumber:25},this),e.jsxDEV("button",{onClick:I=>{I.stopPropagation(),A(a)},className:"text-[10px] text-status-error/50 hover:text-status-error ml-auto",children:"Remove"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:405,columnNumber:25},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:398,columnNumber:23},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:390,columnNumber:21},this):re(b)?e.jsxDEV("p",{className:"text-xs text-text-primary break-words whitespace-pre-wrap",children:String(b)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:415,columnNumber:23},this):e.jsxDEV("pre",{className:"text-xs text-text-primary font-mono whitespace-pre-wrap break-words",children:typeof b=="string"?b:JSON.stringify(b,null,2)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:417,columnNumber:23},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:368,columnNumber:17},this)]},a,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:344,columnNumber:15},this)})},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:336,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:292,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgeEntryView.tsx",lineNumber:211,columnNumber:5},this)}function Ve({open:t,onClose:r,onCreated:o,prefillData:i,prefillDomain:m}){const{data:c}=le(),f=ne(),[u,S]=l.useState(m||""),[k,V]=l.useState(""),[M,p]=l.useState(i?JSON.stringify(i,null,2):"{}"),[h,D]=l.useState(""),[N,x]=l.useState(""),P=((c==null?void 0:c.domains)??[]).map(n=>n.domain);if(l.useEffect(()=>{t&&(p(i?JSON.stringify(i,null,2):"{}"),S(m||""),V(""),D(""),x(""))},[t,i,m]),!t)return null;const j=async()=>{if(x(""),!u.trim()){x("Domain is required");return}if(!k.trim()){x("Key is required");return}let n;try{if(n=JSON.parse(M),typeof n!="object"||Array.isArray(n))throw new Error}catch{x("Data must be a valid JSON object");return}try{await f.mutateAsync({domain:u.trim(),key:k.trim(),data:n,tags:h?h.split(",").map(C=>C.trim()).filter(Boolean):[]}),o==null||o(u.trim(),k.trim()),r()}catch(C){x(C.message)}};return Ee.createPortal(e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"fixed inset-0 z-40 bg-black/30",onClick:r},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:68,columnNumber:7},this),e.jsxDEV("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-6 overflow-y-auto",children:e.jsxDEV("div",{className:"bg-surface-raised border border-surface-border rounded-lg shadow-lg w-full max-w-md max-h-[85vh] flex flex-col",children:[e.jsxDEV("div",{className:"flex items-center justify-between px-5 py-4 border-b border-surface-border",children:[e.jsxDEV("h3",{className:"text-sm font-medium text-text-primary",children:"New Knowledge Entry"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:72,columnNumber:13},this),e.jsxDEV("button",{onClick:r,className:"text-text-tertiary hover:text-text-primary",children:e.jsxDEV(we,{className:"w-4 h-4"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:74,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:73,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:71,columnNumber:11},this),e.jsxDEV("div",{className:"px-5 py-4 space-y-4 overflow-y-auto flex-1 min-h-0",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Domain"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:81,columnNumber:15},this),e.jsxDEV("input",{type:"text",list:"domain-list",value:u,onChange:n=>S(n.target.value),placeholder:"e.g., screenshots, config, emails",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:82,columnNumber:15},this),e.jsxDEV("datalist",{id:"domain-list",children:P.map(n=>e.jsxDEV("option",{value:n},n,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:91,columnNumber:45},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:90,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:80,columnNumber:13},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Key"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:97,columnNumber:15},this),e.jsxDEV("input",{type:"text",value:k,onChange:n=>V(n.target.value),placeholder:"e.g., homepage, user-profile, report-2026",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:98,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:96,columnNumber:13},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Data (JSON)"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:109,columnNumber:15},this),e.jsxDEV("textarea",{value:M,onChange:n=>p(n.target.value),rows:8,className:"input-json w-full max-h-[30vh]"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:110,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:108,columnNumber:13},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Tags (comma-separated)"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:120,columnNumber:15},this),e.jsxDEV("input",{type:"text",value:h,onChange:n=>D(n.target.value),placeholder:"e.g., important, review, 401k",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:121,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:119,columnNumber:13},this),N&&e.jsxDEV("p",{className:"text-xs text-status-error",children:N},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:130,columnNumber:23},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:78,columnNumber:11},this),e.jsxDEV("div",{className:"flex justify-end gap-2 px-5 py-3 border-t border-surface-border",children:[e.jsxDEV("button",{onClick:r,className:"btn-ghost text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:134,columnNumber:13},this),e.jsxDEV("button",{onClick:j,disabled:f.isPending,className:"btn-primary text-xs",children:f.isPending?"Creating...":"Create Entry"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:135,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:133,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:70,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:69,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/CreateEntryModal.tsx",lineNumber:67,columnNumber:5},this),document.body)}const De=50;function We(){var W,$,O;const[t,r]=ve(),o=t.get("domain")||"",i=t.get("key")||"",[m,c]=l.useState(""),[f,u]=l.useState(""),[S,k]=l.useState(1),[V,M]=l.useState(De),[p,h]=l.useState(!1),[D,N]=l.useState(),x=l.useCallback(s=>{console.debug("[Knowledge] drop received:",s.map(g=>({name:g.name,type:g.type,size:g.size})));const d=s.find(g=>g.name.endsWith(".json")||g.type==="application/json");if(!d){console.warn("[Knowledge] no JSON file found in dropped files");return}console.debug("[Knowledge] reading:",d.name);const v=new FileReader;v.onload=()=>{try{const g=JSON.parse(v.result);typeof g=="object"&&!Array.isArray(g)?(console.debug("[Knowledge] parsed object with keys:",Object.keys(g)),N(g),h(!0)):console.warn("[Knowledge] JSON is not a plain object, got:",Array.isArray(g)?"array":typeof g)}catch(g){console.warn("[Knowledge] JSON parse failed:",g)}},v.readAsText(d)},[]);l.useEffect(()=>{const s=setTimeout(()=>{u(m),k(1)},300);return()=>clearTimeout(s)},[m]);const P=(S-1)*V,j=le(),n=Ne(o,{search:f||void 0,limit:V,offset:P}),C=((W=j.data)==null?void 0:W.domains)??[],A=(($=n.data)==null?void 0:$.entries)??[],R=((O=n.data)==null?void 0:O.total)??0,J=l.useMemo(()=>{if(!m)return C;const s=m.toLowerCase();return C.filter(d=>d.domain.toLowerCase().includes(s))},[C,m]);function F(s,d){c(""),u(""),k(1);const v={};s&&(v.domain=s),d&&(v.key=d),r(v)}const w=i?"entry":o?"entries":"domains",E=w==="entries"?n.isLoading:w==="domains"?j.isLoading:!1,T=Math.ceil((w==="entries"?R:J.length)/V),H=o?`/knowledge/entries?domain=${encodeURIComponent(o)}&limit=${V}&offset=${P}${f?`&search=${encodeURIComponent(f)}`:""}`:void 0;return e.jsxDEV(ue,{onDrop:x,label:"Drop a JSON file to create an entry",accept:".json,application/json",children:[e.jsxDEV("div",{children:[e.jsxDEV(oe,{title:"Knowledge",docsHash:"#docs:dashboard.md:knowledge",actions:e.jsxDEV("button",{onClick:()=>{N(void 0),h(!0)},className:"btn-primary text-xs inline-flex items-center gap-1.5",children:[e.jsxDEV(Z,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:113,columnNumber:13},this),"New Entry"]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:109,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:105,columnNumber:7},this),e.jsxDEV("nav",{className:"flex items-center gap-1 text-sm mb-6 min-h-[28px]",children:[e.jsxDEV("button",{onClick:()=>F(""),className:`flex items-center gap-1.5 px-1.5 py-0.5 rounded transition-colors ${w==="domains"?"text-text-primary font-medium":"text-text-secondary hover:text-text-primary hover:bg-surface-hover"}`,children:[e.jsxDEV(X,{className:"w-4 h-4 text-accent/75",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:129,columnNumber:11},this),e.jsxDEV("span",{children:"All Domains"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:130,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:121,columnNumber:9},this),o&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV(ee,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:134,columnNumber:13},this),e.jsxDEV("button",{onClick:()=>F(o),className:`flex items-center gap-1.5 px-1.5 py-0.5 rounded transition-colors ${w==="entries"?"text-text-primary font-medium":"text-text-secondary hover:text-text-primary hover:bg-surface-hover"}`,children:[e.jsxDEV(ae,{className:"w-3.5 h-3.5 text-accent/60",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:143,columnNumber:15},this),o]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:135,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:133,columnNumber:11},this),i&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV(ee,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:150,columnNumber:13},this),e.jsxDEV("span",{className:"flex items-center gap-1.5 px-1.5 py-0.5 text-text-primary font-medium",children:[e.jsxDEV(se,{className:"w-3.5 h-3.5 text-accent/60",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:152,columnNumber:15},this),i]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:151,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:149,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:120,columnNumber:7},this),w==="entry"?e.jsxDEV(ke,{domain:o,entryKey:i,onDeleted:()=>F(o)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:161,columnNumber:9},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(ie,{actions:e.jsxDEV(me,{onRefresh:()=>w==="entries"?n.refetch():j.refetch(),isFetching:w==="entries"?n.isFetching:j.isFetching,apiPath:w==="entries"?H:"/knowledge/domains"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:169,columnNumber:13},this),children:e.jsxDEV(de,{label:"Search",value:m,onChange:c,placeholder:o?"Filter by key or tag...":"Filter by domain..."},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:175,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:168,columnNumber:11},this),E?e.jsxDEV("div",{className:"animate-pulse space-y-2 mt-4",children:Array.from({length:6}).map((s,d)=>e.jsxDEV("div",{className:"h-10 bg-surface-sunken rounded"},d,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:186,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:184,columnNumber:13},this):w==="domains"?J.length===0?e.jsxDEV("div",{className:"cursor-pointer",onClick:()=>{N(void 0),h(!0)},children:e.jsxDEV(Q,{icon:X,title:m?"No matching domains":"No knowledge yet",description:m?void 0:"Create your first entry or drop a JSON file"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:192,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:191,columnNumber:15},this):e.jsxDEV("table",{className:"w-full mt-2",children:[e.jsxDEV("thead",{children:e.jsxDEV("tr",{className:"text-left text-[10px] uppercase tracking-wider text-text-tertiary",children:[e.jsxDEV("th",{className:"pb-2 pl-2 font-medium",children:"Domain"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:198,columnNumber:21},this),e.jsxDEV("th",{className:"pb-2 font-medium w-24 text-right",children:"Entries"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:199,columnNumber:21},this),e.jsxDEV("th",{className:"pb-2 pr-2 font-medium w-40 text-right",children:"Latest"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:200,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:197,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:196,columnNumber:17},this),e.jsxDEV("tbody",{children:J.map(s=>e.jsxDEV("tr",{onClick:()=>F(s.domain),className:"row-hover cursor-pointer group",children:[e.jsxDEV("td",{className:"py-2 pl-2",children:e.jsxDEV("span",{className:"flex items-center gap-2.5",children:[e.jsxDEV(ae,{className:"w-4 h-4 text-accent/75 shrink-0",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:212,columnNumber:27},this),e.jsxDEV("span",{className:"text-sm text-text-primary group-hover:text-accent transition-colors",children:s.domain},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:213,columnNumber:27},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:211,columnNumber:25},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:210,columnNumber:23},this),e.jsxDEV("td",{className:"py-2 text-right text-xs text-text-secondary tabular-nums",children:s.count},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:218,columnNumber:23},this),e.jsxDEV("td",{className:"py-2 pr-2 text-right text-xs text-text-secondary",children:e.jsxDEV(_,{date:s.latest},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:222,columnNumber:25},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:221,columnNumber:23},this)]},s.domain,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:205,columnNumber:21},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:203,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:195,columnNumber:15},this):A.length===0?e.jsxDEV("div",{className:"cursor-pointer",onClick:()=>{N(void 0),h(!0)},children:e.jsxDEV(Q,{icon:Z,title:m?"No matching entries":"No entries in this domain",description:m?void 0:"Add an entry or drop a JSON file"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:232,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:231,columnNumber:15},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("table",{className:"w-full mt-2",children:[e.jsxDEV("thead",{children:e.jsxDEV("tr",{className:"text-left text-[10px] uppercase tracking-wider text-text-tertiary",children:[e.jsxDEV("th",{className:"pb-2 pl-2 font-medium w-[200px]",children:"Key"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:239,columnNumber:23},this),e.jsxDEV("th",{className:"pb-2 font-medium",children:"Tags"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:240,columnNumber:23},this),e.jsxDEV("th",{className:"pb-2 font-medium w-16 text-right",children:"Fields"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:241,columnNumber:23},this),e.jsxDEV("th",{className:"pb-2 pr-2 font-medium w-32 text-right",children:"Updated"},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:242,columnNumber:23},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:238,columnNumber:21},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:237,columnNumber:19},this),e.jsxDEV("tbody",{children:A.map(s=>{var d;return e.jsxDEV("tr",{onClick:()=>F(o,s.key),className:"row-hover cursor-pointer group",children:[e.jsxDEV("td",{className:"py-2 pl-2 w-[200px]",children:e.jsxDEV("span",{className:"flex items-center gap-2.5",children:[e.jsxDEV(se,{className:"w-4 h-4 text-accent/75 shrink-0",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:254,columnNumber:29},this),e.jsxDEV("span",{className:"text-sm text-text-primary group-hover:text-accent transition-colors truncate max-w-[160px]",title:s.key,children:s.key},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:255,columnNumber:29},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:253,columnNumber:27},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:252,columnNumber:25},this),e.jsxDEV("td",{className:"py-2",children:e.jsxDEV("div",{className:"flex flex-wrap gap-1",children:[(d=s.tags)==null?void 0:d.slice(0,5).map(v=>e.jsxDEV("span",{className:"inline-flex items-center px-1.5 py-0 rounded-full text-[10px] font-medium bg-accent/10 text-accent",children:v},v,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:263,columnNumber:31},this)),s.tags&&s.tags.length>5&&e.jsxDEV("span",{className:"text-[10px] text-text-tertiary",children:["+",s.tags.length-5]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:271,columnNumber:31},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:261,columnNumber:27},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:260,columnNumber:25},this),e.jsxDEV("td",{className:"py-2 text-right text-xs text-text-secondary tabular-nums",children:s.data?Object.keys(s.data).length:0},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:277,columnNumber:25},this),e.jsxDEV("td",{className:"py-2 pr-2 text-right text-xs text-text-secondary",children:e.jsxDEV(_,{date:s.updated_at},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:281,columnNumber:27},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:280,columnNumber:25},this)]},s.key,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:247,columnNumber:23},this)})},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:245,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:236,columnNumber:17},this),e.jsxDEV(ce,{page:S,totalPages:T,onPageChange:k,total:R,pageSize:V,onPageSizeChange:M},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:288,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:235,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:167,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:104,columnNumber:5},this),e.jsxDEV(Ve,{open:p,onClose:()=>{h(!1),N(void 0)},onCreated:(s,d)=>{r({domain:s,key:d}),j.refetch()},prefillData:D,prefillDomain:o||void 0},void 0,!1,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:303,columnNumber:5},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/knowledge/KnowledgePage.tsx",lineNumber:103,columnNumber:5},this)}export{We as KnowledgePage};
2
- //# sourceMappingURL=index-BVVdr9s0.js.map
@@ -1,2 +0,0 @@
1
- import{j as e}from"./index-MnRuwfHN.js";import{a as v}from"./vendor-query-DLp59M9_.js";import{d as B,e as H,f as $,g as O}from"./mcp-BTZ2ex4x.js";import{S as U}from"./StepIndicator-ziIED3Pz.js";import{P as z}from"./PageHeader-C4DNgZKA.js";import{T as J}from"./TagInput-BYEjEPsa.js";import{X as Y,J as q,ai as K,aj as X}from"./vendor-icons-YdqUbzg6.js";import{e as G,c as W,f as Q}from"./vendor-react-Co3Y8ikm.js";const _={name:"",description:"",mode:"network",transport_type:"sse",command:"",args:"",env_vars:"{}",url:"",auto_connect:!1,tags:[],compile_hints:"",credential_providers:[],discovered_tools:null};function Z(s){const a=s.transport_config??{},t=!!a.builtin;let r="network";return t?r="in-process":s.transport_type==="stdio"&&(r="local-process"),{name:s.name,description:s.description??"",mode:r,transport_type:s.transport_type,command:a.command??"",args:(a.args??[]).join(", "),env_vars:a.env?JSON.stringify(a.env,null,2):"{}",url:a.url??"",auto_connect:s.auto_connect,tags:s.tags??[],compile_hints:s.compile_hints??"",credential_providers:s.credential_providers??[],discovered_tools:s.tool_manifest??null}}function R(s){let a={};return s.mode==="local-process"?a={command:s.command.trim(),args:s.args.split(",").map(t=>t.trim()).filter(Boolean),env:s.env_vars.trim()?JSON.parse(s.env_vars):void 0}:s.mode==="network"&&(a={url:s.url.trim()}),{name:s.name.trim(),description:s.description.trim()||void 0,transport_type:s.mode==="local-process"?"stdio":s.transport_type,transport_config:a,auto_connect:s.auto_connect,tags:s.tags,compile_hints:s.compile_hints.trim()||void 0,credential_providers:s.credential_providers.length>0?s.credential_providers:void 0}}const P=["Transport","Discovery","Test","Review"];function C(s,a){return s===1?!(!a.name.trim()||a.mode==="network"&&!a.url.trim()||a.mode==="local-process"&&!a.command.trim()):!0}const p="label",N="hint",ee=[{value:"in-process",label:"In-Process",hint:"Built-in server running inside the app"},{value:"network",label:"Network Service",hint:"Remote server via SSE or Streamable HTTP"},{value:"local-process",label:"Local Process",hint:"Spawn a local command via stdio"}];function se({form:s,set:a,isBuiltin:t}){return e.jsxDEV("div",{className:"space-y-5",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Connection Mode"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:21,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-3 gap-3 mt-1",children:ee.map(r=>{const n=s.mode===r.value,l=t&&r.value!=="in-process";return e.jsxDEV("button",{type:"button",disabled:l,onClick:()=>{a("mode",r.value),r.value==="local-process"&&a("transport_type","stdio"),r.value==="network"&&a("transport_type","sse")},className:`text-left p-3 rounded-md border transition-colors ${n?"border-accent bg-accent/5":l?"border-surface-border bg-surface-sunken opacity-50 cursor-not-allowed":"border-surface-border hover:border-text-tertiary cursor-pointer"}`,children:[e.jsxDEV("span",{className:`text-xs font-medium ${n?"text-accent":"text-text-primary"}`,children:r.label},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:44,columnNumber:17},this),e.jsxDEV("span",{className:"block text-[10px] text-text-tertiary mt-0.5",children:r.hint},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:47,columnNumber:17},this)]},r.value,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:27,columnNumber:15},this)})},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:22,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:20,columnNumber:7},this),e.jsxDEV("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Name"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:57,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:s.name,onChange:r=>a("name",r.target.value),placeholder:"e.g., vision-server",className:"input text-xs w-full",disabled:t},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:58,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:56,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Description"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:68,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:s.description,onChange:r=>a("description",r.target.value),placeholder:"Optional description",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:69,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:67,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:55,columnNumber:7},this),s.mode==="in-process"&&e.jsxDEV("div",{children:e.jsxDEV("p",{className:N,children:"This server runs in-process via InMemoryTransport. Transport is managed automatically — no configuration needed."},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:82,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:81,columnNumber:9},this),s.mode==="network"&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Server URL"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:92,columnNumber:13},this),e.jsxDEV("input",{type:"text",value:s.url,onChange:r=>a("url",r.target.value),placeholder:"https://mcp-server.example.com/sse",className:"input text-xs w-full font-mono"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:93,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:91,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Transport Protocol"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:102,columnNumber:13},this),e.jsxDEV("div",{className:"flex gap-2 mt-1",children:["sse","streamable-http"].map(r=>e.jsxDEV("button",{type:"button",onClick:()=>a("transport_type",r),className:`px-3 py-1.5 text-xs rounded-md border transition-colors ${s.transport_type===r?"border-accent bg-accent/5 text-accent font-medium":"border-surface-border text-text-secondary hover:border-text-tertiary"}`,children:r==="sse"?"SSE":"Streamable HTTP"},r,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:105,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:103,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:101,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:90,columnNumber:9},this),s.mode==="local-process"&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Command"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:127,columnNumber:13},this),e.jsxDEV("input",{type:"text",value:s.command,onChange:r=>a("command",r.target.value),placeholder:"e.g., npx",className:"input text-xs w-full font-mono"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:128,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:126,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Arguments (comma-separated)"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:137,columnNumber:13},this),e.jsxDEV("input",{type:"text",value:s.args,onChange:r=>a("args",r.target.value),placeholder:"e.g., -y, @modelcontextprotocol/server-filesystem, /tmp",className:"input text-xs w-full font-mono"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:138,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:136,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Environment Variables (JSON)"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:147,columnNumber:13},this),e.jsxDEV("textarea",{value:s.env_vars,onChange:r=>a("env_vars",r.target.value),className:"input-json w-full",rows:3,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:148,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:146,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:125,columnNumber:9},this),e.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsxDEV("input",{type:"checkbox",checked:s.auto_connect,onChange:r=>a("auto_connect",r.target.checked),className:"w-4 h-4 rounded border-border accent-accent"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:161,columnNumber:9},this),e.jsxDEV("span",{className:"text-xs text-text-primary",children:"Auto-connect on startup"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:167,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:160,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TransportStep.tsx",lineNumber:18,columnNumber:5},this)}function ae({form:s,set:a}){const[t,r]=v.useState(""),n=i=>{const c=i.trim().toLowerCase();c&&!s.credential_providers.includes(c)&&a("credential_providers",[...s.credential_providers,c]),r("")},l=i=>{a("credential_providers",s.credential_providers.filter(c=>c!==i))},d=i=>{i.key==="Enter"||i.key===","?(i.preventDefault(),n(t)):i.key==="Backspace"&&!t&&s.credential_providers.length>0&&l(s.credential_providers[s.credential_providers.length-1])};return e.jsxDEV("div",{className:"space-y-5",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Tags"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:40,columnNumber:9},this),e.jsxDEV(J,{tags:s.tags,onChange:i=>a("tags",i),placeholder:"Add tag (e.g., database, analytics)..."},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:41,columnNumber:9},this),e.jsxDEV("p",{className:N,children:"Tags enable tool discovery. Workflows filter available MCP servers by tags to find relevant tools."},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:46,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:39,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Compile Hints"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:53,columnNumber:9},this),e.jsxDEV("textarea",{value:s.compile_hints,onChange:i=>a("compile_hints",i.target.value),placeholder:"Guidance for the workflow compiler when generating YAML from this server's tools...",className:"input text-xs w-full leading-relaxed",rows:4,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:54,columnNumber:9},this),e.jsxDEV("p",{className:N,children:"Free-form text that guides the workflow compiler. Describe how tools should be composed, sequenced, or parameterized."},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:62,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:52,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Credential Providers"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:69,columnNumber:9},this),e.jsxDEV("div",{className:"flex flex-wrap items-center gap-1.5 bg-surface-sunken border border-surface-border rounded-md px-2 py-1.5 focus-within:ring-1 focus-within:ring-accent-primary",children:[s.credential_providers.map(i=>e.jsxDEV("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-full bg-accent/10 text-accent text-[11px] font-medium",children:[i,e.jsxDEV("button",{type:"button",onClick:()=>l(i),className:"hover:text-status-error transition-colors",children:e.jsxDEV(Y,{className:"w-2.5 h-2.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:82,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:77,columnNumber:15},this)]},i,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:72,columnNumber:13},this)),e.jsxDEV("input",{type:"text",value:t,onChange:i=>r(i.target.value),onKeyDown:d,onBlur:()=>{t.trim()&&n(t)},placeholder:s.credential_providers.length===0?"Add provider (e.g., github, slack)...":"",className:"flex-1 min-w-[80px] bg-transparent text-xs text-text-primary outline-none placeholder:text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:86,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:70,columnNumber:9},this),e.jsxDEV("p",{className:N,children:"IAM credential providers required by this server's tools. Users will be prompted to connect these before tool execution."},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:96,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:68,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/DiscoveryStep.tsx",lineNumber:37,columnNumber:5},this)}function re({form:s,set:a}){const t=B(),r=s.mode==="in-process",n=()=>{const i=R(s);t.mutate({transport_type:i.transport_type,transport_config:i.transport_config},{onSuccess:c=>{c.success&&a("discovered_tools",c.tools)}})},l=t.data,d=s.discovered_tools??(l==null?void 0:l.tools)??[];return e.jsxDEV("div",{className:"space-y-5",children:r?e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-sm text-text-secondary",children:"In-process servers connect lazily on first tool call. No connection test needed."},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:37,columnNumber:11},this),s.discovered_tools&&s.discovered_tools.length>0&&e.jsxDEV("div",{className:"mt-4",children:[e.jsxDEV("p",{className:"text-xs text-text-tertiary mb-2",children:[s.discovered_tools.length," tool",s.discovered_tools.length!==1?"s":""," cached from last connection"]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:42,columnNumber:15},this),e.jsxDEV(k,{tools:s.discovered_tools},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:45,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:41,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:36,columnNumber:9},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("button",{type:"button",onClick:n,disabled:t.isPending,className:"btn-primary text-xs",children:t.isPending?e.jsxDEV("span",{className:"flex items-center gap-1.5",children:[e.jsxDEV(q,{className:"w-3 h-3 animate-spin"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:60,columnNumber:19},this),"Connecting..."]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:59,columnNumber:17},this):"Test Connection"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:52,columnNumber:13},this),(l==null?void 0:l.success)&&e.jsxDEV("span",{className:"flex items-center gap-1 text-xs text-status-success",children:[e.jsxDEV(K,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:69,columnNumber:17},this),"Connected — ",d.length," tool",d.length!==1?"s":""," discovered"]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:68,columnNumber:15},this),l&&!l.success&&e.jsxDEV("span",{className:"flex items-center gap-1 text-xs text-status-error",children:[e.jsxDEV(X,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:75,columnNumber:17},this),l.error||"Connection failed"]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:74,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:51,columnNumber:11},this),d.length>0&&e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-xs text-text-tertiary mb-2",children:"Discovered tools"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:83,columnNumber:15},this),e.jsxDEV(k,{tools:d},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:84,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:82,columnNumber:13},this),e.jsxDEV("p",{className:N,children:"Tests connectivity by connecting to the server and listing available tools. The server must be reachable from this machine."},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:88,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:50,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:34,columnNumber:5},this)}function k({tools:s}){return e.jsxDEV("div",{className:"max-h-[280px] overflow-y-auto border border-surface-border rounded-md divide-y divide-surface-border",children:s.map(a=>e.jsxDEV("div",{className:"px-3 py-2",children:[e.jsxDEV("span",{className:"text-xs font-medium text-text-primary font-mono",children:a.name},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:102,columnNumber:11},this),a.description&&e.jsxDEV("span",{className:"block text-[10px] text-text-tertiary mt-0.5 line-clamp-2",children:a.description},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:104,columnNumber:13},this)]},a.name,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:101,columnNumber:9},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/TestStep.tsx",lineNumber:99,columnNumber:5},this)}const te={"in-process":"In-Process",network:"Network Service","local-process":"Local Process"},ie={stdio:"stdio",sse:"SSE","streamable-http":"Streamable HTTP"};function le({form:s}){const a=s.discovered_tools??[];return e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV(m,{label:"Name",value:s.name},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:25,columnNumber:7},this),s.description&&e.jsxDEV(m,{label:"Description",value:s.description},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:26,columnNumber:28},this),e.jsxDEV(m,{label:"Mode",value:te[s.mode]??s.mode},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:27,columnNumber:7},this),s.mode==="network"&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV(m,{label:"Transport",value:ie[s.transport_type]??s.transport_type},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:31,columnNumber:11},this),e.jsxDEV(m,{label:"URL",value:s.url,mono:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:32,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:30,columnNumber:9},this),s.mode==="local-process"&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV(m,{label:"Command",value:s.command,mono:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:37,columnNumber:11},this),s.args&&e.jsxDEV(m,{label:"Args",value:s.args,mono:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:38,columnNumber:25},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:36,columnNumber:9},this),e.jsxDEV(m,{label:"Auto-connect",value:s.auto_connect?"Yes":"No"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:42,columnNumber:7},this),s.tags.length>0&&e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Tags"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:46,columnNumber:11},this),e.jsxDEV("div",{className:"flex flex-wrap gap-1.5 mt-1",children:s.tags.map(t=>e.jsxDEV("span",{className:"px-2 py-0.5 rounded-full bg-accent/10 text-accent text-[11px] font-medium",children:t},t,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:49,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:47,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:45,columnNumber:9},this),s.credential_providers.length>0&&e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:"Credential Providers"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:59,columnNumber:11},this),e.jsxDEV("div",{className:"flex flex-wrap gap-1.5 mt-1",children:s.credential_providers.map(t=>e.jsxDEV("span",{className:"px-2 py-0.5 rounded-full bg-accent/10 text-accent text-[11px] font-medium",children:t},t,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:62,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:60,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:58,columnNumber:9},this),s.compile_hints&&e.jsxDEV(m,{label:"Compile Hints",value:s.compile_hints},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:70,columnNumber:30},this),a.length>0&&e.jsxDEV(m,{label:"Discovered Tools",value:`${a.length} tool${a.length!==1?"s":""}`},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:73,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:24,columnNumber:5},this)}function m({label:s,value:a,mono:t}){return e.jsxDEV("div",{children:[e.jsxDEV("label",{className:p,children:s},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:82,columnNumber:7},this),e.jsxDEV("p",{className:`text-xs text-text-primary mt-0.5 ${t?"font-mono":""}`,children:a},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:83,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/ReviewStep.tsx",lineNumber:81,columnNumber:5},this)}function be(){var y,T,w;const{serverId:s}=G(),a=!s,t=W(),{data:r,isLoading:n}=H(s??""),l=$(),d=O(),[i,c]=v.useState(_),[f,S]=v.useState(!1),[M,D]=v.useState(""),[L,E]=Q(),o=parseInt(L.get("step")||"1",10),x=v.useCallback(u=>{E(b=>{const h=new URLSearchParams(b);return h.set("step",String(u)),h},{replace:!1})},[E]);v.useEffect(()=>{if(!f){if(a){c(_),S(!0);return}r&&(c(Z(r)),S(!0))}},[r,a,f]);const g=(u,b)=>c(h=>({...h,[u]:b})),I=!!((y=r==null?void 0:r.transport_config)!=null&&y.builtin),A=()=>{D("");const u=R(i);r?d.mutate({id:r.id,...u},{onSuccess:()=>t("/mcp/servers")}):l.mutate(u,{onSuccess:()=>t("/mcp/servers"),onError:b=>D(b.message)})};if(!a&&n)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/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:82,columnNumber:9},this),e.jsxDEV("div",{className:"h-60 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:83,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:81,columnNumber:7},this);if(!a&&!r&&!n)return e.jsxDEV("p",{className:"text-sm text-text-secondary",children:"Server not found."},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:89,columnNumber:12},this);const F=o===P.length,j=l.isPending||d.isPending,V=M||((T=l.error)==null?void 0:T.message)||((w=d.error)==null?void 0:w.message);return e.jsxDEV("div",{children:[e.jsxDEV(z,{title:a?"Register MCP Server":(r==null?void 0:r.name)??""},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:98,columnNumber:7},this),e.jsxDEV("div",{className:"max-w-3xl",children:[e.jsxDEV(U,{steps:P,currentStep:o-1,onStepClick:u=>x(u+1)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:101,columnNumber:9},this),e.jsxDEV("div",{className:"min-h-[360px] py-2",children:[o===1&&e.jsxDEV(se,{form:i,set:g,isBuiltin:I},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:104,columnNumber:26},this),o===2&&e.jsxDEV(ae,{form:i,set:g},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:105,columnNumber:26},this),o===3&&e.jsxDEV(re,{form:i,set:g},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:106,columnNumber:26},this),o===4&&e.jsxDEV(le,{form:i},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:107,columnNumber:26},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:103,columnNumber:9},this),V&&e.jsxDEV("p",{className:"text-xs text-status-error mt-4",children:V},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:111,columnNumber:11},this),e.jsxDEV("div",{className:"flex justify-between items-center pt-4 border-t border-surface-border mt-4",children:[e.jsxDEV("div",{children:o>1&&e.jsxDEV("button",{onClick:()=>x(o-1),className:"btn-secondary text-xs",children:"Back"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:118,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:116,columnNumber:11},this),e.jsxDEV("div",{className:"flex gap-3",children:[e.jsxDEV("button",{onClick:()=>t("/mcp/servers"),className:"btn-ghost text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:124,columnNumber:13},this),F?e.jsxDEV("button",{onClick:A,disabled:!C(o,i)||j,className:"btn-primary text-xs",children:j?"Saving...":r?"Save":"Register"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:128,columnNumber:15},this):e.jsxDEV("button",{onClick:()=>x(o+1),disabled:!C(o,i),className:"btn-primary text-xs",children:"Next"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:136,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:123,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:115,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:100,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/detail/McpServerDetailPage.tsx",lineNumber:97,columnNumber:5},this)}export{be as McpServerDetailPage};
2
- //# sourceMappingURL=index-BXIwxi_u.js.map
@@ -1,6 +0,0 @@
1
- import{j as e,S as M,i as q}from"./index-MnRuwfHN.js";import{a as n}from"./vendor-query-DLp59M9_.js";import{c as H,d as K,b as U,u as G,e as Q,f as X}from"./workflows-BvGU8_fj.js";import{P as Y}from"./PageHeader-C4DNgZKA.js";import{P as B,a4 as F,a as T,a8 as Z,a9 as ee}from"./vendor-icons-YdqUbzg6.js";import{W as se}from"./WorkflowPill-C7jE0e1g.js";import{B as ae}from"./BotPicker-wEoqL3HR.js";import{L as te,c as z,f as re}from"./vendor-react-Co3Y8ikm.js";import{D as oe}from"./DataTable-VKt4pvC-.js";import{e as le,d as L,C as ie,j as ne}from"./helpers-BveI_035.js";import"./bots-DEsg-T8t.js";import"./EmptyState-Di6_NfbP.js";import"./TimeAgo-BAs-HL55.js";import"./StatusBadge-TV20Ulgl.js";function ce({mode:s,onChange:t}){const N=(o,r,l)=>e.jsxDEV("button",{onClick:()=>t(o),className:`flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md transition-colors ${s===o?"bg-accent/10 text-accent font-medium":"text-text-tertiary hover:text-text-secondary hover:bg-surface-hover"}`,children:[r,l]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/ModeToggle.tsx",lineNumber:7,columnNumber:5},this);return e.jsxDEV("div",{className:"flex gap-1 p-0.5 bg-surface-sunken rounded-lg w-fit",children:[N("now",e.jsxDEV(B,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/ModeToggle.tsx",lineNumber:22,columnNumber:19},this),"Start Now"),N("schedule",e.jsxDEV(F,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/ModeToggle.tsx",lineNumber:23,columnNumber:24},this),"Schedule")]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/ModeToggle.tsx",lineNumber:21,columnNumber:5},this)}function me({configs:s,selectedType:t,onSelect:N,tierMap:o,activeTypes:r}){return e.jsxDEV("div",{children:[e.jsxDEV(M,{className:"mb-4",children:"Select Workflow"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:22,columnNumber:7},this),e.jsxDEV("div",{children:s.map(l=>{const p=t===l.workflow_type,c=o.get(l.workflow_type)??"durable",m=c==="certified"?"certified":c==="configured"?"configured":"durable";return e.jsxDEV("button",{onClick:()=>N(l),className:`w-full text-left px-6 py-3.5 border-b border-surface-border/50 transition-colors duration-150 ${p?"border-l-2 border-l-accent":"hover:bg-surface-hover/30"}`,children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV(se,{type:l.workflow_type,size:"md",variant:m},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:39,columnNumber:17},this),(r==null?void 0:r.has(l.workflow_type))&&e.jsxDEV("span",{title:"Cron schedule active",children:e.jsxDEV(F,{className:"w-3 h-3 text-status-success/70 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:41,columnNumber:54},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:41,columnNumber:19},this),l.execute_as&&e.jsxDEV("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 text-[9px] bg-accent/10 text-accent rounded",children:[e.jsxDEV(T,{className:"w-2.5 h-2.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:45,columnNumber:21},this),l.execute_as]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:44,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:38,columnNumber:15},this),l.description&&e.jsxDEV("p",{className:"text-[10px] text-text-quaternary mt-1 leading-snug",children:l.description},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:51,columnNumber:17},this)]},l.workflow_type,!0,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:29,columnNumber:13},this)})},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:23,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/WorkflowSelector.tsx",lineNumber:21,columnNumber:5},this)}const O=`{
2
- "data": {},
3
- "metadata": {}
4
- }`;function de(s){return typeof s=="boolean"?"boolean":typeof s=="number"?"number":Array.isArray(s)?"array":s!==null&&typeof s=="object"?"object":"string"}function $(s){if(!s)return[];const t=s.data;return!t||typeof t!="object"?[]:Object.entries(t).map(([N,o])=>({key:N,type:de(o),defaultValue:o}))}function J(s){return{...s}}function A(s,t){return JSON.stringify({data:s,metadata:t},null,2)}function ue({config:s,overrideBot:t,onOverrideChange:N,showOverride:o}){const{user:r}=q(),l=t||s.execute_as;return e.jsxDEV("div",{className:"bg-surface-sunken rounded-lg px-4 py-3 space-y-2",children:[e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV("span",{className:"text-[10px] text-text-tertiary uppercase tracking-wider font-medium",children:"Running as"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:23,columnNumber:9},this),l&&!t&&e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:"configured default"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:25,columnNumber:11},this),t&&e.jsxDEV("span",{className:"text-[9px] text-accent",children:"admin override"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:28,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:22,columnNumber:7},this),e.jsxDEV("div",{className:"flex items-center gap-1.5",children:l?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(T,{className:"w-3.5 h-3.5 text-accent/70"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:34,columnNumber:13},this),e.jsxDEV("span",{className:"text-xs text-text-primary font-mono",children:l},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:35,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:33,columnNumber:11},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(Z,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:39,columnNumber:13},this),e.jsxDEV("span",{className:"text-xs text-text-primary",children:(r==null?void 0:r.displayName)||(r==null?void 0:r.username)||"you"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:40,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:38,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:31,columnNumber:7},this),o&&N&&e.jsxDEV("div",{className:"pt-1 border-t border-surface-border",children:[e.jsxDEV("label",{className:"text-[10px] text-text-tertiary mb-1 block",children:"Override identity"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:48,columnNumber:11},this),e.jsxDEV(ae,{selected:t??"",onChange:N,placeholder:s.execute_as?`Default: ${s.execute_as}`:"Invoking user (default)"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:49,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:47,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/IdentitySummary.tsx",lineNumber:21,columnNumber:5},this)}function pe({selectedConfig:s,isJsonMode:t,hasFormView:N,jsonInput:o,formFields:r,dataFields:l,onJsonChange:p,onToggleMode:c,onUpdateFormField:m,onSetFormFields:w}){return e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-baseline justify-between mb-2",children:[e.jsxDEV("label",{className:"block text-xs text-text-secondary",children:"Envelope"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:36,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[N&&e.jsxDEV("button",{type:"button",onClick:c,className:"text-[10px] text-accent hover:underline",children:t?"Form view":"JSON view"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:41,columnNumber:13},this),s.envelope_schema?e.jsxDEV("span",{className:"text-[10px] text-accent",children:"Pre-filled from workflow config"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:50,columnNumber:13},this):e.jsxDEV("span",{className:"text-[10px] text-status-warning",children:"No template"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:54,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:39,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:35,columnNumber:7},this),!s.envelope_schema&&e.jsxDEV("div",{className:"bg-surface-sunken border border-surface-border rounded px-4 py-3 mb-3",children:e.jsxDEV("p",{className:"text-xs text-text-secondary leading-relaxed",children:["This workflow has no input template. Edit the JSON directly below, or register it as a ",e.jsxDEV(te,{to:"/workflows/registry/new",className:"text-status-success hover:underline",children:"certified workflow"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:64,columnNumber:100},this)," in the Workflow Registry for pre-filled fields and form-based input."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:63,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:62,columnNumber:9},this),t||!N?e.jsxDEV("textarea",{value:o,onChange:d=>p(d.target.value),className:"input-json",rows:12,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:71,columnNumber:9},this):e.jsxDEV("div",{className:"space-y-3",children:l.map(({key:d,type:i})=>{var v,k;const f=r[d],b=typeof f=="string"?f:JSON.stringify(f??(i==="array"?[]:{}),null,2),g=Math.min(20,Math.max(4,((k=(v=b==null?void 0:b.split)==null?void 0:v.call(b,`
5
- `))==null?void 0:k.length)??4));return e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[d,e.jsxDEV("span",{className:"ml-2 font-normal normal-case",children:i},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:99,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:97,columnNumber:17},this),i==="boolean"?e.jsxDEV("select",{value:String(f??!1),onChange:x=>m(d,x.target.value,i),className:"select text-xs w-full",children:[e.jsxDEV("option",{value:"true",children:"true"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:111,columnNumber:21},this),e.jsxDEV("option",{value:"false",children:"false"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:112,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:104,columnNumber:19},this):i==="object"||i==="array"?e.jsxDEV("textarea",{value:b,onChange:x=>{try{m(d,JSON.parse(x.target.value),i)}catch{w({...r,[d]:x.target.value})}},className:"input-json w-full",rows:g,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:115,columnNumber:19},this):e.jsxDEV("input",{type:i==="number"?"number":"text",value:String(f??""),onChange:x=>m(d,x.target.value,i),className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:137,columnNumber:19},this)]},d,!0,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:96,columnNumber:15},this)})},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:80,columnNumber:9},this),e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-1.5",children:["The envelope wraps your workflow input. ",e.jsxDEV("code",{className:"text-accent/80",children:"data"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:152,columnNumber:49},this)," holds workflow-specific fields; ",e.jsxDEV("code",{className:"text-accent/80",children:"metadata"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:152,columnNumber:126},this)," is optional context."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:151,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/EnvelopeEditor.tsx",lineNumber:34,columnNumber:5},this)}function fe({selected:s,executionsPath:t}){var E,R;const N=z(),{isSuperAdmin:o,hasRoleType:r}=q(),l=o||r("admin"),p=H(),[c,m]=n.useState(O),[w,d]=n.useState(""),[i,f]=n.useState({}),[b,g]=n.useState(!1),[v,k]=n.useState(""),x=(((E=s.roles)==null?void 0:E.length)??0)>0||(((R=s.consumes)==null?void 0:R.length)??0)>0,[V,P]=n.useState(x),C=n.useMemo(()=>$(s.envelope_schema??null),[s.envelope_schema]),W=C.length>0,a=n.useMemo(()=>{if(!s.envelope_schema)return{};const u=s.envelope_schema.metadata;return u&&typeof u=="object"?u:{}},[s.envelope_schema]);n.useEffect(()=>{var _;d(""),p.reset();const u=sessionStorage.getItem("lt:invoke:prefill");if(u){sessionStorage.removeItem("lt:invoke:prefill"),m(u);try{const j=JSON.parse(u),I=(j==null?void 0:j.data)??j;I&&typeof I=="object"&&f(J(I))}catch{}g(!0),k("");return}const y=s.envelope_schema?JSON.stringify(s.envelope_schema,null,2):O;m(y),(_=s.envelope_schema)!=null&&_.data&&typeof s.envelope_schema.data=="object"?f(J(s.envelope_schema.data)):f({}),g(!$(s.envelope_schema??null).length),k(""),P(x)},[s.workflow_type]);const h=()=>{if(b)try{const u=JSON.parse(c);u.data&&typeof u.data=="object"&&f(J(u.data))}catch{}else m(A(i,a));g(!b)},S=(u,y,_)=>{let j=y;_==="number"?j=y===""?0:Number(y):_==="boolean"&&(j=y==="true"||y===!0);const I={...i,[u]:j};f(I),m(A(I,a))},D=async()=>{d("");let u;try{u=JSON.parse(c)}catch{d("Invalid JSON");return}const{data:y,metadata:_}=u;if(!y||typeof y!="object"){d('Envelope must include a "data" object');return}try{const j={..._??{}};V&&(j.certified=!0),await p.mutateAsync({workflowType:s.workflow_type,data:y,metadata:j,...v?{execute_as:v}:{}}),N(t)}catch{}};return e.jsxDEV("div",{className:"space-y-6",children:[e.jsxDEV("div",{children:[e.jsxDEV("h2",{className:"text-lg font-mono font-medium text-text-primary",children:s.workflow_type},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:124,columnNumber:9},this),s.description&&e.jsxDEV("p",{className:"text-xs text-text-quaternary mt-1 leading-relaxed",children:s.description},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:126,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:123,columnNumber:7},this),e.jsxDEV(ue,{config:s,overrideBot:v,onOverrideChange:k,showOverride:l},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:132,columnNumber:7},this),x&&e.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsxDEV("input",{type:"checkbox",checked:V,onChange:u=>P(u.target.checked),className:"rounded border-surface-border text-accent focus:ring-accent/30"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:141,columnNumber:11},this),e.jsxDEV(ee,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:147,columnNumber:11},this),e.jsxDEV("span",{className:"text-xs text-text-secondary",children:"Enable task tracking and escalation routing"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:148,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:140,columnNumber:9},this),e.jsxDEV(pe,{selectedConfig:s,isJsonMode:b,hasFormView:W,jsonInput:c,formFields:i,dataFields:C,onJsonChange:u=>{m(u),d("")},onToggleMode:h,onUpdateFormField:S,onSetFormFields:f},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:152,columnNumber:7},this),w&&e.jsxDEV("p",{className:"text-xs text-status-error",children:w},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:165,columnNumber:22},this),p.error&&e.jsxDEV("p",{className:"text-xs text-status-error",children:p.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:166,columnNumber:32},this),p.isSuccess&&e.jsxDEV("p",{className:"text-xs text-status-success",children:"Workflow started"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:167,columnNumber:36},this),e.jsxDEV("button",{onClick:D,disabled:p.isPending,className:"btn-primary",children:p.isPending?"Starting...":"Start Workflow"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:169,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/StartNowPanel.tsx",lineNumber:122,columnNumber:5},this)}function he({children:s,className:t=""}){return e.jsxDEV("span",{className:`px-2 py-0.5 text-[10px] bg-surface-sunken rounded-full text-text-secondary ${t}`,children:s},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/Pill.tsx",lineNumber:10,columnNumber:5},this)}function Ne({selected:s,activeTypes:t}){const N=z(),o=K(),[r,l]=n.useState(""),[p,c]=n.useState(""),[m,w]=n.useState(""),[d,i]=n.useState("json"),f=n.useMemo(()=>s!=null&&s.envelope_schema?JSON.stringify(s.envelope_schema,null,2):O,[s==null?void 0:s.envelope_schema]),b=p!==f,g=n.useMemo(()=>{try{return JSON.parse(p)}catch{return null}},[p]),v=n.useMemo(()=>g?le(g):null,[g]);n.useEffect(()=>{l(s.cron_schedule??""),c(s.envelope_schema?JSON.stringify(s.envelope_schema,null,2):O),w(""),i("json"),o.reset()},[s.workflow_type]);const{data:k,isLoading:x}=U({entity:s.workflow_type,limit:10}),V=()=>{let a;try{a=JSON.parse(p)}catch{w("Invalid JSON in envelope");return}w(""),o.mutate({config:s,cron_schedule:r.trim()||null,envelope_schema:a})},P=()=>{l(""),o.mutate({config:s,cron_schedule:null})},C=()=>{c(f),w("")},W=(a,h)=>{if(!g)return;const S={...g.data??{}},D=S[a];typeof D=="number"?S[a]=h===""?0:Number(h):typeof D=="boolean"?S[a]=h==="true":S[a]=h,c(JSON.stringify({...g,data:S},null,2))};return e.jsxDEV("div",{className:"space-y-8",children:[e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("h2",{className:"text-lg font-mono font-medium text-text-primary",children:s.workflow_type},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:105,columnNumber:11},this),s.cron_schedule&&e.jsxDEV(he,{className:t.has(s.workflow_type)?"bg-status-success/10 text-status-success":"bg-surface-sunken text-text-tertiary",children:t.has(s.workflow_type)?"active":"inactive"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:107,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:104,columnNumber:9},this),s.description&&e.jsxDEV("p",{className:"text-xs text-text-quaternary mt-1 leading-relaxed",children:s.description},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:116,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:103,columnNumber:7},this),e.jsxDEV("div",{className:"bg-surface-sunken rounded-lg px-4 py-3",children:e.jsxDEV("div",{className:"flex items-center gap-1.5",children:[e.jsxDEV("span",{className:"text-[10px] text-text-tertiary uppercase tracking-wider font-medium mr-2",children:"Cron runs as"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:125,columnNumber:11},this),e.jsxDEV(T,{className:"w-3.5 h-3.5 text-accent/70"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:126,columnNumber:11},this),e.jsxDEV("span",{className:"text-xs text-text-primary font-mono",children:s.execute_as??"lt-system"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:127,columnNumber:11},this),!s.execute_as&&e.jsxDEV("span",{className:"text-[9px] text-text-tertiary ml-1",children:"system bot"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:131,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:124,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:123,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV(M,{className:"mb-3",children:"Schedule"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:138,columnNumber:9},this),e.jsxDEV("div",{className:"flex gap-3 items-start",children:[e.jsxDEV("div",{className:"flex-1",children:[e.jsxDEV("input",{type:"text",value:r,onChange:a=>{l(a.target.value),o.reset()},placeholder:"0 */6 * * *",className:"input font-mono w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:141,columnNumber:13},this),r.trim()&&L(r.trim())&&e.jsxDEV("p",{className:"text-xs text-text-secondary mt-1.5",children:L(r.trim())},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:149,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:140,columnNumber:11},this),e.jsxDEV("button",{onClick:V,disabled:o.isPending,className:"btn-primary text-xs shrink-0",children:o.isPending?"Saving...":"Save"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:154,columnNumber:11},this),s.cron_schedule&&e.jsxDEV("button",{onClick:P,disabled:o.isPending,className:"btn-ghost text-xs text-status-error shrink-0",children:"Clear"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:158,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:139,columnNumber:9},this),o.isSuccess&&e.jsxDEV("p",{className:"text-[10px] text-status-success mt-2",children:"Schedule updated"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:163,columnNumber:31},this),o.error&&e.jsxDEV("p",{className:"text-[10px] text-status-error mt-2",children:o.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:164,columnNumber:27},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:137,columnNumber:7},this),e.jsxDEV("div",{className:"bg-surface-sunken rounded-lg p-4",children:[e.jsxDEV(M,{className:"mb-2",children:"Common Patterns"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:169,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-x-6 gap-y-1.5",children:ie.map(([a,h])=>e.jsxDEV("button",{type:"button",onClick:()=>{l(a),o.reset()},className:"flex items-center gap-2 text-left py-0.5 group",children:[e.jsxDEV("code",{className:"font-mono text-[11px] text-accent group-hover:text-accent-hover",children:a},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:178,columnNumber:15},this),e.jsxDEV("span",{className:"text-[10px] text-text-tertiary",children:h},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:179,columnNumber:15},this)]},a,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:172,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:170,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:168,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-baseline justify-between mb-2",children:[e.jsxDEV(M,{children:"Cron Envelope"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:188,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[b&&e.jsxDEV("button",{type:"button",onClick:C,className:"text-[10px] text-status-warning hover:text-status-warning/80 transition-colors",children:"Reset to default"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:191,columnNumber:15},this),v&&e.jsxDEV("div",{className:"flex rounded overflow-hidden border border-surface-border",children:[e.jsxDEV("button",{type:"button",onClick:()=>i("form"),className:`px-2 py-0.5 text-[10px] transition-colors ${d==="form"?"bg-accent/10 text-accent":"text-text-tertiary hover:text-text-secondary"}`,children:"Form"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:197,columnNumber:17},this),e.jsxDEV("button",{type:"button",onClick:()=>i("json"),className:`px-2 py-0.5 text-[10px] transition-colors ${d==="json"?"bg-accent/10 text-accent":"text-text-tertiary hover:text-text-secondary"}`,children:"JSON"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:198,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:196,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:189,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:187,columnNumber:9},this),e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mb-3",children:"This envelope is sent as the workflow input on each cron invocation."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:203,columnNumber:9},this),d==="form"&&v?e.jsxDEV("div",{className:"space-y-3",children:v.map(({key:a,value:h,type:S})=>e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[11px] text-text-secondary mb-1 font-mono",children:a},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:211,columnNumber:17},this),S==="boolean"?e.jsxDEV("select",{value:h,onChange:D=>W(a,D.target.value),className:"input text-xs w-full",children:[e.jsxDEV("option",{value:"true",children:"true"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:214,columnNumber:21},this),e.jsxDEV("option",{value:"false",children:"false"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:215,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:213,columnNumber:19},this):e.jsxDEV("input",{type:S==="number"?"number":"text",value:h,onChange:D=>W(a,D.target.value),className:"input text-xs font-mono w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:218,columnNumber:19},this)]},a,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:210,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:208,columnNumber:11},this):e.jsxDEV("textarea",{value:p,onChange:a=>{c(a.target.value),w("")},className:"input-json w-full",rows:10,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:224,columnNumber:11},this),m&&e.jsxDEV("p",{className:"text-[10px] text-status-error mt-2",children:m},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:233,columnNumber:27},this),b&&e.jsxDEV("p",{className:"text-[10px] text-accent mt-1.5",children:"Envelope has been customized. Changes will be saved with the schedule."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:234,columnNumber:32},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:186,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV(M,{className:"mb-3",children:"Recent Executions"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:239,columnNumber:9},this),e.jsxDEV(oe,{columns:ne,data:(k==null?void 0:k.jobs)??[],keyFn:a=>a.workflow_id,onRowClick:a=>N(`/workflows/executions/${a.workflow_id}`),isLoading:x,emptyMessage:"No executions yet"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:240,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:238,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/SchedulePanel.tsx",lineNumber:101,columnNumber:5},this)}function be(){const[s,t]=re(),{data:N,isLoading:o}=G(),{data:r,isLoading:l}=Q(),{data:p}=X(),c=s.get("mode")||"now",m=s.get("type")??"",w=N??[],d=n.useMemo(()=>{const a=new Map;for(const h of r??[])a.set(h.workflow_type,h.tier??"durable");return a},[r]),i=n.useMemo(()=>{const a=w.filter(E=>E.invocable),h=new Set(w.map(E=>E.workflow_type)),D=(r??[]).filter(E=>E.active&&!h.has(E.workflow_type)).map(E=>({workflow_type:E.workflow_type,task_queue:E.task_queue??"",invocable:!0,description:null,default_role:"reviewer",roles:[],invocation_roles:[],consumes:[],envelope_schema:null,resolver_schema:null,cron_schedule:null,execute_as:null}));return[...a,...D]},[w,r]),f=i.find(a=>a.workflow_type===m),b=new Set((p??[]).filter(a=>a.active).map(a=>a.workflow_type)),g="/workflows/executions",v=n.useRef(null),[k,x]=n.useState(!0),V=`${m}:${c}`,P=n.useRef(V);n.useEffect(()=>{if(P.current!==V){x(!1);const a=setTimeout(()=>{P.current=V,x(!0)},120);return()=>clearTimeout(a)}},[V]),n.useEffect(()=>{i.length===1&&!s.get("type")&&t({type:i[0].workflow_type,mode:c},{replace:!0})},[i.length]);const C=a=>{const h={mode:a};m&&(h.type=m),t(h,{replace:!0})},W=a=>{t({type:a.workflow_type,mode:c},{replace:!0})};return o||l?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/workflows/start/StartWorkflowPage.tsx",lineNumber:98,columnNumber:9},this),e.jsxDEV("div",{className:"h-40 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:99,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:97,columnNumber:7},this):e.jsxDEV("div",{children:[e.jsxDEV(Y,{title:"Invoke Workflow",docsHash:"#docs:dashboard.md:invoke-workflow",actions:e.jsxDEV(ce,{mode:c,onChange:C},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:109,columnNumber:18},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:106,columnNumber:7},this),i.length===0?e.jsxDEV("div",{className:"py-16 text-center",children:[e.jsxDEV("p",{className:"text-sm text-text-primary mb-1",children:"No invocable workflows"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:114,columnNumber:11},this),e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:"Mark workflows as invocable in the registry, or start the server with examples enabled."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:115,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:113,columnNumber:9},this):e.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:[e.jsxDEV(me,{configs:i,selectedType:m,onSelect:W,tierMap:d,activeTypes:b},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:119,columnNumber:11},this),e.jsxDEV("div",{ref:v,className:`lg:col-span-2 transition-all duration-200 ease-out ${k?"opacity-100 translate-y-0":"opacity-0 translate-y-1"}`,children:m&&f?c==="now"?e.jsxDEV(fe,{selected:f,executionsPath:g},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:135,columnNumber:17},this):e.jsxDEV(Ne,{selected:f,activeTypes:b},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:137,columnNumber:17},this):e.jsxDEV("div",{className:"flex flex-col items-center justify-center py-24 text-center",children:[e.jsxDEV("div",{className:"w-12 h-12 rounded-full bg-accent/[0.06] flex items-center justify-center mb-4",children:c==="schedule"?e.jsxDEV(F,{className:"w-5 h-5 text-accent/50"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:143,columnNumber:23},this):e.jsxDEV(B,{className:"w-5 h-5 text-accent/50"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:144,columnNumber:23},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:141,columnNumber:17},this),e.jsxDEV("p",{className:"text-sm text-text-secondary mb-1",children:c==="schedule"?"Automate on a schedule":"Ready when you are"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:146,columnNumber:17},this),e.jsxDEV("p",{className:"text-xs text-text-quaternary",children:c==="schedule"?"Choose a workflow to configure its schedule":"Choose a workflow from the list to get started"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:149,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:140,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:127,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:118,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/start/StartWorkflowPage.tsx",lineNumber:105,columnNumber:5},this)}function We(){return e.jsxDEV(be,{},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/start/DurableInvokePage.tsx",lineNumber:4,columnNumber:10},this)}export{We as DurableInvokePage,be as StartWorkflowPage};
6
- //# sourceMappingURL=index-CEPo8tn_.js.map
@@ -1,15 +0,0 @@
1
- import{j as e}from"./index-MnRuwfHN.js";import{a as u}from"./vendor-query-DLp59M9_.js";import{e as Z,i as ee,u as J,j as se,b as re}from"./workflows-BvGU8_fj.js";import{D as oe}from"./DataTable-VKt4pvC-.js";import{C as ae}from"./ConfirmDeleteModal-v8ufrnX5.js";import{F as te,b as _}from"./FilterBar-BoRQss2J.js";import{R as ie,a as S}from"./RowActions-uGuPBEWb.js";import{u as le}from"./useFilterParams-CGRYFw_A.js";import{P as M}from"./PageHeader-C4DNgZKA.js";import{R as I}from"./RolePill-DmdF9L9Q.js";import{T as ne}from"./TaskQueuePill-yBqQ-piu.js";import{W as ce}from"./WorkflowPill-C7jE0e1g.js";import{a9 as q,S as me,ab as T,ad as de,P as ue,ae as fe,af as pe,U as L,X as B,j as Q,N as H,c as O}from"./vendor-icons-YdqUbzg6.js";import{c as Y,e as he,f as Ne}from"./vendor-react-Co3Y8ikm.js";import{S as be}from"./StepIndicator-ziIED3Pz.js";import{u as ge}from"./roles-DogkRzK2.js";import{B as we}from"./BotPicker-wEoqL3HR.js";import"./EmptyState-Di6_NfbP.js";import"./Modal-IsEbA4rW.js";import"./bots-DEsg-T8t.js";function xe(s,o){const l=o.toLowerCase();return s.workflow_type.toLowerCase().includes(l)||(s.description??"").toLowerCase().includes(l)}function He(){const s=Y(),{data:o,isLoading:l}=Z(),d=ee(),{filters:a,setFilter:n}=le({filters:{search:"",queue:"",role:"",tier:""}}),[m,v]=u.useState(a.search),[p,y]=u.useState(null);u.useEffect(()=>{if(m===a.search)return;const r=setTimeout(()=>n("search",m),300);return()=>clearTimeout(r)},[m,n,a.search]);const i=o??[],f=u.useMemo(()=>[...new Set(i.map(r=>r.task_queue).filter(Boolean))].sort(),[i]),c=u.useMemo(()=>[...new Set(i.flatMap(r=>r.roles??[]))].sort(),[i]),t=u.useMemo(()=>{let r=i;return a.search&&(r=r.filter(N=>xe(N,a.search))),a.queue&&(r=r.filter(N=>N.task_queue===a.queue)),a.role&&(r=r.filter(N=>(N.roles??[]).includes(a.role))),a.tier&&(r=r.filter(N=>N.tier===a.tier)),r},[i,a]),C=[{key:"workflow_type",label:"Workflow",className:"max-w-xs",render:r=>e.jsxDEV("div",{className:"min-w-0",children:[e.jsxDEV(ce,{type:r.workflow_type,size:"md",variant:r.tier==="certified"?"certified":r.tier==="configured"?"configured":"durable"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:78,columnNumber:11},this),r.description&&e.jsxDEV("p",{className:"text-[10px] leading-tight text-text-quaternary mt-0.5",children:r.description},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:80,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:77,columnNumber:9},this)},{key:"task_queue",label:"Queue",render:r=>r.task_queue?e.jsxDEV(ne,{queue:r.task_queue},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:88,columnNumber:41},this):e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:88,columnNumber:84},this),className:"whitespace-nowrap"},{key:"tier",label:"Tier",render:r=>r.tier==="certified"?e.jsxDEV("span",{className:"inline-flex items-center gap-1 text-[10px] font-medium text-text-secondary",children:[e.jsxDEV(q,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:95,columnNumber:139},this),"Certified"]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:95,columnNumber:46},this):r.tier==="configured"?e.jsxDEV("span",{className:"inline-flex items-center gap-1 text-[10px] font-medium text-text-secondary",children:[e.jsxDEV(me,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:96,columnNumber:140},this),"Configured"]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:96,columnNumber:47},this):e.jsxDEV("span",{className:"inline-flex items-center gap-1 text-[10px] font-medium text-text-secondary",children:[e.jsxDEV(T,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:97,columnNumber:109},this),"Durable"]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:97,columnNumber:16},this),className:"whitespace-nowrap"},{key:"roles",label:"Access",render:r=>{if(!r.registered)return e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:105,columnNumber:37},this);const N=r.roles??[],b=r.invocation_roles??[];return!N.length&&!b.length?e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:108,columnNumber:61},this):e.jsxDEV("div",{className:"space-y-1.5",children:[N.length>0&&e.jsxDEV("div",{className:"flex items-center gap-1.5",children:[e.jsxDEV("span",{title:"Escalation roles",children:e.jsxDEV(q,{className:"w-3 h-3 text-text-quaternary shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:113,columnNumber:48},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:113,columnNumber:17},this),e.jsxDEV("div",{className:"flex gap-1 flex-wrap",children:N.map(D=>e.jsxDEV(I,{role:D},`e-${D}`,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:114,columnNumber:76},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:114,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:112,columnNumber:15},this),b.length>0&&e.jsxDEV("div",{className:"flex items-center gap-1.5",children:[e.jsxDEV("span",{title:"Invocation roles",children:e.jsxDEV(de,{className:"w-3 h-3 text-text-quaternary shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:119,columnNumber:48},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:119,columnNumber:17},this),e.jsxDEV("div",{className:"flex gap-1 flex-wrap",children:b.map(D=>e.jsxDEV(I,{role:D},`i-${D}`,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:120,columnNumber:79},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:120,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:118,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:110,columnNumber:11},this)}},{key:"actions",label:"",render:r=>e.jsxDEV(ie,{children:[r.invocable&&e.jsxDEV(S,{icon:ue,title:"Invoke workflow",onClick:()=>s(`/workflows/start?type=${encodeURIComponent(r.workflow_type)}&mode=now`),colorClass:"text-text-tertiary hover:text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:133,columnNumber:13},this),r.tier==="durable"&&e.jsxDEV(S,{icon:T,title:"Configure workflow",onClick:()=>s(`/workflows/registry/new?workflow_type=${encodeURIComponent(r.workflow_type)}&task_queue=${encodeURIComponent(r.task_queue??"")}`),colorClass:"text-text-tertiary hover:text-status-info"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:141,columnNumber:13},this),r.tier==="configured"&&e.jsxDEV(S,{icon:fe,title:"Certify workflow",onClick:()=>s(`/workflows/registry/${encodeURIComponent(r.workflow_type)}`),colorClass:"text-text-tertiary hover:text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:149,columnNumber:13},this),r.registered&&e.jsxDEV(S,{icon:pe,title:"Remove configuration",onClick:()=>y(r.workflow_type),colorClass:"text-text-tertiary hover:text-status-warning"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:157,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:131,columnNumber:9},this),className:"w-16 text-right"}],V=()=>{p&&d.mutate(p,{onSuccess:()=>y(null)})},E=r=>{r.registered?s(`/workflows/registry/${encodeURIComponent(r.workflow_type)}`):s(`/workflows/registry/new?workflow_type=${encodeURIComponent(r.workflow_type)}&task_queue=${encodeURIComponent(r.task_queue??"")}`)};return e.jsxDEV("div",{children:[e.jsxDEV(M,{title:"Workflow Registry",docsHash:"#docs:dashboard.md:workflow-registry",actions:e.jsxDEV("button",{onClick:()=>s("/workflows/registry/new"),className:"btn-primary text-xs",children:"Register Workflow"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:191,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:187,columnNumber:7},this),e.jsxDEV(te,{children:[e.jsxDEV("input",{type:"text",placeholder:"Search workflow type...",value:m,onChange:r=>v(r.target.value),className:"input text-[11px] py-1 px-2 w-56"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:201,columnNumber:9},this),e.jsxDEV(_,{label:"Queue",value:a.queue,onChange:r=>n("queue",r),options:f.map(r=>({value:r,label:r}))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:208,columnNumber:9},this),e.jsxDEV(_,{label:"Tier",value:a.tier,onChange:r=>n("tier",r),options:[{value:"certified",label:"Certified"},{value:"configured",label:"Configured"},{value:"durable",label:"Durable"}]},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:214,columnNumber:9},this),e.jsxDEV(_,{label:"Role",value:a.role,onChange:r=>n("role",r),options:c.map(r=>({value:r,label:r}))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:224,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:200,columnNumber:7},this),e.jsxDEV(oe,{columns:C,data:t,keyFn:r=>r.workflow_type,onRowClick:E,isLoading:l,emptyMessage:"No workflows found"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:232,columnNumber:7},this),e.jsxDEV(ae,{open:!!p,onClose:()=>y(null),onConfirm:V,title:"De-certify Workflow",description:e.jsxDEV(e.Fragment,{children:["Remove certification from ",e.jsxDEV("span",{className:"font-mono font-medium text-text-primary",children:p},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:247,columnNumber:50},this),"? This removes interceptor guarantees, escalation chains, and invocation role constraints. The workflow will continue running as a standard durable workflow."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:247,columnNumber:22},this),isPending:d.isPending,error:d.error},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:242,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:186,columnNumber:5},this)}function j(s){return s.split(",").map(o=>o.trim()).filter(Boolean)}const R={workflow_type:"",description:"",task_queue:"",default_role:"reviewer",invocable:!1,roles:"",invocation_roles:"",consumes:"",envelope_schema:"",resolver_schema:"",cron_schedule:"",execute_as:"",certified:!1};function ke(s){const o=(s.roles??[]).join(", "),l=(s.consumes??[]).join(", ");return{workflow_type:s.workflow_type,description:s.description??"",task_queue:s.task_queue??"",default_role:s.default_role,invocable:s.invocable,roles:o,invocation_roles:(s.invocation_roles??[]).join(", "),consumes:l,envelope_schema:s.envelope_schema?JSON.stringify(s.envelope_schema,null,2):"",resolver_schema:s.resolver_schema?JSON.stringify(s.resolver_schema,null,2):"",cron_schedule:s.cron_schedule??"",execute_as:s.execute_as??"",certified:!!(o||l)}}const F=["Identity","Invocation","Advanced"];function W(s){if(!s.trim())return!0;try{return JSON.parse(s),!0}catch{return!1}}function $(s,o){return s===1?!!o.workflow_type.trim():s===2?W(o.envelope_schema):s===3?W(o.resolver_schema):!0}const k="label",w="hint",G="input-json w-full";function A({selected:s,onChange:o,single:l,placeholder:d}){const{data:a}=ge(),n=(a==null?void 0:a.roles)??[],[m,v]=u.useState(!1),p=u.useRef(null);u.useEffect(()=>{const c=t=>{p.current&&!p.current.contains(t.target)&&v(!1)};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[]);const y=c=>{l?(o(s.includes(c)?[]:[c]),v(!1)):o(s.includes(c)?s.filter(t=>t!==c):[...s,c])},i=c=>{o(s.filter(t=>t!==c))},f=d??(l?"Select role...":"Add roles...");return e.jsxDEV("div",{ref:p,className:"relative",children:[e.jsxDEV("button",{type:"button",onClick:()=>v(!m),className:"flex flex-wrap items-center gap-1.5 w-full min-h-[34px] px-2 py-1.5 bg-surface-sunken border border-surface-border rounded-md text-left cursor-pointer hover:border-accent/40 transition-colors focus:ring-1 focus:ring-accent focus:outline-none",children:[s.length===0&&e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:f},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:55,columnNumber:11},this),s.map(c=>e.jsxDEV("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-lg bg-accent/[0.08] text-text-secondary text-[11px]",children:[e.jsxDEV(L,{className:"w-2.5 h-2.5 shrink-0 text-accent/75"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:62,columnNumber:13},this),c,e.jsxDEV("span",{role:"button",onClick:t=>{t.stopPropagation(),i(c)},className:"ml-0.5 hover:text-status-error transition-colors",children:e.jsxDEV(B,{className:"w-2.5 h-2.5"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:69,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:64,columnNumber:13},this)]},c,!0,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:58,columnNumber:11},this)),e.jsxDEV(Q,{className:`w-3.5 h-3.5 ml-auto shrink-0 text-text-tertiary transition-transform ${m?"rotate-180":""}`},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:73,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:49,columnNumber:7},this),m&&e.jsxDEV("div",{className:"absolute z-20 mt-1 w-full bg-white border border-surface-border rounded-md shadow-lg max-h-48 overflow-y-auto",children:n.length===0?e.jsxDEV("p",{className:"px-3 py-2 text-xs text-text-tertiary",children:"No roles defined"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:80,columnNumber:13},this):n.map(c=>{const t=s.includes(c);return e.jsxDEV("button",{type:"button",onClick:()=>y(c),className:`flex items-center gap-2 w-full px-3 py-1.5 text-left text-xs transition-colors ${t?"bg-accent/[0.06] text-accent":"text-text-primary hover:bg-surface-sunken"}`,children:[e.jsxDEV(L,{className:"w-3 h-3 shrink-0 text-accent/60"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:95,columnNumber:19},this),e.jsxDEV("span",{className:"flex-1",children:c},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:96,columnNumber:19},this),t&&e.jsxDEV(H,{className:"w-3 h-3 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:97,columnNumber:34},this)]},c,!0,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:85,columnNumber:17},this)})},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:47,columnNumber:5},this)}function ve({options:s,selected:o,onChange:l,placeholder:d}){const[a,n]=u.useState(!1),m=u.useRef(null);u.useEffect(()=>{const i=f=>{m.current&&!m.current.contains(f.target)&&n(!1)};return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[]);const v=i=>{l(o.includes(i)?o.filter(f=>f!==i):[...o,i])},p=i=>{l(o.filter(f=>f!==i))},y=d??"Add workflows...";return e.jsxDEV("div",{ref:m,className:"relative",children:[e.jsxDEV("button",{type:"button",onClick:()=>n(!a),className:"flex flex-wrap items-center gap-1.5 w-full min-h-[34px] px-2 py-1.5 bg-surface-sunken border border-surface-border rounded-md text-left cursor-pointer hover:border-accent/40 transition-colors focus:ring-1 focus:ring-accent focus:outline-none",children:[o.length===0&&e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:y},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:45,columnNumber:11},this),o.map(i=>e.jsxDEV("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-lg bg-accent/[0.08] text-text-secondary text-[11px] font-mono",children:[e.jsxDEV(O,{className:"w-2.5 h-2.5 shrink-0 text-accent/75"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:52,columnNumber:13},this),i,e.jsxDEV("span",{role:"button",onClick:f=>{f.stopPropagation(),p(i)},className:"ml-0.5 hover:text-status-error transition-colors",children:e.jsxDEV(B,{className:"w-2.5 h-2.5"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:59,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:54,columnNumber:13},this)]},i,!0,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:48,columnNumber:11},this)),e.jsxDEV(Q,{className:`w-3.5 h-3.5 ml-auto shrink-0 text-text-tertiary transition-transform ${a?"rotate-180":""}`},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:63,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:39,columnNumber:7},this),a&&e.jsxDEV("div",{className:"absolute z-20 mt-1 w-full bg-white border border-surface-border rounded-md shadow-lg max-h-48 overflow-y-auto",children:s.length===0?e.jsxDEV("p",{className:"px-3 py-2 text-xs text-text-tertiary",children:"No registered workflows"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:69,columnNumber:13},this):s.map(i=>{const f=o.includes(i);return e.jsxDEV("button",{type:"button",onClick:()=>v(i),className:`flex items-center gap-2 w-full px-3 py-1.5 text-left text-xs font-mono transition-colors ${f?"bg-accent/[0.06] text-accent":"text-text-primary hover:bg-surface-sunken"}`,children:[e.jsxDEV(O,{className:"w-3 h-3 shrink-0 text-accent/60"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:84,columnNumber:19},this),e.jsxDEV("span",{className:"flex-1",children:i},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:85,columnNumber:19},this),f&&e.jsxDEV(H,{className:"w-3 h-3 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:86,columnNumber:34},this)]},i,!0,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:74,columnNumber:17},this)})},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:67,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:38,columnNumber:5},this)}function z(s){return j(s)}function U(s){return s.join(", ")}function ye({form:s,set:o}){const{data:l}=J(),d=(l??[]).map(a=>a.workflow_type).filter(a=>a!==s.workflow_type);return e.jsxDEV("div",{className:"space-y-5",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Resolver Schema"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:31,columnNumber:9},this),e.jsxDEV("textarea",{value:s.resolver_schema,onChange:a=>o("resolver_schema",a.target.value),placeholder:`{
2
- "properties": {
3
- "approved": { "type": "boolean", "default": false, "description": "Approve?" },
4
- "notes": { "type": "string", "default": "", "description": "Reviewer notes" }
5
- }
6
- }`,className:G,rows:8,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:32,columnNumber:9},this),e.jsxDEV("p",{className:w,children:["Default form template for resolving escalations from this workflow. Use ",e.jsxDEV("span",{className:"font-mono",children:"properties"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:15},this)," with ",e.jsxDEV("span",{className:"font-mono",children:"type"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:66},this),", ",e.jsxDEV("span",{className:"font-mono",children:"default"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:107},this),", ",e.jsxDEV("span",{className:"font-mono",children:"description"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:151},this),", ",e.jsxDEV("span",{className:"font-mono",children:"enum"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:199},this),", and ",e.jsxDEV("span",{className:"font-mono",children:"format"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:244},this)," for typed form fields."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:40,columnNumber:9},this),s.resolver_schema.trim()&&!W(s.resolver_schema)&&e.jsxDEV("p",{className:"text-[10px] text-status-error mt-1",children:"Invalid JSON"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:45,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:30,columnNumber:7},this),e.jsxDEV("div",{className:"flex gap-6 pt-1",children:e.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsxDEV("input",{type:"checkbox",checked:s.certified,onChange:a=>o("certified",a.target.checked),className:"w-4 h-4 rounded border-border accent-accent"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:52,columnNumber:11},this),e.jsxDEV("span",{className:"text-xs text-text-primary font-medium",children:"Certify for HITL Escalation"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:58,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:51,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:50,columnNumber:7},this),e.jsxDEV("p",{className:w,children:"Certified workflows use the interceptor to wrap executions — failures escalate to human reviewers instead of throwing."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:61,columnNumber:7},this),s.certified?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Default Escalation Role"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:70,columnNumber:13},this),e.jsxDEV(A,{selected:z(s.default_role),onChange:a=>o("default_role",a[0]??""),single:!0,placeholder:"Select escalation role..."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:71,columnNumber:13},this),e.jsxDEV("p",{className:w,children:"When this workflow escalates, assign to users with this role"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:77,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:69,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Escalation Roles"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:84,columnNumber:13},this),e.jsxDEV(A,{selected:z(s.roles),onChange:a=>o("roles",U(a)),placeholder:"Select who can resolve escalations..."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:85,columnNumber:13},this),e.jsxDEV("p",{className:w,children:"Users with any of these roles can claim and resolve escalations from this workflow."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:90,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:83,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Consumes"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:97,columnNumber:13},this),e.jsxDEV(ve,{options:d,selected:z(s.consumes),onChange:a=>o("consumes",U(a)),placeholder:"Select workflow dependencies..."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:98,columnNumber:13},this),e.jsxDEV("p",{className:w,children:"Output from these upstream workflows will be injected into the input envelope for this workflow."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:104,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:96,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:67,columnNumber:9},this):e.jsxDEV("div",{className:"py-4 px-4 bg-surface-sunken/50 rounded-md text-center",children:e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:["This workflow will run as standard durable without the interceptor. Enable"," ",e.jsxDEV("span",{className:"font-medium text-text-secondary",children:"Certify for HITL Escalation"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:114,columnNumber:13},this)," ","to add automatic escalation routing and role-based resolution."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:111,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:110,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:28,columnNumber:5},this)}function De(s){return j(s)}function Ce(s){return s.join(", ")}function Ee({form:s,set:o,editing:l,durableTypes:d=[]}){const a=!l&&d.length>0;return e.jsxDEV("div",{className:"space-y-5",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Workflow Type"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:36,columnNumber:9},this),a&&!s.workflow_type?e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV("p",{className:"text-xs text-text-secondary",children:"Select a durable workflow to register:"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:39,columnNumber:13},this),e.jsxDEV("div",{className:"grid gap-1",children:d.map(n=>e.jsxDEV("button",{onClick:()=>o("workflow_type",n),className:"flex items-center gap-2 px-3 py-2 text-left text-xs font-mono rounded-md border border-surface-border hover:border-accent/50 hover:bg-accent/[0.04] transition-colors",children:n},n,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:44,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:42,columnNumber:13},this),e.jsxDEV("div",{className:"flex items-center gap-2 pt-1",children:[e.jsxDEV("span",{className:"text-[10px] text-text-tertiary",children:"or"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:54,columnNumber:15},this),e.jsxDEV("input",{type:"text",onChange:n=>o("workflow_type",n.target.value),placeholder:"Enter a workflow type manually",className:"input font-mono flex-1"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:55,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:53,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:38,columnNumber:11},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("input",{type:"text",value:s.workflow_type,onChange:n=>o("workflow_type",n.target.value),disabled:l,placeholder:"reviewContent",className:"input font-mono w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:65,columnNumber:13},this),!l&&s.workflow_type&&d.length>0&&e.jsxDEV("button",{onClick:()=>o("workflow_type",""),className:"text-[10px] text-accent hover:underline mt-1",children:"Choose from durable workflows"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:74,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:64,columnNumber:11},this),e.jsxDEV("p",{className:w,children:"Register a workflow to configure invocation schemas and dashboard visibility. Certification for HITL escalation is optional (step 3)."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:83,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:35,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Description"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:89,columnNumber:9},this),e.jsxDEV("input",{type:"text",value:s.description,onChange:n=>o("description",n.target.value),placeholder:"AI-powered content moderation with human escalation",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:90,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:88,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Task Queue"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:100,columnNumber:9},this),e.jsxDEV("input",{type:"text",value:s.task_queue,onChange:n=>o("task_queue",n.target.value),placeholder:"lt-review",className:"input font-mono w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:101,columnNumber:9},this),e.jsxDEV("p",{className:w,children:"Durable task queue this workflow listens on"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:108,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:99,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:34,columnNumber:5},this)}function je({form:s,set:o}){return e.jsxDEV("div",{className:"space-y-5",children:[e.jsxDEV("div",{className:"flex gap-6 pt-1",children:e.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsxDEV("input",{type:"checkbox",checked:s.invocable,onChange:l=>o("invocable",l.target.checked),className:"w-4 h-4 rounded border-border accent-accent"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:124,columnNumber:11},this),e.jsxDEV("span",{className:"text-xs text-text-primary font-medium",children:"Invocable"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:130,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:123,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:122,columnNumber:7},this),e.jsxDEV("p",{className:w,children:"Allow this workflow to be started from the dashboard or API."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:133,columnNumber:7},this),s.invocable&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Run As"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:141,columnNumber:13},this),e.jsxDEV(we,{selected:s.execute_as,onChange:l=>o("execute_as",l)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:142,columnNumber:13},this),e.jsxDEV("p",{className:w,children:"Choose a bot to execute this workflow under its identity and credentials. Default runs as the invoking user."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:146,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:140,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Invocation Roles"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:154,columnNumber:13},this),e.jsxDEV(A,{selected:De(s.invocation_roles),onChange:l=>o("invocation_roles",Ce(l)),placeholder:"Select who can start this workflow..."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:155,columnNumber:13},this),e.jsxDEV("p",{className:w,children:"Only users with these roles can start this workflow. Leave empty to allow all authenticated users."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:160,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:153,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Envelope Schema"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:168,columnNumber:13},this),e.jsxDEV("textarea",{value:s.envelope_schema,onChange:l=>o("envelope_schema",l.target.value),placeholder:`{
7
- "data": {
8
- "contentId": "example-123",
9
- "content": "Text to review"
10
- },
11
- "metadata": {
12
- "source": "dashboard"
13
- }
14
- }`,className:G,rows:8,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:169,columnNumber:13},this),e.jsxDEV("p",{className:w,children:["Pre-fills the JSON editor when invoking this workflow. Should include ",e.jsxDEV("span",{className:"font-mono",children:"data"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:179,columnNumber:30},this)," (workflow input) and optional ",e.jsxDEV("span",{className:"font-mono",children:"metadata"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:179,columnNumber:100},this)," (context)."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:177,columnNumber:13},this),s.envelope_schema.trim()&&!W(s.envelope_schema)&&e.jsxDEV("p",{className:"text-[10px] text-status-error mt-1",children:"Invalid JSON"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:182,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:167,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:138,columnNumber:9},this),!s.invocable&&e.jsxDEV("div",{className:"py-4 px-4 bg-surface-sunken/50 rounded-md text-center",children:e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:["Enable ",e.jsxDEV("span",{className:"font-medium text-text-secondary",children:"Invocable"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:191,columnNumber:20},this)," above to configure who can start this workflow and set an input template."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:190,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:189,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:120,columnNumber:5},this)}function Ye(){const{workflowType:s}=he(),o=!s,l=Y(),{data:d,isLoading:a}=J(),n=se(),m=(d==null?void 0:d.find(h=>h.workflow_type===s))??null,v=new Set(["mcpQuery","mcpDeterministic","mcpQueryRouter","mcpTriage","mcpTriageRouter","mcpTriageDeterministic","insightQuery"]),{data:p}=re({limit:500}),y=u.useMemo(()=>{const h=new Set((d??[]).map(g=>g.workflow_type));return[...new Set(((p==null?void 0:p.jobs)??[]).map(g=>g.entity))].filter(g=>!h.has(g)&&!v.has(g)).sort()},[d,p]),[i,f]=Ne(),c=u.useMemo(()=>{if(!o)return R;const h=i.get("workflow_type")??"",x=i.get("task_queue")??"";return!h&&!x?R:{...R,workflow_type:h,task_queue:x}},[o,i]),[t,C]=u.useState(c),[V,E]=u.useState(""),[r,N]=u.useState(!1),b=parseInt(i.get("step")||"1",10),D=u.useCallback(h=>{f(x=>{const g=new URLSearchParams(x);return g.set("step",String(h)),g},{replace:!1})},[f]);u.useEffect(()=>{if(!r){if(o){C(c),N(!0);return}m&&(C(ke(m)),N(!0))}},[m,o,r,c]);const P=(h,x)=>C(g=>({...g,[h]:x})),K=()=>{if(!t.workflow_type.trim())return;E("");let h=null,x=null;try{t.envelope_schema.trim()&&(h=JSON.parse(t.envelope_schema))}catch{E("Invalid JSON in Envelope Schema");return}try{t.resolver_schema.trim()&&(x=JSON.parse(t.resolver_schema))}catch{E("Invalid JSON in Resolver Schema");return}n.mutate({workflow_type:t.workflow_type.trim(),description:t.description.trim()||null,task_queue:t.task_queue.trim()||null,default_role:t.default_role.trim()||"reviewer",invocable:t.invocable,roles:j(t.roles),invocation_roles:j(t.invocation_roles),consumes:j(t.consumes),envelope_schema:h,resolver_schema:x,cron_schedule:t.cron_schedule.trim()||null,execute_as:t.execute_as.trim()||null},{onSuccess:()=>{l("/workflows/registry")}})};if(a)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/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:132,columnNumber:9},this),e.jsxDEV("div",{className:"h-60 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:133,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:131,columnNumber:7},this);if(!o&&!m)return e.jsxDEV("p",{className:"text-sm text-text-secondary",children:"Config not found."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:139,columnNumber:12},this);const X=b===F.length;return e.jsxDEV("div",{children:[e.jsxDEV(M,{title:o?"Register Workflow":(m==null?void 0:m.workflow_type)??""},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:147,columnNumber:7},this),e.jsxDEV("div",{className:"max-w-3xl",children:[e.jsxDEV(be,{steps:F,currentStep:b-1,onStepClick:h=>D(h+1)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:150,columnNumber:11},this),e.jsxDEV("div",{className:"min-h-[360px] py-2",children:[b===1&&e.jsxDEV(Ee,{form:t,set:P,editing:!!m,durableTypes:y},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:153,columnNumber:28},this),b===2&&e.jsxDEV(je,{form:t,set:P},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:154,columnNumber:28},this),b===3&&e.jsxDEV(ye,{form:t,set:P},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:155,columnNumber:28},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:152,columnNumber:11},this),(V||n.error)&&e.jsxDEV("p",{className:"text-xs text-status-error mt-4",children:V||n.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:159,columnNumber:13},this),e.jsxDEV("div",{className:"flex justify-between items-center pt-4 border-t border-surface-border mt-4",children:[e.jsxDEV("div",{children:b>1&&e.jsxDEV("button",{onClick:()=>D(b-1),className:"btn-secondary text-xs",children:"Back"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:168,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:166,columnNumber:13},this),e.jsxDEV("div",{className:"flex gap-3",children:[e.jsxDEV("button",{onClick:()=>l("/workflows/registry"),className:"btn-ghost text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:177,columnNumber:15},this),X?e.jsxDEV("button",{onClick:K,disabled:!$(b,t)||n.isPending,className:"btn-primary text-xs",children:n.isPending?"Saving...":m?"Save":"Create"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:181,columnNumber:17},this):e.jsxDEV("button",{onClick:()=>D(b+1),disabled:!$(b,t),className:"btn-primary text-xs",children:"Next"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:189,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:176,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:165,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:149,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:146,columnNumber:5},this)}export{Ye as WorkflowConfigDetailPage,He as WorkflowConfigsPage};
15
- //# sourceMappingURL=index-CTKfvoGj.js.map
@@ -1,2 +0,0 @@
1
- import{b as F,j as e}from"./index-MnRuwfHN.js";import{u as I,c as O,a as n,b as re}from"./vendor-query-DLp59M9_.js";import{f as le,a as te}from"./vendor-react-Co3Y8ikm.js";import{P as ne}from"./PageHeader-C4DNgZKA.js";import{F as oe,a as me}from"./FilterBar-BoRQss2J.js";import{L as ce}from"./ListToolbar-BMWttsi2.js";import{E as ue}from"./EmptyState-Di6_NfbP.js";import{D as de}from"./DropZone-Bl4j-AID.js";import{F as pe,n as H,N as X,O as be,l as fe,ar as he,as as Ne,at as xe,au as ge,av as ve,X as we,aw as Fe,a3 as Pe,ax as Ve,o as Ee,ay as G,az as je,m as De}from"./vendor-icons-YdqUbzg6.js";import{T as Q}from"./TimeAgo-BAs-HL55.js";function ye(s,r=100,l){const a=new URLSearchParams;s&&a.set("prefix",s),a.set("pageSize",String(r)),l&&a.set("continuationToken",l);const o=a.toString();return I({queryKey:["fileBrowse",s,r,l],queryFn:()=>F(`/file-browser/browse?${o}`)})}function ke(s){return I({queryKey:["fileMetadata",s],queryFn:()=>F(`/file-browser/metadata/${s}`),enabled:!!s})}function Ce(){return O({mutationFn:s=>F("/file-browser/signed-url",{method:"POST",body:JSON.stringify(s)})})}function Se(){return O({mutationFn:s=>F(`/file-browser/delete/${s}`,{method:"DELETE"})})}function Le(){return O({mutationFn:async({path:s,file:r})=>{const l=await r.arrayBuffer();return F(`/file-browser/upload?path=${encodeURIComponent(s)}`,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:l})}})}function Te(s){return I({queryKey:["filePreviewUrl",s],queryFn:async()=>(await F("/file-browser/signed-url",{method:"POST",body:JSON.stringify({path:s,expiresIn:3600})})).url,enabled:!!s,staleTime:3e3*1e3})}function $e({prefix:s,onNavigate:r}){const l=s?s.replace(/\/+$/,"").split("/").filter(Boolean):[];return e.jsxDEV("nav",{className:"flex items-center gap-1 text-sm mb-6 min-h-[28px]",children:[e.jsxDEV("button",{onClick:()=>r(""),className:`flex items-center gap-1.5 px-1.5 py-0.5 rounded transition-colors ${l.length===0?"text-text-primary font-medium":"text-text-secondary hover:text-text-primary hover:bg-surface-hover"}`,children:[e.jsxDEV(pe,{className:"w-4 h-4 text-accent/75",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileBreadcrumbs.tsx",lineNumber:21,columnNumber:9},this),e.jsxDEV("span",{children:"Root"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileBreadcrumbs.tsx",lineNumber:22,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FileBreadcrumbs.tsx",lineNumber:13,columnNumber:7},this),l.map((a,o)=>{const t=o===l.length-1,u=l.slice(0,o+1).join("/")+"/";return e.jsxDEV("span",{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/files/FileBreadcrumbs.tsx",lineNumber:30,columnNumber:13},this),e.jsxDEV("button",{onClick:()=>r(u),className:`px-1.5 py-0.5 rounded transition-colors ${t?"text-text-primary font-medium":"text-text-secondary hover:text-text-primary hover:bg-surface-hover"}`,children:a},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileBreadcrumbs.tsx",lineNumber:31,columnNumber:13},this)]},u,!0,{fileName:"/app/dashboard/src/pages/files/FileBreadcrumbs.tsx",lineNumber:29,columnNumber:11},this)})]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FileBreadcrumbs.tsx",lineNumber:12,columnNumber:5},this)}function Ue(s){return s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:s<1024*1024*1024?`${(s/(1024*1024)).toFixed(1)} MB`:`${(s/(1024*1024*1024)).toFixed(1)} GB`}function E(s){return s.split("/").pop()||s}function R({label:s,value:r,mono:l,children:a}){return e.jsxDEV("div",{children:[e.jsxDEV("dt",{className:"text-[10px] uppercase tracking-wider text-text-tertiary mb-0.5",children:s},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:31,columnNumber:7},this),e.jsxDEV("dd",{className:`text-sm text-text-secondary ${l?"font-mono text-xs break-all":""}`,children:a||r},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:32,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:30,columnNumber:5},this)}function Be({url:s}){const[r,l]=n.useState(null),[a,o]=n.useState(!1);return r===null&&!a&&fetch(s).then(t=>{if(!t.ok)throw new Error;return t.text()}).then(t=>l(t.slice(0,1e5))).catch(()=>o(!0)),a?e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:"Could not load preview"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:53,columnNumber:21},this):r===null?e.jsxDEV("div",{className:"animate-pulse h-32 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:55,columnNumber:12},this):e.jsxDEV("pre",{className:"font-mono text-xs text-text-secondary bg-surface-sunken rounded-md p-3 overflow-x-auto max-h-[400px] overflow-y-auto whitespace-pre-wrap break-words",children:r},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:59,columnNumber:5},this)}function Re({metadata:s}){const[r,l]=n.useState(null);async function a(o,t){await navigator.clipboard.writeText(o),l(t),setTimeout(()=>l(null),2e3)}return e.jsxDEV("div",{className:"space-y-3",children:[e.jsxDEV("div",{children:[e.jsxDEV("dt",{className:"text-[10px] uppercase tracking-wider text-text-tertiary mb-0.5",children:"Path"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:79,columnNumber:9},this),e.jsxDEV("dd",{onClick:()=>a(s.path,"path"),className:"group flex items-center gap-1.5 text-xs font-mono text-text-secondary break-all cursor-pointer hover:text-text-primary transition-colors",title:"Click to copy",children:[e.jsxDEV("span",{className:"flex-1",children:s.path},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:85,columnNumber:11},this),r==="path"?e.jsxDEV(X,{className:"w-3.5 h-3.5 text-status-success shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:87,columnNumber:15},this):e.jsxDEV(be,{className:"w-3.5 h-3.5 opacity-0 group-hover:opacity-100 text-text-tertiary shrink-0 transition-opacity"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:88,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:80,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:78,columnNumber:7},this),e.jsxDEV(R,{label:"Type",value:s.content_type},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:91,columnNumber:7},this),e.jsxDEV(R,{label:"Size",value:Ue(s.size)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:92,columnNumber:7},this),e.jsxDEV(R,{label:"Modified",children:e.jsxDEV(Q,{date:s.modified_at},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:94,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:93,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewContent.tsx",lineNumber:77,columnNumber:5},this)}async function Ie(s,r){const a=await(await fetch(s)).blob(),o=URL.createObjectURL(a),t=document.createElement("a");t.href=o,t.download=r,t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(o)}function Oe(s){return s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:s<1024*1024*1024?`${(s/(1024*1024)).toFixed(1)} MB`:`${(s/(1024*1024*1024)).toFixed(1)} GB`}function _e(s){var l;const r=((l=s.split(".").pop())==null?void 0:l.toLowerCase())||"";return["png","jpg","jpeg","gif","svg","webp"].includes(r)?e.jsxDEV(he,{className:"w-4 h-4 text-accent/60",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:22,columnNumber:12},this):["json"].includes(r)?e.jsxDEV(Ne,{className:"w-4 h-4 text-accent/60",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:25,columnNumber:12},this):["csv","xlsx","xls"].includes(r)?e.jsxDEV(xe,{className:"w-4 h-4 text-accent/60",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:28,columnNumber:12},this):["txt","md","html","xml","yaml","yml","css","js","ts"].includes(r)?e.jsxDEV(ge,{className:"w-4 h-4 text-accent/60",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:31,columnNumber:12},this):e.jsxDEV(ve,{className:"w-4 h-4 text-accent/60",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:33,columnNumber:10},this)}function ze(s){var l;const r=((l=s.split(".").pop())==null?void 0:l.toLowerCase())||"";return["png","jpg","jpeg","gif","svg","webp"].includes(r)}function Me(s){const r=s.replace(/\/+$/,"");return r.split("/").pop()||r}function qe(s){return s.split("/").pop()||s}function We({directories:s,files:r,onNavigate:l,onSelect:a,selectedFile:o}){return e.jsxDEV("table",{className:"w-full mt-2",children:[e.jsxDEV("thead",{children:e.jsxDEV("tr",{className:"text-left text-[10px] uppercase tracking-wider text-text-tertiary",children:[e.jsxDEV("th",{className:"pb-2 pl-2 font-medium",children:"Name"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:63,columnNumber:11},this),e.jsxDEV("th",{className:"pb-2 font-medium w-24 text-right",children:"Size"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:64,columnNumber:11},this),e.jsxDEV("th",{className:"pb-2 pr-2 font-medium w-40 text-right",children:"Modified"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:65,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:62,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:61,columnNumber:7},this),e.jsxDEV("tbody",{children:[s.map(t=>e.jsxDEV("tr",{onClick:()=>l(t),className:"row-hover cursor-pointer group",children:[e.jsxDEV("td",{className:"py-2 pl-2",children:e.jsxDEV("span",{className:"flex items-center gap-2.5",children:[e.jsxDEV(fe,{className:"w-4 h-4 text-accent/75 shrink-0",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:77,columnNumber:17},this),e.jsxDEV("span",{className:"text-sm text-text-primary group-hover:text-accent transition-colors",children:Me(t)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:78,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:76,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:75,columnNumber:13},this),e.jsxDEV("td",{className:"py-2 text-right text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:83,columnNumber:13},this),e.jsxDEV("td",{className:"py-2 pr-2 text-right text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:84,columnNumber:13},this)]},t,!0,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:70,columnNumber:11},this)),r.map(t=>e.jsxDEV("tr",{onClick:()=>a(t.path),className:`row-hover cursor-pointer group ${o===t.path?"bg-surface-hover":""}`,children:[e.jsxDEV("td",{className:"py-2 pl-2",children:e.jsxDEV("span",{className:"flex items-center gap-2.5",children:[_e(t.path),e.jsxDEV("span",{className:"text-sm text-text-primary truncate",children:qe(t.path)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:98,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:96,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:95,columnNumber:13},this),e.jsxDEV("td",{className:"py-2 text-right text-xs text-text-secondary tabular-nums",children:Oe(t.size)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:103,columnNumber:13},this),e.jsxDEV("td",{className:"py-2 pr-2 text-right text-xs text-text-secondary",children:e.jsxDEV(Q,{date:t.modified_at},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:107,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:106,columnNumber:13},this)]},t.path,!0,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:88,columnNumber:11},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:68,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FileListViews.tsx",lineNumber:60,columnNumber:5},this)}const Ae=[{label:"1 hour",value:3600},{label:"6 hours",value:21600},{label:"24 hours",value:86400},{label:"7 days",value:604800},{label:"30 days",value:2592e3}];function Ke({filePath:s,onClose:r,onDeleted:l}){var x,V;const{data:a,isLoading:o}=ke(s),t=Ce(),u=Se(),[P,h]=n.useState(!1),[g,j]=n.useState(!1),[v,f]=n.useState(!1),{data:d}=Te(s),N=((x=a==null?void 0:a.content_type)==null?void 0:x.startsWith("image/"))||ze(s),D=/\.(ts|tsx|js|jsx|json|md|yaml|yml|toml|xml|csv|sql|sh|py|rb|go|rs|java|c|cpp|h|css|scss|html|txt|log|env|ini|cfg|conf)$/i,p=((V=a==null?void 0:a.content_type)==null?void 0:V.startsWith("text/"))||(a==null?void 0:a.content_type)==="application/json"||(a==null?void 0:a.content_type)==="application/xml"||(a==null?void 0:a.content_type)==="application/octet-stream"&&D.test(s),S=(a==null?void 0:a.content_type)==="application/pdf";async function L(){try{const m=await t.mutateAsync({path:s,expiresIn:3600}),c=m.url.startsWith("http")?m.url:`${window.location.origin}${m.url}`;Ie(c,E(s))}catch{}}async function y(m){h(!1);try{const c=await t.mutateAsync({path:s,expiresIn:m}),w=c.url.startsWith("http")?c.url:`${window.location.origin}${c.url}`;await navigator.clipboard.writeText(w),j(!0),setTimeout(()=>j(!1),2e3)}catch{}}return e.jsxDEV(e.Fragment,{children:e.jsxDEV("div",{className:"w-[380px] shrink-0 border-l border-surface-border bg-surface overflow-y-auto",children:[e.jsxDEV("div",{className:"sticky top-0 bg-surface z-10 px-5 pt-5 pb-3 border-b border-surface-border",children:[e.jsxDEV("div",{className:"flex items-center justify-between mb-3",children:[e.jsxDEV("h3",{className:"text-sm font-medium text-text-primary truncate pr-2",title:E(s),children:E(s)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:81,columnNumber:13},this),e.jsxDEV("button",{onClick:r,className:"text-text-tertiary hover:text-text-primary shrink-0",children:e.jsxDEV(we,{className:"w-4 h-4"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:85,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:84,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:80,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-1 flex-wrap",children:[e.jsxDEV("button",{onClick:L,className:"btn-ghost flex items-center gap-1.5 !px-2.5 !py-1.5 text-xs",title:"Download",children:[e.jsxDEV(Fe,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:96,columnNumber:15},this),e.jsxDEV("span",{children:"Download"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:97,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:91,columnNumber:13},this),e.jsxDEV("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"btn-ghost flex items-center gap-1.5 !px-2.5 !py-1.5 text-xs",title:"Open in new tab",children:[e.jsxDEV(Pe,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:107,columnNumber:15},this),e.jsxDEV("span",{children:"Open"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:108,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:100,columnNumber:13},this),e.jsxDEV("div",{className:"relative",children:[e.jsxDEV("button",{onClick:()=>h(m=>!m),className:"btn-ghost flex items-center gap-1.5 !px-2.5 !py-1.5 text-xs",title:"Share with signed URL",children:[g?e.jsxDEV(X,{className:"w-3.5 h-3.5 text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:117,columnNumber:27},this):e.jsxDEV(Ve,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:117,columnNumber:83},this),e.jsxDEV("span",{children:g?"Copied":"Share"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:118,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:112,columnNumber:15},this),P&&e.jsxDEV("div",{className:"absolute top-full left-0 mt-1 bg-surface-raised border border-surface-border rounded-md shadow-lg py-1 z-20 min-w-[120px]",children:Ae.map(m=>e.jsxDEV("button",{onClick:()=>y(m.value),className:"w-full text-left px-3 py-1.5 text-xs text-text-secondary hover:bg-surface-hover hover:text-text-primary transition-colors",children:m.label},m.value,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:123,columnNumber:21},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:121,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:111,columnNumber:13},this),e.jsxDEV("button",{onClick:()=>f(!0),className:"btn-ghost flex items-center gap-1.5 !px-2.5 !py-1.5 text-xs text-status-error/70 hover:text-status-error",title:"Delete file",children:[e.jsxDEV(Ee,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:140,columnNumber:15},this),e.jsxDEV("span",{children:"Delete"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:141,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:135,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:90,columnNumber:11},this),v&&e.jsxDEV("div",{className:"mt-3 p-3 bg-status-error/5 border border-status-error/20 rounded-md",children:[e.jsxDEV("p",{className:"text-xs text-text-primary mb-2",children:["Permanently delete ",e.jsxDEV("span",{className:"font-medium",children:E(s)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:149,columnNumber:36},this),"? This cannot be undone."]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:148,columnNumber:15},this),e.jsxDEV("div",{className:"flex gap-2",children:[e.jsxDEV("button",{onClick:()=>f(!1),className:"btn-secondary text-xs",disabled:u.isPending,children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:152,columnNumber:17},this),e.jsxDEV("button",{onClick:async()=>{try{await u.mutateAsync(s),f(!1),l==null||l()}catch{}},className:"btn-primary text-xs !bg-status-error hover:!bg-status-error/90",disabled:u.isPending,children:u.isPending?"Deleting...":"Delete"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:159,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:151,columnNumber:15},this),u.isError&&e.jsxDEV("p",{className:"text-xs text-status-error mt-2",children:u.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:176,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:147,columnNumber:13},this),t.isError&&e.jsxDEV("p",{className:"text-xs text-status-error mt-2",children:t.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:182,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:79,columnNumber:9},this),e.jsxDEV("div",{className:"p-5",children:o?e.jsxDEV("div",{className:"animate-pulse space-y-3",children:[e.jsxDEV("div",{className:"h-48 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:190,columnNumber:15},this),e.jsxDEV("div",{className:"h-4 bg-surface-sunken rounded w-2/3"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:191,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:189,columnNumber:13},this):e.jsxDEV(e.Fragment,{children:[N&&d&&e.jsxDEV("div",{className:"mb-5 rounded-md border border-surface-border bg-surface-sunken overflow-hidden",style:{maxHeight:"400px"},children:e.jsxDEV("img",{src:d,alt:E(s),className:"w-full object-cover object-top",style:{maxHeight:"400px"}},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:200,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:196,columnNumber:17},this),p&&d&&e.jsxDEV("div",{className:"mb-5",children:e.jsxDEV(Be,{url:d},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:211,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:210,columnNumber:17},this),S&&d&&e.jsxDEV("div",{className:"mb-5 p-4 bg-surface-sunken rounded-md text-center",children:e.jsxDEV("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"text-accent hover:text-accent-hover text-sm font-medium",children:"Open PDF in new tab"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:217,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:216,columnNumber:17},this),a&&e.jsxDEV(Re,{metadata:a},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:229,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:194,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:187,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:77,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilePreviewPanel.tsx",lineNumber:73,columnNumber:5},this)}const Ge=[25,50,100,200];function rs(){const[s,r]=le(),l=s.get("prefix")||"",[a,o]=n.useState(""),[t,u]=n.useState(""),[P,h]=n.useState(null),[g,j]=n.useState(100),[v,f]=n.useState([]),[d,N]=n.useState();n.useEffect(()=>{const i=setTimeout(()=>{u(a),N(void 0),f([])},300);return()=>clearTimeout(i)},[a]);const D=t?`${l}${t}`:l,{data:p,isLoading:S,isFetching:L,refetch:y}=ye(D,g,d),x=Le(),V=re(),m=n.useRef(null),[c,w]=n.useState(null),[k,_]=n.useState(""),z=n.useCallback(i=>{w(i),_(l)},[l]),[M,q]=n.useState(""),J=n.useCallback(()=>{if(!c)return;q("");let i=c.length;for(const b of c){const A=`${k}${b.name}`;x.mutate({path:A,file:b},{onSuccess:()=>{i--,V.invalidateQueries({queryKey:["fileBrowse"]}),i<=0&&w(null)},onError:K=>{i--,q(K.message),console.error("[Upload] failed:",A,K)}})}},[c,k,x,V]),T=(p==null?void 0:p.directories)??[],C=(p==null?void 0:p.files)??[],$=p==null?void 0:p.nextToken,W=n.useCallback(i=>{o(""),u(""),h(null),N(void 0),f([]),r(i?{prefix:i}:{})},[r]);function Z(){$&&(f(i=>[...i,d||""]),N($))}function Y(){if(v.length===0)return;const i=[...v],b=i.pop();f(i),N(b||void 0)}function ee(i){j(i),N(void 0),f([])}const se=T.length===0&&C.length===0,ae=v.length+1,U=!!$,B=v.length>0,ie=`/file-browser/browse?prefix=${encodeURIComponent(D)}&pageSize=${g}${d?`&continuationToken=${encodeURIComponent(d)}`:""}`;return e.jsxDEV(de,{onDrop:z,label:"Drop files to upload",children:[e.jsxDEV("div",{className:"flex gap-0",children:[e.jsxDEV("input",{ref:m,type:"file",multiple:!0,className:"hidden",onChange:i=>{const b=Array.from(i.target.files||[]);b.length&&z(b),i.target.value=""}},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:131,columnNumber:7},this),e.jsxDEV("div",{className:"flex-1 min-w-0 overflow-hidden",children:[e.jsxDEV(ne,{title:"Files",docsHash:"#docs:dashboard.md:files",actions:e.jsxDEV("button",{onClick:()=>{var i;return(i=m.current)==null?void 0:i.click()},disabled:x.isPending,className:"btn-primary text-xs inline-flex items-center gap-1.5",children:[e.jsxDEV(G,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:154,columnNumber:15},this),x.isPending?"Uploading...":"Upload"]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:149,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:145,columnNumber:9},this),e.jsxDEV($e,{prefix:l,onNavigate:W},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:160,columnNumber:9},this),e.jsxDEV(oe,{actions:e.jsxDEV(ce,{onRefresh:()=>y(),isFetching:L,apiPath:ie},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:163,columnNumber:11},this),children:e.jsxDEV(me,{label:"Search",value:a,onChange:o,placeholder:"Filter by prefix..."},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:169,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:162,columnNumber:9},this),S?e.jsxDEV("div",{className:"animate-pulse space-y-2 mt-4",children:Array.from({length:6}).map((i,b)=>e.jsxDEV("div",{className:"h-10 bg-surface-sunken rounded"},b,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:180,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:178,columnNumber:11},this):se?e.jsxDEV("div",{className:"cursor-pointer",onClick:()=>{var i;return(i=m.current)==null?void 0:i.click()},children:e.jsxDEV(ue,{icon:je,title:a?"No matching files":"No files yet",description:a?void 0:"Drop files here or click to upload"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:185,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:184,columnNumber:11},this):e.jsxDEV(We,{directories:T,files:C,onNavigate:W,onSelect:h,selectedFile:P},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:192,columnNumber:11},this),(B||U||C.length>0)&&e.jsxDEV("div",{className:"flex items-center justify-between pt-4 pb-2",children:[e.jsxDEV("div",{className:"flex items-center gap-4",children:[e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:["Page ",ae," · ",C.length+T.length," items"]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:205,columnNumber:15},this),e.jsxDEV("select",{value:g,onChange:i=>ee(parseInt(i.target.value)),className:"select text-xs py-1",children:Ge.map(i=>e.jsxDEV("option",{value:i,children:[i," / page"]},i,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:214,columnNumber:19},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:208,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:204,columnNumber:13},this),(B||U)&&e.jsxDEV("div",{className:"flex items-center gap-1",children:[e.jsxDEV("button",{onClick:Y,disabled:!B,className:"btn-ghost text-xs disabled:opacity-30 disabled:cursor-not-allowed flex items-center gap-1",children:[e.jsxDEV(De,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:225,columnNumber:19},this),"Previous"]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:220,columnNumber:17},this),e.jsxDEV("button",{onClick:Z,disabled:!U,className:"btn-ghost text-xs disabled:opacity-30 disabled:cursor-not-allowed flex items-center gap-1",children:["Next",e.jsxDEV(H,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:234,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:228,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:219,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:203,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:144,columnNumber:7},this),P&&e.jsxDEV(Ke,{filePath:P,onClose:()=>h(null),onDeleted:()=>{h(null),y()}},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:244,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:129,columnNumber:5},this),c&&te.createPortal(e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"fixed inset-0 z-40 bg-black/30",onClick:()=>w(null)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:254,columnNumber:9},this),e.jsxDEV("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:e.jsxDEV("div",{className:"bg-surface-raised border border-surface-border rounded-lg shadow-lg w-full max-w-sm",children:[e.jsxDEV("div",{className:"px-5 py-4 border-b border-surface-border",children:e.jsxDEV("h3",{className:"text-sm font-medium text-text-primary",children:["Upload ",c.length," file",c.length>1?"s":""]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:258,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:257,columnNumber:13},this),e.jsxDEV("div",{className:"px-5 py-4 space-y-3",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Destination folder"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:262,columnNumber:17},this),e.jsxDEV("input",{type:"text",value:k,onChange:i=>_(i.target.value),placeholder:"e.g., images/ or leave empty for root",className:"input text-xs w-full font-mono"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:263,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:261,columnNumber:15},this),e.jsxDEV("div",{className:"text-[10px] text-text-quaternary space-y-0.5",children:c.map((i,b)=>e.jsxDEV("p",{className:"truncate",children:[k,i.name," ",e.jsxDEV("span",{className:"text-text-tertiary",children:["(",(i.size/1024).toFixed(1)," KB)"]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:273,columnNumber:74},this)]},b,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:273,columnNumber:19},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:271,columnNumber:15},this),M&&e.jsxDEV("p",{className:"text-xs text-status-error",children:M},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:276,columnNumber:31},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:260,columnNumber:13},this),e.jsxDEV("div",{className:"flex justify-end gap-2 px-5 py-3 border-t border-surface-border",children:[e.jsxDEV("button",{onClick:()=>w(null),className:"btn-ghost text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:279,columnNumber:15},this),e.jsxDEV("button",{onClick:J,className:"btn-primary text-xs",children:[e.jsxDEV(G,{className:"w-3.5 h-3.5 mr-1.5 inline"},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:281,columnNumber:17},this),"Upload"]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:280,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:278,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:256,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:255,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:253,columnNumber:7},this),document.body)]},void 0,!0,{fileName:"/app/dashboard/src/pages/files/FilesPage.tsx",lineNumber:128,columnNumber:5},this)}export{rs as FilesPage};
2
- //# sourceMappingURL=index-CZVprWC6.js.map