@hotmeshio/long-tail 0.3.3 → 0.4.1
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.
- package/build/api/controlplane.d.ts +1 -0
- package/build/api/controlplane.js +1 -0
- package/build/routes/controlplane.js +2 -2
- package/build/services/controlplane/stream-messages-sql.js +11 -12
- package/dashboard/dist/assets/AdminDashboard-C0_qN2h3.js +2 -0
- package/dashboard/dist/assets/{AdminDashboard-BBWJAsjl.js.map → AdminDashboard-C0_qN2h3.js.map} +1 -1
- package/dashboard/dist/assets/AgentConfigPage-DG1zOIiz.js +13 -0
- package/dashboard/dist/assets/{AgentConfigPage-Br2O6NDa.js.map → AgentConfigPage-DG1zOIiz.js.map} +1 -1
- package/dashboard/dist/assets/AgentDetailPage-B5kaAJDM.js +4 -0
- package/dashboard/dist/assets/{AgentDetailPage-DjgOR62z.js.map → AgentDetailPage-B5kaAJDM.js.map} +1 -1
- package/dashboard/dist/assets/AgentsPage-DJWSuoJA.js +2 -0
- package/dashboard/dist/assets/{AgentsPage-CASVGEvY.js.map → AgentsPage-DJWSuoJA.js.map} +1 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-DrarbHov.js +2 -0
- package/dashboard/dist/assets/{AvailableEscalationsPage-Dl9ZmjKA.js.map → AvailableEscalationsPage-DrarbHov.js.map} +1 -1
- package/dashboard/dist/assets/BotPicker-CvXQwE5Z.js +2 -0
- package/dashboard/dist/assets/{BotPicker-wEoqL3HR.js.map → BotPicker-CvXQwE5Z.js.map} +1 -1
- package/dashboard/dist/assets/CapabilitiesPage-BiL9QUxI.js +2 -0
- package/dashboard/dist/assets/{CapabilitiesPage-DYkx5aa4.js.map → CapabilitiesPage-BiL9QUxI.js.map} +1 -1
- package/dashboard/dist/assets/CollapsibleSection-D9F01Tny.js +2 -0
- package/dashboard/dist/assets/{CollapsibleSection-DN1aF5HO.js.map → CollapsibleSection-D9F01Tny.js.map} +1 -1
- package/dashboard/dist/assets/ConfirmDeleteModal-dOxidrSR.js +2 -0
- package/dashboard/dist/assets/{ConfirmDeleteModal-v8ufrnX5.js.map → ConfirmDeleteModal-dOxidrSR.js.map} +1 -1
- package/dashboard/dist/assets/CopyableId-DmLF-RqZ.js +2 -0
- package/dashboard/dist/assets/{CopyableId-D94R2n6C.js.map → CopyableId-DmLF-RqZ.js.map} +1 -1
- package/dashboard/dist/assets/CredentialsPage-C-rjAIK3.js +2 -0
- package/dashboard/dist/assets/{CredentialsPage-CSSjAEx6.js.map → CredentialsPage-C-rjAIK3.js.map} +1 -1
- package/dashboard/dist/assets/CronLabel-DnZF8_vw.js +2 -0
- package/dashboard/dist/assets/{CronLabel-fYpkTnEd.js.map → CronLabel-DnZF8_vw.js.map} +1 -1
- package/dashboard/dist/assets/CustomDurationPicker-BYDrcsYT.js +2 -0
- package/dashboard/dist/assets/{CustomDurationPicker-CSarfbO1.js.map → CustomDurationPicker-BYDrcsYT.js.map} +1 -1
- package/dashboard/dist/assets/DataTable-D9yuBv0w.js +2 -0
- package/dashboard/dist/assets/{DataTable-VKt4pvC-.js.map → DataTable-D9yuBv0w.js.map} +1 -1
- package/dashboard/dist/assets/DropZone-BEW3jBzf.js +2 -0
- package/dashboard/dist/assets/{DropZone-Bl4j-AID.js.map → DropZone-BEW3jBzf.js.map} +1 -1
- package/dashboard/dist/assets/ElapsedCell-BkiVdGaJ.js +2 -0
- package/dashboard/dist/assets/{ElapsedCell-Y4UmrII0.js.map → ElapsedCell-BkiVdGaJ.js.map} +1 -1
- package/dashboard/dist/assets/EmptyState-BcsfPq9T.js +2 -0
- package/dashboard/dist/assets/{EmptyState-Di6_NfbP.js.map → EmptyState-BcsfPq9T.js.map} +1 -1
- package/dashboard/dist/assets/EscalationsOverview-Cg2SN0WK.js +2 -0
- package/dashboard/dist/assets/{EscalationsOverview-D0Ry84FE.js.map → EscalationsOverview-Cg2SN0WK.js.map} +1 -1
- package/dashboard/dist/assets/EventTable-B9wYf13g.js +2 -0
- package/dashboard/dist/assets/{EventTable-BzPleN3Y.js.map → EventTable-B9wYf13g.js.map} +1 -1
- package/dashboard/dist/assets/EventTopicPill-By-6sXDp.js +2 -0
- package/dashboard/dist/assets/{EventTopicPill-DCqcr7N7.js.map → EventTopicPill-By-6sXDp.js.map} +1 -1
- package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +2 -0
- package/dashboard/dist/assets/{FilterBar-BoRQss2J.js.map → FilterBar-Ck4K4rzu.js.map} +1 -1
- package/dashboard/dist/assets/HomePage-74mCQ5nB.js +2 -0
- package/dashboard/dist/assets/{HomePage-CGH_dYSo.js.map → HomePage-74mCQ5nB.js.map} +1 -1
- package/dashboard/dist/assets/ListToolbar-DL1wEuvL.js +2 -0
- package/dashboard/dist/assets/{ListToolbar-BMWttsi2.js.map → ListToolbar-DL1wEuvL.js.map} +1 -1
- package/dashboard/dist/assets/McpOverview-D34bLMuP.js +2 -0
- package/dashboard/dist/assets/{McpOverview-DpC-BbBV.js.map → McpOverview-D34bLMuP.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryDetailPage-gLGTGX6g.js +5 -0
- package/dashboard/dist/assets/{McpQueryDetailPage-CZSzX-cI.js.map → McpQueryDetailPage-gLGTGX6g.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryPage-wPHJkhEp.js +2 -0
- package/dashboard/dist/assets/{McpQueryPage-B4KsvBGo.js.map → McpQueryPage-wPHJkhEp.js.map} +1 -1
- package/dashboard/dist/assets/McpRunDetailPage-SoXudCbq.js +2 -0
- package/dashboard/dist/assets/{McpRunDetailPage-_owlNUzp.js.map → McpRunDetailPage-SoXudCbq.js.map} +1 -1
- package/dashboard/dist/assets/McpRunsPage-BUSxdydO.js +2 -0
- package/dashboard/dist/assets/{McpRunsPage-C3A1fU3h.js.map → McpRunsPage-BUSxdydO.js.map} +1 -1
- package/dashboard/dist/assets/Modal-DEODGeqx.js +2 -0
- package/dashboard/dist/assets/{Modal-IsEbA4rW.js.map → Modal-DEODGeqx.js.map} +1 -1
- package/dashboard/dist/assets/OperatorDashboard-CYCl2our.js +2 -0
- package/dashboard/dist/assets/{OperatorDashboard-B8MOtt_p.js.map → OperatorDashboard-CYCl2our.js.map} +1 -1
- package/dashboard/dist/assets/PageHeader-Bo0SpcCK.js +2 -0
- package/dashboard/dist/assets/{PageHeader-C4DNgZKA.js.map → PageHeader-Bo0SpcCK.js.map} +1 -1
- package/dashboard/dist/assets/PageHeaderWithStats-7K5BdhOj.js +2 -0
- package/dashboard/dist/assets/{PageHeaderWithStats-Fy6tGBaa.js.map → PageHeaderWithStats-7K5BdhOj.js.map} +1 -1
- package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +2 -0
- package/dashboard/dist/assets/{PriorityBadge-kSpsF-Zm.js.map → PriorityBadge-DfQY9St9.js.map} +1 -1
- package/dashboard/dist/assets/ProcessDetailPage-DzGacZpO.js +2 -0
- package/dashboard/dist/assets/{ProcessDetailPage-CZjjs4jE.js.map → ProcessDetailPage-DzGacZpO.js.map} +1 -1
- package/dashboard/dist/assets/ProcessesListPage-Bmn33g_l.js +2 -0
- package/dashboard/dist/assets/{ProcessesListPage-Ds7y71o8.js.map → ProcessesListPage-Bmn33g_l.js.map} +1 -1
- package/dashboard/dist/assets/RolePill-BDzPFQUv.js +2 -0
- package/dashboard/dist/assets/{RolePill-DmdF9L9Q.js.map → RolePill-BDzPFQUv.js.map} +1 -1
- package/dashboard/dist/assets/RolesPage-BTtaabkS.js +2 -0
- package/dashboard/dist/assets/{RolesPage-CCmK38yn.js.map → RolesPage-BTtaabkS.js.map} +1 -1
- package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +2 -0
- package/dashboard/dist/assets/{RowActions-uGuPBEWb.js.map → RowActions-Dg-Fsm5O.js.map} +1 -1
- package/dashboard/dist/assets/RunAsSelector-B1R8nJvE.js +2 -0
- package/dashboard/dist/assets/{RunAsSelector-BsO-uSh9.js.map → RunAsSelector-B1R8nJvE.js.map} +1 -1
- package/dashboard/dist/assets/ServerName-CEOFF7UG.js +2 -0
- package/dashboard/dist/assets/{ServerName-BHl8nLOV.js.map → ServerName-CEOFF7UG.js.map} +1 -1
- package/dashboard/dist/assets/StatCard-DlgF0CJC.js +2 -0
- package/dashboard/dist/assets/{StatCard-DI4ZQ-Zi.js.map → StatCard-DlgF0CJC.js.map} +1 -1
- package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js +2 -0
- package/dashboard/dist/assets/{StatusBadge-TV20Ulgl.js.map → StatusBadge-XQlNFwmH.js.map} +1 -1
- package/dashboard/dist/assets/StepIndicator-CuUIGxKk.js +2 -0
- package/dashboard/dist/assets/{StepIndicator-ziIED3Pz.js.map → StepIndicator-CuUIGxKk.js.map} +1 -1
- package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +2 -0
- package/dashboard/dist/assets/{StickyPagination-CXBDS1ka.js.map → StickyPagination-F9FZsRy9.js.map} +1 -1
- package/dashboard/dist/assets/SwimlaneTimeline-CU2ZD9cC.js +2 -0
- package/dashboard/dist/assets/{SwimlaneTimeline-Dc_a4-D5.js.map → SwimlaneTimeline-CU2ZD9cC.js.map} +1 -1
- package/dashboard/dist/assets/TagInput-VBY0xIwb.js +2 -0
- package/dashboard/dist/assets/{TagInput-BYEjEPsa.js.map → TagInput-VBY0xIwb.js.map} +1 -1
- package/dashboard/dist/assets/TaskDetailPage-CZw_F8y4.js +2 -0
- package/dashboard/dist/assets/TaskDetailPage-CZw_F8y4.js.map +1 -0
- package/dashboard/dist/assets/TaskQueuePill-DZykFijh.js +2 -0
- package/dashboard/dist/assets/{TaskQueuePill-yBqQ-piu.js.map → TaskQueuePill-DZykFijh.js.map} +1 -1
- package/dashboard/dist/assets/TasksListPage-D-vHndyV.js +2 -0
- package/dashboard/dist/assets/{TasksListPage-Dl0quVgM.js.map → TasksListPage-D-vHndyV.js.map} +1 -1
- package/dashboard/dist/assets/TimeAgo-B6Gz4RAU.js +2 -0
- package/dashboard/dist/assets/{TimeAgo-BAs-HL55.js.map → TimeAgo-B6Gz4RAU.js.map} +1 -1
- package/dashboard/dist/assets/TimestampCell-DZu9PtN2.js +2 -0
- package/dashboard/dist/assets/{TimestampCell-zFm6ze1U.js.map → TimestampCell-DZu9PtN2.js.map} +1 -1
- package/dashboard/dist/assets/ToolPill-RP2Tvlrx.js +2 -0
- package/dashboard/dist/assets/{ToolPill-DiM3hgAB.js.map → ToolPill-RP2Tvlrx.js.map} +1 -1
- package/dashboard/dist/assets/ToolTestPanel-D4cgYW2p.js +2 -0
- package/dashboard/dist/assets/{ToolTestPanel-C3vWUW2p.js.map → ToolTestPanel-D4cgYW2p.js.map} +1 -1
- package/dashboard/dist/assets/TopicDetailPage-C5ZUZpU5.js +9 -0
- package/dashboard/dist/assets/{TopicDetailPage-wjwRE5eI.js.map → TopicDetailPage-C5ZUZpU5.js.map} +1 -1
- package/dashboard/dist/assets/TopicsPage-Cbc0nVj9.js +2 -0
- package/dashboard/dist/assets/{TopicsPage-D3AONwHP.js.map → TopicsPage-Cbc0nVj9.js.map} +1 -1
- package/dashboard/dist/assets/UserName-YUoNrFAq.js +2 -0
- package/dashboard/dist/assets/{UserName-0vrAWvND.js.map → UserName-YUoNrFAq.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowExecutionPage-CVGztAdK.js +2 -0
- package/dashboard/dist/assets/{WorkflowExecutionPage-CBbWToVN.js.map → WorkflowExecutionPage-CVGztAdK.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowPill-pPuGH8v9.js +2 -0
- package/dashboard/dist/assets/{WorkflowPill-C7jE0e1g.js.map → WorkflowPill-pPuGH8v9.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsDashboard-BFzCyvgv.js +2 -0
- package/dashboard/dist/assets/{WorkflowsDashboard-1GVHYLlw.js.map → WorkflowsDashboard-BFzCyvgv.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsOverview-C_y7JCg2.js +2 -0
- package/dashboard/dist/assets/{WorkflowsOverview-2POOJzat.js.map → WorkflowsOverview-C_y7JCg2.js.map} +1 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-CYQjp3JI.js +2 -0
- package/dashboard/dist/assets/{YamlWorkflowsPage-BcRKxz3P.js.map → YamlWorkflowsPage-CYQjp3JI.js.map} +1 -1
- package/dashboard/dist/assets/{agents-Bd6SNUID.js → agents-2pDPv2Ww.js} +2 -2
- package/dashboard/dist/assets/{agents-Bd6SNUID.js.map → agents-2pDPv2Ww.js.map} +1 -1
- package/dashboard/dist/assets/{bots-DEsg-T8t.js → bots-2uGZ2l7A.js} +2 -2
- package/dashboard/dist/assets/{bots-DEsg-T8t.js.map → bots-2uGZ2l7A.js.map} +1 -1
- package/dashboard/dist/assets/{controlplane-B3m1kIWb.js → controlplane-CQ29M7lK.js} +2 -2
- package/dashboard/dist/assets/controlplane-CQ29M7lK.js.map +1 -0
- package/dashboard/dist/assets/escalation-DWOUjrgL.js +2 -0
- package/dashboard/dist/assets/{escalation-CJQPC0gm.js.map → escalation-DWOUjrgL.js.map} +1 -1
- package/dashboard/dist/assets/escalation-columns-WrgLIl-W.js +2 -0
- package/dashboard/dist/assets/{escalation-columns-DEE62U3_.js.map → escalation-columns-WrgLIl-W.js.map} +1 -1
- package/dashboard/dist/assets/helpers-LN5b1KBx.js +2 -0
- package/dashboard/dist/assets/{helpers-BveI_035.js.map → helpers-LN5b1KBx.js.map} +1 -1
- package/dashboard/dist/assets/index-BMo7wCw8.js +2 -0
- package/dashboard/dist/assets/{index-D4v-EUTe.js.map → index-BMo7wCw8.js.map} +1 -1
- package/dashboard/dist/assets/index-CBS8FBcp.js +63 -0
- package/dashboard/dist/assets/index-CBS8FBcp.js.map +1 -0
- package/dashboard/dist/assets/index-CFJc47B8.js +2 -0
- package/dashboard/dist/assets/index-CFJc47B8.js.map +1 -0
- package/dashboard/dist/assets/index-C_A76Dl1.js +2 -0
- package/dashboard/dist/assets/{index-BXIwxi_u.js.map → index-C_A76Dl1.js.map} +1 -1
- package/dashboard/dist/assets/index-CdNXBj7w.js +2 -0
- package/dashboard/dist/assets/{index-CZVprWC6.js.map → index-CdNXBj7w.js.map} +1 -1
- package/dashboard/dist/assets/index-ChGBlYKj.css +1 -0
- package/dashboard/dist/assets/index-CovZsMow.js +15 -0
- package/dashboard/dist/assets/{index-CTKfvoGj.js.map → index-CovZsMow.js.map} +1 -1
- package/dashboard/dist/assets/index-CryoNbg0.js +2 -0
- package/dashboard/dist/assets/index-CryoNbg0.js.map +1 -0
- package/dashboard/dist/assets/index-CvzfRxnj.js +2 -0
- package/dashboard/dist/assets/{index-Csts1D-x.js.map → index-CvzfRxnj.js.map} +1 -1
- package/dashboard/dist/assets/index-DDxZOINn.js +5 -0
- package/dashboard/dist/assets/{index-ChNwlMdo.js.map → index-DDxZOINn.js.map} +1 -1
- package/dashboard/dist/assets/index-DqFfgd-7.js +6 -0
- package/dashboard/dist/assets/{index-CEPo8tn_.js.map → index-DqFfgd-7.js.map} +1 -1
- package/dashboard/dist/assets/index-J0dMfAmE.js +2 -0
- package/dashboard/dist/assets/index-J0dMfAmE.js.map +1 -0
- package/dashboard/dist/assets/index-dzxsXeMO.js +2 -0
- package/dashboard/dist/assets/{index-Cpq83bZq.js.map → index-dzxsXeMO.js.map} +1 -1
- package/dashboard/dist/assets/index-ugekH3E2.js +2 -0
- package/dashboard/dist/assets/{index-BVVdr9s0.js.map → index-ugekH3E2.js.map} +1 -1
- package/dashboard/dist/assets/{knowledge-krdvn5bg.js → knowledge-BhZk3Wy9.js} +2 -2
- package/dashboard/dist/assets/{knowledge-krdvn5bg.js.map → knowledge-BhZk3Wy9.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-BTZ2ex4x.js → mcp-FOHNY7Zj.js} +2 -2
- package/dashboard/dist/assets/{mcp-BTZ2ex4x.js.map → mcp-FOHNY7Zj.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-BzqJu709.js → mcp-query-BoNH5uCn.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-BzqJu709.js.map → mcp-query-BoNH5uCn.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-runs-BBUaY28a.js → mcp-runs-BhkGaw2y.js} +2 -2
- package/dashboard/dist/assets/{mcp-runs-BBUaY28a.js.map → mcp-runs-BhkGaw2y.js.map} +1 -1
- package/dashboard/dist/assets/namespaces-duQCQRHq.js +2 -0
- package/dashboard/dist/assets/{namespaces-DJVfgGst.js.map → namespaces-duQCQRHq.js.map} +1 -1
- package/dashboard/dist/assets/{roles-DogkRzK2.js → roles-DW6lI_g5.js} +2 -2
- package/dashboard/dist/assets/{roles-DogkRzK2.js.map → roles-DW6lI_g5.js.map} +1 -1
- package/dashboard/dist/assets/settings-wTRbazzw.js +2 -0
- package/dashboard/dist/assets/{settings-D2sLRpie.js.map → settings-wTRbazzw.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-CIuWkHLG.js → tasks-C-QX245z.js} +2 -2
- package/dashboard/dist/assets/{tasks-CIuWkHLG.js.map → tasks-C-QX245z.js.map} +1 -1
- package/dashboard/dist/assets/{topics-DxMDwZFs.js → topics-CAnsyo3w.js} +2 -2
- package/dashboard/dist/assets/{topics-DxMDwZFs.js.map → topics-CAnsyo3w.js.map} +1 -1
- package/dashboard/dist/assets/{useEventHooks-xXspN8_9.js → useEventHooks-C689a4F7.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-xXspN8_9.js.map → useEventHooks-C689a4F7.js.map} +1 -1
- package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js → useExpandedRows-CkcEntB-.js} +2 -2
- package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js.map → useExpandedRows-CkcEntB-.js.map} +1 -1
- package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js → useFilterParams-DZCAaBC7.js} +2 -2
- package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js.map → useFilterParams-DZCAaBC7.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-2hdnnML7.js → useYamlActivityEvents-BTHFGIsD.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-2hdnnML7.js.map → useYamlActivityEvents-BTHFGIsD.js.map} +1 -1
- package/dashboard/dist/assets/{users-DWQ-ojf9.js → users--D3LoFOD.js} +2 -2
- package/dashboard/dist/assets/{users-DWQ-ojf9.js.map → users--D3LoFOD.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-YdqUbzg6.js → vendor-icons-BNtvBbnj.js} +107 -102
- package/dashboard/dist/assets/vendor-icons-BNtvBbnj.js.map +1 -0
- package/dashboard/dist/assets/vendor-query-B2UbickB.js +18 -0
- package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +1 -0
- package/dashboard/dist/assets/vendor-react-CX88sFS5.js +22 -0
- package/dashboard/dist/assets/vendor-react-CX88sFS5.js.map +1 -0
- package/dashboard/dist/assets/{workflows-BvGU8_fj.js → workflows-MpNdzreD.js} +2 -2
- package/dashboard/dist/assets/{workflows-BvGU8_fj.js.map → workflows-MpNdzreD.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-DNgb7krQ.js → yaml-workflows-CFhnJzQy.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-DNgb7krQ.js.map → yaml-workflows-CFhnJzQy.js.map} +1 -1
- package/dashboard/dist/index.html +5 -5
- package/package.json +2 -2
- package/dashboard/dist/assets/AdminDashboard-BBWJAsjl.js +0 -2
- package/dashboard/dist/assets/AgentConfigPage-Br2O6NDa.js +0 -13
- package/dashboard/dist/assets/AgentDetailPage-DjgOR62z.js +0 -4
- package/dashboard/dist/assets/AgentsPage-CASVGEvY.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-Dl9ZmjKA.js +0 -2
- package/dashboard/dist/assets/BotPicker-wEoqL3HR.js +0 -2
- package/dashboard/dist/assets/CapabilitiesPage-DYkx5aa4.js +0 -2
- package/dashboard/dist/assets/CollapsibleSection-DN1aF5HO.js +0 -2
- package/dashboard/dist/assets/ConfirmDeleteModal-v8ufrnX5.js +0 -2
- package/dashboard/dist/assets/CopyableId-D94R2n6C.js +0 -2
- package/dashboard/dist/assets/CredentialsPage-CSSjAEx6.js +0 -2
- package/dashboard/dist/assets/CronLabel-fYpkTnEd.js +0 -2
- package/dashboard/dist/assets/CustomDurationPicker-CSarfbO1.js +0 -2
- package/dashboard/dist/assets/DataTable-VKt4pvC-.js +0 -2
- package/dashboard/dist/assets/DropZone-Bl4j-AID.js +0 -2
- package/dashboard/dist/assets/ElapsedCell-Y4UmrII0.js +0 -2
- package/dashboard/dist/assets/EmptyState-Di6_NfbP.js +0 -2
- package/dashboard/dist/assets/EscalationsOverview-D0Ry84FE.js +0 -2
- package/dashboard/dist/assets/EventTable-BzPleN3Y.js +0 -2
- package/dashboard/dist/assets/EventTopicPill-DCqcr7N7.js +0 -2
- package/dashboard/dist/assets/FilterBar-BoRQss2J.js +0 -2
- package/dashboard/dist/assets/HomePage-CGH_dYSo.js +0 -2
- package/dashboard/dist/assets/ListToolbar-BMWttsi2.js +0 -2
- package/dashboard/dist/assets/McpOverview-DpC-BbBV.js +0 -2
- package/dashboard/dist/assets/McpQueryDetailPage-CZSzX-cI.js +0 -5
- package/dashboard/dist/assets/McpQueryPage-B4KsvBGo.js +0 -2
- package/dashboard/dist/assets/McpRunDetailPage-_owlNUzp.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-C3A1fU3h.js +0 -2
- package/dashboard/dist/assets/Modal-IsEbA4rW.js +0 -2
- package/dashboard/dist/assets/OperatorDashboard-B8MOtt_p.js +0 -2
- package/dashboard/dist/assets/PageHeader-C4DNgZKA.js +0 -2
- package/dashboard/dist/assets/PageHeaderWithStats-Fy6tGBaa.js +0 -2
- package/dashboard/dist/assets/PriorityBadge-kSpsF-Zm.js +0 -2
- package/dashboard/dist/assets/ProcessDetailPage-CZjjs4jE.js +0 -2
- package/dashboard/dist/assets/ProcessesListPage-Ds7y71o8.js +0 -2
- package/dashboard/dist/assets/RolePill-DmdF9L9Q.js +0 -2
- package/dashboard/dist/assets/RolesPage-CCmK38yn.js +0 -2
- package/dashboard/dist/assets/RowActions-uGuPBEWb.js +0 -2
- package/dashboard/dist/assets/RunAsSelector-BsO-uSh9.js +0 -2
- package/dashboard/dist/assets/ServerName-BHl8nLOV.js +0 -2
- package/dashboard/dist/assets/StatCard-DI4ZQ-Zi.js +0 -2
- package/dashboard/dist/assets/StatusBadge-TV20Ulgl.js +0 -2
- package/dashboard/dist/assets/StepIndicator-ziIED3Pz.js +0 -2
- package/dashboard/dist/assets/StickyPagination-CXBDS1ka.js +0 -2
- package/dashboard/dist/assets/SwimlaneTimeline-Dc_a4-D5.js +0 -2
- package/dashboard/dist/assets/TagInput-BYEjEPsa.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-Cu0XLEA4.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-Cu0XLEA4.js.map +0 -1
- package/dashboard/dist/assets/TaskQueuePill-yBqQ-piu.js +0 -2
- package/dashboard/dist/assets/TasksListPage-Dl0quVgM.js +0 -2
- package/dashboard/dist/assets/TimeAgo-BAs-HL55.js +0 -2
- package/dashboard/dist/assets/TimestampCell-zFm6ze1U.js +0 -2
- package/dashboard/dist/assets/ToolPill-DiM3hgAB.js +0 -2
- package/dashboard/dist/assets/ToolTestPanel-C3vWUW2p.js +0 -2
- package/dashboard/dist/assets/TopicDetailPage-wjwRE5eI.js +0 -9
- package/dashboard/dist/assets/TopicsPage-D3AONwHP.js +0 -2
- package/dashboard/dist/assets/UserName-0vrAWvND.js +0 -2
- package/dashboard/dist/assets/WorkflowExecutionPage-CBbWToVN.js +0 -2
- package/dashboard/dist/assets/WorkflowPill-C7jE0e1g.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-1GVHYLlw.js +0 -2
- package/dashboard/dist/assets/WorkflowsOverview-2POOJzat.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-BcRKxz3P.js +0 -2
- package/dashboard/dist/assets/controlplane-B3m1kIWb.js.map +0 -1
- package/dashboard/dist/assets/escalation-CJQPC0gm.js +0 -2
- package/dashboard/dist/assets/escalation-columns-DEE62U3_.js +0 -2
- package/dashboard/dist/assets/helpers-BveI_035.js +0 -2
- package/dashboard/dist/assets/index-B7zv_NKJ.js +0 -2
- package/dashboard/dist/assets/index-B7zv_NKJ.js.map +0 -1
- package/dashboard/dist/assets/index-BVVdr9s0.js +0 -2
- package/dashboard/dist/assets/index-BXIwxi_u.js +0 -2
- package/dashboard/dist/assets/index-CEPo8tn_.js +0 -6
- package/dashboard/dist/assets/index-CTKfvoGj.js +0 -15
- package/dashboard/dist/assets/index-CZVprWC6.js +0 -2
- package/dashboard/dist/assets/index-ChNwlMdo.js +0 -5
- package/dashboard/dist/assets/index-Cpq83bZq.js +0 -2
- package/dashboard/dist/assets/index-Csts1D-x.js +0 -2
- package/dashboard/dist/assets/index-D4v-EUTe.js +0 -2
- package/dashboard/dist/assets/index-DI36hw6W.js +0 -2
- package/dashboard/dist/assets/index-DI36hw6W.js.map +0 -1
- package/dashboard/dist/assets/index-MnRuwfHN.js +0 -281
- package/dashboard/dist/assets/index-MnRuwfHN.js.map +0 -1
- package/dashboard/dist/assets/index-dp_Q2Hha.css +0 -1
- package/dashboard/dist/assets/index-wQaJXZYX.js +0 -2
- package/dashboard/dist/assets/index-wQaJXZYX.js.map +0 -1
- package/dashboard/dist/assets/namespaces-DJVfgGst.js +0 -2
- package/dashboard/dist/assets/settings-D2sLRpie.js +0 -2
- package/dashboard/dist/assets/vendor-icons-YdqUbzg6.js.map +0 -1
- package/dashboard/dist/assets/vendor-query-DLp59M9_.js +0 -35
- package/dashboard/dist/assets/vendor-query-DLp59M9_.js.map +0 -1
- package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js +0 -26
- package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js.map +0 -1
|
@@ -67,8 +67,8 @@ router.get('/rollcall', auth_1.requireAdmin, async (req, res) => {
|
|
|
67
67
|
* throttle: ms delay (-1 = pause, 0 = resume, >0 = delay per msg)
|
|
68
68
|
*/
|
|
69
69
|
router.post('/throttle', auth_1.requireAdmin, async (req, res) => {
|
|
70
|
-
const { appId = 'durable', throttle, topic, guid } = req.body;
|
|
71
|
-
const result = await api.applyThrottle({ appId, throttle, topic, guid });
|
|
70
|
+
const { appId = 'durable', throttle, topic, guid, scope } = req.body;
|
|
71
|
+
const result = await api.applyThrottle({ appId, throttle, topic, guid, scope });
|
|
72
72
|
res.status(result.status).json(result.data ?? { error: result.error });
|
|
73
73
|
});
|
|
74
74
|
/**
|
|
@@ -43,9 +43,15 @@ const STATUS_CASE = `
|
|
|
43
43
|
* $6 = jid filter (NULL = all, worker-only)
|
|
44
44
|
* $7 = aid filter (NULL = all, worker-only)
|
|
45
45
|
*/
|
|
46
|
-
|
|
46
|
+
/** Engine WHERE: supports stream_name, status, and jid (v0.18.0). */
|
|
47
|
+
const ENGINE_WHERE_CLAUSE = `
|
|
47
48
|
WHERE ($1::text IS NULL OR stream_name ILIKE $1)
|
|
48
|
-
AND ($2::text IS NULL OR ${STATUS_CASE} = $2)
|
|
49
|
+
AND ($2::text IS NULL OR ${STATUS_CASE} = $2)
|
|
50
|
+
AND ($3::text IS NULL)
|
|
51
|
+
AND ($4::text IS NULL)
|
|
52
|
+
AND ($5::text IS NULL)
|
|
53
|
+
AND ($6::text IS NULL OR jid = $6)
|
|
54
|
+
AND ($7::text IS NULL)`;
|
|
49
55
|
const WORKER_WHERE_CLAUSE = `
|
|
50
56
|
WHERE ($1::text IS NULL OR stream_name ILIKE $1)
|
|
51
57
|
AND ($2::text IS NULL OR ${STATUS_CASE} = $2)
|
|
@@ -72,15 +78,10 @@ function LIST_STREAM_MESSAGES(schema, sortColumn, sortOrder, source) {
|
|
|
72
78
|
created_at, reserved_at, reserved_by, expired_at,
|
|
73
79
|
dead_lettered_at, priority, visible_at,
|
|
74
80
|
retry_attempt, max_retry_attempts,
|
|
75
|
-
NULL AS workflow_name,
|
|
81
|
+
NULL AS workflow_name, jid, NULL AS aid,
|
|
76
82
|
NULL AS dad, NULL AS msg_type, NULL AS topic
|
|
77
83
|
FROM "${schema}".engine_streams
|
|
78
|
-
${
|
|
79
|
-
AND ($3::text IS NULL)
|
|
80
|
-
AND ($4::text IS NULL)
|
|
81
|
-
AND ($5::text IS NULL)
|
|
82
|
-
AND ($6::text IS NULL)
|
|
83
|
-
AND ($7::text IS NULL)`
|
|
84
|
+
${ENGINE_WHERE_CLAUSE}`
|
|
84
85
|
: `SELECT
|
|
85
86
|
id, 'worker' AS source, stream_name,
|
|
86
87
|
message, ${STATUS_CASE} AS status,
|
|
@@ -102,8 +103,6 @@ function LIST_STREAM_MESSAGES(schema, sortColumn, sortOrder, source) {
|
|
|
102
103
|
*/
|
|
103
104
|
function COUNT_STREAM_MESSAGES(schema, source) {
|
|
104
105
|
const table = source === 'engine' ? 'engine_streams' : 'worker_streams';
|
|
105
|
-
const where = source === 'engine'
|
|
106
|
-
? `${WHERE_CLAUSE} AND ($3::text IS NULL) AND ($4::text IS NULL) AND ($5::text IS NULL) AND ($6::text IS NULL) AND ($7::text IS NULL)`
|
|
107
|
-
: WORKER_WHERE_CLAUSE;
|
|
106
|
+
const where = source === 'engine' ? ENGINE_WHERE_CLAUSE : WORKER_WHERE_CLAUSE;
|
|
108
107
|
return `SELECT COUNT(*)::int AS count FROM "${schema}".${table} ${where}`;
|
|
109
108
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as o}from"./vendor-query-B2UbickB.js";import{c as n}from"./tasks-C-QX245z.js";import{q as m}from"./index-CBS8FBcp.js";import{f as c}from"./useEventHooks-C689a4F7.js";import{u}from"./mcp-FOHNY7Zj.js";import{P as d}from"./PageHeaderWithStats-7K5BdhOj.js";import"./vendor-react-CX88sFS5.js";import"./vendor-icons-BNtvBbnj.js";function j(){var a;c();const{data:s}=n({limit:1}),{data:e}=m({status:"pending",limit:1}),{data:t}=u(),r=((a=t==null?void 0:t.servers)==null?void 0:a.filter(i=>i.status==="connected").length)??0,l=t?`${r}/${t.total}`:"—";return o.jsx("div",{children:o.jsx(d,{title:"Admin",stats:[{label:"Tasks",value:(s==null?void 0:s.total)??"—"},{label:"Pending Escalations",value:(e==null?void 0:e.total)??"—",dotClass:"bg-status-pending"},{label:"MCP Servers",value:l},{label:"System",value:"Healthy",dotClass:"bg-status-success"}]})})}export{j as AdminDashboard};
|
|
2
|
+
//# sourceMappingURL=AdminDashboard-C0_qN2h3.js.map
|
package/dashboard/dist/assets/{AdminDashboard-BBWJAsjl.js.map → AdminDashboard-C0_qN2h3.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminDashboard-
|
|
1
|
+
{"version":3,"file":"AdminDashboard-C0_qN2h3.js","sources":["../../src/pages/admin/AdminDashboard.tsx"],"sourcesContent":["import { useTasks } from '../../api/tasks';\nimport { useEscalations } from '../../api/escalations';\nimport { useEscalationListEvents } from '../../hooks/useEventHooks';\nimport { useMcpServers } from '../../api/mcp';\nimport { PageHeaderWithStats } from '../../components/common/layout/PageHeaderWithStats';\n\nexport function AdminDashboard() {\n useEscalationListEvents();\n const { data: taskData } = useTasks({ limit: 1 });\n const { data: pendingEsc } = useEscalations({ status: 'pending', limit: 1 });\n const { data: mcpData } = useMcpServers();\n\n const connectedServers =\n mcpData?.servers?.filter((s) => s.status === 'connected').length ?? 0;\n const mcpLabel = mcpData ? `${connectedServers}/${mcpData.total}` : '—';\n\n return (\n <div>\n <PageHeaderWithStats\n title=\"Admin\"\n stats={[\n { label: 'Tasks', value: taskData?.total ?? '—' },\n { label: 'Pending Escalations', value: pendingEsc?.total ?? '—', dotClass: 'bg-status-pending' },\n { label: 'MCP Servers', value: mcpLabel },\n { label: 'System', value: 'Healthy', dotClass: 'bg-status-success' },\n ]}\n />\n </div>\n );\n}\n"],"names":["AdminDashboard","useEscalationListEvents","taskData","useTasks","pendingEsc","useEscalations","mcpData","useMcpServers","connectedServers","_a","s","mcpLabel","jsx","PageHeaderWithStats"],"mappings":"4UAMO,SAASA,GAAiB,OAC/BC,EAAA,EACA,KAAM,CAAE,KAAMC,CAAA,EAAaC,EAAS,CAAE,MAAO,EAAG,EAC1C,CAAE,KAAMC,CAAA,EAAeC,EAAe,CAAE,OAAQ,UAAW,MAAO,EAAG,EACrE,CAAE,KAAMC,CAAA,EAAYC,EAAA,EAEpBC,IACJC,EAAAH,GAAA,YAAAA,EAAS,UAAT,YAAAG,EAAkB,OAAQC,GAAMA,EAAE,SAAW,aAAa,SAAU,EAChEC,EAAWL,EAAU,GAAGE,CAAgB,IAAIF,EAAQ,KAAK,GAAK,IAEpE,aACG,MAAA,CACC,SAAAM,EAAAA,IAACC,EAAA,CACC,MAAM,QACN,MAAO,CACL,CAAE,MAAO,QAAS,OAAOX,GAAA,YAAAA,EAAU,QAAS,GAAA,EAC5C,CAAE,MAAO,sBAAuB,OAAOE,GAAA,YAAAA,EAAY,QAAS,IAAK,SAAU,mBAAA,EAC3E,CAAE,MAAO,cAAe,MAAOO,CAAA,EAC/B,CAAE,MAAO,SAAU,MAAO,UAAW,SAAU,mBAAA,CAAoB,CACrE,CAAA,EAEJ,CAEJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{j as e,a as g}from"./vendor-query-B2UbickB.js";import{a as te,d as se,b as ae}from"./agents-2pDPv2Ww.js";import{C as ne,u as ie,a as le,b as ce,c as re}from"./CronLabel-DnZF8_vw.js";import{P as oe}from"./PageHeader-Bo0SpcCK.js";import{B as P,d as L,R as z,Y as $,n as B,a4 as U,a as G,aF as K,K as de}from"./vendor-icons-BNtvBbnj.js";import{e as xe}from"./knowledge-BhZk3Wy9.js";import{c as pe}from"./index-CBS8FBcp.js";import{R as H}from"./RunAsSelector-B1R8nJvE.js";import{u as Q}from"./workflows-MpNdzreD.js";import{u as he}from"./topics-CAnsyo3w.js";import{u as me}from"./yaml-workflows-CFhnJzQy.js";import{E as ue}from"./EventTopicPill-By-6sXDp.js";import{W as F}from"./WorkflowPill-pPuGH8v9.js";import{e as ve,c as je,f as ge}from"./vendor-react-CX88sFS5.js";import"./BotPicker-CvXQwE5Z.js";import"./bots-2uGZ2l7A.js";const J={name:"",description:"",goals:"",rules:"",user_id:"",knowledge_domain:"",subscriptions:[],schedules:[]},fe={topic:"",filter:"",reaction_type:"durable",workflow_type:"",pipeline_id:"",mcp_prompt:"",input_mapping:"{}",execute_as:"",enabled:!0},ye={cron:"0 * * * *",reaction_type:"durable",workflow_type:"",pipeline_id:"",envelope:"{}",execute_as:""};function be(t,s){var l,d,h;const o=(d=(l=t.behaviors)==null?void 0:l.schedules)!=null&&d.length?t.behaviors.schedules.map(i=>({cron:i.cron||"",reaction_type:i.reaction_type||"durable",workflow_type:i.workflow_type||"",pipeline_id:i.pipeline_id||"",envelope:i.envelope?JSON.stringify(i.envelope,null,2):"{}",execute_as:i.execute_as||""})):(h=t.behaviors)!=null&&h.cron?[{cron:t.behaviors.cron,reaction_type:"durable",workflow_type:t.workflow_type??"",pipeline_id:"",envelope:"{}",execute_as:""}]:[];return{name:t.id,description:t.description??"",goals:t.goals??"",rules:t.rules??"",user_id:t.user_id??"",knowledge_domain:t.knowledge_domain??"",subscriptions:s.map(i=>({id:i.id,topic:i.topic,filter:i.filter?JSON.stringify(i.filter,null,2):"",reaction_type:i.reaction_type,workflow_type:i.workflow_type??"",pipeline_id:i.pipeline_id??"",mcp_prompt:i.mcp_prompt??"",input_mapping:JSON.stringify(i.input_mapping??{},null,2),execute_as:i.execute_as??"",enabled:i.enabled})),schedules:o}}function we(t){var o;const s={};return t.schedules.length>0&&(s.schedules=t.schedules.map(l=>({cron:l.cron,reaction_type:l.reaction_type||"durable",workflow_type:l.reaction_type==="pipeline"?void 0:l.workflow_type,pipeline_id:l.reaction_type==="pipeline"?l.pipeline_id:void 0,envelope:M(l.envelope)??{},execute_as:l.execute_as||void 0})),s.cron=t.schedules[0].cron),{id:t.name,description:t.description||void 0,goals:t.goals||void 0,rules:t.rules||void 0,user_id:t.user_id||void 0,knowledge_domain:t.knowledge_domain||void 0,behaviors:s,workflow_type:((o=t.schedules[0])==null?void 0:o.workflow_type)||void 0,pipeline_id:void 0}}function Ne(t){return t.subscriptions.map(s=>({id:s.id,topic:s.topic,filter:s.filter?M(s.filter):void 0,reaction_type:s.reaction_type,workflow_type:s.workflow_type||void 0,pipeline_id:s.pipeline_id||void 0,mcp_prompt:s.mcp_prompt||void 0,input_mapping:M(s.input_mapping)??{},execute_as:s.execute_as||void 0,enabled:s.enabled}))}function M(t){if(t.trim())try{return JSON.parse(t)}catch{return}}const k="section-header mt-[3em] first:mt-0",b="label",f="hint",v="input",V="input-json w-full";function ke({form:t,set:s}){return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"border-l-2 border-accent/30 pl-3 py-1 flex items-start justify-between",children:[e.jsx("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Give your agent a name and describe what it does. The name appears everywhere — in events, logs, and the dashboard."}),e.jsx("button",{onClick:()=>{window.location.hash="#docs:agents.md:identity"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Identity",children:e.jsx(P,{className:"w-3 h-3",strokeWidth:1.5})})]}),e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Name *"}),e.jsx("input",{type:"text",value:t.name,onChange:o=>s("name",o.target.value),placeholder:"health-monitor",className:v}),e.jsx("p",{className:f,children:"Lowercase, kebab-case. This appears everywhere."})]}),e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Description"}),e.jsx("input",{type:"text",value:t.description,onChange:o=>s("description",o.target.value),placeholder:"Watches for workflow failures and captures diagnostics",className:v}),e.jsx("p",{className:f,children:"One sentence that explains what this agent does."})]})]})}function _e({form:t,set:s}){return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"border-l-2 border-accent/30 pl-3 py-1 flex items-start justify-between",children:[e.jsx("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Goals define what drives the agent. Rules define what constrains it. Together they give automation judgment."}),e.jsx("button",{onClick:()=>{window.location.hash="#docs:agents.md:motivation"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Motivation",children:e.jsx(P,{className:"w-3 h-3",strokeWidth:1.5})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Goals"}),e.jsx("textarea",{value:t.goals,onChange:o=>s("goals",o.target.value),placeholder:"Detect failures early, capture diagnostics, alert before cascading",rows:4,className:`${v} resize-none`}),e.jsx("p",{className:f,children:"Primary motivation. What the agent is trying to achieve."})]}),e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Rules"}),e.jsx("textarea",{value:t.rules,onChange:o=>s("rules",o.target.value),placeholder:"Never auto-restart failed workflows. Always escalate to humans.",rows:4,className:`${v} resize-none`}),e.jsx("p",{className:f,children:"Guardrails. What it must never do, even when goals suggest it should."})]})]})]})}function Ce({form:t,set:s}){const{data:o}=xe(),l=(o==null?void 0:o.domains)??[];return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"border-l-2 border-accent/30 pl-3 py-1 flex items-start justify-between",children:[e.jsx("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Assign a knowledge domain — the agent's memory. It stores context here over time."}),e.jsx("button",{onClick:()=>{window.location.hash="#docs:agents.md:knowledge"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Knowledge",children:e.jsx(P,{className:"w-3 h-3",strokeWidth:1.5})})]}),e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Knowledge Domain"}),e.jsx("input",{type:"text",value:t.knowledge_domain,onChange:d=>s("knowledge_domain",d.target.value),placeholder:"e.g., system-health, content-review, vendor-data",className:v,list:"domain-suggestions"}),e.jsx("datalist",{id:"domain-suggestions",children:l.map(d=>e.jsx("option",{value:d.domain},d.domain))}),e.jsx("p",{className:f,children:"Choose an existing domain to share memory, or type a new name to create one."})]}),l.length>0&&e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Existing Domains"}),e.jsx("div",{className:"space-y-0.5 mt-2",children:l.map(d=>e.jsxs("button",{type:"button",onClick:()=>s("knowledge_domain",d.domain),className:`w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors ${t.knowledge_domain===d.domain?"border-l-2 border-l-accent bg-accent/5":"hover:bg-surface-hover border-l-2 border-l-transparent"}`,children:[e.jsx(L,{className:"w-3.5 h-3.5 text-text-quaternary shrink-0",strokeWidth:1.5}),e.jsx("span",{className:"text-sm text-text-primary flex-1",children:d.domain}),e.jsxs("span",{className:"text-[10px] text-text-quaternary",children:[d.count," entries"]}),e.jsx("span",{className:"text-[9px] text-text-quaternary",children:e.jsx(pe,{date:d.latest})})]},d.domain))})]})]})}const Se={task:"bg-blue-400/15 text-blue-400",workflow:"bg-accent/15 text-accent",escalation:"bg-amber-400/15 text-amber-400",activity:"bg-cyan-400/15 text-cyan-400",knowledge:"bg-violet-400/15 text-violet-400",agent:"bg-emerald-400/15 text-emerald-400",app:"bg-rose-400/15 text-rose-400",milestone:"bg-violet-400/15 text-violet-400"};function Ae({form:t,set:s}){const{data:o}=Q(),{data:l}=he({limit:200}),d=(l==null?void 0:l.topics)??[],h=(o??[]).filter(a=>a.invocable).map(a=>a.workflow_type),[i,j]=g.useState(0),x=(a,m,S)=>{const W=[...t.subscriptions];W[a]={...W[a],[m]:S},s("subscriptions",W)},w=()=>{s("subscriptions",[...t.subscriptions,{...fe}]),j(t.subscriptions.length)},_=a=>{s("subscriptions",t.subscriptions.filter((m,S)=>S!==a)),i>=t.subscriptions.length-1&&j(Math.max(0,t.subscriptions.length-2))},r=t.subscriptions,c=r[i],n=a=>!!a.topic&&(a.reaction_type==="durable"?!!a.workflow_type:a.reaction_type==="pipeline"?!!a.pipeline_id:!!a.mcp_prompt),p=c?d.find(a=>a.topic===c.topic):void 0;return r.length===0?e.jsxs("div",{className:"max-w-xl",children:[e.jsxs("div",{className:"border-l-2 border-accent/30 pl-3 py-1 flex items-start justify-between mb-8",children:[e.jsx("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Optional. When a matching event is published, the agent runs the configured workflow with the event payload."}),e.jsx("button",{onClick:()=>{window.location.hash="#docs:agents.md:subscriptions"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Subscriptions",children:e.jsx(P,{className:"w-3 h-3",strokeWidth:1.5})})]}),e.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e.jsx(z,{className:"w-8 h-8 text-text-quaternary/40 mb-3",strokeWidth:1}),e.jsx("p",{className:"text-sm text-text-tertiary mb-2",children:"No event subscriptions yet"}),e.jsx("p",{className:"text-[11px] text-text-quaternary max-w-sm mb-6",children:"Each subscription listens for a topic pattern and runs a workflow when it matches."}),e.jsxs("button",{onClick:w,className:"flex items-center gap-2 text-xs text-accent hover:text-accent-hover transition-colors",children:[e.jsx($,{className:"w-3.5 h-3.5"})," Add first subscription"]})]})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"border-l-2 border-accent/30 pl-3 py-1 flex items-start justify-between mb-6",children:[e.jsx("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Optional. When a matching event is published, the agent runs the configured workflow with the event payload."}),e.jsx("button",{onClick:()=>{window.location.hash="#docs:agents.md:subscriptions"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Subscriptions",children:e.jsx(P,{className:"w-3 h-3",strokeWidth:1.5})})]}),e.jsxs("div",{className:"flex gap-8",children:[e.jsxs("div",{className:"w-52 shrink-0 space-y-0.5",children:[r.map((a,m)=>e.jsxs("div",{className:`group/sub flex items-center rounded-md transition-colors ${i===m?"bg-accent/10 text-accent":"text-text-tertiary hover:text-text-primary hover:bg-surface-hover"}`,children:[e.jsxs("button",{onClick:()=>j(m),className:"flex-1 text-left px-3 py-2 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${n(a)?"bg-emerald-400":"bg-zinc-500"}`}),e.jsx("span",{className:"text-[11px] font-mono truncate",children:a.topic||"new subscription"})]}),e.jsxs("span",{className:"text-[9px] text-text-quaternary ml-3",children:["→ ",a.workflow_type||a.reaction_type]})]}),e.jsx("button",{onClick:S=>{S.stopPropagation(),confirm(`Remove subscription "${a.topic||"new"}"?
|
|
2
|
+
|
|
3
|
+
This takes effect when you save.`)&&_(m)},className:"opacity-0 group-hover/sub:opacity-100 px-2 text-text-quaternary hover:text-red-400 transition-all",title:"Remove",children:e.jsx(B,{className:"w-3 h-3"})})]},m)),e.jsxs("button",{onClick:w,className:"w-full flex items-center gap-1.5 px-3 py-2 text-[11px] text-accent hover:text-accent-hover transition-colors",children:[e.jsx($,{className:"w-3 h-3"})," Add"]})]}),c&&e.jsxs("div",{className:"flex-1 min-w-0 space-y-12",children:[e.jsxs("div",{children:[e.jsx("label",{className:k,children:"When this event fires"}),e.jsx(Pe,{value:c.topic,onChange:a=>x(i,"topic",a),topics:d}),(p==null?void 0:p.payload_schema)&&e.jsxs("div",{className:"mt-3 p-3 rounded-md bg-surface-sunken border border-surface-border",children:[e.jsx("p",{className:"text-[10px] text-text-quaternary mb-1 uppercase tracking-wider font-medium",children:"Payload Schema"}),e.jsx("pre",{className:"text-[11px] font-mono text-text-secondary whitespace-pre-wrap overflow-x-auto max-h-40",children:JSON.stringify(p.payload_schema.properties??p.payload_schema,null,2)}),p.description&&e.jsx("p",{className:"text-[10px] text-text-tertiary mt-2 italic",children:p.description})]})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-6",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx("label",{className:k,children:"Run this workflow"}),e.jsx("div",{className:"flex gap-3",children:["durable","pipeline","mcp_query"].map(a=>e.jsxs("label",{className:"flex items-center gap-1 text-[11px] text-text-secondary cursor-pointer",children:[e.jsx("input",{type:"radio",name:"reaction",checked:c.reaction_type===a,onChange:()=>x(i,"reaction_type",a),className:"accent-accent w-3 h-3"}),a==="durable"?"Workflow":a==="pipeline"?"Pipeline":"MCP Query"]},a))}),c.reaction_type==="durable"&&e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Workflow *"}),e.jsxs("select",{value:c.workflow_type,onChange:a=>x(i,"workflow_type",a.target.value),className:v,children:[e.jsx("option",{value:"",children:"Select..."}),h.map(a=>e.jsx("option",{value:a,children:a},a))]})]}),c.reaction_type==="pipeline"&&e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Pipeline ID *"}),e.jsx("input",{type:"text",value:c.pipeline_id,onChange:a=>x(i,"pipeline_id",a.target.value),placeholder:"UUID",className:`${v} font-mono text-xs`})]}),c.reaction_type==="mcp_query"&&e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Prompt *"}),e.jsx("textarea",{value:c.mcp_prompt,onChange:a=>x(i,"mcp_prompt",a.target.value),placeholder:"Analyze the error...",rows:2,className:`${v} resize-none`})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:k,children:"As identity"}),e.jsx(H,{selected:c.execute_as,onChange:a=>x(i,"execute_as",a)}),e.jsx("p",{className:f,children:"Identity used when invoking the workflow."})]}),e.jsxs("div",{children:[e.jsx("label",{className:k,children:"But only if"}),e.jsx("input",{type:"text",value:c.filter,onChange:a=>x(i,"filter",a.target.value),placeholder:"No filter (all matching events)",className:`${v} font-mono text-xs`}),e.jsxs("p",{className:f,children:["JSON filter against event.data, e.g. ",'{"status": 422}']})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:k,children:"With this data"}),e.jsx("textarea",{value:c.input_mapping,onChange:a=>x(i,"input_mapping",a.target.value),rows:10,className:V,placeholder:`{
|
|
4
|
+
"data": {
|
|
5
|
+
"orderId": "{event.data.orderId}",
|
|
6
|
+
"error": "{event.data.error}"
|
|
7
|
+
}
|
|
8
|
+
}`}),e.jsxs("p",{className:f,children:["Maps event fields to workflow input. ","{event.data.fieldName}"," resolves at runtime."]})]})]})]})]})}function Pe({value:t,onChange:s,topics:o}){const[l,d]=g.useState(!1),[h,i]=g.useState(""),j=g.useRef(null),x=g.useRef(null);g.useEffect(()=>{function r(c){x.current&&!x.current.contains(c.target)&&d(!1)}return l&&document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[l]);const w=l?h:t,_=o.filter(r=>r.topic.toLowerCase().includes((l?h:"").toLowerCase())||(r.description??"").toLowerCase().includes((l?h:"").toLowerCase()));return e.jsxs("div",{ref:x,className:"relative",children:[e.jsx("input",{ref:j,type:"text",value:w,onFocus:()=>{d(!0),i(t)},onChange:r=>{const c=r.target.value;i(c),s(c),l||d(!0)},placeholder:"workflow.failed or app.>",className:`${v} font-mono`}),l&&_.length>0&&e.jsx("div",{className:"absolute z-50 left-0 right-0 mt-1 max-h-64 overflow-y-auto rounded-md border border-surface-border bg-surface shadow-lg",children:_.map(r=>{const c=Se[r.category]??"bg-zinc-400/15 text-zinc-400";return e.jsxs("button",{type:"button",onClick:()=>{s(r.topic),i(r.topic),d(!1)},className:`w-full text-left px-3 py-2 hover:bg-surface-hover transition-colors flex items-center gap-3 ${t===r.topic?"bg-accent/5":""}`,children:[e.jsx("span",{className:"text-[11px] font-mono text-text-primary shrink-0",children:r.topic}),e.jsx("span",{className:`inline-flex items-center px-1.5 py-0.5 rounded text-[9px] font-medium shrink-0 ${c}`,children:r.category}),r.description&&e.jsx("span",{className:"text-[10px] text-text-quaternary truncate",children:r.description})]},r.topic)})})]})}const We=["*/5 * * * *","*/15 * * * *","0 * * * *","0 */4 * * *","0 7 * * *","0 9 * * 1-5"];function D(t){return{"* * * * *":"Every minute","*/5 * * * *":"Every 5 min","*/15 * * * *":"Every 15 min","0 * * * *":"Hourly","0 */4 * * *":"Every 4 hours","0 7 * * *":"Daily 7 AM UTC","0 9 * * 1-5":"Weekdays 9 AM UTC","0 0 * * 1":"Weekly Monday"}[t]||t}function qe({form:t,set:s}){const{data:o}=Q(),l=(o??[]).filter(n=>n.invocable).map(n=>n.workflow_type),{data:d}=me({status:"active"}),h=((d==null?void 0:d.workflows)??[]).map(n=>({id:n.id,name:n.graph_topic||n.id})),[i,j]=g.useState(0),x=(n,p,a)=>{const m=[...t.schedules];m[n]={...m[n],[p]:a},s("schedules",m)},w=()=>{s("schedules",[...t.schedules,{...ye}]),j(t.schedules.length)},_=n=>{s("schedules",t.schedules.filter((p,a)=>a!==n)),i>=t.schedules.length-1&&j(Math.max(0,t.schedules.length-2))},r=t.schedules,c=r[i];return r.length===0?e.jsxs("div",{children:[e.jsxs("div",{className:"border-l-2 border-accent/30 pl-3 py-1 mb-8 flex items-start justify-between",children:[e.jsx("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Optional. Each schedule runs a workflow on a cron timer."}),e.jsx("button",{onClick:()=>{window.location.hash="#docs:agents.md:schedule"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Schedule",children:e.jsx(P,{className:"w-3 h-3",strokeWidth:1.5})})]}),e.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e.jsx(U,{className:"w-8 h-8 text-text-quaternary/40 mb-3",strokeWidth:1}),e.jsx("p",{className:"text-sm text-text-tertiary mb-2",children:"No schedules"}),e.jsx("p",{className:"text-[11px] text-text-quaternary max-w-sm mb-6",children:"Add a schedule to run a workflow on a recurring cron timer."}),e.jsxs("button",{onClick:w,className:"flex items-center gap-2 text-xs text-accent hover:text-accent-hover transition-colors",children:[e.jsx($,{className:"w-3.5 h-3.5"})," Add schedule"]})]})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"border-l-2 border-accent/30 pl-3 py-1 mb-6 flex items-start justify-between",children:[e.jsx("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Each schedule runs a workflow on a timer. An agent can have multiple schedules targeting different workflows."}),e.jsx("button",{onClick:()=>{window.location.hash="#docs:agents.md:schedule"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Schedule",children:e.jsx(P,{className:"w-3 h-3",strokeWidth:1.5})})]}),e.jsxs("div",{className:"flex gap-8",children:[e.jsxs("div",{className:"w-48 shrink-0 space-y-0.5",children:[r.map((n,p)=>e.jsxs("div",{className:`group/sched flex items-center rounded-md transition-colors ${i===p?"bg-accent/10 text-accent":"text-text-tertiary hover:text-text-primary hover:bg-surface-hover"}`,children:[e.jsxs("button",{onClick:()=>j(p),className:"flex-1 text-left px-3 py-2 min-w-0",children:[e.jsx("span",{className:"text-[11px] font-mono block",children:n.cron||"new schedule"}),e.jsxs("span",{className:"text-[9px] text-text-quaternary",children:[(n.reaction_type==="pipeline"?n.pipeline_id:n.workflow_type)||"no target"," · ",D(n.cron)]})]}),e.jsx("button",{onClick:a=>{a.stopPropagation(),confirm(`Remove schedule "${n.cron||"new"}"?
|
|
9
|
+
|
|
10
|
+
This takes effect when you save.`)&&_(p)},className:"opacity-0 group-hover/sched:opacity-100 px-2 text-text-quaternary hover:text-red-400 transition-all",title:"Remove",children:e.jsx(B,{className:"w-3 h-3"})})]},p)),e.jsxs("button",{onClick:w,className:"w-full flex items-center gap-1.5 px-3 py-2 text-[11px] text-accent hover:text-accent-hover transition-colors",children:[e.jsx($,{className:"w-3 h-3"})," Add"]})]}),c&&e.jsxs("div",{className:"flex-1 min-w-0 space-y-12",children:[e.jsxs("div",{children:[e.jsx("label",{className:k,children:"Run every"}),e.jsx("input",{type:"text",value:c.cron,onChange:n=>x(i,"cron",n.target.value),placeholder:"0 * * * *",className:`${v} font-mono`}),c.cron&&e.jsx("p",{className:"text-[11px] text-accent/80 mt-1",children:D(c.cron)}),e.jsx("div",{className:"flex gap-3 mt-2 overflow-x-auto",children:We.map(n=>e.jsx("button",{type:"button",onClick:()=>x(i,"cron",n),className:`text-[10px] font-mono whitespace-nowrap transition-colors ${c.cron===n?"text-accent font-medium":"text-accent/50 hover:text-accent"}`,children:D(n)},n))})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx("label",{className:k,children:"Run this workflow"}),e.jsx("div",{className:"flex gap-3",children:["durable","pipeline"].map(n=>e.jsxs("label",{className:"flex items-center gap-1 text-[11px] text-text-secondary cursor-pointer",children:[e.jsx("input",{type:"radio",name:`sched-reaction-${i}`,checked:c.reaction_type===n,onChange:()=>x(i,"reaction_type",n),className:"accent-accent w-3 h-3"}),n==="durable"?"Workflow":"Pipeline"]},n))}),c.reaction_type==="pipeline"?e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Pipeline *"}),e.jsxs("select",{value:c.pipeline_id,onChange:n=>x(i,"pipeline_id",n.target.value),className:v,children:[e.jsx("option",{value:"",children:"Select..."}),h.map(n=>e.jsx("option",{value:n.id,children:n.name},n.id))]}),e.jsx("p",{className:f,children:"YAML pipeline invoked on each cron tick."})]}):e.jsxs("div",{children:[e.jsx("label",{className:b,children:"Workflow *"}),e.jsxs("select",{value:c.workflow_type,onChange:n=>x(i,"workflow_type",n.target.value),className:v,children:[e.jsx("option",{value:"",children:"Select..."}),l.map(n=>e.jsx("option",{value:n,children:n},n))]}),e.jsx("p",{className:f,children:"Invoked on each cron tick."})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:k,children:"As identity"}),e.jsx(H,{selected:c.execute_as,onChange:n=>x(i,"execute_as",n)}),e.jsx("p",{className:f,children:"Identity used when invoking."})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:k,children:"With this data"}),e.jsx("textarea",{value:c.envelope,onChange:n=>x(i,"envelope",n.target.value),rows:10,className:V,placeholder:`{
|
|
11
|
+
"data": { "source": "cron" }
|
|
12
|
+
}`}),e.jsx("p",{className:f,children:"Static payload passed to the workflow on each invocation."})]})]})]})]})}function R({icon:t,color:s,title:o,children:l}){return e.jsxs("div",{className:"mb-10",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2 pb-1.5 border-b border-surface-border/40",children:[e.jsx(t,{className:`w-3.5 h-3.5 ${s}`,strokeWidth:1.5}),e.jsx("h3",{className:"text-xs font-semibold uppercase tracking-widest text-accent/80",children:o})]}),e.jsx("div",{className:"pl-5.5",children:l})]})}function E({label:t,children:s}){return e.jsxs("div",{className:"flex gap-3 py-0.5",children:[e.jsx("span",{className:"text-[10px] text-text-quaternary w-20 shrink-0",children:t}),e.jsx("span",{className:"text-xs text-text-primary",children:s})]})}function Re({form:t}){return e.jsxs("div",{children:[e.jsxs(R,{icon:G,color:"text-accent",title:"Identity",children:[e.jsx(E,{label:"Name",children:t.name||"—"}),t.description&&e.jsx(E,{label:"Description",children:t.description})]}),(t.goals||t.rules)&&e.jsxs(R,{icon:K,color:"text-rose-400",title:"Motivation",children:[t.goals&&e.jsx(E,{label:"Goals",children:t.goals}),t.rules&&e.jsx(E,{label:"Rules",children:t.rules})]}),e.jsx(R,{icon:L,color:"text-emerald-400",title:"Knowledge",children:e.jsx(E,{label:"Domain",children:t.knowledge_domain||"None"})}),e.jsxs("div",{className:"grid grid-cols-2 gap-x-10",children:[e.jsx(R,{icon:z,color:"text-cyan-400",title:`Subscriptions (${t.subscriptions.length})`,children:t.subscriptions.length===0?e.jsx("span",{className:"text-[11px] text-text-quaternary",children:"None configured"}):e.jsx("div",{className:"divide-y divide-surface-border/30",children:t.subscriptions.map((s,o)=>e.jsxs("div",{className:"flex items-center py-1.5",children:[e.jsx("div",{className:"flex-1 min-w-0",children:e.jsx(ue,{topic:s.topic||"unset"})}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsx("span",{className:"text-text-quaternary text-[10px]",children:"→"}),s.workflow_type?e.jsx(F,{type:s.workflow_type}):e.jsx("span",{className:"text-[11px] text-text-quaternary",children:s.reaction_type})]})]},o))})}),e.jsx(R,{icon:U,color:"text-amber-400",title:`Schedules (${t.schedules.length})`,children:t.schedules.length===0?e.jsx("span",{className:"text-[11px] text-text-quaternary",children:"None configured"}):e.jsx("div",{className:"divide-y divide-surface-border/30",children:t.schedules.map((s,o)=>e.jsxs("div",{className:"flex items-center py-1.5",children:[e.jsx("div",{className:"flex-1 min-w-0",children:e.jsx(ne,{cron:s.cron})}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsx("span",{className:"text-text-quaternary text-[10px]",children:"→"}),s.workflow_type?e.jsx(F,{type:s.workflow_type}):e.jsx("span",{className:"text-[11px] text-text-quaternary",children:"no workflow"})]})]},o))})})]}),e.jsx("div",{className:"border-l-2 border-emerald-400/30 pl-3 py-2 mt-6",children:e.jsx("p",{className:"text-[11px] text-text-tertiary leading-relaxed",children:"After saving, subscriptions and schedules activate immediately. You can pause the agent anytime."})})]})}const Ee=[{id:1,label:"Identity",icon:G},{id:2,label:"Motivation",icon:K},{id:3,label:"Knowledge",icon:L},{id:4,label:"Subscriptions",icon:z},{id:5,label:"Schedules",icon:U},{id:6,label:"Review",icon:de}];function Qe(){const{id:t}=ve(),s=!t,o=je(),{data:l,isLoading:d}=te(s?null:t),{data:h}=ie(s?null:t),i=se(),j=ae(),x=le(),w=ce(),_=re(),[r,c]=g.useState(J),[n,p]=g.useState(!1),[a,m]=g.useState(""),[S,W]=ge(),A=parseInt(S.get("step")||"1",10),X=g.useCallback(u=>{W(y=>{const C=new URLSearchParams(y);return C.set("step",String(u)),C},{replace:!0})},[W]);g.useEffect(()=>{if(!n){if(s){c(J),p(!0);return}l&&h&&(c(be(l,h.subscriptions??[])),p(!0))}},[l,h,s,n]);const q=(u,y)=>c(C=>({...C,[u]:y})),Z=async()=>{m("");try{const u=we(r);let y=t;s?y=(await i.mutateAsync(u)).id:await j.mutateAsync({id:t,...u});const C=Ne(r),ee=(h==null?void 0:h.subscriptions)??[],I=new Set(ee.map(N=>N.id));for(const N of C)if(N.id&&I.has(N.id)){const{id:T,...O}=N;await w.mutateAsync({agentId:y,subId:T,...O}),I.delete(T)}else{const{id:T,...O}=N;await x.mutateAsync({agentId:y,...O})}for(const N of I)await _.mutateAsync({agentId:y,subId:N});o(`/agents/${y}`)}catch(u){m(u.message)}};if(!s&&d)return e.jsxs("div",{className:"animate-pulse space-y-4",children:[e.jsx("div",{className:"h-8 bg-surface-sunken rounded w-48"}),e.jsx("div",{className:"h-60 bg-surface-sunken rounded"})]});const Y=i.isPending||j.isPending;return e.jsxs("div",{children:[e.jsx(oe,{title:s?"New Agent":`Agent: ${(l==null?void 0:l.id)??""}`,docsHash:"#docs:agents.md"}),e.jsxs("div",{className:"flex gap-10",children:[e.jsxs("nav",{className:"w-44 shrink-0 sticky top-0 self-start pt-2",children:[e.jsx("div",{className:"space-y-0.5",children:Ee.map(u=>{const y=u.icon,C=A===u.id;return e.jsxs("button",{onClick:()=>X(u.id),className:`w-full flex items-center gap-2.5 px-3 py-2 rounded-md text-left transition-colors ${C?"bg-accent/10 text-accent":"text-text-tertiary hover:text-text-primary hover:bg-surface-hover"}`,children:[e.jsx(y,{className:"w-3.5 h-3.5 shrink-0",strokeWidth:1.5}),e.jsx("span",{className:"text-xs font-medium",children:u.label})]},u.id)})}),e.jsxs("div",{className:"mt-8 pt-4 border-t border-surface-border space-y-2",children:[e.jsx("button",{onClick:Z,disabled:!r.name.trim()||Y,className:"w-full btn-primary text-xs disabled:opacity-50",children:Y?"Saving...":s?"Create Agent":"Save"}),e.jsx("button",{onClick:()=>o(s?"/agents":`/agents/${t}`),className:"w-full btn-ghost text-xs",children:"Cancel"})]}),a&&e.jsx("p",{className:"text-xs text-status-error mt-3",children:a})]}),e.jsxs("div",{className:"flex-1 min-w-0 pt-2",children:[A===1&&e.jsx(ke,{form:r,set:q}),A===2&&e.jsx(_e,{form:r,set:q}),A===3&&e.jsx(Ce,{form:r,set:q}),A===4&&e.jsx(Ae,{form:r,set:q}),A===5&&e.jsx(qe,{form:r,set:q}),A===6&&e.jsx(Re,{form:r})]})]})]})}export{Qe as AgentConfigPage};
|
|
13
|
+
//# sourceMappingURL=AgentConfigPage-DG1zOIiz.js.map
|