@hotmeshio/long-tail 0.1.6 → 0.1.8
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/README.md +47 -5
- package/build/api/auth.d.ts +16 -0
- package/build/api/auth.js +53 -0
- package/build/api/bot-accounts.d.ts +137 -0
- package/build/api/bot-accounts.js +302 -0
- package/build/api/controlplane.d.ts +68 -0
- package/build/api/controlplane.js +158 -0
- package/build/api/dba.d.ts +42 -0
- package/build/api/dba.js +95 -0
- package/build/api/escalations.d.ts +271 -0
- package/build/api/escalations.js +892 -0
- package/build/api/exports.d.ts +90 -0
- package/build/api/exports.js +204 -0
- package/build/api/index.d.ts +18 -0
- package/build/api/index.js +54 -0
- package/build/api/insight.d.ts +86 -0
- package/build/api/insight.js +147 -0
- package/build/api/maintenance.d.ts +22 -0
- package/build/api/maintenance.js +43 -0
- package/build/api/mcp-runs.d.ts +43 -0
- package/build/api/mcp-runs.js +89 -0
- package/build/api/mcp.d.ts +160 -0
- package/build/api/mcp.js +320 -0
- package/build/api/namespaces.d.ts +20 -0
- package/build/{routes/escalations/helpers.js → api/namespaces.js} +35 -10
- package/build/api/roles.d.ts +88 -0
- package/build/api/roles.js +217 -0
- package/build/api/settings.d.ts +10 -0
- package/build/api/settings.js +43 -0
- package/build/api/tasks.d.ts +70 -0
- package/build/api/tasks.js +139 -0
- package/build/api/users.d.ts +115 -0
- package/build/api/users.js +228 -0
- package/build/api/workflow-sets.d.ts +77 -0
- package/build/api/workflow-sets.js +170 -0
- package/build/api/workflows.d.ts +158 -0
- package/build/api/workflows.js +407 -0
- package/build/api/yaml-workflows.d.ts +282 -0
- package/build/api/yaml-workflows.js +751 -0
- package/build/examples/types/envelopes.d.ts +27 -0
- package/build/examples/types/index.d.ts +1 -1
- package/build/examples/workers.js +8 -0
- package/build/examples/workflows/assembly-line/activities.d.ts +28 -0
- package/build/examples/workflows/assembly-line/activities.js +53 -0
- package/build/examples/workflows/assembly-line/index.d.ts +17 -0
- package/build/examples/workflows/assembly-line/index.js +60 -0
- package/build/examples/workflows/assembly-line/iterator.d.ts +12 -0
- package/build/examples/workflows/assembly-line/iterator.js +54 -0
- package/build/examples/workflows/assembly-line/reverter.d.ts +18 -0
- package/build/examples/workflows/assembly-line/reverter.js +89 -0
- package/build/examples/workflows/assembly-line/types.d.ts +25 -0
- package/build/examples/workflows/assembly-line/types.js +8 -0
- package/build/examples/workflows/assembly-line/worker.d.ts +13 -0
- package/build/examples/workflows/assembly-line/worker.js +81 -0
- package/build/index.d.ts +4 -0
- package/build/index.js +6 -1
- package/build/lib/db/schemas/004_workflow_sets.sql +29 -0
- package/build/lib/db/schemas/005_unique_graph_topic.sql +7 -0
- package/build/lib/db/schemas/011_system_workflow_configs.sql +7 -0
- package/build/lib/events/callback.d.ts +41 -0
- package/build/lib/events/callback.js +98 -0
- package/build/modules/config.js +1 -1
- package/build/routes/auth.js +37 -36
- package/build/routes/bot-accounts.js +34 -164
- package/build/routes/controlplane.js +20 -60
- package/build/routes/dba.js +18 -28
- package/build/routes/escalations/bulk.js +17 -192
- package/build/routes/escalations/list.js +51 -75
- package/build/routes/escalations/resolve.js +3 -193
- package/build/routes/escalations/single.js +13 -122
- package/build/routes/exports.js +44 -95
- package/build/routes/index.js +2 -0
- package/build/routes/insight.js +46 -88
- package/build/routes/maintenance.js +41 -17
- package/build/routes/mcp-runs.js +52 -60
- package/build/routes/mcp.js +49 -177
- package/build/routes/namespaces.js +9 -20
- package/build/routes/roles.js +23 -97
- package/build/routes/settings.js +37 -25
- package/build/routes/tasks.js +28 -64
- package/build/routes/users.js +24 -113
- package/build/routes/workflow-sets.d.ts +2 -0
- package/build/routes/workflow-sets.js +98 -0
- package/build/routes/workflows/config.js +23 -57
- package/build/routes/workflows/discovery.js +11 -85
- package/build/routes/workflows/invocation.js +28 -90
- package/build/routes/yaml-workflows/cron.js +12 -61
- package/build/routes/yaml-workflows/crud.js +30 -223
- package/build/routes/yaml-workflows/deployment.js +15 -115
- package/build/routes/yaml-workflows/versions.js +20 -58
- package/build/sdk/index.d.ts +338 -0
- package/build/sdk/index.js +299 -0
- package/build/services/controlplane/index.d.ts +1 -2
- package/build/services/controlplane/index.js +3 -3
- package/build/services/controlplane/sql.d.ts +2 -2
- package/build/services/controlplane/sql.js +4 -5
- package/build/services/controlplane/types.d.ts +1 -0
- package/build/services/export/index.js +6 -1
- package/build/services/hotmesh-utils.js +2 -4
- package/build/services/insight/index.d.ts +7 -0
- package/build/services/insight/index.js +30 -0
- package/build/services/mcp/client/tools.js +13 -1
- package/build/services/mcp-runs/sql.js +1 -1
- package/build/services/workflow-invocation.d.ts +15 -2
- package/build/services/workflow-invocation.js +11 -6
- package/build/services/workflow-sets/db.d.ts +16 -0
- package/build/services/workflow-sets/db.js +78 -0
- package/build/services/workflow-sets/index.d.ts +1 -0
- package/build/services/workflow-sets/index.js +11 -0
- package/build/services/workflow-sets/sql.d.ts +6 -0
- package/build/services/workflow-sets/sql.js +24 -0
- package/build/services/yaml-workflow/db-utils.d.ts +1 -0
- package/build/services/yaml-workflow/db-utils.js +4 -0
- package/build/services/yaml-workflow/db.d.ts +5 -0
- package/build/services/yaml-workflow/db.js +17 -0
- package/build/services/yaml-workflow/pipeline/build/wiring.js +14 -1
- package/build/services/yaml-workflow/pipeline/prompts.d.ts +1 -1
- package/build/services/yaml-workflow/pipeline/prompts.js +1 -1
- package/build/services/yaml-workflow/sql.d.ts +2 -1
- package/build/services/yaml-workflow/sql.js +8 -3
- package/build/services/yaml-workflow/types.d.ts +3 -0
- package/build/services/yaml-workflow/workers/callbacks.js +7 -1
- package/build/services/yaml-workflow/workers/register.js +7 -0
- package/build/start/adapters.js +4 -0
- package/build/system/index.js +6 -0
- package/build/system/mcp-servers/knowledge.js +1 -1
- package/build/system/seed/server-definitions.js +2 -1
- package/build/system/workflows/mcp-workflow-builder/activities/index.d.ts +1 -1
- package/build/system/workflows/mcp-workflow-builder/activities/index.js +2 -1
- package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.d.ts +6 -0
- package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.js +26 -0
- package/build/system/workflows/mcp-workflow-builder/index.js +26 -2
- package/build/system/workflows/mcp-workflow-builder/prompts.js +104 -35
- package/build/system/workflows/mcp-workflow-planner/activities/analyze.d.ts +11 -0
- package/build/system/workflows/mcp-workflow-planner/activities/analyze.js +36 -0
- package/build/system/workflows/mcp-workflow-planner/activities/index.d.ts +3 -0
- package/build/system/workflows/mcp-workflow-planner/activities/index.js +12 -0
- package/build/system/workflows/mcp-workflow-planner/activities/persist.d.ts +19 -0
- package/build/system/workflows/mcp-workflow-planner/activities/persist.js +55 -0
- package/build/system/workflows/mcp-workflow-planner/activities/plan.d.ts +10 -0
- package/build/system/workflows/mcp-workflow-planner/activities/plan.js +43 -0
- package/build/system/workflows/mcp-workflow-planner/index.d.ts +7 -0
- package/build/system/workflows/mcp-workflow-planner/index.js +152 -0
- package/build/system/workflows/mcp-workflow-planner/prompts.d.ts +7 -0
- package/build/system/workflows/mcp-workflow-planner/prompts.js +77 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/index.d.ts +1 -0
- package/build/types/sdk.d.ts +27 -0
- package/build/types/sdk.js +2 -0
- package/build/types/workflow-set.d.ts +44 -0
- package/build/types/workflow-set.js +5 -0
- package/dashboard/dist/assets/{AdminDashboard-BXkKGkb5.js → AdminDashboard-B15jSEV2.js} +2 -2
- package/dashboard/dist/assets/{AdminDashboard-BXkKGkb5.js.map → AdminDashboard-B15jSEV2.js.map} +1 -1
- package/dashboard/dist/assets/{AvailableEscalationsPage-DcH592mc.js → AvailableEscalationsPage-0V2yvKak.js} +2 -2
- package/dashboard/dist/assets/{AvailableEscalationsPage-DcH592mc.js.map → AvailableEscalationsPage-0V2yvKak.js.map} +1 -1
- package/dashboard/dist/assets/BotPicker-B4UxHcek.js +2 -0
- package/dashboard/dist/assets/{BotPicker-A6LtzyuO.js.map → BotPicker-B4UxHcek.js.map} +1 -1
- package/dashboard/dist/assets/{CollapsibleSection-C7nL2_mv.js → CollapsibleSection-BBexNWVd.js} +2 -2
- package/dashboard/dist/assets/{CollapsibleSection-C7nL2_mv.js.map → CollapsibleSection-BBexNWVd.js.map} +1 -1
- package/dashboard/dist/assets/{ConfirmDeleteModal-CWFwJrSl.js → ConfirmDeleteModal-DlPDJSq_.js} +2 -2
- package/dashboard/dist/assets/{ConfirmDeleteModal-CWFwJrSl.js.map → ConfirmDeleteModal-DlPDJSq_.js.map} +1 -1
- package/dashboard/dist/assets/{CopyableId-DbZ5c3jh.js → CopyableId-BxHW1ahb.js} +2 -2
- package/dashboard/dist/assets/{CopyableId-DbZ5c3jh.js.map → CopyableId-BxHW1ahb.js.map} +1 -1
- package/dashboard/dist/assets/{CredentialsPage-ClWkmLPu.js → CredentialsPage-Bp_Y1Szk.js} +2 -2
- package/dashboard/dist/assets/{CredentialsPage-ClWkmLPu.js.map → CredentialsPage-Bp_Y1Szk.js.map} +1 -1
- package/dashboard/dist/assets/{CustomDurationPicker-CtH2hReF.js → CustomDurationPicker-ByBFqXSO.js} +2 -2
- package/dashboard/dist/assets/{CustomDurationPicker-CtH2hReF.js.map → CustomDurationPicker-ByBFqXSO.js.map} +1 -1
- package/dashboard/dist/assets/{DataTable-CM5ZcpPi.js → DataTable-DyIXg-tQ.js} +2 -2
- package/dashboard/dist/assets/{DataTable-CM5ZcpPi.js.map → DataTable-DyIXg-tQ.js.map} +1 -1
- package/dashboard/dist/assets/{ElapsedCell-CwqavyeC.js → ElapsedCell-BgnA0qpS.js} +2 -2
- package/dashboard/dist/assets/{ElapsedCell-CwqavyeC.js.map → ElapsedCell-BgnA0qpS.js.map} +1 -1
- package/dashboard/dist/assets/{EmptyState-BBn78pmm.js → EmptyState-DlMImvgm.js} +2 -2
- package/dashboard/dist/assets/{EmptyState-BBn78pmm.js.map → EmptyState-DlMImvgm.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationsOverview-BcJ2E3X7.js → EscalationsOverview-D90kdfw1.js} +2 -2
- package/dashboard/dist/assets/{EscalationsOverview-BcJ2E3X7.js.map → EscalationsOverview-D90kdfw1.js.map} +1 -1
- package/dashboard/dist/assets/{EventTable-C1en_KZ0.js → EventTable-BNxtlgNz.js} +2 -2
- package/dashboard/dist/assets/{EventTable-C1en_KZ0.js.map → EventTable-BNxtlgNz.js.map} +1 -1
- package/dashboard/dist/assets/{FilterBar-CZTlrLQT.js → FilterBar-BTiaAhCx.js} +2 -2
- package/dashboard/dist/assets/{FilterBar-CZTlrLQT.js.map → FilterBar-BTiaAhCx.js.map} +1 -1
- package/dashboard/dist/assets/{ListToolbar-Cdbsapig.js → ListToolbar-BUcagSCn.js} +2 -2
- package/dashboard/dist/assets/{ListToolbar-Cdbsapig.js.map → ListToolbar-BUcagSCn.js.map} +1 -1
- package/dashboard/dist/assets/{McpOverview-CSpEJxKa.js → McpOverview-B-tCvz8C.js} +2 -2
- package/dashboard/dist/assets/{McpOverview-CSpEJxKa.js.map → McpOverview-B-tCvz8C.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryDetailPage-DPlF1wYb.js +5 -0
- package/dashboard/dist/assets/McpQueryDetailPage-DPlF1wYb.js.map +1 -0
- package/dashboard/dist/assets/McpQueryPage-Bz7AdcfR.js +2 -0
- package/dashboard/dist/assets/McpQueryPage-Bz7AdcfR.js.map +1 -0
- package/dashboard/dist/assets/{McpRunDetailPage-9xdxgG4d.js → McpRunDetailPage-Di_qpL2V.js} +2 -2
- package/dashboard/dist/assets/{McpRunDetailPage-9xdxgG4d.js.map → McpRunDetailPage-Di_qpL2V.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunsPage-wWLqHsd4.js → McpRunsPage-BBgybBEa.js} +2 -2
- package/dashboard/dist/assets/{McpRunsPage-wWLqHsd4.js.map → McpRunsPage-BBgybBEa.js.map} +1 -1
- package/dashboard/dist/assets/{Modal-kB_P7ZOr.js → Modal-CaJ0gTEa.js} +2 -2
- package/dashboard/dist/assets/{Modal-kB_P7ZOr.js.map → Modal-CaJ0gTEa.js.map} +1 -1
- package/dashboard/dist/assets/OperatorDashboard-DDfMmrmR.js +2 -0
- package/dashboard/dist/assets/{OperatorDashboard-jc0vrgDI.js.map → OperatorDashboard-DDfMmrmR.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeader-NkOeBR05.js → PageHeader-C5D-G5rp.js} +2 -2
- package/dashboard/dist/assets/{PageHeader-NkOeBR05.js.map → PageHeader-C5D-G5rp.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeaderWithStats-ywNhrmFK.js → PageHeaderWithStats-DCa2eZh2.js} +2 -2
- package/dashboard/dist/assets/{PageHeaderWithStats-ywNhrmFK.js.map → PageHeaderWithStats-DCa2eZh2.js.map} +1 -1
- package/dashboard/dist/assets/{PriorityBadge-B2MQbSxy.js → PriorityBadge-DTHq6OUZ.js} +2 -2
- package/dashboard/dist/assets/{PriorityBadge-B2MQbSxy.js.map → PriorityBadge-DTHq6OUZ.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessDetailPage-B7z7IdqE.js → ProcessDetailPage-fC4dhrd0.js} +2 -2
- package/dashboard/dist/assets/{ProcessDetailPage-B7z7IdqE.js.map → ProcessDetailPage-fC4dhrd0.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessesListPage-C-uHadO6.js → ProcessesListPage-CL2MY8uD.js} +2 -2
- package/dashboard/dist/assets/{ProcessesListPage-C-uHadO6.js.map → ProcessesListPage-CL2MY8uD.js.map} +1 -1
- package/dashboard/dist/assets/{RolePill-C1dgC-fK.js → RolePill-kgKPANly.js} +2 -2
- package/dashboard/dist/assets/{RolePill-C1dgC-fK.js.map → RolePill-kgKPANly.js.map} +1 -1
- package/dashboard/dist/assets/{RolesPage-BSxrD1vm.js → RolesPage-Be2lXTHD.js} +2 -2
- package/dashboard/dist/assets/{RolesPage-BSxrD1vm.js.map → RolesPage-Be2lXTHD.js.map} +1 -1
- package/dashboard/dist/assets/{RowActions-lYaHGI-v.js → RowActions-DIzJCwqR.js} +2 -2
- package/dashboard/dist/assets/{RowActions-lYaHGI-v.js.map → RowActions-DIzJCwqR.js.map} +1 -1
- package/dashboard/dist/assets/{StatCard-v2TiITVr.js → StatCard-CRi2Jy6t.js} +2 -2
- package/dashboard/dist/assets/{StatCard-v2TiITVr.js.map → StatCard-CRi2Jy6t.js.map} +1 -1
- package/dashboard/dist/assets/{StatusBadge-DWlxevgG.js → StatusBadge-BETI_8Mr.js} +2 -2
- package/dashboard/dist/assets/{StatusBadge-DWlxevgG.js.map → StatusBadge-BETI_8Mr.js.map} +1 -1
- package/dashboard/dist/assets/{StepIndicator-CRM4ft28.js → StepIndicator-DjpMqCjz.js} +2 -2
- package/dashboard/dist/assets/{StepIndicator-CRM4ft28.js.map → StepIndicator-DjpMqCjz.js.map} +1 -1
- package/dashboard/dist/assets/{StickyPagination-CF0EToEU.js → StickyPagination-BZbExQ9t.js} +2 -2
- package/dashboard/dist/assets/{StickyPagination-CF0EToEU.js.map → StickyPagination-BZbExQ9t.js.map} +1 -1
- package/dashboard/dist/assets/{SwimlaneTimeline-CNlj7fgg.js → SwimlaneTimeline-DZthQyhR.js} +2 -2
- package/dashboard/dist/assets/{SwimlaneTimeline-CNlj7fgg.js.map → SwimlaneTimeline-DZthQyhR.js.map} +1 -1
- package/dashboard/dist/assets/{TagInput-CH8qMGhC.js → TagInput-CukbOfYn.js} +2 -2
- package/dashboard/dist/assets/{TagInput-CH8qMGhC.js.map → TagInput-CukbOfYn.js.map} +1 -1
- package/dashboard/dist/assets/{TaskDetailPage-CdWo-6mu.js → TaskDetailPage-CIZHIKo9.js} +2 -2
- package/dashboard/dist/assets/{TaskDetailPage-CdWo-6mu.js.map → TaskDetailPage-CIZHIKo9.js.map} +1 -1
- package/dashboard/dist/assets/{TaskQueuePill-BPj4ogVG.js → TaskQueuePill-Q7DGoysj.js} +2 -2
- package/dashboard/dist/assets/{TaskQueuePill-BPj4ogVG.js.map → TaskQueuePill-Q7DGoysj.js.map} +1 -1
- package/dashboard/dist/assets/{TasksListPage-CtRkMpKU.js → TasksListPage-CsC9wjb0.js} +2 -2
- package/dashboard/dist/assets/{TasksListPage-CtRkMpKU.js.map → TasksListPage-CsC9wjb0.js.map} +1 -1
- package/dashboard/dist/assets/{TimeAgo-Di1a3X5P.js → TimeAgo-BcOOnJeH.js} +2 -2
- package/dashboard/dist/assets/{TimeAgo-Di1a3X5P.js.map → TimeAgo-BcOOnJeH.js.map} +1 -1
- package/dashboard/dist/assets/{TimestampCell-CqrXql-S.js → TimestampCell-CEMapYDQ.js} +2 -2
- package/dashboard/dist/assets/{TimestampCell-CqrXql-S.js.map → TimestampCell-CEMapYDQ.js.map} +1 -1
- package/dashboard/dist/assets/{UserName-BUFYCnRa.js → UserName-BHoN7iRL.js} +2 -2
- package/dashboard/dist/assets/{UserName-BUFYCnRa.js.map → UserName-BHoN7iRL.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowExecutionPage-25iusMml.js → WorkflowExecutionPage-DawKl1LT.js} +2 -2
- package/dashboard/dist/assets/{WorkflowExecutionPage-25iusMml.js.map → WorkflowExecutionPage-DawKl1LT.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowPill-CP84Vqeg.js +2 -0
- package/dashboard/dist/assets/{WorkflowPill-DPKOcbf4.js.map → WorkflowPill-CP84Vqeg.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsDashboard-BgxslssH.js → WorkflowsDashboard-QrvVFxtQ.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsDashboard-BgxslssH.js.map → WorkflowsDashboard-QrvVFxtQ.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsOverview-Doe5L-Re.js → WorkflowsOverview-DuhAi_OY.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsOverview-Doe5L-Re.js.map → WorkflowsOverview-DuhAi_OY.js.map} +1 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-Dc9xw82a.js +2 -0
- package/dashboard/dist/assets/YamlWorkflowsPage-Dc9xw82a.js.map +1 -0
- package/dashboard/dist/assets/{bots-Bi2_O1Ts.js → bots-Dny-rmmI.js} +2 -2
- package/dashboard/dist/assets/{bots-Bi2_O1Ts.js.map → bots-Dny-rmmI.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-Ck1KlLkT.js → escalation-CV0sKNH5.js} +2 -2
- package/dashboard/dist/assets/{escalation-Ck1KlLkT.js.map → escalation-CV0sKNH5.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-columns-ohDsj2eJ.js → escalation-columns-30CKyoWI.js} +2 -2
- package/dashboard/dist/assets/{escalation-columns-ohDsj2eJ.js.map → escalation-columns-30CKyoWI.js.map} +1 -1
- package/dashboard/dist/assets/{helpers-BoD2SgUY.js → helpers-C1-30CzH.js} +2 -2
- package/dashboard/dist/assets/{helpers-BoD2SgUY.js.map → helpers-C1-30CzH.js.map} +1 -1
- package/dashboard/dist/assets/helpers-C1jaRD-d.js +2 -0
- package/dashboard/dist/assets/helpers-C1jaRD-d.js.map +1 -0
- package/dashboard/dist/assets/{index-FuohTtaM.js → index-BUVQ6wmy.js} +3 -3
- package/dashboard/dist/assets/{index-FuohTtaM.js.map → index-BUVQ6wmy.js.map} +1 -1
- package/dashboard/dist/assets/index-CxVB7F4X.js +2 -0
- package/dashboard/dist/assets/{index-Dk2Q51o0.js.map → index-CxVB7F4X.js.map} +1 -1
- package/dashboard/dist/assets/{index-BEtLIsML.js → index-D-oCWCAS.js} +2 -2
- package/dashboard/dist/assets/{index-BEtLIsML.js.map → index-D-oCWCAS.js.map} +1 -1
- package/dashboard/dist/assets/index-D0wPM3Ck.js +2 -0
- package/dashboard/dist/assets/{index-BpT-6WgJ.js.map → index-D0wPM3Ck.js.map} +1 -1
- package/dashboard/dist/assets/{index-Bn2xHDr8.js → index-DHgnkykj.js} +3 -3
- package/dashboard/dist/assets/{index-Bn2xHDr8.js.map → index-DHgnkykj.js.map} +1 -1
- package/dashboard/dist/assets/{index-D3NyVADW.js → index-D_aJBEAG.js} +2 -2
- package/dashboard/dist/assets/index-D_aJBEAG.js.map +1 -0
- package/dashboard/dist/assets/{index-PyCTS05D.css → index-DcIKW-cZ.css} +1 -1
- package/dashboard/dist/assets/{index-CZrJ09p-.js → index-Dd_U4mLm.js} +2 -2
- package/dashboard/dist/assets/{index-CZrJ09p-.js.map → index-Dd_U4mLm.js.map} +1 -1
- package/dashboard/dist/assets/{index-DYyLF-Qb.js → index-DnmZbNxk.js} +8 -8
- package/dashboard/dist/assets/index-DnmZbNxk.js.map +1 -0
- package/dashboard/dist/assets/index-_RBvi7s6.js +2 -0
- package/dashboard/dist/assets/{index-D7zYZOnH.js.map → index-_RBvi7s6.js.map} +1 -1
- package/dashboard/dist/assets/index-n7td8zgX.js +17 -0
- package/dashboard/dist/assets/{index-DOkHXmyf.js.map → index-n7td8zgX.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-CJtYjA7A.js → mcp-CRFr4L9W.js} +2 -2
- package/dashboard/dist/assets/{mcp-CJtYjA7A.js.map → mcp-CRFr4L9W.js.map} +1 -1
- package/dashboard/dist/assets/mcp-query-DHY2mZBQ.js +2 -0
- package/dashboard/dist/assets/mcp-query-DHY2mZBQ.js.map +1 -0
- package/dashboard/dist/assets/{mcp-runs-DUWm9Z4V.js → mcp-runs-BqPHqwAO.js} +2 -2
- package/dashboard/dist/assets/{mcp-runs-DUWm9Z4V.js.map → mcp-runs-BqPHqwAO.js.map} +1 -1
- package/dashboard/dist/assets/{namespaces-BM5P2qmL.js → namespaces-TG1aIpo_.js} +2 -2
- package/dashboard/dist/assets/{namespaces-BM5P2qmL.js.map → namespaces-TG1aIpo_.js.map} +1 -1
- package/dashboard/dist/assets/{roles-lv0shpjJ.js → roles-DhhLTvXg.js} +2 -2
- package/dashboard/dist/assets/{roles-lv0shpjJ.js.map → roles-DhhLTvXg.js.map} +1 -1
- package/dashboard/dist/assets/{settings-Wlq92mRo.js → settings-D9MBzEeB.js} +2 -2
- package/dashboard/dist/assets/{settings-Wlq92mRo.js.map → settings-D9MBzEeB.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-BFGm4PuE.js → tasks-BxmcZoev.js} +2 -2
- package/dashboard/dist/assets/{tasks-BFGm4PuE.js.map → tasks-BxmcZoev.js.map} +1 -1
- package/dashboard/dist/assets/{useEventHooks-DIE6ue4x.js → useEventHooks-BylecvvI.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-DIE6ue4x.js.map → useEventHooks-BylecvvI.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-DCwSO73t.js → useYamlActivityEvents-ocmj11e_.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-DCwSO73t.js.map → useYamlActivityEvents-ocmj11e_.js.map} +1 -1
- package/dashboard/dist/assets/{users-tA5-K0wA.js → users-Ce5r-JAv.js} +2 -2
- package/dashboard/dist/assets/{users-tA5-K0wA.js.map → users-Ce5r-JAv.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-BiIug1SK.js → vendor-icons-D1DdudfH.js} +93 -73
- package/dashboard/dist/assets/vendor-icons-D1DdudfH.js.map +1 -0
- package/dashboard/dist/assets/{workflows-CfLc15Wr.js → workflows-ykIeVbRJ.js} +2 -2
- package/dashboard/dist/assets/{workflows-CfLc15Wr.js.map → workflows-ykIeVbRJ.js.map} +1 -1
- package/dashboard/dist/assets/yaml-workflows-WypmKYht.js +2 -0
- package/dashboard/dist/assets/yaml-workflows-WypmKYht.js.map +1 -0
- package/dashboard/dist/index.html +3 -3
- package/docs/api/sdk/auth.md +27 -0
- package/docs/api/sdk/bot-accounts.md +243 -0
- package/docs/api/sdk/controlplane.md +103 -0
- package/docs/api/sdk/dba.md +52 -0
- package/docs/api/sdk/escalations.md +374 -0
- package/docs/api/sdk/events.md +68 -0
- package/docs/api/sdk/exports.md +124 -0
- package/docs/api/sdk/insight.md +112 -0
- package/docs/api/sdk/maintenance.md +54 -0
- package/docs/api/sdk/mcp-runs.md +71 -0
- package/docs/api/sdk/mcp.md +250 -0
- package/docs/api/sdk/namespaces.md +43 -0
- package/docs/api/sdk/roles.md +183 -0
- package/docs/api/sdk/settings.md +24 -0
- package/docs/api/sdk/tasks.md +120 -0
- package/docs/api/sdk/users.md +196 -0
- package/docs/api/sdk/workflow-sets.md +135 -0
- package/docs/api/sdk/workflows.md +271 -0
- package/docs/api/sdk/yaml-workflows.md +408 -0
- package/docs/events.md +28 -0
- package/docs/sdk.md +177 -0
- package/docs/story.md +157 -0
- package/package.json +3 -2
- package/build/routes/escalations/helpers.d.ts +0 -5
- package/build/routes/resolve.d.ts +0 -9
- package/build/routes/resolve.js +0 -19
- package/build/routes/yaml-workflows/helpers.d.ts +0 -2
- package/build/routes/yaml-workflows/helpers.js +0 -8
- package/dashboard/dist/assets/BotPicker-A6LtzyuO.js +0 -2
- package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js +0 -5
- package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js.map +0 -1
- package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js +0 -2
- package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js.map +0 -1
- package/dashboard/dist/assets/OperatorDashboard-jc0vrgDI.js +0 -2
- package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js +0 -2
- package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js.map +0 -1
- package/dashboard/dist/assets/WorkflowPill-DPKOcbf4.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js.map +0 -1
- package/dashboard/dist/assets/index-BpT-6WgJ.js +0 -2
- package/dashboard/dist/assets/index-D3NyVADW.js.map +0 -1
- package/dashboard/dist/assets/index-D7zYZOnH.js +0 -2
- package/dashboard/dist/assets/index-DOkHXmyf.js +0 -17
- package/dashboard/dist/assets/index-DYyLF-Qb.js.map +0 -1
- package/dashboard/dist/assets/index-Dk2Q51o0.js +0 -2
- package/dashboard/dist/assets/mcp-query-jQJQrs_7.js +0 -2
- package/dashboard/dist/assets/mcp-query-jQJQrs_7.js.map +0 -1
- package/dashboard/dist/assets/vendor-icons-BiIug1SK.js.map +0 -1
- package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js +0 -2
- package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js.map +0 -1
- package/docs/img/01-login.png +0 -0
- package/docs/img/02-dashboard-home.png +0 -0
- package/docs/img/03-processes-list.png +0 -0
- package/docs/img/04-escalations-list.png +0 -0
- package/docs/img/05-mcp-servers.png +0 -0
- package/docs/img/06-mcp-pipelines.png +0 -0
- package/docs/img/07-workflows-list.png +0 -0
- package/docs/img/compilation/01-query-submit.png +0 -0
- package/docs/img/compilation/02-mcp-servers.png +0 -0
- package/docs/img/compilation/03-query-completed.png +0 -0
- package/docs/img/compilation/04-wizard-original.png +0 -0
- package/docs/img/compilation/05-wizard-timeline.png +0 -0
- package/docs/img/compilation/06-wizard-profile.png +0 -0
- package/docs/img/compilation/07-wizard-deploy.png +0 -0
- package/docs/img/compilation/08-wizard-test-modal.png +0 -0
- package/docs/img/compilation/09-wizard-test-compare.png +0 -0
- package/docs/img/compilation/10-wizard-verify.png +0 -0
- /package/docs/api/{dba.md → http/dba.md} +0 -0
- /package/docs/api/{escalations.md → http/escalations.md} +0 -0
- /package/docs/api/{exports.md → http/exports.md} +0 -0
- /package/docs/api/{maintenance.md → http/maintenance.md} +0 -0
- /package/docs/api/{mcp-runs.md → http/mcp-runs.md} +0 -0
- /package/docs/api/{mcp-servers.md → http/mcp-servers.md} +0 -0
- /package/docs/api/{namespaces.md → http/namespaces.md} +0 -0
- /package/docs/api/{roles.md → http/roles.md} +0 -0
- /package/docs/api/{service-accounts.md → http/service-accounts.md} +0 -0
- /package/docs/api/{settings.md → http/settings.md} +0 -0
- /package/docs/api/{tasks.md → http/tasks.md} +0 -0
- /package/docs/api/{users.md → http/users.md} +0 -0
- /package/docs/api/{workflows.md → http/workflows.md} +0 -0
- /package/docs/api/{yaml-workflows.md → http/yaml-workflows.md} +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { LTApiResult } from '../types/sdk';
|
|
2
|
+
import type { LTExportField } from '../types';
|
|
3
|
+
import type { ExportMode } from '@hotmeshio/hotmesh/build/types/exporter';
|
|
4
|
+
/**
|
|
5
|
+
* List export jobs with optional filtering, sorting, and pagination.
|
|
6
|
+
*
|
|
7
|
+
* @param input.limit — maximum number of jobs to return
|
|
8
|
+
* @param input.offset — number of jobs to skip for pagination
|
|
9
|
+
* @param input.entity — filter by entity/workflow type
|
|
10
|
+
* @param input.search — free-text search across job fields
|
|
11
|
+
* @param input.status — filter by job status
|
|
12
|
+
* @param input.sort_by — field name to sort results by
|
|
13
|
+
* @param input.order — sort direction (asc or desc)
|
|
14
|
+
* @param input.registered — filter by registration status
|
|
15
|
+
* @returns `{ status: 200, data: { jobs, total, ... } }` on success
|
|
16
|
+
*/
|
|
17
|
+
export declare function listJobs(input: {
|
|
18
|
+
limit?: number;
|
|
19
|
+
offset?: number;
|
|
20
|
+
entity?: string;
|
|
21
|
+
search?: string;
|
|
22
|
+
status?: string;
|
|
23
|
+
sort_by?: string;
|
|
24
|
+
order?: string;
|
|
25
|
+
registered?: string;
|
|
26
|
+
}): Promise<LTApiResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Export the stored state (hash data) of a workflow.
|
|
29
|
+
*
|
|
30
|
+
* Resolves the workflow handle from its ID, then exports its state fields.
|
|
31
|
+
* Fields can be filtered via allow/block lists. Returns 404 if the workflow
|
|
32
|
+
* cannot be found or its data has expired.
|
|
33
|
+
*
|
|
34
|
+
* @param input.workflowId — the workflow's unique identifier
|
|
35
|
+
* @param input.allow — whitelist of field names to include in the export
|
|
36
|
+
* @param input.block — blacklist of field names to exclude from the export
|
|
37
|
+
* @param input.values — when true, include field values (not just field names)
|
|
38
|
+
* @returns `{ status: 200, data: ExportedState }` on success
|
|
39
|
+
*/
|
|
40
|
+
export declare function exportWorkflowState(input: {
|
|
41
|
+
workflowId: string;
|
|
42
|
+
allow?: LTExportField[];
|
|
43
|
+
block?: LTExportField[];
|
|
44
|
+
values?: boolean;
|
|
45
|
+
}): Promise<LTApiResult>;
|
|
46
|
+
/**
|
|
47
|
+
* Export the full execution tree of a workflow.
|
|
48
|
+
*
|
|
49
|
+
* Resolves the workflow handle, then exports its execution graph including
|
|
50
|
+
* activity inputs and results. Returns 404 if the workflow cannot be found
|
|
51
|
+
* or its data has expired.
|
|
52
|
+
*
|
|
53
|
+
* @param input.workflowId — the workflow's unique identifier
|
|
54
|
+
* @param input.excludeSystem — when true, omit system-generated activities from the export
|
|
55
|
+
* @param input.omitResults — when true, exclude activity result payloads
|
|
56
|
+
* @param input.mode — export mode controlling output format (e.g., tree, flat)
|
|
57
|
+
* @param input.maxDepth — maximum depth to traverse in the execution tree
|
|
58
|
+
* @returns `{ status: 200, data: ExecutionExport }` on success
|
|
59
|
+
*/
|
|
60
|
+
export declare function exportWorkflowExecution(input: {
|
|
61
|
+
workflowId: string;
|
|
62
|
+
excludeSystem?: boolean;
|
|
63
|
+
omitResults?: boolean;
|
|
64
|
+
mode?: ExportMode;
|
|
65
|
+
maxDepth?: number;
|
|
66
|
+
}): Promise<LTApiResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Get the current status of a workflow (e.g., running, completed, failed).
|
|
69
|
+
*
|
|
70
|
+
* Resolves the workflow handle, then queries its status. Returns 404 if the
|
|
71
|
+
* workflow cannot be found or its data has expired.
|
|
72
|
+
*
|
|
73
|
+
* @param input.workflowId — the workflow's unique identifier
|
|
74
|
+
* @returns `{ status: 200, data: WorkflowStatus }` on success
|
|
75
|
+
*/
|
|
76
|
+
export declare function getWorkflowStatus(input: {
|
|
77
|
+
workflowId: string;
|
|
78
|
+
}): Promise<LTApiResult>;
|
|
79
|
+
/**
|
|
80
|
+
* Get the current state data of a workflow.
|
|
81
|
+
*
|
|
82
|
+
* Resolves the workflow handle, then retrieves its full state. Returns 404
|
|
83
|
+
* if the workflow cannot be found or its data has expired.
|
|
84
|
+
*
|
|
85
|
+
* @param input.workflowId — the workflow's unique identifier
|
|
86
|
+
* @returns `{ status: 200, data: WorkflowState }` on success
|
|
87
|
+
*/
|
|
88
|
+
export declare function getWorkflowState(input: {
|
|
89
|
+
workflowId: string;
|
|
90
|
+
}): Promise<LTApiResult>;
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.listJobs = listJobs;
|
|
37
|
+
exports.exportWorkflowState = exportWorkflowState;
|
|
38
|
+
exports.exportWorkflowExecution = exportWorkflowExecution;
|
|
39
|
+
exports.getWorkflowStatus = getWorkflowStatus;
|
|
40
|
+
exports.getWorkflowState = getWorkflowState;
|
|
41
|
+
const exportService = __importStar(require("../services/export"));
|
|
42
|
+
const resolve_1 = require("../services/task/resolve");
|
|
43
|
+
/**
|
|
44
|
+
* List export jobs with optional filtering, sorting, and pagination.
|
|
45
|
+
*
|
|
46
|
+
* @param input.limit — maximum number of jobs to return
|
|
47
|
+
* @param input.offset — number of jobs to skip for pagination
|
|
48
|
+
* @param input.entity — filter by entity/workflow type
|
|
49
|
+
* @param input.search — free-text search across job fields
|
|
50
|
+
* @param input.status — filter by job status
|
|
51
|
+
* @param input.sort_by — field name to sort results by
|
|
52
|
+
* @param input.order — sort direction (asc or desc)
|
|
53
|
+
* @param input.registered — filter by registration status
|
|
54
|
+
* @returns `{ status: 200, data: { jobs, total, ... } }` on success
|
|
55
|
+
*/
|
|
56
|
+
async function listJobs(input) {
|
|
57
|
+
try {
|
|
58
|
+
const result = await exportService.listJobs(input);
|
|
59
|
+
return { status: 200, data: result };
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
return { status: 500, error: err.message };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Export the stored state (hash data) of a workflow.
|
|
67
|
+
*
|
|
68
|
+
* Resolves the workflow handle from its ID, then exports its state fields.
|
|
69
|
+
* Fields can be filtered via allow/block lists. Returns 404 if the workflow
|
|
70
|
+
* cannot be found or its data has expired.
|
|
71
|
+
*
|
|
72
|
+
* @param input.workflowId — the workflow's unique identifier
|
|
73
|
+
* @param input.allow — whitelist of field names to include in the export
|
|
74
|
+
* @param input.block — blacklist of field names to exclude from the export
|
|
75
|
+
* @param input.values — when true, include field values (not just field names)
|
|
76
|
+
* @returns `{ status: 200, data: ExportedState }` on success
|
|
77
|
+
*/
|
|
78
|
+
async function exportWorkflowState(input) {
|
|
79
|
+
try {
|
|
80
|
+
let resolved;
|
|
81
|
+
try {
|
|
82
|
+
resolved = await (0, resolve_1.resolveWorkflowHandle)(input.workflowId);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return { status: 404, error: 'Workflow not found' };
|
|
86
|
+
}
|
|
87
|
+
const exported = await exportService.exportWorkflow(input.workflowId, resolved.taskQueue, resolved.workflowName, { allow: input.allow, block: input.block, values: input.values });
|
|
88
|
+
return { status: 200, data: exported };
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
const msg = err.message ?? '';
|
|
92
|
+
if (msg.includes('not found') || msg.includes('undefined')) {
|
|
93
|
+
return {
|
|
94
|
+
status: 404,
|
|
95
|
+
error: 'Workflow data is no longer available (job may have expired)',
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return { status: 500, error: msg };
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Export the full execution tree of a workflow.
|
|
103
|
+
*
|
|
104
|
+
* Resolves the workflow handle, then exports its execution graph including
|
|
105
|
+
* activity inputs and results. Returns 404 if the workflow cannot be found
|
|
106
|
+
* or its data has expired.
|
|
107
|
+
*
|
|
108
|
+
* @param input.workflowId — the workflow's unique identifier
|
|
109
|
+
* @param input.excludeSystem — when true, omit system-generated activities from the export
|
|
110
|
+
* @param input.omitResults — when true, exclude activity result payloads
|
|
111
|
+
* @param input.mode — export mode controlling output format (e.g., tree, flat)
|
|
112
|
+
* @param input.maxDepth — maximum depth to traverse in the execution tree
|
|
113
|
+
* @returns `{ status: 200, data: ExecutionExport }` on success
|
|
114
|
+
*/
|
|
115
|
+
async function exportWorkflowExecution(input) {
|
|
116
|
+
try {
|
|
117
|
+
let resolved;
|
|
118
|
+
try {
|
|
119
|
+
resolved = await (0, resolve_1.resolveWorkflowHandle)(input.workflowId);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return { status: 404, error: 'Workflow not found' };
|
|
123
|
+
}
|
|
124
|
+
const execution = await exportService.exportWorkflowExecution(input.workflowId, resolved.taskQueue, resolved.workflowName, {
|
|
125
|
+
exclude_system: input.excludeSystem ?? false,
|
|
126
|
+
omit_results: input.omitResults ?? false,
|
|
127
|
+
mode: input.mode || undefined,
|
|
128
|
+
max_depth: input.maxDepth,
|
|
129
|
+
enrich_inputs: true,
|
|
130
|
+
});
|
|
131
|
+
return { status: 200, data: execution };
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
const status = err.status === 404 || err.message?.includes('Not Found') ? 404 : 500;
|
|
135
|
+
return {
|
|
136
|
+
status,
|
|
137
|
+
error: status === 404
|
|
138
|
+
? 'Workflow data is no longer available (job may have expired)'
|
|
139
|
+
: err.message,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Get the current status of a workflow (e.g., running, completed, failed).
|
|
145
|
+
*
|
|
146
|
+
* Resolves the workflow handle, then queries its status. Returns 404 if the
|
|
147
|
+
* workflow cannot be found or its data has expired.
|
|
148
|
+
*
|
|
149
|
+
* @param input.workflowId — the workflow's unique identifier
|
|
150
|
+
* @returns `{ status: 200, data: WorkflowStatus }` on success
|
|
151
|
+
*/
|
|
152
|
+
async function getWorkflowStatus(input) {
|
|
153
|
+
try {
|
|
154
|
+
let resolved;
|
|
155
|
+
try {
|
|
156
|
+
resolved = await (0, resolve_1.resolveWorkflowHandle)(input.workflowId);
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return { status: 404, error: 'Workflow not found' };
|
|
160
|
+
}
|
|
161
|
+
const result = await exportService.getWorkflowStatus(input.workflowId, resolved.taskQueue, resolved.workflowName);
|
|
162
|
+
return { status: 200, data: result };
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
const status = err.status === 404 || err.message?.includes('Not Found') ? 404 : 500;
|
|
166
|
+
return {
|
|
167
|
+
status,
|
|
168
|
+
error: status === 404
|
|
169
|
+
? 'Workflow data is no longer available (job may have expired)'
|
|
170
|
+
: err.message,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get the current state data of a workflow.
|
|
176
|
+
*
|
|
177
|
+
* Resolves the workflow handle, then retrieves its full state. Returns 404
|
|
178
|
+
* if the workflow cannot be found or its data has expired.
|
|
179
|
+
*
|
|
180
|
+
* @param input.workflowId — the workflow's unique identifier
|
|
181
|
+
* @returns `{ status: 200, data: WorkflowState }` on success
|
|
182
|
+
*/
|
|
183
|
+
async function getWorkflowState(input) {
|
|
184
|
+
try {
|
|
185
|
+
let resolved;
|
|
186
|
+
try {
|
|
187
|
+
resolved = await (0, resolve_1.resolveWorkflowHandle)(input.workflowId);
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
return { status: 404, error: 'Workflow not found' };
|
|
191
|
+
}
|
|
192
|
+
const result = await exportService.getWorkflowState(input.workflowId, resolved.taskQueue, resolved.workflowName);
|
|
193
|
+
return { status: 200, data: result };
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
const status = err.status === 404 || err.message?.includes('Not Found') ? 404 : 500;
|
|
197
|
+
return {
|
|
198
|
+
status,
|
|
199
|
+
error: status === 404
|
|
200
|
+
? 'Workflow data is no longer available (job may have expired)'
|
|
201
|
+
: err.message,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * as tasks from './tasks';
|
|
2
|
+
export * as escalations from './escalations';
|
|
3
|
+
export * as workflows from './workflows';
|
|
4
|
+
export * as yamlWorkflows from './yaml-workflows';
|
|
5
|
+
export * as users from './users';
|
|
6
|
+
export * as roles from './roles';
|
|
7
|
+
export * as auth from './auth';
|
|
8
|
+
export * as mcp from './mcp';
|
|
9
|
+
export * as mcpRuns from './mcp-runs';
|
|
10
|
+
export * as insight from './insight';
|
|
11
|
+
export * as settings from './settings';
|
|
12
|
+
export * as exports from './exports';
|
|
13
|
+
export * as controlplane from './controlplane';
|
|
14
|
+
export * as botAccounts from './bot-accounts';
|
|
15
|
+
export * as workflowSets from './workflow-sets';
|
|
16
|
+
export * as dba from './dba';
|
|
17
|
+
export * as namespaces from './namespaces';
|
|
18
|
+
export * as maintenance from './maintenance';
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.maintenance = exports.namespaces = exports.dba = exports.workflowSets = exports.botAccounts = exports.controlplane = exports.exports = exports.settings = exports.insight = exports.mcpRuns = exports.mcp = exports.auth = exports.roles = exports.users = exports.yamlWorkflows = exports.workflows = exports.escalations = exports.tasks = void 0;
|
|
37
|
+
exports.tasks = __importStar(require("./tasks"));
|
|
38
|
+
exports.escalations = __importStar(require("./escalations"));
|
|
39
|
+
exports.workflows = __importStar(require("./workflows"));
|
|
40
|
+
exports.yamlWorkflows = __importStar(require("./yaml-workflows"));
|
|
41
|
+
exports.users = __importStar(require("./users"));
|
|
42
|
+
exports.roles = __importStar(require("./roles"));
|
|
43
|
+
exports.auth = __importStar(require("./auth"));
|
|
44
|
+
exports.mcp = __importStar(require("./mcp"));
|
|
45
|
+
exports.mcpRuns = __importStar(require("./mcp-runs"));
|
|
46
|
+
exports.insight = __importStar(require("./insight"));
|
|
47
|
+
exports.settings = __importStar(require("./settings"));
|
|
48
|
+
exports.exports = __importStar(require("./exports"));
|
|
49
|
+
exports.controlplane = __importStar(require("./controlplane"));
|
|
50
|
+
exports.botAccounts = __importStar(require("./bot-accounts"));
|
|
51
|
+
exports.workflowSets = __importStar(require("./workflow-sets"));
|
|
52
|
+
exports.dba = __importStar(require("./dba"));
|
|
53
|
+
exports.namespaces = __importStar(require("./namespaces"));
|
|
54
|
+
exports.maintenance = __importStar(require("./maintenance"));
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { LTApiResult, LTApiAuth } from '../types/sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Execute a natural-language query against connected MCP servers.
|
|
4
|
+
*
|
|
5
|
+
* Requires an LLM API key (OPENAI_API_KEY or ANTHROPIC_API_KEY) to be
|
|
6
|
+
* configured. Returns 503 if neither is set. Timeouts surface as 504.
|
|
7
|
+
*
|
|
8
|
+
* @param input.prompt — the natural-language query to execute (required)
|
|
9
|
+
* @param input.tags — optional tags to scope which MCP servers are queried
|
|
10
|
+
* @param input.wait — when true, blocks until the query completes; otherwise returns immediately
|
|
11
|
+
* @param input.direct — when true, bypasses workflow orchestration and queries the LLM directly
|
|
12
|
+
* @param input.context — optional additional context forwarded to the LLM
|
|
13
|
+
* @param auth — authenticated user context
|
|
14
|
+
* @returns `{ status: 200, data: { ... } }` query result from the MCP pipeline
|
|
15
|
+
*/
|
|
16
|
+
export declare function mcpQuery(input: {
|
|
17
|
+
prompt: string;
|
|
18
|
+
tags?: string[];
|
|
19
|
+
wait?: boolean;
|
|
20
|
+
direct?: boolean;
|
|
21
|
+
context?: any;
|
|
22
|
+
}, auth?: LTApiAuth): Promise<LTApiResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Generate a workflow definition from a natural-language description.
|
|
25
|
+
*
|
|
26
|
+
* Uses an LLM to produce a YAML workflow from the given prompt. Supports
|
|
27
|
+
* iterative refinement by accepting prior YAML, feedback, and Q&A answers.
|
|
28
|
+
* Requires an LLM API key. Timeouts surface as 504.
|
|
29
|
+
*
|
|
30
|
+
* @param input.prompt — natural-language description of the desired workflow (required)
|
|
31
|
+
* @param input.tags — optional tags to scope available MCP tools
|
|
32
|
+
* @param input.wait — when true, blocks until generation completes
|
|
33
|
+
* @param input.feedback — optional refinement feedback on a previous generation
|
|
34
|
+
* @param input.prior_yaml — optional YAML from a previous generation to refine
|
|
35
|
+
* @param input.answers — optional answers to clarifying questions from a prior round
|
|
36
|
+
* @param input.prior_questions — optional questions from a prior round for context
|
|
37
|
+
* @param auth — authenticated user context
|
|
38
|
+
* @returns `{ status: 200, data: { ... } }` generated workflow definition
|
|
39
|
+
*/
|
|
40
|
+
export declare function buildWorkflow(input: {
|
|
41
|
+
prompt: string;
|
|
42
|
+
tags?: string[];
|
|
43
|
+
wait?: boolean;
|
|
44
|
+
feedback?: string;
|
|
45
|
+
prior_yaml?: string;
|
|
46
|
+
answers?: any;
|
|
47
|
+
prior_questions?: any;
|
|
48
|
+
}, auth?: LTApiAuth): Promise<LTApiResult>;
|
|
49
|
+
/**
|
|
50
|
+
* Refine an existing workflow definition using feedback.
|
|
51
|
+
*
|
|
52
|
+
* Takes a previously generated YAML workflow, the original prompt, and
|
|
53
|
+
* user feedback, then produces an updated workflow definition.
|
|
54
|
+
*
|
|
55
|
+
* @param input.prompt — original natural-language description (required)
|
|
56
|
+
* @param input.prior_yaml — the YAML workflow to refine (required)
|
|
57
|
+
* @param input.feedback — user feedback describing desired changes (required)
|
|
58
|
+
* @param input.tags — optional tags to scope available MCP tools
|
|
59
|
+
* @param input.wait — when true, blocks until refinement completes
|
|
60
|
+
* @param auth — authenticated user context
|
|
61
|
+
* @returns `{ status: 200, data: { ... } }` refined workflow definition
|
|
62
|
+
*/
|
|
63
|
+
export declare function refineWorkflow(input: {
|
|
64
|
+
prompt: string;
|
|
65
|
+
prior_yaml: string;
|
|
66
|
+
feedback: string;
|
|
67
|
+
tags?: string[];
|
|
68
|
+
wait?: boolean;
|
|
69
|
+
}, auth?: LTApiAuth): Promise<LTApiResult>;
|
|
70
|
+
/**
|
|
71
|
+
* Generate a human-readable description and tags for a workflow.
|
|
72
|
+
*
|
|
73
|
+
* Uses an LLM to produce a concise description from the prompt and
|
|
74
|
+
* optional result metadata. Falls back to the raw prompt as the
|
|
75
|
+
* description if the LLM call fails.
|
|
76
|
+
*
|
|
77
|
+
* @param input.prompt — the workflow prompt or content to describe (required)
|
|
78
|
+
* @param input.result_title — optional title from the workflow result for additional context
|
|
79
|
+
* @param input.result_summary — optional summary from the workflow result for additional context
|
|
80
|
+
* @returns `{ status: 200, data: { description, tags } }` generated description and tag array
|
|
81
|
+
*/
|
|
82
|
+
export declare function describeWorkflow(input: {
|
|
83
|
+
prompt: string;
|
|
84
|
+
result_title?: string;
|
|
85
|
+
result_summary?: string;
|
|
86
|
+
}): Promise<LTApiResult>;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mcpQuery = mcpQuery;
|
|
4
|
+
exports.buildWorkflow = buildWorkflow;
|
|
5
|
+
exports.refineWorkflow = refineWorkflow;
|
|
6
|
+
exports.describeWorkflow = describeWorkflow;
|
|
7
|
+
const insight_1 = require("../services/insight");
|
|
8
|
+
/**
|
|
9
|
+
* Execute a natural-language query against connected MCP servers.
|
|
10
|
+
*
|
|
11
|
+
* Requires an LLM API key (OPENAI_API_KEY or ANTHROPIC_API_KEY) to be
|
|
12
|
+
* configured. Returns 503 if neither is set. Timeouts surface as 504.
|
|
13
|
+
*
|
|
14
|
+
* @param input.prompt — the natural-language query to execute (required)
|
|
15
|
+
* @param input.tags — optional tags to scope which MCP servers are queried
|
|
16
|
+
* @param input.wait — when true, blocks until the query completes; otherwise returns immediately
|
|
17
|
+
* @param input.direct — when true, bypasses workflow orchestration and queries the LLM directly
|
|
18
|
+
* @param input.context — optional additional context forwarded to the LLM
|
|
19
|
+
* @param auth — authenticated user context
|
|
20
|
+
* @returns `{ status: 200, data: { ... } }` query result from the MCP pipeline
|
|
21
|
+
*/
|
|
22
|
+
async function mcpQuery(input, auth) {
|
|
23
|
+
try {
|
|
24
|
+
if (!input.prompt || typeof input.prompt !== 'string') {
|
|
25
|
+
return { status: 400, error: 'prompt is required' };
|
|
26
|
+
}
|
|
27
|
+
if (!process.env.OPENAI_API_KEY && !process.env.ANTHROPIC_API_KEY) {
|
|
28
|
+
return { status: 503, error: 'MCP queries require an LLM API key (OPENAI_API_KEY or ANTHROPIC_API_KEY)' };
|
|
29
|
+
}
|
|
30
|
+
const result = await (0, insight_1.startMcpQuery)({
|
|
31
|
+
prompt: input.prompt,
|
|
32
|
+
tags: input.tags,
|
|
33
|
+
wait: input.wait,
|
|
34
|
+
direct: input.direct,
|
|
35
|
+
context: input.context,
|
|
36
|
+
userId: auth?.userId,
|
|
37
|
+
});
|
|
38
|
+
return { status: 200, data: result };
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
if (err.message?.includes('timeout') || err.message?.includes('TIMEOUT')) {
|
|
42
|
+
return { status: 504, error: 'MCP query timed out. Try a simpler prompt.' };
|
|
43
|
+
}
|
|
44
|
+
return { status: 500, error: err.message };
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Generate a workflow definition from a natural-language description.
|
|
49
|
+
*
|
|
50
|
+
* Uses an LLM to produce a YAML workflow from the given prompt. Supports
|
|
51
|
+
* iterative refinement by accepting prior YAML, feedback, and Q&A answers.
|
|
52
|
+
* Requires an LLM API key. Timeouts surface as 504.
|
|
53
|
+
*
|
|
54
|
+
* @param input.prompt — natural-language description of the desired workflow (required)
|
|
55
|
+
* @param input.tags — optional tags to scope available MCP tools
|
|
56
|
+
* @param input.wait — when true, blocks until generation completes
|
|
57
|
+
* @param input.feedback — optional refinement feedback on a previous generation
|
|
58
|
+
* @param input.prior_yaml — optional YAML from a previous generation to refine
|
|
59
|
+
* @param input.answers — optional answers to clarifying questions from a prior round
|
|
60
|
+
* @param input.prior_questions — optional questions from a prior round for context
|
|
61
|
+
* @param auth — authenticated user context
|
|
62
|
+
* @returns `{ status: 200, data: { ... } }` generated workflow definition
|
|
63
|
+
*/
|
|
64
|
+
async function buildWorkflow(input, auth) {
|
|
65
|
+
try {
|
|
66
|
+
if (!input.prompt || typeof input.prompt !== 'string') {
|
|
67
|
+
return { status: 400, error: 'prompt is required' };
|
|
68
|
+
}
|
|
69
|
+
if (!process.env.OPENAI_API_KEY && !process.env.ANTHROPIC_API_KEY) {
|
|
70
|
+
return { status: 503, error: 'Workflow builder requires an LLM API key (OPENAI_API_KEY or ANTHROPIC_API_KEY)' };
|
|
71
|
+
}
|
|
72
|
+
const result = await (0, insight_1.startWorkflowBuilder)({
|
|
73
|
+
prompt: input.prompt,
|
|
74
|
+
tags: input.tags,
|
|
75
|
+
wait: input.wait,
|
|
76
|
+
feedback: input.feedback,
|
|
77
|
+
prior_yaml: input.prior_yaml,
|
|
78
|
+
answers: input.answers,
|
|
79
|
+
prior_questions: input.prior_questions,
|
|
80
|
+
userId: auth?.userId,
|
|
81
|
+
});
|
|
82
|
+
return { status: 200, data: result };
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
if (err.message?.includes('timeout') || err.message?.includes('TIMEOUT')) {
|
|
86
|
+
return { status: 504, error: 'Workflow builder timed out. Try a simpler description.' };
|
|
87
|
+
}
|
|
88
|
+
return { status: 500, error: err.message };
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Refine an existing workflow definition using feedback.
|
|
93
|
+
*
|
|
94
|
+
* Takes a previously generated YAML workflow, the original prompt, and
|
|
95
|
+
* user feedback, then produces an updated workflow definition.
|
|
96
|
+
*
|
|
97
|
+
* @param input.prompt — original natural-language description (required)
|
|
98
|
+
* @param input.prior_yaml — the YAML workflow to refine (required)
|
|
99
|
+
* @param input.feedback — user feedback describing desired changes (required)
|
|
100
|
+
* @param input.tags — optional tags to scope available MCP tools
|
|
101
|
+
* @param input.wait — when true, blocks until refinement completes
|
|
102
|
+
* @param auth — authenticated user context
|
|
103
|
+
* @returns `{ status: 200, data: { ... } }` refined workflow definition
|
|
104
|
+
*/
|
|
105
|
+
async function refineWorkflow(input, auth) {
|
|
106
|
+
try {
|
|
107
|
+
if (!input.prompt || !input.prior_yaml || !input.feedback) {
|
|
108
|
+
return { status: 400, error: 'prompt, prior_yaml, and feedback are required' };
|
|
109
|
+
}
|
|
110
|
+
const result = await (0, insight_1.startWorkflowBuilder)({
|
|
111
|
+
prompt: input.prompt,
|
|
112
|
+
tags: input.tags,
|
|
113
|
+
wait: input.wait,
|
|
114
|
+
feedback: input.feedback,
|
|
115
|
+
prior_yaml: input.prior_yaml,
|
|
116
|
+
userId: auth?.userId,
|
|
117
|
+
});
|
|
118
|
+
return { status: 200, data: result };
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
return { status: 500, error: err.message };
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Generate a human-readable description and tags for a workflow.
|
|
126
|
+
*
|
|
127
|
+
* Uses an LLM to produce a concise description from the prompt and
|
|
128
|
+
* optional result metadata. Falls back to the raw prompt as the
|
|
129
|
+
* description if the LLM call fails.
|
|
130
|
+
*
|
|
131
|
+
* @param input.prompt — the workflow prompt or content to describe (required)
|
|
132
|
+
* @param input.result_title — optional title from the workflow result for additional context
|
|
133
|
+
* @param input.result_summary — optional summary from the workflow result for additional context
|
|
134
|
+
* @returns `{ status: 200, data: { description, tags } }` generated description and tag array
|
|
135
|
+
*/
|
|
136
|
+
async function describeWorkflow(input) {
|
|
137
|
+
try {
|
|
138
|
+
if (!input.prompt) {
|
|
139
|
+
return { status: 400, error: 'prompt is required' };
|
|
140
|
+
}
|
|
141
|
+
const result = await (0, insight_1.describeWorkflow)(input);
|
|
142
|
+
return { status: 200, data: result };
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return { status: 200, data: { description: input.prompt || '', tags: [] } };
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { LTMaintenanceConfig } from '../types/maintenance';
|
|
2
|
+
import type { LTApiResult } from '../types/sdk';
|
|
3
|
+
/**
|
|
4
|
+
* Return the current maintenance cron configuration and active state.
|
|
5
|
+
*
|
|
6
|
+
* @returns `{ status: 200, data: { config, active } }`
|
|
7
|
+
*/
|
|
8
|
+
export declare function getMaintenanceConfig(): LTApiResult;
|
|
9
|
+
/**
|
|
10
|
+
* Replace the maintenance configuration and restart the cron.
|
|
11
|
+
*
|
|
12
|
+
* Disconnects the current maintenance schedule, registers the new
|
|
13
|
+
* config, and reconnects. The cron begins executing immediately.
|
|
14
|
+
*
|
|
15
|
+
* @param input.schedule — cron expression (e.g. `"0 3 * * *"`)
|
|
16
|
+
* @param input.rules — maintenance rule definitions
|
|
17
|
+
* @returns `{ status: 200, data: { config, restarted: true } }`
|
|
18
|
+
*/
|
|
19
|
+
export declare function updateMaintenanceConfig(input: {
|
|
20
|
+
schedule: string;
|
|
21
|
+
rules: LTMaintenanceConfig['rules'];
|
|
22
|
+
}): Promise<LTApiResult>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMaintenanceConfig = getMaintenanceConfig;
|
|
4
|
+
exports.updateMaintenanceConfig = updateMaintenanceConfig;
|
|
5
|
+
const maintenance_1 = require("../services/maintenance");
|
|
6
|
+
/**
|
|
7
|
+
* Return the current maintenance cron configuration and active state.
|
|
8
|
+
*
|
|
9
|
+
* @returns `{ status: 200, data: { config, active } }`
|
|
10
|
+
*/
|
|
11
|
+
function getMaintenanceConfig() {
|
|
12
|
+
return {
|
|
13
|
+
status: 200,
|
|
14
|
+
data: { config: maintenance_1.maintenanceRegistry.config, active: maintenance_1.maintenanceRegistry.hasConfig },
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Replace the maintenance configuration and restart the cron.
|
|
19
|
+
*
|
|
20
|
+
* Disconnects the current maintenance schedule, registers the new
|
|
21
|
+
* config, and reconnects. The cron begins executing immediately.
|
|
22
|
+
*
|
|
23
|
+
* @param input.schedule — cron expression (e.g. `"0 3 * * *"`)
|
|
24
|
+
* @param input.rules — maintenance rule definitions
|
|
25
|
+
* @returns `{ status: 200, data: { config, restarted: true } }`
|
|
26
|
+
*/
|
|
27
|
+
async function updateMaintenanceConfig(input) {
|
|
28
|
+
try {
|
|
29
|
+
if (!input.schedule || !Array.isArray(input.rules)) {
|
|
30
|
+
return { status: 400, error: 'schedule (string) and rules (array) are required' };
|
|
31
|
+
}
|
|
32
|
+
await maintenance_1.maintenanceRegistry.disconnect();
|
|
33
|
+
maintenance_1.maintenanceRegistry.register({ schedule: input.schedule, rules: input.rules });
|
|
34
|
+
await maintenance_1.maintenanceRegistry.connect();
|
|
35
|
+
return {
|
|
36
|
+
status: 200,
|
|
37
|
+
data: { config: maintenance_1.maintenanceRegistry.config, restarted: true },
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
return { status: 500, error: err.message };
|
|
42
|
+
}
|
|
43
|
+
}
|