@hotmeshio/long-tail 0.8.1 → 0.8.2
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/dashboard/dist/assets/AdminDashboard-Nvja-XIJ.js +2 -0
- package/dashboard/dist/assets/{AdminDashboard-Ck5-jV9T.js.map → AdminDashboard-Nvja-XIJ.js.map} +1 -1
- package/dashboard/dist/assets/AgentConfigPage-Sf2god7q.js +16 -0
- package/dashboard/dist/assets/{AgentConfigPage-DFiXRBWs.js.map → AgentConfigPage-Sf2god7q.js.map} +1 -1
- package/dashboard/dist/assets/AgentDetailPage-DtgDeZJR.js +4 -0
- package/dashboard/dist/assets/{AgentDetailPage-BBgM_pMe.js.map → AgentDetailPage-DtgDeZJR.js.map} +1 -1
- package/dashboard/dist/assets/AgentsPage-C6zqP_xC.js +2 -0
- package/dashboard/dist/assets/{AgentsPage-DxwFuedf.js.map → AgentsPage-C6zqP_xC.js.map} +1 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-D61kC7Is.js +2 -0
- package/dashboard/dist/assets/{AvailableEscalationsPage-DNQbeIcn.js.map → AvailableEscalationsPage-D61kC7Is.js.map} +1 -1
- package/dashboard/dist/assets/BotPicker-ChgljKHj.js +2 -0
- package/dashboard/dist/assets/{BotPicker-mqwKVOE3.js.map → BotPicker-ChgljKHj.js.map} +1 -1
- package/dashboard/dist/assets/CapabilitiesPage-DeybKoZM.js +2 -0
- package/dashboard/dist/assets/{CapabilitiesPage-Biffm0kW.js.map → CapabilitiesPage-DeybKoZM.js.map} +1 -1
- package/dashboard/dist/assets/CollapsibleSection-BPiTuPBk.js +2 -0
- package/dashboard/dist/assets/{CollapsibleSection-Bn6Ks79X.js.map → CollapsibleSection-BPiTuPBk.js.map} +1 -1
- package/dashboard/dist/assets/ConfirmDeleteModal-D9_1b4MW.js +2 -0
- package/dashboard/dist/assets/{ConfirmDeleteModal-no0-c_1G.js.map → ConfirmDeleteModal-D9_1b4MW.js.map} +1 -1
- package/dashboard/dist/assets/CopyableId-blg-gZvT.js +2 -0
- package/dashboard/dist/assets/{CopyableId-DS6IDMIX.js.map → CopyableId-blg-gZvT.js.map} +1 -1
- package/dashboard/dist/assets/CredentialsPage-DXOcPWtd.js +2 -0
- package/dashboard/dist/assets/{CredentialsPage-C3NyncEB.js.map → CredentialsPage-DXOcPWtd.js.map} +1 -1
- package/dashboard/dist/assets/CronLabel-D3411N8x.js +2 -0
- package/dashboard/dist/assets/{CronLabel-DQWBx57H.js.map → CronLabel-D3411N8x.js.map} +1 -1
- package/dashboard/dist/assets/CustomDurationPicker-WG2tPSbV.js +2 -0
- package/dashboard/dist/assets/{CustomDurationPicker-DV42oZ1G.js.map → CustomDurationPicker-WG2tPSbV.js.map} +1 -1
- package/dashboard/dist/assets/DataTable-ZWgVQg7F.js +2 -0
- package/dashboard/dist/assets/{DataTable-Bf4dgxll.js.map → DataTable-ZWgVQg7F.js.map} +1 -1
- package/dashboard/dist/assets/DropZone-SgiK1WOl.js +2 -0
- package/dashboard/dist/assets/{DropZone-CTSXBb3c.js.map → DropZone-SgiK1WOl.js.map} +1 -1
- package/dashboard/dist/assets/ElapsedCell-BFWEGSD7.js +2 -0
- package/dashboard/dist/assets/{ElapsedCell-roy4G5SQ.js.map → ElapsedCell-BFWEGSD7.js.map} +1 -1
- package/dashboard/dist/assets/EmptyState-BcsfPq9T.js +2 -0
- package/dashboard/dist/assets/{EmptyState-CLVm9KmA.js.map → EmptyState-BcsfPq9T.js.map} +1 -1
- package/dashboard/dist/assets/EscalationSchemaPage-D2Y5Yeqn.js +9 -0
- package/dashboard/dist/assets/{EscalationSchemaPage-DulCCxea.js.map → EscalationSchemaPage-D2Y5Yeqn.js.map} +1 -1
- package/dashboard/dist/assets/EscalationsOverview-VlLcX2YM.js +2 -0
- package/dashboard/dist/assets/{EscalationsOverview-DDwxn_mT.js.map → EscalationsOverview-VlLcX2YM.js.map} +1 -1
- package/dashboard/dist/assets/EventTable-3MJw14jp.js +2 -0
- package/dashboard/dist/assets/{EventTable-BaLNvCew.js.map → EventTable-3MJw14jp.js.map} +1 -1
- package/dashboard/dist/assets/FilterBar-B4Mk2PvT.js +2 -0
- package/dashboard/dist/assets/{FilterBar-DEAbNQqp.js.map → FilterBar-B4Mk2PvT.js.map} +1 -1
- package/dashboard/dist/assets/GraphInvokePage-QaUUrPnh.js +2 -0
- package/dashboard/dist/assets/{GraphInvokePage-BmM8r0R3.js.map → GraphInvokePage-QaUUrPnh.js.map} +1 -1
- package/dashboard/dist/assets/HomePage-Br0A3iOp.js +2 -0
- package/dashboard/dist/assets/HomePage-Br0A3iOp.js.map +1 -0
- package/dashboard/dist/assets/ListToolbar-d4MGQefV.js +2 -0
- package/dashboard/dist/assets/{ListToolbar-Dviaskni.js.map → ListToolbar-d4MGQefV.js.map} +1 -1
- package/dashboard/dist/assets/McpOverview-CUzJD5Z5.js +2 -0
- package/dashboard/dist/assets/{McpOverview-BBm66wbF.js.map → McpOverview-CUzJD5Z5.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryDetailPage-pYSZmV3M.js +5 -0
- package/dashboard/dist/assets/{McpQueryDetailPage-B6GJOMcz.js.map → McpQueryDetailPage-pYSZmV3M.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryPage-CA5C5dss.js +2 -0
- package/dashboard/dist/assets/{McpQueryPage-C-8nIdBL.js.map → McpQueryPage-CA5C5dss.js.map} +1 -1
- package/dashboard/dist/assets/McpRunDetailPage-CrRkXwAe.js +2 -0
- package/dashboard/dist/assets/{McpRunDetailPage-CSq_0qqi.js.map → McpRunDetailPage-CrRkXwAe.js.map} +1 -1
- package/dashboard/dist/assets/McpRunsPage-BqRBDbkn.js +2 -0
- package/dashboard/dist/assets/McpRunsPage-BqRBDbkn.js.map +1 -0
- package/dashboard/dist/assets/Modal-CSrxpXeM.js +2 -0
- package/dashboard/dist/assets/{Modal-C6HI6btY.js.map → Modal-CSrxpXeM.js.map} +1 -1
- package/dashboard/dist/assets/NamespacePill-SErKwgkb.js +2 -0
- package/dashboard/dist/assets/{NamespacePill-eGsbJBFa.js.map → NamespacePill-SErKwgkb.js.map} +1 -1
- package/dashboard/dist/assets/OperationsPage--uVJxzmP.js +2 -0
- package/dashboard/dist/assets/OperationsPage--uVJxzmP.js.map +1 -0
- package/dashboard/dist/assets/OperatorDashboard-D-UMrTqI.js +2 -0
- package/dashboard/dist/assets/{OperatorDashboard-BbmgsOmQ.js.map → OperatorDashboard-D-UMrTqI.js.map} +1 -1
- package/dashboard/dist/assets/PageHeader-DJo7yMUR.js +2 -0
- package/dashboard/dist/assets/{PageHeader-DcgGV0Y2.js.map → PageHeader-DJo7yMUR.js.map} +1 -1
- package/dashboard/dist/assets/PageHeaderWithStats-W3akV6nB.js +2 -0
- package/dashboard/dist/assets/{PageHeaderWithStats-Cf8TYFRh.js.map → PageHeaderWithStats-W3akV6nB.js.map} +1 -1
- package/dashboard/dist/assets/PriorityBadge-B4ykBH7f.js +2 -0
- package/dashboard/dist/assets/{PriorityBadge-a7u8C9uY.js.map → PriorityBadge-B4ykBH7f.js.map} +1 -1
- package/dashboard/dist/assets/ProcessDetailPage-BV6D_wuR.js +2 -0
- package/dashboard/dist/assets/{ProcessDetailPage-D80w44rV.js.map → ProcessDetailPage-BV6D_wuR.js.map} +1 -1
- package/dashboard/dist/assets/ProcessesListPage-BAalEHpx.js +2 -0
- package/dashboard/dist/assets/{ProcessesListPage-BjW5xUkv.js.map → ProcessesListPage-BAalEHpx.js.map} +1 -1
- package/dashboard/dist/assets/RoleDetailPage-ClE7rUoo.js +11 -0
- package/dashboard/dist/assets/{RoleDetailPage-oahg0cdT.js.map → RoleDetailPage-ClE7rUoo.js.map} +1 -1
- package/dashboard/dist/assets/RolePill-DHWixsQR.js +2 -0
- package/dashboard/dist/assets/{RolePill-BAeaQUXX.js.map → RolePill-DHWixsQR.js.map} +1 -1
- package/dashboard/dist/assets/RolesPage-DMsgZioQ.js +2 -0
- package/dashboard/dist/assets/{RolesPage-BI1Xtqq_.js.map → RolesPage-DMsgZioQ.js.map} +1 -1
- package/dashboard/dist/assets/RowActions-BA9L9djf.js +2 -0
- package/dashboard/dist/assets/{RowActions--m4F6GW8.js.map → RowActions-BA9L9djf.js.map} +1 -1
- package/dashboard/dist/assets/RunAsSelector-VCnEYIwj.js +2 -0
- package/dashboard/dist/assets/{RunAsSelector-DiGzSfiG.js.map → RunAsSelector-VCnEYIwj.js.map} +1 -1
- package/dashboard/dist/assets/StatCard-DrdlUeQz.js +2 -0
- package/dashboard/dist/assets/{StatCard-DCPGFzCv.js.map → StatCard-DrdlUeQz.js.map} +1 -1
- package/dashboard/dist/assets/StatusBadge-DZ9137bI.js +2 -0
- package/dashboard/dist/assets/{StatusBadge-mk-dJwPT.js.map → StatusBadge-DZ9137bI.js.map} +1 -1
- package/dashboard/dist/assets/StickyPagination-3eCY2-_V.js +2 -0
- package/dashboard/dist/assets/{StickyPagination-Clm9H840.js.map → StickyPagination-3eCY2-_V.js.map} +1 -1
- package/dashboard/dist/assets/StreamMessageDetail-70kDFH4o.js +2 -0
- package/dashboard/dist/assets/{StreamMessageDetail-Bikvs1Cz.js.map → StreamMessageDetail-70kDFH4o.js.map} +1 -1
- package/dashboard/dist/assets/SwimlaneTimeline-BOXRit6t.js +2 -0
- package/dashboard/dist/assets/{SwimlaneTimeline-C9X3IVqI.js.map → SwimlaneTimeline-BOXRit6t.js.map} +1 -1
- package/dashboard/dist/assets/TagInput-CGGC3DTR.js +2 -0
- package/dashboard/dist/assets/{TagInput-DmJLnghg.js.map → TagInput-CGGC3DTR.js.map} +1 -1
- package/dashboard/dist/assets/TaskDetailPage-YxGQE9Qg.js +2 -0
- package/dashboard/dist/assets/TaskDetailPage-YxGQE9Qg.js.map +1 -0
- package/dashboard/dist/assets/TaskQueuePill-D6omQJNY.js +2 -0
- package/dashboard/dist/assets/{TaskQueuePill--1OX6egx.js.map → TaskQueuePill-D6omQJNY.js.map} +1 -1
- package/dashboard/dist/assets/TasksListPage-DuLJQN7Q.js +2 -0
- package/dashboard/dist/assets/{TasksListPage-DcYV-GMA.js.map → TasksListPage-DuLJQN7Q.js.map} +1 -1
- package/dashboard/dist/assets/TimeAgo-dnc1ZjKc.js +2 -0
- package/dashboard/dist/assets/{TimeAgo-pYn3T9IZ.js.map → TimeAgo-dnc1ZjKc.js.map} +1 -1
- package/dashboard/dist/assets/TimestampCell-CDR6cTyq.js +2 -0
- package/dashboard/dist/assets/{TimestampCell-BPMCscic.js.map → TimestampCell-CDR6cTyq.js.map} +1 -1
- package/dashboard/dist/assets/ToolPill-BW0iRwZu.js +2 -0
- package/dashboard/dist/assets/{ToolPill-BnF9lCUX.js.map → ToolPill-BW0iRwZu.js.map} +1 -1
- package/dashboard/dist/assets/ToolTestPanel-CfwGdRdz.js +2 -0
- package/dashboard/dist/assets/{ToolTestPanel-Bw4z_Tya.js.map → ToolTestPanel-CfwGdRdz.js.map} +1 -1
- package/dashboard/dist/assets/TopicDetailPage-f2qaeGFz.js +9 -0
- package/dashboard/dist/assets/{TopicDetailPage-CtFztOnn.js.map → TopicDetailPage-f2qaeGFz.js.map} +1 -1
- package/dashboard/dist/assets/TopicsPage-CwYdVmyK.js +2 -0
- package/dashboard/dist/assets/{TopicsPage-BXdc6pAU.js.map → TopicsPage-CwYdVmyK.js.map} +1 -1
- package/dashboard/dist/assets/UserName-CRE7EZPU.js +2 -0
- package/dashboard/dist/assets/{UserName-R96NG6xB.js.map → UserName-CRE7EZPU.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowExecutionPage-BjNBu-Zt.js +2 -0
- package/dashboard/dist/assets/{WorkflowExecutionPage-DmRJabMQ.js.map → WorkflowExecutionPage-BjNBu-Zt.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowPill-BtNBSplz.js +2 -0
- package/dashboard/dist/assets/{WorkflowPill-Cc2MlYbB.js.map → WorkflowPill-BtNBSplz.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsDashboard-DfpvbzNt.js +2 -0
- package/dashboard/dist/assets/WorkflowsDashboard-DfpvbzNt.js.map +1 -0
- package/dashboard/dist/assets/WorkflowsOverview-BwD2lQwj.js +2 -0
- package/dashboard/dist/assets/{WorkflowsOverview-BhgE0RS8.js.map → WorkflowsOverview-BwD2lQwj.js.map} +1 -1
- package/dashboard/dist/assets/YamlWorkflowDetailPage-BhHb7j2s.js +33 -0
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-CvIgB5y7.js.map → YamlWorkflowDetailPage-BhHb7j2s.js.map} +1 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-SBRpY2dI.js +2 -0
- package/dashboard/dist/assets/YamlWorkflowsPage-SBRpY2dI.js.map +1 -0
- package/dashboard/dist/assets/{agents-BpYMwrsB.js → agents-VbkdqWCr.js} +2 -2
- package/dashboard/dist/assets/{agents-BpYMwrsB.js.map → agents-VbkdqWCr.js.map} +1 -1
- package/dashboard/dist/assets/{bots-DI6Wqp5X.js → bots-CsgYcYU_.js} +2 -2
- package/dashboard/dist/assets/{bots-DI6Wqp5X.js.map → bots-CsgYcYU_.js.map} +1 -1
- package/dashboard/dist/assets/capabilities-CMhFyoDl.js +2 -0
- package/dashboard/dist/assets/{capabilities-BKZZb8eM.js.map → capabilities-CMhFyoDl.js.map} +1 -1
- package/dashboard/dist/assets/{controlplane-Djshb7fm.js → controlplane-BstXtPbV.js} +2 -2
- package/dashboard/dist/assets/{controlplane-Djshb7fm.js.map → controlplane-BstXtPbV.js.map} +1 -1
- package/dashboard/dist/assets/escalation-C0BNAeIG.js +2 -0
- package/dashboard/dist/assets/{escalation-D8mrXtjS.js.map → escalation-C0BNAeIG.js.map} +1 -1
- package/dashboard/dist/assets/escalation-columns-DajPgfuV.js +2 -0
- package/dashboard/dist/assets/{escalation-columns-CyLzgPkz.js.map → escalation-columns-DajPgfuV.js.map} +1 -1
- package/dashboard/dist/assets/index-BWLVqWLU.js +2 -0
- package/dashboard/dist/assets/{index-CQtv2rj6.js.map → index-BWLVqWLU.js.map} +1 -1
- package/dashboard/dist/assets/index-BY5m8rhE.js +2 -0
- package/dashboard/dist/assets/{index-CwAmiy_j.js.map → index-BY5m8rhE.js.map} +1 -1
- package/dashboard/dist/assets/index-BYf0oNSQ.js +6 -0
- package/dashboard/dist/assets/{index-eshNd6NY.js.map → index-BYf0oNSQ.js.map} +1 -1
- package/dashboard/dist/assets/index-BcaQ_hCz.js +9 -0
- package/dashboard/dist/assets/{index-Y6yj36QR.js.map → index-BcaQ_hCz.js.map} +1 -1
- package/dashboard/dist/assets/index-BdqKh0UK.css +1 -0
- package/dashboard/dist/assets/index-C8k3Z2su.js +63 -0
- package/dashboard/dist/assets/index-C8k3Z2su.js.map +1 -0
- package/dashboard/dist/assets/index-CSixdp5W.js +2 -0
- package/dashboard/dist/assets/{index-yxnQew1X.js.map → index-CSixdp5W.js.map} +1 -1
- package/dashboard/dist/assets/index-CXnSqSFH.js +2 -0
- package/dashboard/dist/assets/{index-B5MAG4Uv.js.map → index-CXnSqSFH.js.map} +1 -1
- package/dashboard/dist/assets/index-CaSMWhLU.js +2 -0
- package/dashboard/dist/assets/{index-C71I-f5G.js.map → index-CaSMWhLU.js.map} +1 -1
- package/dashboard/dist/assets/index-Cl1vY8Lg.js +2 -0
- package/dashboard/dist/assets/{index-xn9fmkHC.js.map → index-Cl1vY8Lg.js.map} +1 -1
- package/dashboard/dist/assets/index-CvFQtPWA.js +2 -0
- package/dashboard/dist/assets/{index-CJb3dXku.js.map → index-CvFQtPWA.js.map} +1 -1
- package/dashboard/dist/assets/index-DWlPFH3T.js +6 -0
- package/dashboard/dist/assets/{index-BfxiRwk2.js.map → index-DWlPFH3T.js.map} +1 -1
- package/dashboard/dist/assets/index-D_6JFBiM.js +2 -0
- package/dashboard/dist/assets/{index-DkbnD-Te.js.map → index-D_6JFBiM.js.map} +1 -1
- package/dashboard/dist/assets/index-fqU_l4dC.js +2 -0
- package/dashboard/dist/assets/{index-CphzO7b8.js.map → index-fqU_l4dC.js.map} +1 -1
- package/dashboard/dist/assets/{knowledge-C_1r0faY.js → knowledge-Bskl1MbC.js} +2 -2
- package/dashboard/dist/assets/{knowledge-C_1r0faY.js.map → knowledge-Bskl1MbC.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-BtG54ZAx.js → mcp-C_qz25AB.js} +2 -2
- package/dashboard/dist/assets/{mcp-BtG54ZAx.js.map → mcp-C_qz25AB.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-CSdQWxmv.js → mcp-query-CJx58s1A.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-CSdQWxmv.js.map → mcp-query-CJx58s1A.js.map} +1 -1
- package/dashboard/dist/assets/{pipelines-DVkwxN64.js → pipelines-B6GzpgtG.js} +2 -2
- package/dashboard/dist/assets/{pipelines-DVkwxN64.js.map → pipelines-B6GzpgtG.js.map} +1 -1
- package/dashboard/dist/assets/roles-D8lPvFgG.js +2 -0
- package/dashboard/dist/assets/{roles-CpRcUIMm.js.map → roles-D8lPvFgG.js.map} +1 -1
- package/dashboard/dist/assets/tasks-BWHakSYf.js +2 -0
- package/dashboard/dist/assets/{tasks-DNdvW5H6.js.map → tasks-BWHakSYf.js.map} +1 -1
- package/dashboard/dist/assets/{topics-DNC77Chw.js → topics-0dXzPX8t.js} +2 -2
- package/dashboard/dist/assets/{topics-DNC77Chw.js.map → topics-0dXzPX8t.js.map} +1 -1
- package/dashboard/dist/assets/{useCollapsedSections-CGNA5oKV.js → useCollapsedSections-BU5HULGs.js} +2 -2
- package/dashboard/dist/assets/{useCollapsedSections-CGNA5oKV.js.map → useCollapsedSections-BU5HULGs.js.map} +1 -1
- package/dashboard/dist/assets/{useDebouncedValue-DmL3uNt_.js → useDebouncedValue-BA5S7V54.js} +2 -2
- package/dashboard/dist/assets/{useDebouncedValue-DmL3uNt_.js.map → useDebouncedValue-BA5S7V54.js.map} +1 -1
- package/dashboard/dist/assets/{useEventHooks-CUUeBSH1.js → useEventHooks-Dpixlgp-.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-CUUeBSH1.js.map → useEventHooks-Dpixlgp-.js.map} +1 -1
- package/dashboard/dist/assets/{useFilterParams-Ch-a71bE.js → useFilterParams-x-Dg0Vgz.js} +2 -2
- package/dashboard/dist/assets/{useFilterParams-Ch-a71bE.js.map → useFilterParams-x-Dg0Vgz.js.map} +1 -1
- package/dashboard/dist/assets/{useNamespace-D-AjLnPK.js → useNamespace-DQMc77ok.js} +2 -2
- package/dashboard/dist/assets/{useNamespace-D-AjLnPK.js.map → useNamespace-DQMc77ok.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-DRdetOb_.js → useYamlActivityEvents-DO5bHOVE.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-DRdetOb_.js.map → useYamlActivityEvents-DO5bHOVE.js.map} +1 -1
- package/dashboard/dist/assets/{users-BUgdEsec.js → users-B_LVbnUk.js} +2 -2
- package/dashboard/dist/assets/{users-BUgdEsec.js.map → users-B_LVbnUk.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-CNyYGNsk.js → vendor-icons-DOIDKgo6.js} +116 -121
- package/dashboard/dist/assets/{vendor-icons-CNyYGNsk.js.map → vendor-icons-DOIDKgo6.js.map} +1 -1
- 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-CXumBFUA.js +22 -0
- package/dashboard/dist/assets/vendor-react-CXumBFUA.js.map +1 -0
- package/dashboard/dist/assets/{workflows-BfyR5VJt.js → workflows-WmmGDAvo.js} +2 -2
- package/dashboard/dist/assets/{workflows-BfyR5VJt.js.map → workflows-WmmGDAvo.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-Bz7yEnhl.js → yaml-workflows-BS7KHhU1.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-Bz7yEnhl.js.map → yaml-workflows-BS7KHhU1.js.map} +1 -1
- package/dashboard/dist/index.html +5 -5
- package/docs/dashboard.md +58 -42
- package/package.json +1 -1
- package/dashboard/dist/assets/AdminDashboard-Ck5-jV9T.js +0 -2
- package/dashboard/dist/assets/AgentConfigPage-DFiXRBWs.js +0 -16
- package/dashboard/dist/assets/AgentDetailPage-BBgM_pMe.js +0 -4
- package/dashboard/dist/assets/AgentsPage-DxwFuedf.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-DNQbeIcn.js +0 -2
- package/dashboard/dist/assets/BotPicker-mqwKVOE3.js +0 -2
- package/dashboard/dist/assets/CapabilitiesPage-Biffm0kW.js +0 -2
- package/dashboard/dist/assets/CollapsibleSection-Bn6Ks79X.js +0 -2
- package/dashboard/dist/assets/ConfirmDeleteModal-no0-c_1G.js +0 -2
- package/dashboard/dist/assets/CopyableId-DS6IDMIX.js +0 -2
- package/dashboard/dist/assets/CredentialsPage-C3NyncEB.js +0 -2
- package/dashboard/dist/assets/CronLabel-DQWBx57H.js +0 -2
- package/dashboard/dist/assets/CustomDurationPicker-DV42oZ1G.js +0 -2
- package/dashboard/dist/assets/DataTable-Bf4dgxll.js +0 -2
- package/dashboard/dist/assets/DropZone-CTSXBb3c.js +0 -2
- package/dashboard/dist/assets/ElapsedCell-roy4G5SQ.js +0 -2
- package/dashboard/dist/assets/EmptyState-CLVm9KmA.js +0 -2
- package/dashboard/dist/assets/EscalationSchemaPage-DulCCxea.js +0 -9
- package/dashboard/dist/assets/EscalationsOverview-DDwxn_mT.js +0 -2
- package/dashboard/dist/assets/EventTable-BaLNvCew.js +0 -2
- package/dashboard/dist/assets/FilterBar-DEAbNQqp.js +0 -2
- package/dashboard/dist/assets/GraphInvokePage-BmM8r0R3.js +0 -2
- package/dashboard/dist/assets/HomePage-Ds3PzWWr.js +0 -2
- package/dashboard/dist/assets/HomePage-Ds3PzWWr.js.map +0 -1
- package/dashboard/dist/assets/ListToolbar-Dviaskni.js +0 -2
- package/dashboard/dist/assets/McpOverview-BBm66wbF.js +0 -2
- package/dashboard/dist/assets/McpQueryDetailPage-B6GJOMcz.js +0 -5
- package/dashboard/dist/assets/McpQueryPage-C-8nIdBL.js +0 -2
- package/dashboard/dist/assets/McpRunDetailPage-CSq_0qqi.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-BdK8ahX7.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-BdK8ahX7.js.map +0 -1
- package/dashboard/dist/assets/Modal-C6HI6btY.js +0 -2
- package/dashboard/dist/assets/NamespacePill-eGsbJBFa.js +0 -2
- package/dashboard/dist/assets/OperationsPage-DODPFmf2.js +0 -2
- package/dashboard/dist/assets/OperationsPage-DODPFmf2.js.map +0 -1
- package/dashboard/dist/assets/OperatorDashboard-BbmgsOmQ.js +0 -2
- package/dashboard/dist/assets/PageHeader-DcgGV0Y2.js +0 -2
- package/dashboard/dist/assets/PageHeaderWithStats-Cf8TYFRh.js +0 -2
- package/dashboard/dist/assets/PriorityBadge-a7u8C9uY.js +0 -2
- package/dashboard/dist/assets/ProcessDetailPage-D80w44rV.js +0 -2
- package/dashboard/dist/assets/ProcessesListPage-BjW5xUkv.js +0 -2
- package/dashboard/dist/assets/RoleDetailPage-oahg0cdT.js +0 -11
- package/dashboard/dist/assets/RolePill-BAeaQUXX.js +0 -2
- package/dashboard/dist/assets/RolesPage-BI1Xtqq_.js +0 -2
- package/dashboard/dist/assets/RowActions--m4F6GW8.js +0 -2
- package/dashboard/dist/assets/RunAsSelector-DiGzSfiG.js +0 -2
- package/dashboard/dist/assets/StatCard-DCPGFzCv.js +0 -2
- package/dashboard/dist/assets/StatusBadge-mk-dJwPT.js +0 -2
- package/dashboard/dist/assets/StickyPagination-Clm9H840.js +0 -2
- package/dashboard/dist/assets/StreamMessageDetail-Bikvs1Cz.js +0 -2
- package/dashboard/dist/assets/SwimlaneTimeline-C9X3IVqI.js +0 -2
- package/dashboard/dist/assets/TagInput-DmJLnghg.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-C0tbiUi7.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-C0tbiUi7.js.map +0 -1
- package/dashboard/dist/assets/TaskQueuePill--1OX6egx.js +0 -2
- package/dashboard/dist/assets/TasksListPage-DcYV-GMA.js +0 -2
- package/dashboard/dist/assets/TimeAgo-pYn3T9IZ.js +0 -2
- package/dashboard/dist/assets/TimestampCell-BPMCscic.js +0 -2
- package/dashboard/dist/assets/ToolPill-BnF9lCUX.js +0 -2
- package/dashboard/dist/assets/ToolTestPanel-Bw4z_Tya.js +0 -2
- package/dashboard/dist/assets/TopicDetailPage-CtFztOnn.js +0 -9
- package/dashboard/dist/assets/TopicsPage-BXdc6pAU.js +0 -2
- package/dashboard/dist/assets/UserName-R96NG6xB.js +0 -2
- package/dashboard/dist/assets/WorkflowExecutionPage-DmRJabMQ.js +0 -2
- package/dashboard/dist/assets/WorkflowPill-Cc2MlYbB.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-uLU5ZToY.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-uLU5ZToY.js.map +0 -1
- package/dashboard/dist/assets/WorkflowsOverview-BhgE0RS8.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowDetailPage-CvIgB5y7.js +0 -33
- package/dashboard/dist/assets/YamlWorkflowsPage-DWnsgl2v.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-DWnsgl2v.js.map +0 -1
- package/dashboard/dist/assets/capabilities-BKZZb8eM.js +0 -2
- package/dashboard/dist/assets/escalation-D8mrXtjS.js +0 -2
- package/dashboard/dist/assets/escalation-columns-CyLzgPkz.js +0 -2
- package/dashboard/dist/assets/index-B5MAG4Uv.js +0 -2
- package/dashboard/dist/assets/index-BfxiRwk2.js +0 -6
- package/dashboard/dist/assets/index-C71I-f5G.js +0 -2
- package/dashboard/dist/assets/index-CC4g-6QE.css +0 -1
- package/dashboard/dist/assets/index-CJb3dXku.js +0 -2
- package/dashboard/dist/assets/index-CQtv2rj6.js +0 -2
- package/dashboard/dist/assets/index-CphzO7b8.js +0 -2
- package/dashboard/dist/assets/index-CwAmiy_j.js +0 -2
- package/dashboard/dist/assets/index-DgCS2Frb.js +0 -281
- package/dashboard/dist/assets/index-DgCS2Frb.js.map +0 -1
- package/dashboard/dist/assets/index-DkbnD-Te.js +0 -2
- package/dashboard/dist/assets/index-Y6yj36QR.js +0 -9
- package/dashboard/dist/assets/index-eshNd6NY.js +0 -6
- package/dashboard/dist/assets/index-xn9fmkHC.js +0 -2
- package/dashboard/dist/assets/index-yxnQew1X.js +0 -2
- package/dashboard/dist/assets/roles-CpRcUIMm.js +0 -2
- package/dashboard/dist/assets/tasks-DNdvW5H6.js +0 -2
- 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-zA2lQFDs.js +0 -26
- package/dashboard/dist/assets/vendor-react-zA2lQFDs.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{u as n,b as t,c as u}from"./vendor-query-
|
|
2
|
-
//# sourceMappingURL=workflows-
|
|
1
|
+
import{u as n,b as t,c as u}from"./vendor-query-B2UbickB.js";import{d as s}from"./index-C8k3Z2su.js";function f(){return n({queryKey:["activeWorkers"],queryFn:async()=>(await s("/workflows/workers")).workers})}function w(){return n({queryKey:["discoveredWorkflows"],queryFn:async()=>(await s("/workflows/discovered")).workflows})}function l(){return n({queryKey:["workflowConfigs"],queryFn:async()=>(await s("/workflows/config")).workflows})}function d(){return n({queryKey:["cronStatus"],queryFn:async()=>(await s("/workflows/cron/status")).schedules})}function k(e){return n({queryKey:["workflowExecution",e],queryFn:()=>s(`/workflow-states/${e}/execution`),enabled:!!e})}function m(e,o){const r=new URLSearchParams;return e.limit&&r.set("limit",String(e.limit)),e.offset!==void 0&&r.set("offset",String(e.offset)),e.entity&&r.set("entity",e.entity),e.search&&r.set("search",e.search),e.status&&r.set("status",e.status),e.sort_by&&r.set("sort_by",e.sort_by),e.order&&r.set("order",e.order),e.registered&&r.set("registered",e.registered),e.namespace&&r.set("namespace",e.namespace),n({queryKey:["jobs",e],queryFn:()=>s(`/workflow-states/jobs?${r}`),enabled:(o==null?void 0:o.enabled)??!0})}function q(){const e=t();return u({mutationFn:o=>s(`/workflows/${o}/terminate`,{method:"POST"}),onSuccess:(o,r)=>{e.invalidateQueries({queryKey:["workflowExecution",r],refetchType:"all"}),e.invalidateQueries({queryKey:["jobs"],refetchType:"all"})}})}function g(){const e=t();return u({mutationFn:({workflow_type:o,...r})=>s(`/workflows/${encodeURIComponent(o)}/config`,{method:"PUT",body:JSON.stringify(r)}),onSuccess:()=>{e.invalidateQueries({queryKey:["workflowConfigs"],refetchType:"all"})}})}function h(){const e=t();return u({mutationFn:o=>s(`/workflows/${encodeURIComponent(o)}/config`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["workflowConfigs"],refetchType:"all"})}})}function b(){const e=t();return u({mutationFn:({workflowType:o,data:r,metadata:i,execute_as:a})=>s(`/workflows/${o}/invoke`,{method:"POST",body:JSON.stringify({data:r,metadata:i,...a?{execute_as:a}:{}})}),onSuccess:()=>{e.invalidateQueries({queryKey:["tasks"],refetchType:"all"}),e.invalidateQueries({queryKey:["jobs"],refetchType:"all"})}})}export{k as a,m as b,b as c,w as d,d as e,q as f,f as g,h,g as i,l as u};
|
|
2
|
+
//# sourceMappingURL=workflows-WmmGDAvo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows-
|
|
1
|
+
{"version":3,"file":"workflows-WmmGDAvo.js","sources":["../../src/api/workflows.ts"],"sourcesContent":["import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiFetch } from './client';\nimport type { ActiveWorker, CronScheduleEntry, DiscoveredWorkflow, LTJob, LTWorkflowConfig, WorkflowExecution } from './types';\n\nexport function useActiveWorkers() {\n return useQuery<ActiveWorker[]>({\n queryKey: ['activeWorkers'],\n queryFn: async () => {\n const res = await apiFetch<{ workers: ActiveWorker[] }>('/workflows/workers');\n return res.workers;\n },\n });\n}\n\nexport function useDiscoveredWorkflows() {\n return useQuery<DiscoveredWorkflow[]>({\n queryKey: ['discoveredWorkflows'],\n queryFn: async () => {\n const res = await apiFetch<{ workflows: DiscoveredWorkflow[] }>('/workflows/discovered');\n return res.workflows;\n },\n });\n}\n\nexport function useWorkflowConfigs() {\n return useQuery<LTWorkflowConfig[]>({\n queryKey: ['workflowConfigs'],\n queryFn: async () => {\n const res = await apiFetch<{ workflows: LTWorkflowConfig[] }>('/workflows/config');\n return res.workflows;\n },\n });\n}\n\nexport function useCronStatus() {\n return useQuery<CronScheduleEntry[]>({\n queryKey: ['cronStatus'],\n queryFn: async () => {\n const res = await apiFetch<{ schedules: CronScheduleEntry[] }>('/workflows/cron/status');\n return res.schedules;\n },\n });\n}\n\nexport function useWorkflowExecution(workflowId: string) {\n return useQuery<WorkflowExecution>({\n queryKey: ['workflowExecution', workflowId],\n queryFn: () =>\n apiFetch(`/workflow-states/${workflowId}/execution`),\n enabled: !!workflowId,\n });\n}\n\nexport function useWorkflowState(workflowId: string) {\n return useQuery<{ workflow_id: string; state: Record<string, unknown> }>({\n queryKey: ['workflowState', workflowId],\n queryFn: () => apiFetch(`/workflow-states/${workflowId}/state`),\n enabled: !!workflowId,\n });\n}\n\nexport function useJobs(filters: {\n limit?: number;\n offset?: number;\n entity?: string;\n search?: string;\n status?: string;\n sort_by?: string;\n order?: string;\n registered?: string;\n namespace?: string;\n}, options?: { enabled?: boolean }) {\n const params = new URLSearchParams();\n if (filters.limit) params.set('limit', String(filters.limit));\n if (filters.offset !== undefined) params.set('offset', String(filters.offset));\n if (filters.entity) params.set('entity', filters.entity);\n if (filters.search) params.set('search', filters.search);\n if (filters.status) params.set('status', filters.status);\n if (filters.sort_by) params.set('sort_by', filters.sort_by);\n if (filters.order) params.set('order', filters.order);\n if (filters.registered) params.set('registered', filters.registered);\n if (filters.namespace) params.set('namespace', filters.namespace);\n\n return useQuery<{ jobs: LTJob[]; total: number }>({\n queryKey: ['jobs', filters],\n queryFn: () => apiFetch(`/workflow-states/jobs?${params}`),\n enabled: options?.enabled ?? true,\n });\n}\n\nexport function useTerminateWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (workflowId: string) =>\n apiFetch(`/workflows/${workflowId}/terminate`, { method: 'POST' }),\n onSuccess: (_data, workflowId) => {\n queryClient.invalidateQueries({ queryKey: ['workflowExecution', workflowId], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['jobs'], refetchType: 'all' });\n },\n });\n}\n\nexport function useUpsertWorkflowConfig() {\n const queryClient = useQueryClient();\n return useMutation<\n LTWorkflowConfig,\n Error,\n {\n workflow_type: string;\n description?: string | null;\n\n invocable?: boolean;\n certified?: boolean;\n task_queue?: string | null;\n default_role?: string;\n roles?: string[];\n invocation_roles?: string[];\n consumes?: string[];\n envelope_schema?: Record<string, unknown> | null;\n resolver_schema?: Record<string, unknown> | null;\n cron_schedule?: string | null;\n execute_as?: string | null;\n }\n >({\n mutationFn: ({ workflow_type, ...body }) =>\n apiFetch(`/workflows/${encodeURIComponent(workflow_type)}/config`, {\n method: 'PUT',\n body: JSON.stringify(body),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['workflowConfigs'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeleteWorkflowConfig() {\n const queryClient = useQueryClient();\n return useMutation<{ deleted: boolean; workflow_type: string }, Error, string>({\n mutationFn: (workflowType) =>\n apiFetch(`/workflows/${encodeURIComponent(workflowType)}/config`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['workflowConfigs'], refetchType: 'all' });\n },\n });\n}\n\nexport function useSetCronSchedule() {\n const queryClient = useQueryClient();\n return useMutation<\n LTWorkflowConfig,\n Error,\n { config: LTWorkflowConfig; cron_schedule: string | null; envelope_schema?: Record<string, unknown> | null }\n >({\n mutationFn: ({ config, cron_schedule, envelope_schema }) =>\n apiFetch(`/workflows/${encodeURIComponent(config.workflow_type)}/config`, {\n method: 'PUT',\n body: JSON.stringify({\n ...config,\n cron_schedule,\n ...(envelope_schema !== undefined ? { envelope_schema } : {}),\n }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['workflowConfigs'], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['cronStatus'], refetchType: 'all' });\n },\n });\n}\n\nexport function useInvokeWorkflow() {\n const queryClient = useQueryClient();\n return useMutation<\n { workflowId: string; message: string },\n Error,\n { workflowType: string; data: Record<string, unknown>; metadata?: Record<string, unknown>; execute_as?: string }\n >({\n mutationFn: ({ workflowType, data, metadata, execute_as }) =>\n apiFetch(`/workflows/${workflowType}/invoke`, {\n method: 'POST',\n body: JSON.stringify({ data, metadata, ...(execute_as ? { execute_as } : {}) }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['tasks'], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['jobs'], refetchType: 'all' });\n },\n });\n}\n"],"names":["useActiveWorkers","useQuery","apiFetch","useDiscoveredWorkflows","useWorkflowConfigs","useCronStatus","useWorkflowExecution","workflowId","useJobs","filters","options","params","useTerminateWorkflow","queryClient","useQueryClient","useMutation","_data","useUpsertWorkflowConfig","workflow_type","body","useDeleteWorkflowConfig","workflowType","useInvokeWorkflow","data","metadata","execute_as"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{u as l,b as a,c as s}from"./vendor-query-
|
|
2
|
-
//# sourceMappingURL=yaml-workflows-
|
|
1
|
+
import{u as l,b as a,c as s}from"./vendor-query-B2UbickB.js";import{d as r}from"./index-C8k3Z2su.js";function f(e={}){const o=new URLSearchParams;return e.status&&o.set("status",e.status),e.graph_topic&&o.set("graph_topic",e.graph_topic),e.app_id&&o.set("app_id",e.app_id),e.search&&o.set("search",e.search),e.set_id&&o.set("set_id",e.set_id),e.limit&&o.set("limit",String(e.limit)),e.offset!==void 0&&o.set("offset",String(e.offset)),l({queryKey:["yamlWorkflows",e],queryFn:()=>r(`/yaml-workflows?${o}`)})}function m(){return l({queryKey:["yamlWorkflowAppIds"],queryFn:()=>r("/yaml-workflows/app-ids")})}function c(e){return l({queryKey:["yamlWorkflows",e],queryFn:()=>r(`/yaml-workflows/${e}`),enabled:!!e})}function w(){const e=a();return s({mutationFn:o=>r("/yaml-workflows",{method:"POST",body:JSON.stringify(o)}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function k(){const e=a();return s({mutationFn:o=>r(`/yaml-workflows/${o}/deploy`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function p(){const e=a();return s({mutationFn:o=>r(`/yaml-workflows/${o}/activate`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function d(){const e=a();return s({mutationFn:({id:o,data:t,sync:n,execute_as:u})=>r(`/yaml-workflows/${o}/invoke`,{method:"POST",body:JSON.stringify({data:t,sync:n,...u?{execute_as:u}:{}})}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function h(){const e=a();return s({mutationFn:({id:o,task_queue:t,compilation_feedback:n})=>r(`/yaml-workflows/${o}/regenerate`,{method:"POST",body:JSON.stringify({task_queue:t,compilation_feedback:n})}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function q(){const e=a();return s({mutationFn:o=>r(`/yaml-workflows/${o}/archive`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function W(){const e=a();return s({mutationFn:o=>r(`/yaml-workflows/${o}/restore`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"}),e.invalidateQueries({queryKey:["yamlWorkflow"],refetchType:"all"})}})}function S(){const e=a();return s({mutationFn:({id:o,...t})=>r(`/yaml-workflows/${o}`,{method:"PUT",body:JSON.stringify(t)}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function v(){const e=a();return s({mutationFn:o=>r(`/yaml-workflows/${o}`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function T(e){return l({queryKey:["yamlWorkflows",e,"versions"],queryFn:()=>r(`/yaml-workflows/${e}/versions`),enabled:!!e})}function F(e,o){return l({queryKey:["yamlWorkflows",e,"versions",o],queryFn:()=>r(`/yaml-workflows/${e}/versions/${o}`),enabled:!!e&&o!==null})}export{m as a,S as b,c,T as d,k as e,p as f,q as g,W as h,v as i,h as j,F as k,d as l,w as m,f as u};
|
|
2
|
+
//# sourceMappingURL=yaml-workflows-BS7KHhU1.js.map
|
package/dashboard/dist/assets/{yaml-workflows-Bz7yEnhl.js.map → yaml-workflows-BS7KHhU1.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-workflows-Bz7yEnhl.js","sources":["../../src/api/yaml-workflows.ts"],"sourcesContent":["import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiFetch } from './client';\nimport type { LTYamlWorkflowRecord, LTYamlWorkflowStatus, LTYamlWorkflowVersion } from './types';\n\ninterface YamlWorkflowListResponse {\n workflows: LTYamlWorkflowRecord[];\n total: number;\n}\n\ninterface YamlWorkflowFilters {\n status?: LTYamlWorkflowStatus;\n graph_topic?: string;\n app_id?: string;\n search?: string;\n set_id?: string;\n limit?: number;\n offset?: number;\n}\n\nexport function useYamlWorkflows(filters: YamlWorkflowFilters = {}) {\n const params = new URLSearchParams();\n if (filters.status) params.set('status', filters.status);\n if (filters.graph_topic) params.set('graph_topic', filters.graph_topic);\n if (filters.app_id) params.set('app_id', filters.app_id);\n if (filters.search) params.set('search', filters.search);\n if (filters.set_id) params.set('set_id', filters.set_id);\n if (filters.limit) params.set('limit', String(filters.limit));\n if (filters.offset !== undefined) params.set('offset', String(filters.offset));\n\n return useQuery<YamlWorkflowListResponse>({\n queryKey: ['yamlWorkflows', filters],\n queryFn: () => apiFetch(`/yaml-workflows?${params}`),\n });\n}\n\nexport function useYamlWorkflowAppIds() {\n return useQuery<{ app_ids: string[] }>({\n queryKey: ['yamlWorkflowAppIds'],\n queryFn: () => apiFetch('/yaml-workflows/app-ids'),\n });\n}\n\nexport function useYamlWorkflowByTopic(graphTopic: string | undefined, appId?: string) {\n return useQuery<YamlWorkflowListResponse>({\n queryKey: ['yamlWorkflows', 'byTopic', graphTopic, appId],\n queryFn: () => {\n const params = new URLSearchParams({ graph_topic: graphTopic!, limit: '1' });\n if (appId) params.set('app_id', appId);\n return apiFetch(`/yaml-workflows?${params}`);\n },\n enabled: !!graphTopic,\n });\n}\n\nexport function useYamlWorkflow(id: string) {\n return useQuery<LTYamlWorkflowRecord>({\n queryKey: ['yamlWorkflows', id],\n queryFn: () => apiFetch(`/yaml-workflows/${id}`),\n enabled: !!id,\n });\n}\n\nexport function useCreateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (input: {\n workflow_id: string;\n task_queue: string;\n workflow_name: string;\n name: string;\n description?: string;\n app_id?: string;\n subscribes?: string;\n tags?: string[];\n compilation_feedback?: string;\n }) =>\n apiFetch<LTYamlWorkflowRecord>('/yaml-workflows', {\n method: 'POST',\n body: JSON.stringify(input),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeployYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/deploy`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useActivateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/activate`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useInvokeYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, data, sync, execute_as }: { id: string; data: Record<string, unknown>; sync?: boolean; execute_as?: string }) =>\n apiFetch<{ result?: unknown; job_id?: string }>(`/yaml-workflows/${id}/invoke`, {\n method: 'POST',\n body: JSON.stringify({ data, sync, ...(execute_as ? { execute_as } : {}) }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useRegenerateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, task_queue, compilation_feedback }: { id: string; task_queue?: string; compilation_feedback?: string }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/regenerate`, {\n method: 'POST',\n body: JSON.stringify({ task_queue, compilation_feedback }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useArchiveYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/archive`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useRestoreYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/restore`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflow'], refetchType: 'all' });\n },\n });\n}\n\nexport function useUpdateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, ...updates }: { id: string; yaml_content?: string; name?: string; description?: string; input_schema?: Record<string, unknown>; output_schema?: Record<string, unknown>; tags?: string[]; app_id?: string; graph_topic?: string }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}`, {\n method: 'PUT',\n body: JSON.stringify(updates),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeleteYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<{ deleted: boolean }>(`/yaml-workflows/${id}`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\n// ── Cron scheduling ─────────────────────────────────────────────\n\nexport function useSetYamlCron() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, cron_schedule, cron_envelope, execute_as }: {\n id: string;\n cron_schedule: string;\n cron_envelope?: Record<string, unknown> | null;\n execute_as?: string | null;\n }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/cron`, {\n method: 'PUT',\n body: JSON.stringify({ cron_schedule, cron_envelope, execute_as }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useClearYamlCron() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/cron`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\n// ── Version history ─────────────────────────────────────────────\n\nexport function useYamlWorkflowVersions(id: string) {\n return useQuery<{ versions: LTYamlWorkflowVersion[]; total: number }>({\n queryKey: ['yamlWorkflows', id, 'versions'],\n queryFn: () => apiFetch(`/yaml-workflows/${id}/versions`),\n enabled: !!id,\n });\n}\n\nexport function useYamlWorkflowVersion(id: string, version: number | null) {\n return useQuery<LTYamlWorkflowVersion>({\n queryKey: ['yamlWorkflows', id, 'versions', version],\n queryFn: () => apiFetch(`/yaml-workflows/${id}/versions/${version}`),\n enabled: !!id && version !== null,\n });\n}\n"],"names":["useYamlWorkflows","filters","params","useQuery","apiFetch","useYamlWorkflowAppIds","useYamlWorkflow","id","useCreateYamlWorkflow","queryClient","useQueryClient","useMutation","input","useDeployYamlWorkflow","useActivateYamlWorkflow","useInvokeYamlWorkflow","data","sync","execute_as","useRegenerateYamlWorkflow","task_queue","compilation_feedback","useArchiveYamlWorkflow","useRestoreYamlWorkflow","useUpdateYamlWorkflow","updates","useDeleteYamlWorkflow","useYamlWorkflowVersions","useYamlWorkflowVersion","version"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yaml-workflows-BS7KHhU1.js","sources":["../../src/api/yaml-workflows.ts"],"sourcesContent":["import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiFetch } from './client';\nimport type { LTYamlWorkflowRecord, LTYamlWorkflowStatus, LTYamlWorkflowVersion } from './types';\n\ninterface YamlWorkflowListResponse {\n workflows: LTYamlWorkflowRecord[];\n total: number;\n}\n\ninterface YamlWorkflowFilters {\n status?: LTYamlWorkflowStatus;\n graph_topic?: string;\n app_id?: string;\n search?: string;\n set_id?: string;\n limit?: number;\n offset?: number;\n}\n\nexport function useYamlWorkflows(filters: YamlWorkflowFilters = {}) {\n const params = new URLSearchParams();\n if (filters.status) params.set('status', filters.status);\n if (filters.graph_topic) params.set('graph_topic', filters.graph_topic);\n if (filters.app_id) params.set('app_id', filters.app_id);\n if (filters.search) params.set('search', filters.search);\n if (filters.set_id) params.set('set_id', filters.set_id);\n if (filters.limit) params.set('limit', String(filters.limit));\n if (filters.offset !== undefined) params.set('offset', String(filters.offset));\n\n return useQuery<YamlWorkflowListResponse>({\n queryKey: ['yamlWorkflows', filters],\n queryFn: () => apiFetch(`/yaml-workflows?${params}`),\n });\n}\n\nexport function useYamlWorkflowAppIds() {\n return useQuery<{ app_ids: string[] }>({\n queryKey: ['yamlWorkflowAppIds'],\n queryFn: () => apiFetch('/yaml-workflows/app-ids'),\n });\n}\n\nexport function useYamlWorkflowByTopic(graphTopic: string | undefined, appId?: string) {\n return useQuery<YamlWorkflowListResponse>({\n queryKey: ['yamlWorkflows', 'byTopic', graphTopic, appId],\n queryFn: () => {\n const params = new URLSearchParams({ graph_topic: graphTopic!, limit: '1' });\n if (appId) params.set('app_id', appId);\n return apiFetch(`/yaml-workflows?${params}`);\n },\n enabled: !!graphTopic,\n });\n}\n\nexport function useYamlWorkflow(id: string) {\n return useQuery<LTYamlWorkflowRecord>({\n queryKey: ['yamlWorkflows', id],\n queryFn: () => apiFetch(`/yaml-workflows/${id}`),\n enabled: !!id,\n });\n}\n\nexport function useCreateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (input: {\n workflow_id: string;\n task_queue: string;\n workflow_name: string;\n name: string;\n description?: string;\n app_id?: string;\n subscribes?: string;\n tags?: string[];\n compilation_feedback?: string;\n }) =>\n apiFetch<LTYamlWorkflowRecord>('/yaml-workflows', {\n method: 'POST',\n body: JSON.stringify(input),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeployYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/deploy`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useActivateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/activate`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useInvokeYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, data, sync, execute_as }: { id: string; data: Record<string, unknown>; sync?: boolean; execute_as?: string }) =>\n apiFetch<{ result?: unknown; job_id?: string }>(`/yaml-workflows/${id}/invoke`, {\n method: 'POST',\n body: JSON.stringify({ data, sync, ...(execute_as ? { execute_as } : {}) }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useRegenerateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, task_queue, compilation_feedback }: { id: string; task_queue?: string; compilation_feedback?: string }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/regenerate`, {\n method: 'POST',\n body: JSON.stringify({ task_queue, compilation_feedback }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useArchiveYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/archive`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useRestoreYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/restore`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflow'], refetchType: 'all' });\n },\n });\n}\n\nexport function useUpdateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, ...updates }: { id: string; yaml_content?: string; name?: string; description?: string; input_schema?: Record<string, unknown>; output_schema?: Record<string, unknown>; tags?: string[]; app_id?: string; graph_topic?: string }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}`, {\n method: 'PUT',\n body: JSON.stringify(updates),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeleteYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<{ deleted: boolean }>(`/yaml-workflows/${id}`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\n// ── Cron scheduling ─────────────────────────────────────────────\n\nexport function useSetYamlCron() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, cron_schedule, cron_envelope, execute_as }: {\n id: string;\n cron_schedule: string;\n cron_envelope?: Record<string, unknown> | null;\n execute_as?: string | null;\n }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/cron`, {\n method: 'PUT',\n body: JSON.stringify({ cron_schedule, cron_envelope, execute_as }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useClearYamlCron() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/cron`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\n// ── Version history ─────────────────────────────────────────────\n\nexport function useYamlWorkflowVersions(id: string) {\n return useQuery<{ versions: LTYamlWorkflowVersion[]; total: number }>({\n queryKey: ['yamlWorkflows', id, 'versions'],\n queryFn: () => apiFetch(`/yaml-workflows/${id}/versions`),\n enabled: !!id,\n });\n}\n\nexport function useYamlWorkflowVersion(id: string, version: number | null) {\n return useQuery<LTYamlWorkflowVersion>({\n queryKey: ['yamlWorkflows', id, 'versions', version],\n queryFn: () => apiFetch(`/yaml-workflows/${id}/versions/${version}`),\n enabled: !!id && version !== null,\n });\n}\n"],"names":["useYamlWorkflows","filters","params","useQuery","apiFetch","useYamlWorkflowAppIds","useYamlWorkflow","id","useCreateYamlWorkflow","queryClient","useQueryClient","useMutation","input","useDeployYamlWorkflow","useActivateYamlWorkflow","useInvokeYamlWorkflow","data","sync","execute_as","useRegenerateYamlWorkflow","task_queue","compilation_feedback","useArchiveYamlWorkflow","useRestoreYamlWorkflow","useUpdateYamlWorkflow","updates","useDeleteYamlWorkflow","useYamlWorkflowVersions","useYamlWorkflowVersion","version"],"mappings":"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"}
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
9
9
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
10
10
|
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
|
|
11
|
-
<script type="module" crossorigin src="./assets/index-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="./assets/vendor-query-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="./assets/vendor-react-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="./assets/vendor-icons-
|
|
15
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
11
|
+
<script type="module" crossorigin src="./assets/index-C8k3Z2su.js"></script>
|
|
12
|
+
<link rel="modulepreload" crossorigin href="./assets/vendor-query-B2UbickB.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="./assets/vendor-react-CXumBFUA.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="./assets/vendor-icons-DOIDKgo6.js">
|
|
15
|
+
<link rel="stylesheet" crossorigin href="./assets/index-BdqKh0UK.css">
|
|
16
16
|
</head>
|
|
17
17
|
<body>
|
|
18
18
|
<div id="root"></div>
|
package/docs/dashboard.md
CHANGED
|
@@ -1,37 +1,48 @@
|
|
|
1
1
|
# Dashboard Guide
|
|
2
2
|
|
|
3
|
-
The Long Tail dashboard is a React single-page application for managing
|
|
3
|
+
The Long Tail dashboard is a React single-page application for managing procedural and graph workflows, escalations, automations, and system administration. It connects to the Long Tail backend over REST and receives real-time updates via socket subscriptions.
|
|
4
4
|
|
|
5
5
|
## Sidebar Navigation
|
|
6
6
|
|
|
7
|
-
The sidebar organizes pages into
|
|
7
|
+
The sidebar organizes pages into six groups.
|
|
8
8
|
|
|
9
|
-
###
|
|
9
|
+
### React
|
|
10
|
+
|
|
11
|
+
The reactive, event-driven surface — where operations watch the floor and builders configure choreography.
|
|
10
12
|
|
|
11
13
|
| Page | Route | Purpose |
|
|
12
14
|
|------|-------|---------|
|
|
13
|
-
| **
|
|
14
|
-
| **
|
|
15
|
-
| **
|
|
15
|
+
| **Pace Board** | `/operations` | COO shop-floor view — pace chart of actual-vs-target flow across every station role, station table with live metrics, and the station detail panel. Visible to any user with ops or builder access. |
|
|
16
|
+
| **Event Topics** | `/topics` | Topic catalog — browse all known event topics with descriptions, schemas, and subscriber counts. |
|
|
17
|
+
| **Agents** | `/agents` | Autonomous event-driven automations (labeled **Automations** when AI is not configured). Configure subscriptions, schedules, and knowledge domains. |
|
|
18
|
+
| **Capabilities** | `/capabilities` | Browse MCP tools grouped by capability category, with a live run panel. |
|
|
19
|
+
|
|
20
|
+
### Orchestrate
|
|
21
|
+
|
|
22
|
+
Top-down durable orchestration, authorable two ways. Both flavors are durable and transactional; they differ in form:
|
|
16
23
|
|
|
17
|
-
|
|
24
|
+
- **Procedural** — imperative TypeScript. Readable, familiar, and the fastest way to author a resilient workflow — no DAG authoring required. It is emulated atop the graph engine, so an equivalent flow costs roughly 6× the activity count of its compiled form. Modern hardware makes that an easy trade in most cases: buy the vCPU, save the engineering time.
|
|
25
|
+
- **Graph** — the compiled YAML DAG, the substrate everything ultimately runs on. Roughly 3× the speed; the right choice when performance genuinely matters. Procedural workflows can be compiled down to graphs, so the Graph executions list shows a mix of hand-authored flows and compiled procedural ones.
|
|
26
|
+
|
|
27
|
+
Each flavor exposes the same shape: configure, invoke, executions.
|
|
18
28
|
|
|
19
29
|
| Page | Route | Purpose |
|
|
20
30
|
|------|-------|---------|
|
|
21
|
-
| **
|
|
22
|
-
| **
|
|
23
|
-
| **
|
|
24
|
-
| **
|
|
31
|
+
| **Procedural → Registry** | `/workflows/registry` | All discovered workflows with tier, queue, and access columns. Configure, certify, or invoke from here. |
|
|
32
|
+
| **Procedural → Invoke** | `/workflows/durable/invoke` | Start any invocable procedural workflow. Two-panel layout with workflow selector and envelope editor. |
|
|
33
|
+
| **Procedural → Executions** | `/workflows/executions` | All procedural runs with status, duration, and tier. Click through to task records and escalation history. |
|
|
34
|
+
| **Graph → Configure** | `/mcp/workflows` | Graph workflows available to the orchestrator — compiled deterministic YAML DAGs, grouped by namespace. |
|
|
35
|
+
| **Graph → Invoke** | `/mcp/workflows/invoke` | Start any active graph flow. Same two-panel layout as procedural invoke. |
|
|
36
|
+
| **Graph → Executions** | `/mcp/executions` | Execution history for graph runs — both dynamic (agentic) and compiled (deterministic). |
|
|
37
|
+
|
|
38
|
+
### Design
|
|
25
39
|
|
|
26
|
-
|
|
40
|
+
The LLM authoring add-on. Appears when an Anthropic key is configured.
|
|
27
41
|
|
|
28
42
|
| Page | Route | Purpose |
|
|
29
43
|
|------|-------|---------|
|
|
30
|
-
| **
|
|
31
|
-
| **
|
|
32
|
-
| **Capabilities** | `/capabilities` | Browse MCP servers grouped by capability category. |
|
|
33
|
-
| **Agent Automations** | `/agents` | Autonomous event-driven automations. Configure subscriptions, schedules, and knowledge domains. |
|
|
34
|
-
| **Topics** | `/topics` | Topic catalog — browse all known event topics with descriptions, schemas, and subscriber counts. |
|
|
44
|
+
| **Designer** | `/mcp/queries` | Design and compile MCP tools. Three modes: Plan (multi-workflow sets), Builder (single tool from execution), and Composer (manual tool design). |
|
|
45
|
+
| **Servers & Tools** | `/mcp/servers` | Browse registered MCP servers and their tools. Register new servers via guided wizard. |
|
|
35
46
|
|
|
36
47
|
### Storage
|
|
37
48
|
|
|
@@ -40,25 +51,37 @@ The sidebar organizes pages into five groups.
|
|
|
40
51
|
| **Files** | `/files` | Browse and manage files in connected storage (MinIO/S3/GCS). |
|
|
41
52
|
| **Knowledge** | `/knowledge` | Knowledge base entries for workflow context and retrieval. |
|
|
42
53
|
|
|
43
|
-
###
|
|
54
|
+
### Identity & Access
|
|
44
55
|
|
|
45
56
|
| Page | Route | Purpose |
|
|
46
57
|
|------|-------|---------|
|
|
47
58
|
| **Accounts** | `/admin/users` | User accounts and service accounts (bots). Create, edit, assign roles, manage API keys. |
|
|
48
59
|
| **Roles** | `/admin/roles` | Define roles — the queues, forms, and membership that connect workflows to people. Escalation chains, capacity settings, and versioned schemas live here. |
|
|
60
|
+
|
|
61
|
+
### Infrastructure
|
|
62
|
+
|
|
63
|
+
Builder-only.
|
|
64
|
+
|
|
65
|
+
| Page | Route | Purpose |
|
|
66
|
+
|------|-------|---------|
|
|
67
|
+
| **Routers** | `/admin/controlplane` | Active task queues, connected engines and workers, queue depth, and worker health. |
|
|
68
|
+
| **Messages** | `/admin/streams` | Stream message browser for queue debugging. |
|
|
49
69
|
| **DB Maintenance** | `/admin/maintenance` | Database housekeeping — vacuum, reindex, table statistics. |
|
|
50
|
-
| **Task Queues** | `/admin/controlplane` | Active task queues, connected workers, queue depth, and worker health. |
|
|
51
70
|
|
|
52
71
|
### Header
|
|
53
72
|
|
|
54
73
|
The top navigation bar contains:
|
|
55
74
|
|
|
56
|
-
- **Home logo** — links to the home page (`/`),
|
|
57
|
-
- **
|
|
58
|
-
- **
|
|
59
|
-
- **
|
|
60
|
-
- **
|
|
61
|
-
- **User menu**
|
|
75
|
+
- **Home logo** — links to the home page (`/`), Recent Activity.
|
|
76
|
+
- **all** — links to `/escalations/available` with a live count of unclaimed escalations.
|
|
77
|
+
- **mine** — links to `/escalations/queue` with a live count of escalations assigned to you.
|
|
78
|
+
- **events** — toggles the live event feed (builders and ops; doubles as the connection indicator).
|
|
79
|
+
- **docs** (BookOpen icon) — toggles the in-app documentation drawer. Each page also has a contextual docs link next to its title that opens the drawer to the relevant section.
|
|
80
|
+
- **User menu** — Credentials, theme picker (five accent themes), and Sign Out.
|
|
81
|
+
|
|
82
|
+
## Home — Recent Activity
|
|
83
|
+
|
|
84
|
+
The home page mirrors the navigation. Row 1 reflects the two header escalation links: **All Escalations** and **My Escalations**, each showing the five most recent items. Row 2 reflects the Orchestrate story and is tiered by role: superadmins and engineers see the **Pace Board** chart at a glance (click through to `/operations`) beside the five most recent **Procedural** and **Graph** executions; admins — who don't see workflows — get the Pace Board spanning the full row; operators see row 1 only.
|
|
62
85
|
|
|
63
86
|
## Key Pages
|
|
64
87
|
|
|
@@ -97,22 +120,15 @@ workers: [
|
|
|
97
120
|
|
|
98
121
|
### Invoke Workflow
|
|
99
122
|
|
|
100
|
-
A two-panel page for starting any invocable workflow. The left
|
|
101
|
-
|
|
102
|
-
**Mode toggle** (top right): Switch between **Start Now** and **Schedule**.
|
|
123
|
+
A two-panel page for starting any invocable procedural workflow. The left panel lists invocable workflows grouped by task queue, with a queue select and search in the filter bar. Workflows with active cron schedules show a clock icon. Selecting a workflow opens the invocation form on the right:
|
|
103
124
|
|
|
104
|
-
**Start Now** — immediate invocation:
|
|
105
125
|
- **Identity summary** — shows who will execute (current user, configured bot, or admin override).
|
|
106
126
|
- **Envelope editor** — dual-mode input: a structured form view (when `envelope_schema.data` has scalar fields) or a raw JSON editor. The form auto-generates fields from the schema with inferred types.
|
|
107
127
|
- **Start Workflow** button — invokes the workflow and navigates to the executions page.
|
|
108
128
|
|
|
109
|
-
|
|
110
|
-
- **Cron expression** — enter a standard cron expression (e.g., `0 9 * * 1-5`). A human-readable description appears below the input. Expressions firing more often than once per minute are rejected.
|
|
111
|
-
- **Common patterns** — clickable presets for frequent schedules.
|
|
112
|
-
- **Cron envelope** — template payload sent on each scheduled invocation.
|
|
113
|
-
- **Recent executions** — table showing the last 10 runs of the selected workflow.
|
|
129
|
+
Recurring (cron) execution is owned by Automations — schedule workflows from the Agents page.
|
|
114
130
|
|
|
115
|
-
**API:** `POST /api/workflows/:type/invoke` starts a workflow.
|
|
131
|
+
**API:** `POST /api/workflows/:type/invoke` starts a workflow.
|
|
116
132
|
|
|
117
133
|
### MCP Tool Designer
|
|
118
134
|
|
|
@@ -132,7 +148,7 @@ The MCP Tool Designer page lists previous tool design sessions and provides entr
|
|
|
132
148
|
|
|
133
149
|
**Composer mode** — manual tool design for building tools from scratch using the visual DAG editor.
|
|
134
150
|
|
|
135
|
-
Steps unlock sequentially in each wizard. Compiled tools appear in **
|
|
151
|
+
Steps unlock sequentially in each wizard. Compiled tools appear in **Graph Workflows** and **Graph Executions**. See the [Compilation Pipeline](compilation.md) guide for details.
|
|
136
152
|
|
|
137
153
|
### MCP Server Tools
|
|
138
154
|
|
|
@@ -144,9 +160,9 @@ Browse all registered MCP servers and their exposed tools.
|
|
|
144
160
|
|
|
145
161
|
**API:** `GET /api/mcp-servers` lists servers. `POST /api/mcp-servers` registers a new one. `GET /api/mcp-servers/:id/tools` lists tools for a server.
|
|
146
162
|
|
|
147
|
-
###
|
|
163
|
+
### Graph Workflows
|
|
148
164
|
|
|
149
|
-
Deterministic
|
|
165
|
+
The Graph → Configure page. Deterministic workflows compiled from dynamic MCP executions or authored directly. Each is a YAML DAG that the `mcpQueryRouter` discovers and invokes automatically — faster and cheaper than re-running the original agentic loop.
|
|
150
166
|
|
|
151
167
|
**Page layout:** Tools are grouped by namespace (app_id). Expand a namespace to see its individual tools. Each tool row shows name, status, and action buttons.
|
|
152
168
|
|
|
@@ -164,9 +180,9 @@ Deterministic tools compiled from dynamic MCP executions. Each tool is a YAML DA
|
|
|
164
180
|
|
|
165
181
|
**API:** `GET /api/yaml-workflows` lists pipeline tools. `POST /api/yaml-workflows/:id/deploy` deploys. `POST /api/yaml-workflows/:id/activate` activates. `POST /api/yaml-workflows/:id/invoke` invokes.
|
|
166
182
|
|
|
167
|
-
###
|
|
183
|
+
### Graph Executions
|
|
168
184
|
|
|
169
|
-
Execution history for all
|
|
185
|
+
Execution history for all graph runs — both dynamic (agentic LLM loops) and compiled (deterministic YAML DAGs). Because procedural workflows compile down to graphs, this list mixes hand-authored flows with compiled procedural ones.
|
|
170
186
|
|
|
171
187
|
- **Columns:** Workflow ID, type (dynamic/deterministic), status, duration, and start time.
|
|
172
188
|
- **Duration comparison** — deterministic runs are typically faster and cheaper than their dynamic counterparts. Use this page to verify that compiled tools match or exceed the quality of dynamic executions.
|
|
@@ -174,9 +190,9 @@ Execution history for all MCP pipeline runs — both dynamic (agentic LLM loops)
|
|
|
174
190
|
|
|
175
191
|
**API:** `GET /api/pipelines` lists executions with status, type, and pagination filters.
|
|
176
192
|
|
|
177
|
-
###
|
|
193
|
+
### Procedural Executions
|
|
178
194
|
|
|
179
|
-
Lists all
|
|
195
|
+
Lists all procedural workflow runs across the system.
|
|
180
196
|
|
|
181
197
|
- **Tier filter** (top) — switch between All, Certified, and Durable to focus on specific workflow types.
|
|
182
198
|
- **Columns:** Workflow name, workflow ID, status (running/completed/failed), start time, and duration.
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{v as n,j as o}from"./index-DgCS2Frb.js";import{c as m}from"./tasks-DNdvW5H6.js";import{f as d}from"./useEventHooks-CUUeBSH1.js";import{u}from"./mcp-BtG54ZAx.js";import{P as c}from"./PageHeaderWithStats-Cf8TYFRh.js";import"./vendor-query-DLp59M9_.js";import"./vendor-react-zA2lQFDs.js";import"./vendor-icons-CNyYGNsk.js";function N(){var e;d();const{data:a}=m({limit:1}),{data:t}=n({status:"pending",limit:1}),{data:s}=u(),i=((e=s==null?void 0:s.servers)==null?void 0:e.filter(l=>l.status==="connected").length)??0,r=s?`${i}/${s.total}`:"—";return o.jsxDEV("div",{children:o.jsxDEV(c,{title:"Admin",stats:[{label:"Tasks",value:(a==null?void 0:a.total)??"—"},{label:"Pending Escalations",value:(t==null?void 0:t.total)??"—",dotClass:"bg-status-pending"},{label:"MCP Servers",value:r},{label:"System",value:"Healthy",dotClass:"bg-status-success"}]},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/AdminDashboard.tsx",lineNumber:19,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/AdminDashboard.tsx",lineNumber:18,columnNumber:5},this)}export{N as AdminDashboard};
|
|
2
|
-
//# sourceMappingURL=AdminDashboard-Ck5-jV9T.js.map
|