@hotmeshio/long-tail 0.4.5 → 0.4.7
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/files.js +8 -0
- package/build/api/topics.d.ts +5 -0
- package/build/api/topics.js +20 -0
- package/build/api/users.d.ts +2 -0
- package/build/api/users.js +1 -0
- package/build/index.js +8 -0
- package/build/routes/topics.js +12 -0
- package/build/services/agent/trigger-registry.d.ts +9 -0
- package/build/services/agent/trigger-registry.js +25 -2
- package/build/services/user/crud.js +4 -0
- package/build/services/user/index.d.ts +1 -0
- package/build/services/user/index.js +3 -1
- package/build/services/user/seed-admin.d.ts +13 -0
- package/build/services/user/seed-admin.js +42 -0
- package/build/services/user/types.d.ts +1 -0
- package/build/start/index.js +2 -2
- package/build/start/workers.d.ts +3 -1
- package/build/start/workers.js +10 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/startup.d.ts +41 -0
- package/dashboard/dist/assets/AdminDashboard-qZYNzvw8.js +2 -0
- package/dashboard/dist/assets/{AdminDashboard-ntLz5Pro.js.map → AdminDashboard-qZYNzvw8.js.map} +1 -1
- package/dashboard/dist/assets/AgentConfigPage-_SMbioNp.js +16 -0
- package/dashboard/dist/assets/AgentConfigPage-_SMbioNp.js.map +1 -0
- package/dashboard/dist/assets/AgentDetailPage-Cf_SRtbT.js +4 -0
- package/dashboard/dist/assets/{AgentDetailPage-Cm2KFR4O.js.map → AgentDetailPage-Cf_SRtbT.js.map} +1 -1
- package/dashboard/dist/assets/AgentsPage-q53C1Xk_.js +2 -0
- package/dashboard/dist/assets/{AgentsPage-_ptA-0YO.js.map → AgentsPage-q53C1Xk_.js.map} +1 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-DHWciaKb.js +2 -0
- package/dashboard/dist/assets/{AvailableEscalationsPage-bdPqEzbx.js.map → AvailableEscalationsPage-DHWciaKb.js.map} +1 -1
- package/dashboard/dist/assets/BotPicker-638n5Jaz.js +2 -0
- package/dashboard/dist/assets/{BotPicker-CYfFMpkY.js.map → BotPicker-638n5Jaz.js.map} +1 -1
- package/dashboard/dist/assets/CapabilitiesPage-PmgEhPl8.js +2 -0
- package/dashboard/dist/assets/{CapabilitiesPage-M7-ZTFNV.js.map → CapabilitiesPage-PmgEhPl8.js.map} +1 -1
- package/dashboard/dist/assets/CollapsibleSection-BEZoI6NU.js +2 -0
- package/dashboard/dist/assets/{CollapsibleSection-DU5KAtQ-.js.map → CollapsibleSection-BEZoI6NU.js.map} +1 -1
- package/dashboard/dist/assets/ConfirmDeleteModal-dOxidrSR.js +2 -0
- package/dashboard/dist/assets/{ConfirmDeleteModal-_hW5Vc05.js.map → ConfirmDeleteModal-dOxidrSR.js.map} +1 -1
- package/dashboard/dist/assets/CopyableId-D0SQ39nR.js +2 -0
- package/dashboard/dist/assets/{CopyableId-DiWqv41D.js.map → CopyableId-D0SQ39nR.js.map} +1 -1
- package/dashboard/dist/assets/CredentialsPage-Dl15oW3U.js +2 -0
- package/dashboard/dist/assets/{CredentialsPage-CmbwypSF.js.map → CredentialsPage-Dl15oW3U.js.map} +1 -1
- package/dashboard/dist/assets/CronLabel-Dg8U0s5a.js +2 -0
- package/dashboard/dist/assets/{CronLabel-nycfAefc.js.map → CronLabel-Dg8U0s5a.js.map} +1 -1
- package/dashboard/dist/assets/CustomDurationPicker-BCbVMr-4.js +2 -0
- package/dashboard/dist/assets/{CustomDurationPicker-gNZRBaHg.js.map → CustomDurationPicker-BCbVMr-4.js.map} +1 -1
- package/dashboard/dist/assets/DataTable-D9yuBv0w.js +2 -0
- package/dashboard/dist/assets/{DataTable-DGerT2ZM.js.map → DataTable-D9yuBv0w.js.map} +1 -1
- package/dashboard/dist/assets/DropZone-lw2wmqty.js +2 -0
- package/dashboard/dist/assets/{DropZone-vNcqMd05.js.map → DropZone-lw2wmqty.js.map} +1 -1
- package/dashboard/dist/assets/ElapsedCell-fuG5wRDw.js +2 -0
- package/dashboard/dist/assets/{ElapsedCell-CdvQbtve.js.map → ElapsedCell-fuG5wRDw.js.map} +1 -1
- package/dashboard/dist/assets/EmptyState-BcsfPq9T.js +2 -0
- package/dashboard/dist/assets/{EmptyState-DMldv8c5.js.map → EmptyState-BcsfPq9T.js.map} +1 -1
- package/dashboard/dist/assets/EscalationsOverview-nYOZczYx.js +2 -0
- package/dashboard/dist/assets/{EscalationsOverview-BNENCL_2.js.map → EscalationsOverview-nYOZczYx.js.map} +1 -1
- package/dashboard/dist/assets/EventTable-Cm0Ql46x.js +2 -0
- package/dashboard/dist/assets/{EventTable-BqDAyXyc.js.map → EventTable-Cm0Ql46x.js.map} +1 -1
- package/dashboard/dist/assets/EventTopicPill-RaASGdZz.js +2 -0
- package/dashboard/dist/assets/{EventTopicPill-CnHFBglc.js.map → EventTopicPill-RaASGdZz.js.map} +1 -1
- package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +2 -0
- package/dashboard/dist/assets/{FilterBar-TYiTtUgv.js.map → FilterBar-Ck4K4rzu.js.map} +1 -1
- package/dashboard/dist/assets/HomePage-Cx6pvCFX.js +2 -0
- package/dashboard/dist/assets/{HomePage-fterfLKH.js.map → HomePage-Cx6pvCFX.js.map} +1 -1
- package/dashboard/dist/assets/ListToolbar-YHesiWwN.js +2 -0
- package/dashboard/dist/assets/{ListToolbar-BO5Igi6v.js.map → ListToolbar-YHesiWwN.js.map} +1 -1
- package/dashboard/dist/assets/McpOverview-BWsaxVKL.js +2 -0
- package/dashboard/dist/assets/{McpOverview-BQokGg0z.js.map → McpOverview-BWsaxVKL.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryDetailPage-CQk3YpR-.js +5 -0
- package/dashboard/dist/assets/McpQueryDetailPage-CQk3YpR-.js.map +1 -0
- package/dashboard/dist/assets/McpQueryPage-Uf5DKujM.js +2 -0
- package/dashboard/dist/assets/{McpQueryPage-DUey_h9J.js.map → McpQueryPage-Uf5DKujM.js.map} +1 -1
- package/dashboard/dist/assets/McpRunDetailPage-D9GU27cS.js +2 -0
- package/dashboard/dist/assets/{McpRunDetailPage-Cv4qyr91.js.map → McpRunDetailPage-D9GU27cS.js.map} +1 -1
- package/dashboard/dist/assets/McpRunsPage-5dVAu25-.js +2 -0
- package/dashboard/dist/assets/{McpRunsPage-B3R6KZ61.js.map → McpRunsPage-5dVAu25-.js.map} +1 -1
- package/dashboard/dist/assets/Modal-DEODGeqx.js +2 -0
- package/dashboard/dist/assets/{Modal-Qe8lW7gQ.js.map → Modal-DEODGeqx.js.map} +1 -1
- package/dashboard/dist/assets/OperatorDashboard-DNJtUDxl.js +2 -0
- package/dashboard/dist/assets/{OperatorDashboard-dldvzjcg.js.map → OperatorDashboard-DNJtUDxl.js.map} +1 -1
- package/dashboard/dist/assets/PageHeader-B4w-LDUF.js +2 -0
- package/dashboard/dist/assets/{PageHeader-DF4BeEm4.js.map → PageHeader-B4w-LDUF.js.map} +1 -1
- package/dashboard/dist/assets/PageHeaderWithStats-DQmNXYcG.js +2 -0
- package/dashboard/dist/assets/{PageHeaderWithStats-BQZw6BgA.js.map → PageHeaderWithStats-DQmNXYcG.js.map} +1 -1
- package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +2 -0
- package/dashboard/dist/assets/{PriorityBadge-DMyB3WLZ.js.map → PriorityBadge-DfQY9St9.js.map} +1 -1
- package/dashboard/dist/assets/ProcessDetailPage-BPsvlG0E.js +2 -0
- package/dashboard/dist/assets/{ProcessDetailPage-Beo-QVL-.js.map → ProcessDetailPage-BPsvlG0E.js.map} +1 -1
- package/dashboard/dist/assets/ProcessesListPage-CnuCtHSP.js +2 -0
- package/dashboard/dist/assets/{ProcessesListPage-C_ars8gp.js.map → ProcessesListPage-CnuCtHSP.js.map} +1 -1
- package/dashboard/dist/assets/RolePill-Dk-YUxCm.js +2 -0
- package/dashboard/dist/assets/{RolePill-DrBZ7JJj.js.map → RolePill-Dk-YUxCm.js.map} +1 -1
- package/dashboard/dist/assets/RolesPage-BGJMx2S2.js +2 -0
- package/dashboard/dist/assets/{RolesPage-DgSXFFGL.js.map → RolesPage-BGJMx2S2.js.map} +1 -1
- package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +2 -0
- package/dashboard/dist/assets/{RowActions-QcakGbVA.js.map → RowActions-Dg-Fsm5O.js.map} +1 -1
- package/dashboard/dist/assets/RunAsSelector-CcNnj5AF.js +2 -0
- package/dashboard/dist/assets/{RunAsSelector-CYMeZwrM.js.map → RunAsSelector-CcNnj5AF.js.map} +1 -1
- package/dashboard/dist/assets/ServerName-BXSm_14r.js +2 -0
- package/dashboard/dist/assets/{ServerName-D5NKD06M.js.map → ServerName-BXSm_14r.js.map} +1 -1
- package/dashboard/dist/assets/StatCard-DlgF0CJC.js +2 -0
- package/dashboard/dist/assets/{StatCard-PZQmmCHK.js.map → StatCard-DlgF0CJC.js.map} +1 -1
- package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js +2 -0
- package/dashboard/dist/assets/{StatusBadge-ME2R6a7K.js.map → StatusBadge-XQlNFwmH.js.map} +1 -1
- package/dashboard/dist/assets/StepIndicator-CuUIGxKk.js +2 -0
- package/dashboard/dist/assets/{StepIndicator-CDDVahOz.js.map → StepIndicator-CuUIGxKk.js.map} +1 -1
- package/dashboard/dist/assets/StickyPagination-BWhFSr2d.js +2 -0
- package/dashboard/dist/assets/{StickyPagination-Ddy93Q5I.js.map → StickyPagination-BWhFSr2d.js.map} +1 -1
- package/dashboard/dist/assets/SwimlaneTimeline-fWiYlTQw.js +2 -0
- package/dashboard/dist/assets/{SwimlaneTimeline-CYYA8nd9.js.map → SwimlaneTimeline-fWiYlTQw.js.map} +1 -1
- package/dashboard/dist/assets/TagInput-CYh3PFNq.js +2 -0
- package/dashboard/dist/assets/{TagInput-B45Dm3IW.js.map → TagInput-CYh3PFNq.js.map} +1 -1
- package/dashboard/dist/assets/TaskDetailPage-Byz19B5I.js +2 -0
- package/dashboard/dist/assets/TaskDetailPage-Byz19B5I.js.map +1 -0
- package/dashboard/dist/assets/TaskQueuePill-BSFLiBcf.js +2 -0
- package/dashboard/dist/assets/{TaskQueuePill-BJRUjVDv.js.map → TaskQueuePill-BSFLiBcf.js.map} +1 -1
- package/dashboard/dist/assets/TasksListPage-pe1Opw6s.js +2 -0
- package/dashboard/dist/assets/{TasksListPage-Czu08px3.js.map → TasksListPage-pe1Opw6s.js.map} +1 -1
- package/dashboard/dist/assets/TimeAgo-8aYUlXT9.js +2 -0
- package/dashboard/dist/assets/{TimeAgo-CJ56IUy6.js.map → TimeAgo-8aYUlXT9.js.map} +1 -1
- package/dashboard/dist/assets/TimestampCell-_1fW34op.js +2 -0
- package/dashboard/dist/assets/{TimestampCell-QtcYZ9Jx.js.map → TimestampCell-_1fW34op.js.map} +1 -1
- package/dashboard/dist/assets/ToolPill-CcKNnnrK.js +2 -0
- package/dashboard/dist/assets/{ToolPill-DpDv3FwI.js.map → ToolPill-CcKNnnrK.js.map} +1 -1
- package/dashboard/dist/assets/ToolTestPanel-BD7ZkPeM.js +2 -0
- package/dashboard/dist/assets/{ToolTestPanel-BzFOwzd_.js.map → ToolTestPanel-BD7ZkPeM.js.map} +1 -1
- package/dashboard/dist/assets/TopicDetailPage-DL6QarSi.js +9 -0
- package/dashboard/dist/assets/TopicDetailPage-DL6QarSi.js.map +1 -0
- package/dashboard/dist/assets/TopicsPage-JYAk0csl.js +2 -0
- package/dashboard/dist/assets/{TopicsPage-DKXlpZl_.js.map → TopicsPage-JYAk0csl.js.map} +1 -1
- package/dashboard/dist/assets/UserName-Dcn8reNm.js +2 -0
- package/dashboard/dist/assets/{UserName-zlR1so37.js.map → UserName-Dcn8reNm.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowExecutionPage-DPie2xiD.js +2 -0
- package/dashboard/dist/assets/{WorkflowExecutionPage-BMNIxeJB.js.map → WorkflowExecutionPage-DPie2xiD.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowPill-BkfIn8N3.js +2 -0
- package/dashboard/dist/assets/{WorkflowPill-B5B3yGlh.js.map → WorkflowPill-BkfIn8N3.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsDashboard-BRKurUye.js +2 -0
- package/dashboard/dist/assets/{WorkflowsDashboard-BlAPZbQZ.js.map → WorkflowsDashboard-BRKurUye.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsOverview-C9Wob38P.js +2 -0
- package/dashboard/dist/assets/{WorkflowsOverview-NnPi6rwS.js.map → WorkflowsOverview-C9Wob38P.js.map} +1 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-BoKSRpKN.js +2 -0
- package/dashboard/dist/assets/{YamlWorkflowsPage-C4mZum6x.js.map → YamlWorkflowsPage-BoKSRpKN.js.map} +1 -1
- package/dashboard/dist/assets/{agents-B5wvILeV.js → agents-CpLOugsY.js} +2 -2
- package/dashboard/dist/assets/{agents-B5wvILeV.js.map → agents-CpLOugsY.js.map} +1 -1
- package/dashboard/dist/assets/{bots-BPlouRDm.js → bots-DRrquJqC.js} +2 -2
- package/dashboard/dist/assets/{bots-BPlouRDm.js.map → bots-DRrquJqC.js.map} +1 -1
- package/dashboard/dist/assets/capabilities-xbHvOXKc.js +2 -0
- package/dashboard/dist/assets/{capabilities-DkvRG09b.js.map → capabilities-xbHvOXKc.js.map} +1 -1
- package/dashboard/dist/assets/{controlplane-0m_rA-UW.js → controlplane-FilVp8jI.js} +2 -2
- package/dashboard/dist/assets/{controlplane-0m_rA-UW.js.map → controlplane-FilVp8jI.js.map} +1 -1
- package/dashboard/dist/assets/escalation-SGea3mBy.js +2 -0
- package/dashboard/dist/assets/{escalation-CfIAIUg2.js.map → escalation-SGea3mBy.js.map} +1 -1
- package/dashboard/dist/assets/escalation-columns-C6sLGnSX.js +2 -0
- package/dashboard/dist/assets/{escalation-columns-CLIdxlbe.js.map → escalation-columns-C6sLGnSX.js.map} +1 -1
- package/dashboard/dist/assets/helpers-wHzG3Maf.js +2 -0
- package/dashboard/dist/assets/{helpers-prGqC38M.js.map → helpers-wHzG3Maf.js.map} +1 -1
- package/dashboard/dist/assets/index-90jmsIHz.js +6 -0
- package/dashboard/dist/assets/{index-CFoddJDr.js.map → index-90jmsIHz.js.map} +1 -1
- package/dashboard/dist/assets/index-B7Vxutyl.js +63 -0
- package/dashboard/dist/assets/index-B7Vxutyl.js.map +1 -0
- package/dashboard/dist/assets/index-BS3KIrQL.js +2 -0
- package/dashboard/dist/assets/{index-P9huxx3-.js.map → index-BS3KIrQL.js.map} +1 -1
- package/dashboard/dist/assets/index-Bu2EEWNN.js +2 -0
- package/dashboard/dist/assets/{index-C0sDEKdo.js.map → index-Bu2EEWNN.js.map} +1 -1
- package/dashboard/dist/assets/index-C7k3xfpt.js +2 -0
- package/dashboard/dist/assets/{index-CuY5hPYB.js.map → index-C7k3xfpt.js.map} +1 -1
- package/dashboard/dist/assets/index-C8xDd-Ys.js +2 -0
- package/dashboard/dist/assets/{index-DqeLbz6j.js.map → index-C8xDd-Ys.js.map} +1 -1
- package/dashboard/dist/assets/index-CkYNpw4d.js +2 -0
- package/dashboard/dist/assets/{index-BR3SwTNI.js.map → index-CkYNpw4d.js.map} +1 -1
- package/dashboard/dist/assets/index-DVxBi47d.js +2 -0
- package/dashboard/dist/assets/{index-C2MJzu6J.js.map → index-DVxBi47d.js.map} +1 -1
- package/dashboard/dist/assets/{index-BPxglOYm.css → index-DZI2L4ag.css} +1 -1
- package/dashboard/dist/assets/index-Dr8WJAGM.js +6 -0
- package/dashboard/dist/assets/index-Dr8WJAGM.js.map +1 -0
- package/dashboard/dist/assets/index-DzgixtgL.js +2 -0
- package/dashboard/dist/assets/{index-DeL84Cag.js.map → index-DzgixtgL.js.map} +1 -1
- package/dashboard/dist/assets/index-E1i1ADY1.js +15 -0
- package/dashboard/dist/assets/{index-BgVuyWhi.js.map → index-E1i1ADY1.js.map} +1 -1
- package/dashboard/dist/assets/index-H2tN256i.js +2 -0
- package/dashboard/dist/assets/{index-CwkJBn87.js.map → index-H2tN256i.js.map} +1 -1
- package/dashboard/dist/assets/index-WwUcAoas.js +2 -0
- package/dashboard/dist/assets/{index-BWKIigEk.js.map → index-WwUcAoas.js.map} +1 -1
- package/dashboard/dist/assets/{knowledge-CUZxyRCO.js → knowledge-CQWNz28-.js} +2 -2
- package/dashboard/dist/assets/{knowledge-CUZxyRCO.js.map → knowledge-CQWNz28-.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-B5VQPoF3.js → mcp-J_cDlKuA.js} +2 -2
- package/dashboard/dist/assets/{mcp-B5VQPoF3.js.map → mcp-J_cDlKuA.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-Ba5Zj3yg.js → mcp-query-C1zyeRvo.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-Ba5Zj3yg.js.map → mcp-query-C1zyeRvo.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-runs-CAiEr5Fc.js → mcp-runs-BR4fvXXw.js} +2 -2
- package/dashboard/dist/assets/{mcp-runs-CAiEr5Fc.js.map → mcp-runs-BR4fvXXw.js.map} +1 -1
- package/dashboard/dist/assets/namespaces-XOr9_XCV.js +2 -0
- package/dashboard/dist/assets/{namespaces-sVr5scma.js.map → namespaces-XOr9_XCV.js.map} +1 -1
- package/dashboard/dist/assets/{roles-E_bA4e0f.js → roles-yuxJgQBf.js} +2 -2
- package/dashboard/dist/assets/{roles-E_bA4e0f.js.map → roles-yuxJgQBf.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-CL6Gv8jB.js → tasks-CI3qsHdP.js} +2 -2
- package/dashboard/dist/assets/{tasks-CL6Gv8jB.js.map → tasks-CI3qsHdP.js.map} +1 -1
- package/dashboard/dist/assets/topics-lm2GYKuv.js +2 -0
- package/dashboard/dist/assets/{topics-DbtPHERP.js.map → topics-lm2GYKuv.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/{useEventHooks-C6c618cj.js → useEventHooks-DpvfSw9p.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-C6c618cj.js.map → useEventHooks-DpvfSw9p.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-eK7kIUdh.js → useYamlActivityEvents-D-zuU9Ts.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-eK7kIUdh.js.map → useYamlActivityEvents-D-zuU9Ts.js.map} +1 -1
- package/dashboard/dist/assets/{users-CCHSIAxt.js → users-DRkulG9o.js} +2 -2
- package/dashboard/dist/assets/{users-CCHSIAxt.js.map → users-DRkulG9o.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-D8-ZINAH.js → vendor-icons-5gSix3t2.js} +107 -102
- package/dashboard/dist/assets/vendor-icons-5gSix3t2.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-BNbocg_9.js → workflows-dhvM792w.js} +2 -2
- package/dashboard/dist/assets/{workflows-BNbocg_9.js.map → workflows-dhvM792w.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-Cu1FUwrc.js → yaml-workflows-DqbGpE2x.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-Cu1FUwrc.js.map → yaml-workflows-DqbGpE2x.js.map} +1 -1
- package/dashboard/dist/index.html +5 -5
- package/package.json +1 -1
- package/dashboard/dist/assets/AdminDashboard-ntLz5Pro.js +0 -2
- package/dashboard/dist/assets/AgentConfigPage-D27vWOI6.js +0 -16
- package/dashboard/dist/assets/AgentConfigPage-D27vWOI6.js.map +0 -1
- package/dashboard/dist/assets/AgentDetailPage-Cm2KFR4O.js +0 -4
- package/dashboard/dist/assets/AgentsPage-_ptA-0YO.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-bdPqEzbx.js +0 -2
- package/dashboard/dist/assets/BotPicker-CYfFMpkY.js +0 -2
- package/dashboard/dist/assets/CapabilitiesPage-M7-ZTFNV.js +0 -2
- package/dashboard/dist/assets/CollapsibleSection-DU5KAtQ-.js +0 -2
- package/dashboard/dist/assets/ConfirmDeleteModal-_hW5Vc05.js +0 -2
- package/dashboard/dist/assets/CopyableId-DiWqv41D.js +0 -2
- package/dashboard/dist/assets/CredentialsPage-CmbwypSF.js +0 -2
- package/dashboard/dist/assets/CronLabel-nycfAefc.js +0 -2
- package/dashboard/dist/assets/CustomDurationPicker-gNZRBaHg.js +0 -2
- package/dashboard/dist/assets/DataTable-DGerT2ZM.js +0 -2
- package/dashboard/dist/assets/DropZone-vNcqMd05.js +0 -2
- package/dashboard/dist/assets/ElapsedCell-CdvQbtve.js +0 -2
- package/dashboard/dist/assets/EmptyState-DMldv8c5.js +0 -2
- package/dashboard/dist/assets/EscalationsOverview-BNENCL_2.js +0 -2
- package/dashboard/dist/assets/EventTable-BqDAyXyc.js +0 -2
- package/dashboard/dist/assets/EventTopicPill-CnHFBglc.js +0 -2
- package/dashboard/dist/assets/FilterBar-TYiTtUgv.js +0 -2
- package/dashboard/dist/assets/HomePage-fterfLKH.js +0 -2
- package/dashboard/dist/assets/ListToolbar-BO5Igi6v.js +0 -2
- package/dashboard/dist/assets/McpOverview-BQokGg0z.js +0 -2
- package/dashboard/dist/assets/McpQueryDetailPage-0WOp2n_j.js +0 -5
- package/dashboard/dist/assets/McpQueryDetailPage-0WOp2n_j.js.map +0 -1
- package/dashboard/dist/assets/McpQueryPage-DUey_h9J.js +0 -2
- package/dashboard/dist/assets/McpRunDetailPage-Cv4qyr91.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-B3R6KZ61.js +0 -2
- package/dashboard/dist/assets/Modal-Qe8lW7gQ.js +0 -2
- package/dashboard/dist/assets/OperatorDashboard-dldvzjcg.js +0 -2
- package/dashboard/dist/assets/PageHeader-DF4BeEm4.js +0 -2
- package/dashboard/dist/assets/PageHeaderWithStats-BQZw6BgA.js +0 -2
- package/dashboard/dist/assets/PriorityBadge-DMyB3WLZ.js +0 -2
- package/dashboard/dist/assets/ProcessDetailPage-Beo-QVL-.js +0 -2
- package/dashboard/dist/assets/ProcessesListPage-C_ars8gp.js +0 -2
- package/dashboard/dist/assets/RolePill-DrBZ7JJj.js +0 -2
- package/dashboard/dist/assets/RolesPage-DgSXFFGL.js +0 -2
- package/dashboard/dist/assets/RowActions-QcakGbVA.js +0 -2
- package/dashboard/dist/assets/RunAsSelector-CYMeZwrM.js +0 -2
- package/dashboard/dist/assets/ServerName-D5NKD06M.js +0 -2
- package/dashboard/dist/assets/StatCard-PZQmmCHK.js +0 -2
- package/dashboard/dist/assets/StatusBadge-ME2R6a7K.js +0 -2
- package/dashboard/dist/assets/StepIndicator-CDDVahOz.js +0 -2
- package/dashboard/dist/assets/StickyPagination-Ddy93Q5I.js +0 -2
- package/dashboard/dist/assets/SwimlaneTimeline-CYYA8nd9.js +0 -2
- package/dashboard/dist/assets/TagInput-B45Dm3IW.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-CoZFkJ6d.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-CoZFkJ6d.js.map +0 -1
- package/dashboard/dist/assets/TaskQueuePill-BJRUjVDv.js +0 -2
- package/dashboard/dist/assets/TasksListPage-Czu08px3.js +0 -2
- package/dashboard/dist/assets/TimeAgo-CJ56IUy6.js +0 -2
- package/dashboard/dist/assets/TimestampCell-QtcYZ9Jx.js +0 -2
- package/dashboard/dist/assets/ToolPill-DpDv3FwI.js +0 -2
- package/dashboard/dist/assets/ToolTestPanel-BzFOwzd_.js +0 -2
- package/dashboard/dist/assets/TopicDetailPage-DwShZbh9.js +0 -9
- package/dashboard/dist/assets/TopicDetailPage-DwShZbh9.js.map +0 -1
- package/dashboard/dist/assets/TopicsPage-DKXlpZl_.js +0 -2
- package/dashboard/dist/assets/UserName-zlR1so37.js +0 -2
- package/dashboard/dist/assets/WorkflowExecutionPage-BMNIxeJB.js +0 -2
- package/dashboard/dist/assets/WorkflowPill-B5B3yGlh.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-BlAPZbQZ.js +0 -2
- package/dashboard/dist/assets/WorkflowsOverview-NnPi6rwS.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-C4mZum6x.js +0 -2
- package/dashboard/dist/assets/capabilities-DkvRG09b.js +0 -2
- package/dashboard/dist/assets/escalation-CfIAIUg2.js +0 -2
- package/dashboard/dist/assets/escalation-columns-CLIdxlbe.js +0 -2
- package/dashboard/dist/assets/helpers-prGqC38M.js +0 -2
- package/dashboard/dist/assets/index-4T7Z_gQ4.js +0 -281
- package/dashboard/dist/assets/index-4T7Z_gQ4.js.map +0 -1
- package/dashboard/dist/assets/index-BR3SwTNI.js +0 -2
- package/dashboard/dist/assets/index-BWKIigEk.js +0 -2
- package/dashboard/dist/assets/index-BgVuyWhi.js +0 -15
- package/dashboard/dist/assets/index-C0sDEKdo.js +0 -2
- package/dashboard/dist/assets/index-C2MJzu6J.js +0 -2
- package/dashboard/dist/assets/index-CFoddJDr.js +0 -6
- package/dashboard/dist/assets/index-CrMxD5Ib.js +0 -6
- package/dashboard/dist/assets/index-CrMxD5Ib.js.map +0 -1
- package/dashboard/dist/assets/index-CuY5hPYB.js +0 -2
- package/dashboard/dist/assets/index-CwkJBn87.js +0 -2
- package/dashboard/dist/assets/index-DeL84Cag.js +0 -2
- package/dashboard/dist/assets/index-DqeLbz6j.js +0 -2
- package/dashboard/dist/assets/index-P9huxx3-.js +0 -2
- package/dashboard/dist/assets/namespaces-sVr5scma.js +0 -2
- package/dashboard/dist/assets/topics-DbtPHERP.js +0 -2
- package/dashboard/dist/assets/vendor-icons-D8-ZINAH.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
package/build/api/files.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.uploadFile = uploadFile;
|
|
|
7
7
|
exports.generateSignedUrl = generateSignedUrl;
|
|
8
8
|
const storage_1 = require("../lib/storage");
|
|
9
9
|
const mime_1 = require("../lib/storage/mime");
|
|
10
|
+
const publish_1 = require("../lib/events/publish");
|
|
10
11
|
const ALLOWED_EXPIRY = [3600, 21600, 86400, 604800, 2592000]; // 1h, 6h, 24h, 7d, 30d
|
|
11
12
|
async function browseFiles(input) {
|
|
12
13
|
try {
|
|
@@ -38,6 +39,7 @@ async function deleteFile(input) {
|
|
|
38
39
|
if (!result.deleted) {
|
|
39
40
|
return { status: 404, error: 'File not found' };
|
|
40
41
|
}
|
|
42
|
+
(0, publish_1.publishFileEvent)({ type: 'file.deleted', path: input.filePath });
|
|
41
43
|
return { status: 200, data: { deleted: true, path: input.filePath } };
|
|
42
44
|
}
|
|
43
45
|
catch (err) {
|
|
@@ -48,6 +50,12 @@ async function uploadFile(input) {
|
|
|
48
50
|
try {
|
|
49
51
|
const result = await (0, storage_1.getStorageBackend)().write(input.path, input.buffer);
|
|
50
52
|
const contentType = (0, mime_1.mimeFromPath)(input.path);
|
|
53
|
+
(0, publish_1.publishFileEvent)({
|
|
54
|
+
type: 'file.stored',
|
|
55
|
+
path: input.path,
|
|
56
|
+
size: result.size,
|
|
57
|
+
mime: contentType,
|
|
58
|
+
});
|
|
51
59
|
return {
|
|
52
60
|
status: 200,
|
|
53
61
|
data: { path: input.path, size: result.size, content_type: contentType },
|
package/build/api/topics.d.ts
CHANGED
|
@@ -20,3 +20,8 @@ export declare function updateTopic(input: {
|
|
|
20
20
|
export declare function deleteTopic(input: {
|
|
21
21
|
topic: string;
|
|
22
22
|
}): Promise<LTApiResult>;
|
|
23
|
+
export declare function publishTopic(input: {
|
|
24
|
+
topic: string;
|
|
25
|
+
data: Record<string, any>;
|
|
26
|
+
source?: string;
|
|
27
|
+
}): Promise<LTApiResult>;
|
package/build/api/topics.js
CHANGED
|
@@ -38,7 +38,9 @@ exports.getTopic = getTopic;
|
|
|
38
38
|
exports.createTopic = createTopic;
|
|
39
39
|
exports.updateTopic = updateTopic;
|
|
40
40
|
exports.deleteTopic = deleteTopic;
|
|
41
|
+
exports.publishTopic = publishTopic;
|
|
41
42
|
const topicService = __importStar(require("../services/topics"));
|
|
43
|
+
const events_1 = require("../lib/events");
|
|
42
44
|
async function listTopics(input) {
|
|
43
45
|
try {
|
|
44
46
|
const result = await topicService.listTopics(input);
|
|
@@ -102,3 +104,21 @@ async function deleteTopic(input) {
|
|
|
102
104
|
return { status: 500, error: err.message };
|
|
103
105
|
}
|
|
104
106
|
}
|
|
107
|
+
async function publishTopic(input) {
|
|
108
|
+
try {
|
|
109
|
+
const event = {
|
|
110
|
+
type: input.topic,
|
|
111
|
+
source: input.source || 'dashboard',
|
|
112
|
+
workflowId: '',
|
|
113
|
+
workflowName: '',
|
|
114
|
+
taskQueue: '',
|
|
115
|
+
data: input.data,
|
|
116
|
+
timestamp: new Date().toISOString(),
|
|
117
|
+
};
|
|
118
|
+
await events_1.eventRegistry.publish(event);
|
|
119
|
+
return { status: 200, data: { published: true, topic: input.topic, timestamp: event.timestamp } };
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
return { status: 500, error: err.message };
|
|
123
|
+
}
|
|
124
|
+
}
|
package/build/api/users.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ export declare function createUser(input: {
|
|
|
43
43
|
external_id?: string;
|
|
44
44
|
email?: string;
|
|
45
45
|
display_name?: string;
|
|
46
|
+
password?: string;
|
|
46
47
|
roles?: {
|
|
47
48
|
role: string;
|
|
48
49
|
type: string;
|
|
@@ -65,6 +66,7 @@ export declare function updateUser(input: {
|
|
|
65
66
|
id: string;
|
|
66
67
|
email?: string;
|
|
67
68
|
display_name?: string;
|
|
69
|
+
password?: string;
|
|
68
70
|
status?: string;
|
|
69
71
|
metadata?: Record<string, any>;
|
|
70
72
|
}): Promise<LTApiResult>;
|
package/build/api/users.js
CHANGED
package/build/index.js
CHANGED
|
@@ -152,6 +152,14 @@ async function main() {
|
|
|
152
152
|
server: {
|
|
153
153
|
port: config_1.config.PORT,
|
|
154
154
|
},
|
|
155
|
+
seed: {
|
|
156
|
+
admin: {
|
|
157
|
+
externalId: 'superadmin',
|
|
158
|
+
displayName: 'Super Admin',
|
|
159
|
+
email: 'admin@longtail.local',
|
|
160
|
+
password: 'l0ngt@1l',
|
|
161
|
+
},
|
|
162
|
+
},
|
|
155
163
|
examples: true,
|
|
156
164
|
mcp: {
|
|
157
165
|
server: { enabled: true },
|
package/build/routes/topics.js
CHANGED
|
@@ -87,4 +87,16 @@ router.delete('/by-name/:topic', async (req, res) => {
|
|
|
87
87
|
const result = await api.deleteTopic({ topic: decodeURIComponent(req.params.topic) });
|
|
88
88
|
res.status(result.status).json(result.data ?? { error: result.error });
|
|
89
89
|
});
|
|
90
|
+
/**
|
|
91
|
+
* POST /api/topics/by-name/:topic/publish
|
|
92
|
+
* Publish a test event to the event bus with the given topic and payload.
|
|
93
|
+
*/
|
|
94
|
+
router.post('/by-name/:topic/publish', async (req, res) => {
|
|
95
|
+
const result = await api.publishTopic({
|
|
96
|
+
topic: decodeURIComponent(req.params.topic),
|
|
97
|
+
data: req.body.data ?? {},
|
|
98
|
+
source: req.body.source ?? 'dashboard',
|
|
99
|
+
});
|
|
100
|
+
res.status(result.status).json(result.data ?? { error: result.error });
|
|
101
|
+
});
|
|
90
102
|
exports.default = router;
|
|
@@ -34,6 +34,15 @@ declare class AgentTriggerRegistry {
|
|
|
34
34
|
* Shallow key-value match: every key in filter must match the corresponding
|
|
35
35
|
* key in event.data. Missing keys in event.data fail the match.
|
|
36
36
|
*/
|
|
37
|
+
/**
|
|
38
|
+
* Match event.data against a filter object.
|
|
39
|
+
*
|
|
40
|
+
* Supports:
|
|
41
|
+
* - Equality: { "extension": "png" }
|
|
42
|
+
* - Negation: { "extension": { "$ne": "png" } }
|
|
43
|
+
* - In-list: { "extension": { "$in": ["png", "jpg"] } }
|
|
44
|
+
* - Exists: { "trace_id": { "$exists": true } }
|
|
45
|
+
*/
|
|
37
46
|
private matchesFilter;
|
|
38
47
|
/**
|
|
39
48
|
* Deterministic workflow ID derived from the subscription + event.
|
|
@@ -198,11 +198,34 @@ class AgentTriggerRegistry {
|
|
|
198
198
|
* Shallow key-value match: every key in filter must match the corresponding
|
|
199
199
|
* key in event.data. Missing keys in event.data fail the match.
|
|
200
200
|
*/
|
|
201
|
+
/**
|
|
202
|
+
* Match event.data against a filter object.
|
|
203
|
+
*
|
|
204
|
+
* Supports:
|
|
205
|
+
* - Equality: { "extension": "png" }
|
|
206
|
+
* - Negation: { "extension": { "$ne": "png" } }
|
|
207
|
+
* - In-list: { "extension": { "$in": ["png", "jpg"] } }
|
|
208
|
+
* - Exists: { "trace_id": { "$exists": true } }
|
|
209
|
+
*/
|
|
201
210
|
matchesFilter(event, filter) {
|
|
202
211
|
const data = event.data ?? {};
|
|
203
212
|
for (const [key, expected] of Object.entries(filter)) {
|
|
204
|
-
|
|
205
|
-
|
|
213
|
+
const actual = data[key];
|
|
214
|
+
if (expected && typeof expected === 'object' && !Array.isArray(expected)) {
|
|
215
|
+
if ('$ne' in expected && actual === expected.$ne)
|
|
216
|
+
return false;
|
|
217
|
+
if ('$in' in expected && !expected.$in.includes(actual))
|
|
218
|
+
return false;
|
|
219
|
+
if ('$exists' in expected) {
|
|
220
|
+
const exists = actual !== undefined && actual !== null;
|
|
221
|
+
if (expected.$exists !== exists)
|
|
222
|
+
return false;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
if (actual !== expected)
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
206
229
|
}
|
|
207
230
|
return true;
|
|
208
231
|
}
|
|
@@ -98,6 +98,10 @@ async function updateUser(id, input) {
|
|
|
98
98
|
sets.push(`status = $${idx++}`);
|
|
99
99
|
values.push(input.status);
|
|
100
100
|
}
|
|
101
|
+
if (input.password !== undefined) {
|
|
102
|
+
sets.push(`password_hash = $${idx++}`);
|
|
103
|
+
values.push(await bcryptjs_1.default.hash(input.password, 10));
|
|
104
|
+
}
|
|
101
105
|
if (input.metadata !== undefined) {
|
|
102
106
|
sets.push(`metadata = $${idx++}`);
|
|
103
107
|
values.push(JSON.stringify(input.metadata));
|
|
@@ -3,3 +3,4 @@ export { createUser, getUser, getUserByExternalId, getUserByEmail, updateUser, d
|
|
|
3
3
|
export { isValidRoleType, addUserRole, removeUserRole, getUserRoles, hasRole, hasRoleType, } from './roles';
|
|
4
4
|
export { isSuperAdmin, isGroupAdmin, canManageRole } from './rbac';
|
|
5
5
|
export { verifyPassword } from './auth';
|
|
6
|
+
export { seedAdmin } from './seed-admin';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.verifyPassword = exports.canManageRole = exports.isGroupAdmin = exports.isSuperAdmin = exports.hasRoleType = exports.hasRole = exports.getUserRoles = exports.removeUserRole = exports.addUserRole = exports.isValidRoleType = exports.listUsers = exports.deleteUser = exports.updateUser = exports.getUserByEmail = exports.getUserByExternalId = exports.getUser = exports.createUser = exports.VALID_ROLE_TYPES = void 0;
|
|
3
|
+
exports.seedAdmin = exports.verifyPassword = exports.canManageRole = exports.isGroupAdmin = exports.isSuperAdmin = exports.hasRoleType = exports.hasRole = exports.getUserRoles = exports.removeUserRole = exports.addUserRole = exports.isValidRoleType = exports.listUsers = exports.deleteUser = exports.updateUser = exports.getUserByEmail = exports.getUserByExternalId = exports.getUser = exports.createUser = exports.VALID_ROLE_TYPES = void 0;
|
|
4
4
|
var types_1 = require("./types");
|
|
5
5
|
Object.defineProperty(exports, "VALID_ROLE_TYPES", { enumerable: true, get: function () { return types_1.VALID_ROLE_TYPES; } });
|
|
6
6
|
var crud_1 = require("./crud");
|
|
@@ -24,3 +24,5 @@ Object.defineProperty(exports, "isGroupAdmin", { enumerable: true, get: function
|
|
|
24
24
|
Object.defineProperty(exports, "canManageRole", { enumerable: true, get: function () { return rbac_1.canManageRole; } });
|
|
25
25
|
var auth_1 = require("./auth");
|
|
26
26
|
Object.defineProperty(exports, "verifyPassword", { enumerable: true, get: function () { return auth_1.verifyPassword; } });
|
|
27
|
+
var seed_admin_1 = require("./seed-admin");
|
|
28
|
+
Object.defineProperty(exports, "seedAdmin", { enumerable: true, get: function () { return seed_admin_1.seedAdmin; } });
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface SeedAdminInput {
|
|
2
|
+
externalId: string;
|
|
3
|
+
displayName?: string;
|
|
4
|
+
email?: string;
|
|
5
|
+
password?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Seed a superadmin user. Idempotent — skips creation if the user
|
|
9
|
+
* already exists, but ensures the superadmin role is present.
|
|
10
|
+
*
|
|
11
|
+
* Returns the user's UUID so callers can pass it to `createClient()`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function seedAdmin(input: SeedAdminInput): Promise<string>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.seedAdmin = seedAdmin;
|
|
4
|
+
const logger_1 = require("../../lib/logger");
|
|
5
|
+
const role_1 = require("../role");
|
|
6
|
+
const crud_1 = require("./crud");
|
|
7
|
+
const roles_1 = require("./roles");
|
|
8
|
+
/**
|
|
9
|
+
* Seed a superadmin user. Idempotent — skips creation if the user
|
|
10
|
+
* already exists, but ensures the superadmin role is present.
|
|
11
|
+
*
|
|
12
|
+
* Returns the user's UUID so callers can pass it to `createClient()`.
|
|
13
|
+
*/
|
|
14
|
+
async function seedAdmin(input) {
|
|
15
|
+
const { externalId, displayName, email, password } = input;
|
|
16
|
+
// Ensure the superadmin role exists
|
|
17
|
+
try {
|
|
18
|
+
await (0, role_1.createRole)('superadmin');
|
|
19
|
+
}
|
|
20
|
+
catch { /* ON CONFLICT DO NOTHING */ }
|
|
21
|
+
const existing = await (0, crud_1.getUserByExternalId)(externalId);
|
|
22
|
+
if (existing) {
|
|
23
|
+
// Ensure existing user has the superadmin role
|
|
24
|
+
const roles = await (0, roles_1.getUserRoles)(existing.id);
|
|
25
|
+
const hasSuperadmin = roles.some((r) => r.role === 'superadmin' && r.type === 'superadmin');
|
|
26
|
+
if (!hasSuperadmin) {
|
|
27
|
+
await (0, roles_1.addUserRole)(existing.id, 'superadmin', 'superadmin');
|
|
28
|
+
logger_1.loggerRegistry.info(`[seed-admin] granted superadmin role to ${externalId}`);
|
|
29
|
+
}
|
|
30
|
+
logger_1.loggerRegistry.info(`[seed-admin] ${externalId} already exists, skipping creation`);
|
|
31
|
+
return existing.id;
|
|
32
|
+
}
|
|
33
|
+
const user = await (0, crud_1.createUser)({
|
|
34
|
+
external_id: externalId,
|
|
35
|
+
email: email || undefined,
|
|
36
|
+
display_name: displayName || externalId,
|
|
37
|
+
password: password || undefined,
|
|
38
|
+
roles: [{ role: 'superadmin', type: 'superadmin' }],
|
|
39
|
+
});
|
|
40
|
+
logger_1.loggerRegistry.info(`[seed-admin] created superadmin user: ${externalId}`);
|
|
41
|
+
return user.id;
|
|
42
|
+
}
|
package/build/start/index.js
CHANGED
|
@@ -67,7 +67,7 @@ async function start(startConfig) {
|
|
|
67
67
|
logger_1.loggerRegistry.info('[long-tail] starting...');
|
|
68
68
|
// 4-5. Collect workers, run migrations, start workers, seed data
|
|
69
69
|
const { workers, builtinMcpServerFactories } = await (0, workers_1.collectWorkers)(startConfig);
|
|
70
|
-
await (0, workers_1.startWorkers)(startConfig, workers, builtinMcpServerFactories);
|
|
70
|
+
const { adminUserId } = await (0, workers_1.startWorkers)(startConfig, workers, builtinMcpServerFactories);
|
|
71
71
|
// 6. Start embedded server (if enabled)
|
|
72
72
|
const serverEnabled = startConfig.server?.enabled !== false;
|
|
73
73
|
let httpServer = null;
|
|
@@ -107,5 +107,5 @@ async function start(startConfig) {
|
|
|
107
107
|
await hotmesh_1.Durable.shutdown();
|
|
108
108
|
logger_1.loggerRegistry.info('[long-tail] shutdown complete');
|
|
109
109
|
};
|
|
110
|
-
return { client, shutdown };
|
|
110
|
+
return { client, shutdown, adminUserId };
|
|
111
111
|
}
|
package/build/start/workers.d.ts
CHANGED
|
@@ -26,5 +26,7 @@ export declare function collectWorkers(startConfig: LTStartConfig): Promise<{
|
|
|
26
26
|
* Run database migrations, start all workers, connect adapters,
|
|
27
27
|
* register MCP server factories, and seed data.
|
|
28
28
|
*/
|
|
29
|
-
export declare function startWorkers(startConfig: LTStartConfig, workers: WorkerEntry[], builtinMcpServerFactories: Record<string, any>): Promise<
|
|
29
|
+
export declare function startWorkers(startConfig: LTStartConfig, workers: WorkerEntry[], builtinMcpServerFactories: Record<string, any>): Promise<{
|
|
30
|
+
adminUserId?: string;
|
|
31
|
+
}>;
|
|
30
32
|
export {};
|
package/build/start/workers.js
CHANGED
|
@@ -102,6 +102,15 @@ async function startWorkers(startConfig, workers, builtinMcpServerFactories) {
|
|
|
102
102
|
// Run migrations
|
|
103
103
|
logger_1.loggerRegistry.info('[long-tail] running migrations...');
|
|
104
104
|
await (0, migrate_1.migrate)();
|
|
105
|
+
// Seed admin user from config (idempotent, runs before workers)
|
|
106
|
+
let adminUserId;
|
|
107
|
+
if (startConfig.seed?.admin) {
|
|
108
|
+
const { seedAdmin } = await Promise.resolve().then(() => __importStar(require('../services/user/seed-admin')));
|
|
109
|
+
adminUserId = await seedAdmin(startConfig.seed.admin).catch((err) => {
|
|
110
|
+
logger_1.loggerRegistry.warn(`[long-tail] seed admin error: ${err.message}`);
|
|
111
|
+
return undefined;
|
|
112
|
+
});
|
|
113
|
+
}
|
|
105
114
|
const connection = buildConnection();
|
|
106
115
|
// Readonly mode: all user-provided workers are observers — skip crons, triggers, and agent seeding.
|
|
107
116
|
// System workers (mcpQuery, etc.) are always added by collectWorkers, so check the original config.
|
|
@@ -327,4 +336,5 @@ async function startWorkers(startConfig, workers, builtinMcpServerFactories) {
|
|
|
327
336
|
seedExamples(seedClient).catch((err) => logger_1.loggerRegistry.warn(`[long-tail] seed error: ${err.message}`));
|
|
328
337
|
}, 2000);
|
|
329
338
|
}
|
|
339
|
+
return { adminUserId };
|
|
330
340
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../index.ts","../vitest.config.ts","../vitest.integration.config.ts","../api/agent-subscriptions.ts","../api/agents.ts","../api/auth.ts","../api/bot-accounts.ts","../api/capabilities.ts","../api/controlplane.ts","../api/dba.ts","../api/exports.ts","../api/files.ts","../api/index.ts","../api/insight.ts","../api/knowledge.ts","../api/maintenance.ts","../api/mcp-runs.ts","../api/namespaces.ts","../api/roles.ts","../api/settings.ts","../api/tasks.ts","../api/topics.ts","../api/users.ts","../api/workflow-sets.ts","../api/escalations/bulk.ts","../api/escalations/claim.ts","../api/escalations/create.ts","../api/escalations/helpers.ts","../api/escalations/index.ts","../api/escalations/list.ts","../api/escalations/resolve.ts","../api/escalations/single.ts","../api/mcp/index.ts","../api/mcp/servers.ts","../api/mcp/tools.ts","../api/workflows/config.ts","../api/workflows/discovery.ts","../api/workflows/index.ts","../api/workflows/invocation.ts","../api/yaml-workflows/cron.ts","../api/yaml-workflows/crud.ts","../api/yaml-workflows/deploy.ts","../api/yaml-workflows/helpers.ts","../api/yaml-workflows/index.ts","../api/yaml-workflows/versions.ts","../bin/ltc.ts","../lib/cli/auth.ts","../lib/cli/client.ts","../lib/cli/compile.ts","../lib/cli/format.ts","../lib/cli/init.ts","../lib/cli/output.ts","../lib/cli/scanner.ts","../lib/cli/types.ts","../lib/cli/commands/escalations.ts","../lib/cli/commands/knowledge.ts","../lib/cli/commands/mcp.ts","../lib/cli/commands/pipelines.ts","../lib/cli/commands/status.ts","../lib/cli/commands/streams.ts","../lib/cli/commands/users.ts","../lib/cli/commands/workflows.ts","../lib/db/index.ts","../lib/db/migrate.ts","../lib/events/callback.ts","../lib/events/index.ts","../lib/events/matching.ts","../lib/events/memory.ts","../lib/events/nats.ts","../lib/events/publish.ts","../lib/events/socketio.ts","../lib/logger/index.ts","../lib/logger/pino.ts","../lib/storage/index.ts","../lib/storage/local.ts","../lib/storage/mime.ts","../lib/storage/s3.ts","../lib/storage/types.ts","../lib/telemetry/honeycomb.ts","../lib/telemetry/index.ts","../modules/auth.ts","../modules/config.ts","../modules/defaults.ts","../modules/ltconfig.ts","../modules/maintenance.ts","../modules/utils.ts","../routes/agents.ts","../routes/auth.ts","../routes/bot-accounts.ts","../routes/capabilities.ts","../routes/controlplane.ts","../routes/dba.ts","../routes/delegation.ts","../routes/docs.ts","../routes/exports.ts","../routes/file-browser.ts","../routes/files.ts","../routes/index.ts","../routes/insight.ts","../routes/knowledge.ts","../routes/maintenance.ts","../routes/mcp-runs.ts","../routes/mcp.ts","../routes/namespaces.ts","../routes/nats-credentials.ts","../routes/oauth.ts","../routes/roles.ts","../routes/settings.ts","../routes/tasks.ts","../routes/topics.ts","../routes/users.ts","../routes/workflow-sets.ts","../routes/escalations/bulk.ts","../routes/escalations/index.ts","../routes/escalations/list.ts","../routes/escalations/resolve.ts","../routes/escalations/single.ts","../routes/workflows/config.ts","../routes/workflows/discovery.ts","../routes/workflows/index.ts","../routes/workflows/invocation.ts","../routes/yaml-workflows/cron.ts","../routes/yaml-workflows/crud.ts","../routes/yaml-workflows/deployment.ts","../routes/yaml-workflows/index.ts","../routes/yaml-workflows/versions.ts","../scripts/process-helpers.ts","../scripts/process.ts","../scripts/token.ts","../sdk/index.ts","../services/dba.ts","../services/hotmesh-utils.ts","../services/workflow-invocation.ts","../services/agent/index.ts","../services/agent/input-mapper.ts","../services/agent/sql.ts","../services/agent/subscription-sql.ts","../services/agent/subscriptions.ts","../services/agent/trigger-registry.ts","../services/auth/bot-api-key.ts","../services/auth/delegation.ts","../services/auth/index.ts","../services/auth/service-token.ts","../services/config/cache.ts","../services/config/index.ts","../services/config/provider.ts","../services/config/read.ts","../services/config/sql.ts","../services/config/write.ts","../services/controlplane/index.ts","../services/controlplane/quorum-bridge.ts","../services/controlplane/sql.ts","../services/controlplane/stream-messages-sql.ts","../services/controlplane/types.ts","../services/cron/index.ts","../services/escalation/bulk.ts","../services/escalation/crud.ts","../services/escalation/index.ts","../services/escalation/queries.ts","../services/escalation/sql.ts","../services/escalation/types.ts","../services/escalation-strategy/default.ts","../services/escalation-strategy/index.ts","../services/escalation-strategy/mcp.ts","../services/export/client.ts","../services/export/index.ts","../services/export/post-process.ts","../services/export/types.ts","../services/iam/activity.ts","../services/iam/bots.ts","../services/iam/context.ts","../services/iam/credentials.ts","../services/iam/envelope.ts","../services/iam/ephemeral.ts","../services/iam/index.ts","../services/iam/principal.ts","../services/iam/resolve.ts","../services/iam/sql.ts","../services/insight/index.ts","../services/insight/prompts.ts","../services/interceptor/activity-interceptor.ts","../services/interceptor/completion.ts","../services/interceptor/context.ts","../services/interceptor/escalation.ts","../services/interceptor/index.ts","../services/interceptor/lifecycle.ts","../services/interceptor/state.ts","../services/interceptor/types.ts","../services/interceptor/activities/config.ts","../services/interceptor/activities/escalation.ts","../services/interceptor/activities/index.ts","../services/interceptor/activities/task.ts","../services/interceptor/activities/workflow.ts","../services/llm/detect.ts","../services/llm/index.ts","../services/llm/translate.ts","../services/llm/types.ts","../services/llm/providers/anthropic.ts","../services/llm/providers/openai.ts","../services/maintenance/index.ts","../services/mcp/adapter.ts","../services/mcp/db.ts","../services/mcp/index.ts","../services/mcp/register-tool.ts","../services/mcp/server-lifecycle.ts","../services/mcp/server-tools.ts","../services/mcp/server.ts","../services/mcp/sql.ts","../services/mcp/types.ts","../services/mcp/workflow-compiler-server.ts","../services/mcp/workflow-server.ts","../services/mcp/client/connection-dispatch.ts","../services/mcp/client/connection-lifecycle.ts","../services/mcp/client/connection-test.ts","../services/mcp/client/connection.ts","../services/mcp/client/index.ts","../services/mcp/client/tools.ts","../services/mcp/db-server/index.ts","../services/mcp/db-server/schemas.ts","../services/mcp/db-server/tools.ts","../services/mcp/playwright-server/index.ts","../services/mcp/playwright-server/lifecycle.ts","../services/mcp/playwright-server/schemas.ts","../services/mcp/playwright-server/tools.ts","../services/mcp-runs/enrichment.ts","../services/mcp-runs/events.ts","../services/mcp-runs/execution-builder.ts","../services/mcp-runs/index.ts","../services/mcp-runs/queries.ts","../services/mcp-runs/sql.ts","../services/mcp-runs/types.ts","../services/namespace/index.ts","../services/namespace/sql.ts","../services/namespace/types.ts","../services/oauth/crypto.ts","../services/oauth/db.ts","../services/oauth/index.ts","../services/oauth/sql.ts","../services/oauth/state.ts","../services/oauth/providers/anthropic.ts","../services/oauth/providers/github.ts","../services/oauth/providers/google.ts","../services/oauth/providers/index.ts","../services/oauth/providers/microsoft.ts","../services/oauth/providers/mock.ts","../services/oauth/providers/registry.ts","../services/oauth/providers/types.ts","../services/orchestrator/condition.ts","../services/orchestrator/index.ts","../services/orchestrator/types.ts","../services/role/index.ts","../services/role/sql.ts","../services/role/types.ts","../services/task/crud.ts","../services/task/index.ts","../services/task/process.ts","../services/task/resolve.ts","../services/task/sql.ts","../services/task/types.ts","../services/topics/index.ts","../services/topics/sql.ts","../services/topics/system-topics.ts","../services/user/auth.ts","../services/user/crud.ts","../services/user/index.ts","../services/user/rbac.ts","../services/user/roles.ts","../services/user/sql.ts","../services/user/types.ts","../services/workers/registry.ts","../services/workflow-sets/db.ts","../services/workflow-sets/index.ts","../services/workflow-sets/sql.ts","../services/yaml-workflow/builder-regenerate.ts","../services/yaml-workflow/db-utils.ts","../services/yaml-workflow/db-versions.ts","../services/yaml-workflow/db.ts","../services/yaml-workflow/deployer-helpers.ts","../services/yaml-workflow/deployer.ts","../services/yaml-workflow/generator.ts","../services/yaml-workflow/index.ts","../services/yaml-workflow/input-analyzer-helpers.ts","../services/yaml-workflow/input-analyzer.ts","../services/yaml-workflow/invoke.ts","../services/yaml-workflow/sql.ts","../services/yaml-workflow/types.ts","../services/yaml-workflow/durable-compiler/index.ts","../services/yaml-workflow/durable-compiler/parser.ts","../services/yaml-workflow/durable-compiler/prompts.ts","../services/yaml-workflow/durable-compiler/types.ts","../services/yaml-workflow/pattern-detector/array-source.ts","../services/yaml-workflow/pattern-detector/collapse.ts","../services/yaml-workflow/pattern-detector/index.ts","../services/yaml-workflow/pattern-detector/run-detection.ts","../services/yaml-workflow/pattern-detector/types.ts","../services/yaml-workflow/pipeline/analyze.ts","../services/yaml-workflow/pipeline/extract-helpers.ts","../services/yaml-workflow/pipeline/extract.ts","../services/yaml-workflow/pipeline/index.ts","../services/yaml-workflow/pipeline/prompt-templates.ts","../services/yaml-workflow/pipeline/prompts.ts","../services/yaml-workflow/pipeline/validate.ts","../services/yaml-workflow/pipeline/build/dag-assembly.ts","../services/yaml-workflow/pipeline/build/dag.ts","../services/yaml-workflow/pipeline/build/index.ts","../services/yaml-workflow/pipeline/build/iteration.ts","../services/yaml-workflow/pipeline/build/metadata.ts","../services/yaml-workflow/pipeline/build/transform.ts","../services/yaml-workflow/pipeline/build/utils.ts","../services/yaml-workflow/pipeline/build/wiring.ts","../services/yaml-workflow/pipeline/compile/index.ts","../services/yaml-workflow/pipeline/compile/llm-call.ts","../services/yaml-workflow/pipeline/compile/parse-plan.ts","../services/yaml-workflow/pipeline/compile/summarize.ts","../services/yaml-workflow/workers/callbacks.ts","../services/yaml-workflow/workers/events.ts","../services/yaml-workflow/workers/index.ts","../services/yaml-workflow/workers/register.ts","../services/yaml-workflow/workers/scope.ts","../start/adapters.ts","../start/config.ts","../start/index.ts","../start/server.ts","../start/socket-auth.ts","../start/workers.ts","../system/index.ts","../system/activities/claude-code.ts","../system/activities/file-storage.ts","../system/activities/http.ts","../system/activities/knowledge.ts","../system/activities/oauth.ts","../system/activities/schema-exchange.ts","../system/activities/sql.ts","../system/activities/triage/cache.ts","../system/activities/triage/context.ts","../system/activities/triage/discovery.ts","../system/activities/triage/index.ts","../system/activities/triage/llm.ts","../system/activities/triage/tools.ts","../system/mcp-servers/claude-code.ts","../system/mcp-servers/docs.ts","../system/mcp-servers/events.ts","../system/mcp-servers/file-storage.ts","../system/mcp-servers/http-fetch.ts","../system/mcp-servers/human-queue-schemas.ts","../system/mcp-servers/human-queue.ts","../system/mcp-servers/knowledge.ts","../system/mcp-servers/oauth.ts","../system/mcp-servers/schema-exchange.ts","../system/mcp-servers/translation.ts","../system/mcp-servers/vision-prompts.ts","../system/mcp-servers/vision.ts","../system/mcp-servers/workflow-compiler.ts","../system/mcp-servers/workflow.ts","../system/mcp-servers/admin/escalations.ts","../system/mcp-servers/admin/index.ts","../system/mcp-servers/admin/maintenance.ts","../system/mcp-servers/admin/mcp-servers.ts","../system/mcp-servers/admin/schemas.ts","../system/mcp-servers/admin/tasks.ts","../system/mcp-servers/admin/users.ts","../system/mcp-servers/admin/workflow-config.ts","../system/mcp-servers/admin/workflows.ts","../system/mcp-servers/admin/yaml-workflows.ts","../system/mcp-servers/db-query/index.ts","../system/mcp-servers/db-query/schemas.ts","../system/mcp-servers/db-query/tools.ts","../system/mcp-servers/playwright/browser-lifecycle.ts","../system/mcp-servers/playwright/index.ts","../system/mcp-servers/playwright/schemas.ts","../system/mcp-servers/playwright/tools-atomic.ts","../system/mcp-servers/playwright/tools-navigation.ts","../system/mcp-servers/playwright/tools-page-interaction.ts","../system/mcp-servers/playwright/tools-run-script.ts","../system/mcp-servers/playwright/types.ts","../system/mcp-servers/playwright/vision-helper.ts","../system/mcp-servers/playwright-cli/helpers.ts","../system/mcp-servers/playwright-cli/index.ts","../system/mcp-servers/playwright-cli/schemas.ts","../system/mcp-servers/playwright-cli/tools-auth.ts","../system/mcp-servers/playwright-cli/tools-capture.ts","../system/seed/index.ts","../system/seed/tool-manifests-admin.ts","../system/seed/tool-manifests-browser.ts","../system/seed/tool-manifests-data.ts","../system/seed/tool-manifests-escalation.ts","../system/seed/tool-manifests-events.ts","../system/seed/tool-manifests-knowledge.ts","../system/seed/tool-manifests-workflows.ts","../system/workflows/tool-result-guard.ts","../system/workflows/capability-invoke/activities.ts","../system/workflows/capability-invoke/index.ts","../system/workflows/mcp-deterministic/activities.ts","../system/workflows/mcp-deterministic/index.ts","../system/workflows/mcp-query/index.ts","../system/workflows/mcp-query/prompts.ts","../system/workflows/mcp-query/strategy-advisors.ts","../system/workflows/mcp-query/types.ts","../system/workflows/mcp-query/activities/caches.ts","../system/workflows/mcp-query/activities/discovery.ts","../system/workflows/mcp-query/activities/index.ts","../system/workflows/mcp-query/activities/llm.ts","../system/workflows/mcp-query/activities/tool-executor.ts","../system/workflows/mcp-query/activities/tool-loader.ts","../system/workflows/mcp-query-router/activities.ts","../system/workflows/mcp-query-router/index.ts","../system/workflows/mcp-query-router/prompts.ts","../system/workflows/mcp-triage/activities-proxy.ts","../system/workflows/mcp-triage/index.ts","../system/workflows/mcp-triage/prompts.ts","../system/workflows/mcp-triage/response-builders.ts","../system/workflows/mcp-triage/response.ts","../system/workflows/mcp-triage/types.ts","../system/workflows/mcp-triage-deterministic/activities.ts","../system/workflows/mcp-triage-deterministic/index.ts","../system/workflows/mcp-triage-router/activities.ts","../system/workflows/mcp-triage-router/index.ts","../system/workflows/mcp-workflow-builder/index.ts","../system/workflows/mcp-workflow-builder/prompts.ts","../system/workflows/mcp-workflow-builder/activities/caches.ts","../system/workflows/mcp-workflow-builder/activities/index.ts","../system/workflows/mcp-workflow-builder/activities/llm.ts","../system/workflows/mcp-workflow-builder/activities/tool-loader.ts","../system/workflows/mcp-workflow-planner/index.ts","../system/workflows/mcp-workflow-planner/prompts.ts","../system/workflows/mcp-workflow-planner/activities/analyze.ts","../system/workflows/mcp-workflow-planner/activities/index.ts","../system/workflows/mcp-workflow-planner/activities/persist.ts","../system/workflows/mcp-workflow-planner/activities/plan.ts","../system/workflows/shared/discovery.ts","../system/workflows/shared/index.ts","../system/workflows/shared/llm-caller.ts","../system/workflows/shared/prompts.ts","../system/workflows/shared/strategy-advisors.ts","../system/workflows/shared/tool-executor.ts","../system/workflows/shared/tool-loader.ts","../system/workflows/shared/types.ts","../types/agent.ts","../types/auth.ts","../types/config.ts","../types/delegation.ts","../types/discovery.ts","../types/envelope.ts","../types/escalation-strategy.ts","../types/escalation.ts","../types/events.ts","../types/export.ts","../types/express.d.ts","../types/index.ts","../types/logger.ts","../types/maintenance.ts","../types/mcp.ts","../types/oauth.ts","../types/sdk.ts","../types/startup.ts","../types/task.ts","../types/telemetry.ts","../types/tool-context.ts","../types/user.ts","../types/workflow-set.ts","../types/workflow.ts","../types/yaml-workflow.ts","../workers/index.ts"],"version":"5.9.3"}
|
|
1
|
+
{"root":["../index.ts","../vitest.config.ts","../vitest.integration.config.ts","../api/agent-subscriptions.ts","../api/agents.ts","../api/auth.ts","../api/bot-accounts.ts","../api/capabilities.ts","../api/controlplane.ts","../api/dba.ts","../api/exports.ts","../api/files.ts","../api/index.ts","../api/insight.ts","../api/knowledge.ts","../api/maintenance.ts","../api/mcp-runs.ts","../api/namespaces.ts","../api/roles.ts","../api/settings.ts","../api/tasks.ts","../api/topics.ts","../api/users.ts","../api/workflow-sets.ts","../api/escalations/bulk.ts","../api/escalations/claim.ts","../api/escalations/create.ts","../api/escalations/helpers.ts","../api/escalations/index.ts","../api/escalations/list.ts","../api/escalations/resolve.ts","../api/escalations/single.ts","../api/mcp/index.ts","../api/mcp/servers.ts","../api/mcp/tools.ts","../api/workflows/config.ts","../api/workflows/discovery.ts","../api/workflows/index.ts","../api/workflows/invocation.ts","../api/yaml-workflows/cron.ts","../api/yaml-workflows/crud.ts","../api/yaml-workflows/deploy.ts","../api/yaml-workflows/helpers.ts","../api/yaml-workflows/index.ts","../api/yaml-workflows/versions.ts","../bin/ltc.ts","../lib/cli/auth.ts","../lib/cli/client.ts","../lib/cli/compile.ts","../lib/cli/format.ts","../lib/cli/init.ts","../lib/cli/output.ts","../lib/cli/scanner.ts","../lib/cli/types.ts","../lib/cli/commands/escalations.ts","../lib/cli/commands/knowledge.ts","../lib/cli/commands/mcp.ts","../lib/cli/commands/pipelines.ts","../lib/cli/commands/status.ts","../lib/cli/commands/streams.ts","../lib/cli/commands/users.ts","../lib/cli/commands/workflows.ts","../lib/db/index.ts","../lib/db/migrate.ts","../lib/events/callback.ts","../lib/events/index.ts","../lib/events/matching.ts","../lib/events/memory.ts","../lib/events/nats.ts","../lib/events/publish.ts","../lib/events/socketio.ts","../lib/logger/index.ts","../lib/logger/pino.ts","../lib/storage/index.ts","../lib/storage/local.ts","../lib/storage/mime.ts","../lib/storage/s3.ts","../lib/storage/types.ts","../lib/telemetry/honeycomb.ts","../lib/telemetry/index.ts","../modules/auth.ts","../modules/config.ts","../modules/defaults.ts","../modules/ltconfig.ts","../modules/maintenance.ts","../modules/utils.ts","../routes/agents.ts","../routes/auth.ts","../routes/bot-accounts.ts","../routes/capabilities.ts","../routes/controlplane.ts","../routes/dba.ts","../routes/delegation.ts","../routes/docs.ts","../routes/exports.ts","../routes/file-browser.ts","../routes/files.ts","../routes/index.ts","../routes/insight.ts","../routes/knowledge.ts","../routes/maintenance.ts","../routes/mcp-runs.ts","../routes/mcp.ts","../routes/namespaces.ts","../routes/nats-credentials.ts","../routes/oauth.ts","../routes/roles.ts","../routes/settings.ts","../routes/tasks.ts","../routes/topics.ts","../routes/users.ts","../routes/workflow-sets.ts","../routes/escalations/bulk.ts","../routes/escalations/index.ts","../routes/escalations/list.ts","../routes/escalations/resolve.ts","../routes/escalations/single.ts","../routes/workflows/config.ts","../routes/workflows/discovery.ts","../routes/workflows/index.ts","../routes/workflows/invocation.ts","../routes/yaml-workflows/cron.ts","../routes/yaml-workflows/crud.ts","../routes/yaml-workflows/deployment.ts","../routes/yaml-workflows/index.ts","../routes/yaml-workflows/versions.ts","../scripts/process-helpers.ts","../scripts/process.ts","../scripts/token.ts","../sdk/index.ts","../services/dba.ts","../services/hotmesh-utils.ts","../services/workflow-invocation.ts","../services/agent/index.ts","../services/agent/input-mapper.ts","../services/agent/sql.ts","../services/agent/subscription-sql.ts","../services/agent/subscriptions.ts","../services/agent/trigger-registry.ts","../services/auth/bot-api-key.ts","../services/auth/delegation.ts","../services/auth/index.ts","../services/auth/service-token.ts","../services/config/cache.ts","../services/config/index.ts","../services/config/provider.ts","../services/config/read.ts","../services/config/sql.ts","../services/config/write.ts","../services/controlplane/index.ts","../services/controlplane/quorum-bridge.ts","../services/controlplane/sql.ts","../services/controlplane/stream-messages-sql.ts","../services/controlplane/types.ts","../services/cron/index.ts","../services/escalation/bulk.ts","../services/escalation/crud.ts","../services/escalation/index.ts","../services/escalation/queries.ts","../services/escalation/sql.ts","../services/escalation/types.ts","../services/escalation-strategy/default.ts","../services/escalation-strategy/index.ts","../services/escalation-strategy/mcp.ts","../services/export/client.ts","../services/export/index.ts","../services/export/post-process.ts","../services/export/types.ts","../services/iam/activity.ts","../services/iam/bots.ts","../services/iam/context.ts","../services/iam/credentials.ts","../services/iam/envelope.ts","../services/iam/ephemeral.ts","../services/iam/index.ts","../services/iam/principal.ts","../services/iam/resolve.ts","../services/iam/sql.ts","../services/insight/index.ts","../services/insight/prompts.ts","../services/interceptor/activity-interceptor.ts","../services/interceptor/completion.ts","../services/interceptor/context.ts","../services/interceptor/escalation.ts","../services/interceptor/index.ts","../services/interceptor/lifecycle.ts","../services/interceptor/state.ts","../services/interceptor/types.ts","../services/interceptor/activities/config.ts","../services/interceptor/activities/escalation.ts","../services/interceptor/activities/index.ts","../services/interceptor/activities/task.ts","../services/interceptor/activities/workflow.ts","../services/llm/detect.ts","../services/llm/index.ts","../services/llm/translate.ts","../services/llm/types.ts","../services/llm/providers/anthropic.ts","../services/llm/providers/openai.ts","../services/maintenance/index.ts","../services/mcp/adapter.ts","../services/mcp/db.ts","../services/mcp/index.ts","../services/mcp/register-tool.ts","../services/mcp/server-lifecycle.ts","../services/mcp/server-tools.ts","../services/mcp/server.ts","../services/mcp/sql.ts","../services/mcp/types.ts","../services/mcp/workflow-compiler-server.ts","../services/mcp/workflow-server.ts","../services/mcp/client/connection-dispatch.ts","../services/mcp/client/connection-lifecycle.ts","../services/mcp/client/connection-test.ts","../services/mcp/client/connection.ts","../services/mcp/client/index.ts","../services/mcp/client/tools.ts","../services/mcp/db-server/index.ts","../services/mcp/db-server/schemas.ts","../services/mcp/db-server/tools.ts","../services/mcp/playwright-server/index.ts","../services/mcp/playwright-server/lifecycle.ts","../services/mcp/playwright-server/schemas.ts","../services/mcp/playwright-server/tools.ts","../services/mcp-runs/enrichment.ts","../services/mcp-runs/events.ts","../services/mcp-runs/execution-builder.ts","../services/mcp-runs/index.ts","../services/mcp-runs/queries.ts","../services/mcp-runs/sql.ts","../services/mcp-runs/types.ts","../services/namespace/index.ts","../services/namespace/sql.ts","../services/namespace/types.ts","../services/oauth/crypto.ts","../services/oauth/db.ts","../services/oauth/index.ts","../services/oauth/sql.ts","../services/oauth/state.ts","../services/oauth/providers/anthropic.ts","../services/oauth/providers/github.ts","../services/oauth/providers/google.ts","../services/oauth/providers/index.ts","../services/oauth/providers/microsoft.ts","../services/oauth/providers/mock.ts","../services/oauth/providers/registry.ts","../services/oauth/providers/types.ts","../services/orchestrator/condition.ts","../services/orchestrator/index.ts","../services/orchestrator/types.ts","../services/role/index.ts","../services/role/sql.ts","../services/role/types.ts","../services/task/crud.ts","../services/task/index.ts","../services/task/process.ts","../services/task/resolve.ts","../services/task/sql.ts","../services/task/types.ts","../services/topics/index.ts","../services/topics/sql.ts","../services/topics/system-topics.ts","../services/user/auth.ts","../services/user/crud.ts","../services/user/index.ts","../services/user/rbac.ts","../services/user/roles.ts","../services/user/seed-admin.ts","../services/user/sql.ts","../services/user/types.ts","../services/workers/registry.ts","../services/workflow-sets/db.ts","../services/workflow-sets/index.ts","../services/workflow-sets/sql.ts","../services/yaml-workflow/builder-regenerate.ts","../services/yaml-workflow/db-utils.ts","../services/yaml-workflow/db-versions.ts","../services/yaml-workflow/db.ts","../services/yaml-workflow/deployer-helpers.ts","../services/yaml-workflow/deployer.ts","../services/yaml-workflow/generator.ts","../services/yaml-workflow/index.ts","../services/yaml-workflow/input-analyzer-helpers.ts","../services/yaml-workflow/input-analyzer.ts","../services/yaml-workflow/invoke.ts","../services/yaml-workflow/sql.ts","../services/yaml-workflow/types.ts","../services/yaml-workflow/durable-compiler/index.ts","../services/yaml-workflow/durable-compiler/parser.ts","../services/yaml-workflow/durable-compiler/prompts.ts","../services/yaml-workflow/durable-compiler/types.ts","../services/yaml-workflow/pattern-detector/array-source.ts","../services/yaml-workflow/pattern-detector/collapse.ts","../services/yaml-workflow/pattern-detector/index.ts","../services/yaml-workflow/pattern-detector/run-detection.ts","../services/yaml-workflow/pattern-detector/types.ts","../services/yaml-workflow/pipeline/analyze.ts","../services/yaml-workflow/pipeline/extract-helpers.ts","../services/yaml-workflow/pipeline/extract.ts","../services/yaml-workflow/pipeline/index.ts","../services/yaml-workflow/pipeline/prompt-templates.ts","../services/yaml-workflow/pipeline/prompts.ts","../services/yaml-workflow/pipeline/validate.ts","../services/yaml-workflow/pipeline/build/dag-assembly.ts","../services/yaml-workflow/pipeline/build/dag.ts","../services/yaml-workflow/pipeline/build/index.ts","../services/yaml-workflow/pipeline/build/iteration.ts","../services/yaml-workflow/pipeline/build/metadata.ts","../services/yaml-workflow/pipeline/build/transform.ts","../services/yaml-workflow/pipeline/build/utils.ts","../services/yaml-workflow/pipeline/build/wiring.ts","../services/yaml-workflow/pipeline/compile/index.ts","../services/yaml-workflow/pipeline/compile/llm-call.ts","../services/yaml-workflow/pipeline/compile/parse-plan.ts","../services/yaml-workflow/pipeline/compile/summarize.ts","../services/yaml-workflow/workers/callbacks.ts","../services/yaml-workflow/workers/events.ts","../services/yaml-workflow/workers/index.ts","../services/yaml-workflow/workers/register.ts","../services/yaml-workflow/workers/scope.ts","../start/adapters.ts","../start/config.ts","../start/index.ts","../start/server.ts","../start/socket-auth.ts","../start/workers.ts","../system/index.ts","../system/activities/claude-code.ts","../system/activities/file-storage.ts","../system/activities/http.ts","../system/activities/knowledge.ts","../system/activities/oauth.ts","../system/activities/schema-exchange.ts","../system/activities/sql.ts","../system/activities/triage/cache.ts","../system/activities/triage/context.ts","../system/activities/triage/discovery.ts","../system/activities/triage/index.ts","../system/activities/triage/llm.ts","../system/activities/triage/tools.ts","../system/mcp-servers/claude-code.ts","../system/mcp-servers/docs.ts","../system/mcp-servers/events.ts","../system/mcp-servers/file-storage.ts","../system/mcp-servers/http-fetch.ts","../system/mcp-servers/human-queue-schemas.ts","../system/mcp-servers/human-queue.ts","../system/mcp-servers/knowledge.ts","../system/mcp-servers/oauth.ts","../system/mcp-servers/schema-exchange.ts","../system/mcp-servers/translation.ts","../system/mcp-servers/vision-prompts.ts","../system/mcp-servers/vision.ts","../system/mcp-servers/workflow-compiler.ts","../system/mcp-servers/workflow.ts","../system/mcp-servers/admin/escalations.ts","../system/mcp-servers/admin/index.ts","../system/mcp-servers/admin/maintenance.ts","../system/mcp-servers/admin/mcp-servers.ts","../system/mcp-servers/admin/schemas.ts","../system/mcp-servers/admin/tasks.ts","../system/mcp-servers/admin/users.ts","../system/mcp-servers/admin/workflow-config.ts","../system/mcp-servers/admin/workflows.ts","../system/mcp-servers/admin/yaml-workflows.ts","../system/mcp-servers/db-query/index.ts","../system/mcp-servers/db-query/schemas.ts","../system/mcp-servers/db-query/tools.ts","../system/mcp-servers/playwright/browser-lifecycle.ts","../system/mcp-servers/playwright/index.ts","../system/mcp-servers/playwright/schemas.ts","../system/mcp-servers/playwright/tools-atomic.ts","../system/mcp-servers/playwright/tools-navigation.ts","../system/mcp-servers/playwright/tools-page-interaction.ts","../system/mcp-servers/playwright/tools-run-script.ts","../system/mcp-servers/playwright/types.ts","../system/mcp-servers/playwright/vision-helper.ts","../system/mcp-servers/playwright-cli/helpers.ts","../system/mcp-servers/playwright-cli/index.ts","../system/mcp-servers/playwright-cli/schemas.ts","../system/mcp-servers/playwright-cli/tools-auth.ts","../system/mcp-servers/playwright-cli/tools-capture.ts","../system/seed/index.ts","../system/seed/tool-manifests-admin.ts","../system/seed/tool-manifests-browser.ts","../system/seed/tool-manifests-data.ts","../system/seed/tool-manifests-escalation.ts","../system/seed/tool-manifests-events.ts","../system/seed/tool-manifests-knowledge.ts","../system/seed/tool-manifests-workflows.ts","../system/workflows/tool-result-guard.ts","../system/workflows/capability-invoke/activities.ts","../system/workflows/capability-invoke/index.ts","../system/workflows/mcp-deterministic/activities.ts","../system/workflows/mcp-deterministic/index.ts","../system/workflows/mcp-query/index.ts","../system/workflows/mcp-query/prompts.ts","../system/workflows/mcp-query/strategy-advisors.ts","../system/workflows/mcp-query/types.ts","../system/workflows/mcp-query/activities/caches.ts","../system/workflows/mcp-query/activities/discovery.ts","../system/workflows/mcp-query/activities/index.ts","../system/workflows/mcp-query/activities/llm.ts","../system/workflows/mcp-query/activities/tool-executor.ts","../system/workflows/mcp-query/activities/tool-loader.ts","../system/workflows/mcp-query-router/activities.ts","../system/workflows/mcp-query-router/index.ts","../system/workflows/mcp-query-router/prompts.ts","../system/workflows/mcp-triage/activities-proxy.ts","../system/workflows/mcp-triage/index.ts","../system/workflows/mcp-triage/prompts.ts","../system/workflows/mcp-triage/response-builders.ts","../system/workflows/mcp-triage/response.ts","../system/workflows/mcp-triage/types.ts","../system/workflows/mcp-triage-deterministic/activities.ts","../system/workflows/mcp-triage-deterministic/index.ts","../system/workflows/mcp-triage-router/activities.ts","../system/workflows/mcp-triage-router/index.ts","../system/workflows/mcp-workflow-builder/index.ts","../system/workflows/mcp-workflow-builder/prompts.ts","../system/workflows/mcp-workflow-builder/activities/caches.ts","../system/workflows/mcp-workflow-builder/activities/index.ts","../system/workflows/mcp-workflow-builder/activities/llm.ts","../system/workflows/mcp-workflow-builder/activities/tool-loader.ts","../system/workflows/mcp-workflow-planner/index.ts","../system/workflows/mcp-workflow-planner/prompts.ts","../system/workflows/mcp-workflow-planner/activities/analyze.ts","../system/workflows/mcp-workflow-planner/activities/index.ts","../system/workflows/mcp-workflow-planner/activities/persist.ts","../system/workflows/mcp-workflow-planner/activities/plan.ts","../system/workflows/shared/discovery.ts","../system/workflows/shared/index.ts","../system/workflows/shared/llm-caller.ts","../system/workflows/shared/prompts.ts","../system/workflows/shared/strategy-advisors.ts","../system/workflows/shared/tool-executor.ts","../system/workflows/shared/tool-loader.ts","../system/workflows/shared/types.ts","../types/agent.ts","../types/auth.ts","../types/config.ts","../types/delegation.ts","../types/discovery.ts","../types/envelope.ts","../types/escalation-strategy.ts","../types/escalation.ts","../types/events.ts","../types/export.ts","../types/express.d.ts","../types/index.ts","../types/logger.ts","../types/maintenance.ts","../types/mcp.ts","../types/oauth.ts","../types/sdk.ts","../types/startup.ts","../types/task.ts","../types/telemetry.ts","../types/tool-context.ts","../types/user.ts","../types/workflow-set.ts","../types/workflow.ts","../types/yaml-workflow.ts","../workers/index.ts"],"version":"5.9.3"}
|
package/build/types/startup.d.ts
CHANGED
|
@@ -227,6 +227,42 @@ export interface LTStartConfig {
|
|
|
227
227
|
strategy?: 'default' | 'mcp';
|
|
228
228
|
adapter?: LTEscalationStrategy;
|
|
229
229
|
};
|
|
230
|
+
/**
|
|
231
|
+
* Seed data applied after migrations, before workers start.
|
|
232
|
+
*
|
|
233
|
+
* `admin` creates a superadmin user on first boot (idempotent).
|
|
234
|
+
* The seeded user's UUID is returned as `LTInstance.adminUserId`
|
|
235
|
+
* so callers can pass it directly to `createClient()`.
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* const lt = await start({
|
|
240
|
+
* database: { connectionString: dbUrl },
|
|
241
|
+
* seed: {
|
|
242
|
+
* admin: {
|
|
243
|
+
* externalId: 'system',
|
|
244
|
+
* displayName: 'System',
|
|
245
|
+
* email: 'system@app.internal',
|
|
246
|
+
* },
|
|
247
|
+
* },
|
|
248
|
+
* workers: [...],
|
|
249
|
+
* });
|
|
250
|
+
*
|
|
251
|
+
* const client = createClient({ auth: { userId: lt.adminUserId } });
|
|
252
|
+
* ```
|
|
253
|
+
*/
|
|
254
|
+
seed?: {
|
|
255
|
+
admin?: {
|
|
256
|
+
/** Unique external identifier for the admin user. */
|
|
257
|
+
externalId: string;
|
|
258
|
+
/** Display name. Defaults to externalId if omitted. */
|
|
259
|
+
displayName?: string;
|
|
260
|
+
/** Email address. Optional. */
|
|
261
|
+
email?: string;
|
|
262
|
+
/** Initial password. Optional — omit for service accounts that never log in. */
|
|
263
|
+
password?: string;
|
|
264
|
+
};
|
|
265
|
+
};
|
|
230
266
|
/**
|
|
231
267
|
* Load example workflows and seed sample data on startup.
|
|
232
268
|
* When `true`, appends the built-in example workers and starts
|
|
@@ -267,4 +303,9 @@ export interface LTInstance {
|
|
|
267
303
|
client: any;
|
|
268
304
|
/** Graceful shutdown — stops workers, server, and adapters. */
|
|
269
305
|
shutdown: () => Promise<void>;
|
|
306
|
+
/**
|
|
307
|
+
* UUID of the seeded admin user (when `seed.admin` was provided).
|
|
308
|
+
* Pass to `createClient({ auth: { userId: adminUserId } })`.
|
|
309
|
+
*/
|
|
310
|
+
adminUserId?: string;
|
|
270
311
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as o}from"./vendor-query-B2UbickB.js";import{c as n}from"./tasks-CI3qsHdP.js";import{r as m}from"./index-B7Vxutyl.js";import{f as c}from"./useEventHooks-DpvfSw9p.js";import{u}from"./mcp-J_cDlKuA.js";import{P as d}from"./PageHeaderWithStats-DQmNXYcG.js";import"./vendor-react-CX88sFS5.js";import"./vendor-icons-5gSix3t2.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-qZYNzvw8.js.map
|
package/dashboard/dist/assets/{AdminDashboard-ntLz5Pro.js.map → AdminDashboard-qZYNzvw8.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminDashboard-
|
|
1
|
+
{"version":3,"file":"AdminDashboard-qZYNzvw8.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"}
|