@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,103 @@
|
|
|
1
|
+
# lt.controlplane
|
|
2
|
+
|
|
3
|
+
Manage the HotMesh control plane: application discovery, worker health, throttling, and stream statistics.
|
|
4
|
+
|
|
5
|
+
## listApps
|
|
6
|
+
|
|
7
|
+
List all registered application namespaces.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
const result = await lt.controlplane.listApps();
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**Parameters:** None
|
|
14
|
+
|
|
15
|
+
**Returns:** `LTApiResult<{ apps: string[] }>`
|
|
16
|
+
|
|
17
|
+
**Auth:** Not required
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## rollCall
|
|
22
|
+
|
|
23
|
+
Query active worker profiles for an application. Sends a roll-call request to the mesh and collects responses within the delay window.
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
const result = await lt.controlplane.rollCall({ appId: 'durable', delay: 2000 });
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Parameters:**
|
|
30
|
+
|
|
31
|
+
| Field | Type | Required | Description |
|
|
32
|
+
|-------|------|----------|-------------|
|
|
33
|
+
| `appId` | `string` | No | Application namespace to query (defaults to `'durable'`) |
|
|
34
|
+
| `delay` | `number` | No | Milliseconds to wait for worker responses before returning |
|
|
35
|
+
|
|
36
|
+
**Returns:** `LTApiResult<{ profiles: object[] }>`
|
|
37
|
+
|
|
38
|
+
**Auth:** Not required
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## throttle
|
|
43
|
+
|
|
44
|
+
Apply a throttle rate to workflow execution. Also publishes a synthetic `mesh.throttle` event to the dashboard event stream.
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
const result = await lt.controlplane.throttle({ throttle: 50, topic: 'my-topic' });
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Parameters:**
|
|
51
|
+
|
|
52
|
+
| Field | Type | Required | Description |
|
|
53
|
+
|-------|------|----------|-------------|
|
|
54
|
+
| `throttle` | `number` | Yes | Throttle value to apply |
|
|
55
|
+
| `appId` | `string` | No | Application namespace (defaults to `'durable'`) |
|
|
56
|
+
| `topic` | `string` | No | Topic to scope the throttle to |
|
|
57
|
+
| `guid` | `string` | No | Workflow GUID to scope the throttle to |
|
|
58
|
+
|
|
59
|
+
**Returns:** `LTApiResult<{ success: boolean }>`
|
|
60
|
+
|
|
61
|
+
**Auth:** Not required
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## getStreamStats
|
|
66
|
+
|
|
67
|
+
Retrieve stream statistics (throughput, backlog) for an application over a time window.
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
const result = await lt.controlplane.getStreamStats({ app_id: 'durable', duration: '30m' });
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Parameters:**
|
|
74
|
+
|
|
75
|
+
| Field | Type | Required | Description |
|
|
76
|
+
|-------|------|----------|-------------|
|
|
77
|
+
| `app_id` | `string` | No | Application namespace (defaults to `'durable'`) |
|
|
78
|
+
| `duration` | `string` | No | Time window for stats aggregation, e.g. `'1h'`, `'30m'` (defaults to `'1h'`) |
|
|
79
|
+
| `stream` | `string` | No | Specific stream name to filter results |
|
|
80
|
+
|
|
81
|
+
**Returns:** `LTApiResult<StreamStats>`
|
|
82
|
+
|
|
83
|
+
**Auth:** Not required
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## subscribe
|
|
88
|
+
|
|
89
|
+
Subscribe to mesh events for an application so they are captured and forwarded.
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
const result = await lt.controlplane.subscribe({ appId: 'durable' });
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Parameters:**
|
|
96
|
+
|
|
97
|
+
| Field | Type | Required | Description |
|
|
98
|
+
|-------|------|----------|-------------|
|
|
99
|
+
| `appId` | `string` | No | Application namespace to subscribe to (defaults to `'durable'`) |
|
|
100
|
+
|
|
101
|
+
**Returns:** `LTApiResult<{ subscribed: true, appId: string }>`
|
|
102
|
+
|
|
103
|
+
**Auth:** Not required
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# lt.dba
|
|
2
|
+
|
|
3
|
+
Database administration: prune stale data and deploy workflow schemas.
|
|
4
|
+
|
|
5
|
+
## prune
|
|
6
|
+
|
|
7
|
+
Prune stale HotMesh data from Redis. Selectively removes completed jobs, stream entries, engine/worker streams, and search attributes.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
const result = await lt.dba.prune({
|
|
11
|
+
jobs: true,
|
|
12
|
+
streams: true,
|
|
13
|
+
expire: '7 days',
|
|
14
|
+
entities: ['order', 'invoice'],
|
|
15
|
+
});
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Parameters:**
|
|
19
|
+
|
|
20
|
+
| Field | Type | Required | Description |
|
|
21
|
+
|-------|------|----------|-------------|
|
|
22
|
+
| `expire` | `string` | No | Redis TTL expression for pruned keys |
|
|
23
|
+
| `jobs` | `boolean` | No | Prune completed job hashes |
|
|
24
|
+
| `streams` | `boolean` | No | Prune activity streams |
|
|
25
|
+
| `engineStreams` | `boolean` | No | Prune engine consumer streams |
|
|
26
|
+
| `engineStreamsExpire` | `string` | No | TTL for engine stream entries |
|
|
27
|
+
| `workerStreams` | `boolean` | No | Prune worker consumer streams |
|
|
28
|
+
| `workerStreamsExpire` | `string` | No | TTL for worker stream entries |
|
|
29
|
+
| `attributes` | `boolean` | No | Prune FT.SEARCH attributes |
|
|
30
|
+
| `entities` | `string[]` | No | Limit pruning to these entity types |
|
|
31
|
+
| `pruneTransient` | `boolean` | No | Include transient keys |
|
|
32
|
+
| `keepHmark` | `boolean` | No | Preserve hmark keys |
|
|
33
|
+
|
|
34
|
+
**Returns:** `LTApiResult<PruneResult>`
|
|
35
|
+
|
|
36
|
+
**Auth:** Not required
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## deploy
|
|
41
|
+
|
|
42
|
+
Deploy (or redeploy) all HotMesh workflow schemas. Updates the Redis execution graph across all registered entities. Safe to call repeatedly.
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
const result = await lt.dba.deploy();
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Parameters:** None
|
|
49
|
+
|
|
50
|
+
**Returns:** `LTApiResult<{ ok: true }>`
|
|
51
|
+
|
|
52
|
+
**Auth:** Not required
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
# lt.escalations
|
|
2
|
+
|
|
3
|
+
Manage human-in-the-loop escalations -- list, claim, resolve, and bulk-operate on workflow escalations.
|
|
4
|
+
|
|
5
|
+
## list
|
|
6
|
+
|
|
7
|
+
List escalations with optional filters, scoped to the authenticated user's roles.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
const result = await lt.escalations.list({
|
|
11
|
+
status: 'pending',
|
|
12
|
+
role: 'reviewer',
|
|
13
|
+
limit: 25,
|
|
14
|
+
});
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Parameters:**
|
|
18
|
+
|
|
19
|
+
| Field | Type | Required | Description |
|
|
20
|
+
|-------|------|----------|-------------|
|
|
21
|
+
| `status` | `string` | No | Filter by `pending`, `resolved`, or `cancelled` |
|
|
22
|
+
| `role` | `string` | No | Filter by assigned role |
|
|
23
|
+
| `type` | `string` | No | Filter by workflow type |
|
|
24
|
+
| `subtype` | `string` | No | Filter by subtype |
|
|
25
|
+
| `assigned_to` | `string` | No | Filter by assigned user ID |
|
|
26
|
+
| `priority` | `number` | No | Filter by priority (1--4) |
|
|
27
|
+
| `limit` | `number` | No | Max results (default: 50) |
|
|
28
|
+
| `offset` | `number` | No | Pagination offset |
|
|
29
|
+
| `sort_by` | `string` | No | Column to sort by (e.g. `created_at`, `priority`) |
|
|
30
|
+
| `order` | `string` | No | `asc` or `desc` |
|
|
31
|
+
|
|
32
|
+
**Returns:** `LTApiResult<{ escalations, total }>`
|
|
33
|
+
|
|
34
|
+
**Auth:** Required
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## listAvailable
|
|
39
|
+
|
|
40
|
+
List escalations available for claim (pending and not actively claimed).
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
const result = await lt.escalations.listAvailable({
|
|
44
|
+
role: 'reviewer',
|
|
45
|
+
limit: 10,
|
|
46
|
+
});
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Parameters:**
|
|
50
|
+
|
|
51
|
+
| Field | Type | Required | Description |
|
|
52
|
+
|-------|------|----------|-------------|
|
|
53
|
+
| `role` | `string` | No | Filter by role |
|
|
54
|
+
| `type` | `string` | No | Filter by workflow type |
|
|
55
|
+
| `subtype` | `string` | No | Filter by subtype |
|
|
56
|
+
| `priority` | `number` | No | Filter by priority (1--4) |
|
|
57
|
+
| `limit` | `number` | No | Max results (default: 50) |
|
|
58
|
+
| `offset` | `number` | No | Pagination offset |
|
|
59
|
+
| `sort_by` | `string` | No | Column to sort by |
|
|
60
|
+
| `order` | `string` | No | `asc` or `desc` |
|
|
61
|
+
|
|
62
|
+
**Returns:** `LTApiResult<{ escalations, total }>`
|
|
63
|
+
|
|
64
|
+
**Auth:** Required
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## listTypes
|
|
69
|
+
|
|
70
|
+
List all distinct escalation type values.
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
const result = await lt.escalations.listTypes();
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Parameters:** None (pass `{}` or `undefined`).
|
|
77
|
+
|
|
78
|
+
**Returns:** `LTApiResult<{ types: string[] }>`
|
|
79
|
+
|
|
80
|
+
**Auth:** Not required
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## getStats
|
|
85
|
+
|
|
86
|
+
Get aggregate escalation statistics scoped to the user's roles.
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
const result = await lt.escalations.getStats({ period: '24h' });
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Parameters:**
|
|
93
|
+
|
|
94
|
+
| Field | Type | Required | Description |
|
|
95
|
+
|-------|------|----------|-------------|
|
|
96
|
+
| `period` | `string` | No | Time window (`1h`, `24h`, `7d`, `30d`) |
|
|
97
|
+
|
|
98
|
+
**Returns:** `LTApiResult<{ pending, claimed, created, resolved, by_role, by_type }>`
|
|
99
|
+
|
|
100
|
+
**Auth:** Required
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## get
|
|
105
|
+
|
|
106
|
+
Get a single escalation by ID.
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
const result = await lt.escalations.get({ id: 'esc_123' });
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Parameters:**
|
|
113
|
+
|
|
114
|
+
| Field | Type | Required | Description |
|
|
115
|
+
|-------|------|----------|-------------|
|
|
116
|
+
| `id` | `string` | Yes | Escalation UUID |
|
|
117
|
+
|
|
118
|
+
**Returns:** `LTApiResult<Escalation>` -- returns 403 if user lacks the role, 404 if not found.
|
|
119
|
+
|
|
120
|
+
**Auth:** Required
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## getByWorkflowId
|
|
125
|
+
|
|
126
|
+
List all escalations for a given workflow ID.
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
const result = await lt.escalations.getByWorkflowId({ workflowId: 'wf_abc' });
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Parameters:**
|
|
133
|
+
|
|
134
|
+
| Field | Type | Required | Description |
|
|
135
|
+
|-------|------|----------|-------------|
|
|
136
|
+
| `workflowId` | `string` | Yes | HotMesh workflow ID |
|
|
137
|
+
|
|
138
|
+
**Returns:** `LTApiResult<{ escalations }>`
|
|
139
|
+
|
|
140
|
+
**Auth:** Not required
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## escalate
|
|
145
|
+
|
|
146
|
+
Route a pending escalation to a different role.
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
const result = await lt.escalations.escalate({
|
|
150
|
+
id: 'esc_123',
|
|
151
|
+
targetRole: 'senior-reviewer',
|
|
152
|
+
});
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Parameters:**
|
|
156
|
+
|
|
157
|
+
| Field | Type | Required | Description |
|
|
158
|
+
|-------|------|----------|-------------|
|
|
159
|
+
| `id` | `string` | Yes | Escalation UUID |
|
|
160
|
+
| `targetRole` | `string` | Yes | Destination role |
|
|
161
|
+
|
|
162
|
+
**Returns:** `LTApiResult<Escalation>` -- returns 403 if not authorized, 404 if not found, 409 if not pending.
|
|
163
|
+
|
|
164
|
+
**Auth:** Required
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## claim
|
|
169
|
+
|
|
170
|
+
Claim a pending escalation for the authenticated user.
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
const result = await lt.escalations.claim({
|
|
174
|
+
id: 'esc_123',
|
|
175
|
+
durationMinutes: 60,
|
|
176
|
+
});
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Parameters:**
|
|
180
|
+
|
|
181
|
+
| Field | Type | Required | Description |
|
|
182
|
+
|-------|------|----------|-------------|
|
|
183
|
+
| `id` | `string` | Yes | Escalation UUID |
|
|
184
|
+
| `durationMinutes` | `number` | No | Claim duration (default: 30) |
|
|
185
|
+
|
|
186
|
+
**Returns:** `LTApiResult<{ escalation, isExtension }>` -- returns 403 if user lacks the role, 404 if not found, 409 if not available.
|
|
187
|
+
|
|
188
|
+
**Auth:** Required
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## release
|
|
193
|
+
|
|
194
|
+
Release a claimed escalation back to the pool.
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
const result = await lt.escalations.release({ id: 'esc_123' });
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Parameters:**
|
|
201
|
+
|
|
202
|
+
| Field | Type | Required | Description |
|
|
203
|
+
|-------|------|----------|-------------|
|
|
204
|
+
| `id` | `string` | Yes | Escalation UUID |
|
|
205
|
+
|
|
206
|
+
**Returns:** `LTApiResult<{ escalation }>` -- returns 409 if not claimed by the caller.
|
|
207
|
+
|
|
208
|
+
**Auth:** Required
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## resolve
|
|
213
|
+
|
|
214
|
+
Resolve a pending escalation with a human-provided payload.
|
|
215
|
+
|
|
216
|
+
Supports two resolution paths: signal-routed (sends payload to a paused workflow) and re-run (restarts the workflow with resolver data injected). Password fields are replaced with ephemeral tokens.
|
|
217
|
+
|
|
218
|
+
```typescript
|
|
219
|
+
const result = await lt.escalations.resolve({
|
|
220
|
+
id: 'esc_123',
|
|
221
|
+
resolverPayload: { approved: true, comment: 'Looks good' },
|
|
222
|
+
});
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Parameters:**
|
|
226
|
+
|
|
227
|
+
| Field | Type | Required | Description |
|
|
228
|
+
|-------|------|----------|-------------|
|
|
229
|
+
| `id` | `string` | Yes | Escalation UUID |
|
|
230
|
+
| `resolverPayload` | `Record<string, any>` | Yes | Human decision data |
|
|
231
|
+
|
|
232
|
+
**Returns:** `LTApiResult<{ signaled, escalationId, workflowId }>` (signal path) or `LTApiResult<{ started, escalationId, workflowId }>` (re-run path) -- returns 404 if not found, 409 if not pending.
|
|
233
|
+
|
|
234
|
+
**Auth:** Required
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## releaseExpired
|
|
239
|
+
|
|
240
|
+
Release all escalation claims past their `assigned_until` deadline.
|
|
241
|
+
|
|
242
|
+
```typescript
|
|
243
|
+
const result = await lt.escalations.releaseExpired();
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**Parameters:** None (pass `{}` or `undefined`).
|
|
247
|
+
|
|
248
|
+
**Returns:** `LTApiResult<{ released: number }>`
|
|
249
|
+
|
|
250
|
+
**Auth:** Not required
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## updatePriority
|
|
255
|
+
|
|
256
|
+
Update priority for one or more escalations.
|
|
257
|
+
|
|
258
|
+
```typescript
|
|
259
|
+
const result = await lt.escalations.updatePriority({
|
|
260
|
+
ids: ['esc_1', 'esc_2'],
|
|
261
|
+
priority: 1,
|
|
262
|
+
});
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
**Parameters:**
|
|
266
|
+
|
|
267
|
+
| Field | Type | Required | Description |
|
|
268
|
+
|-------|------|----------|-------------|
|
|
269
|
+
| `ids` | `string[]` | Yes | Array of escalation UUIDs |
|
|
270
|
+
| `priority` | `number` | Yes | New priority (1=critical, 2=high, 3=medium, 4=low) |
|
|
271
|
+
|
|
272
|
+
**Returns:** `LTApiResult<{ updated: number }>`
|
|
273
|
+
|
|
274
|
+
**Auth:** Required
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## bulkClaim
|
|
279
|
+
|
|
280
|
+
Claim multiple escalations at once for the authenticated user.
|
|
281
|
+
|
|
282
|
+
```typescript
|
|
283
|
+
const result = await lt.escalations.bulkClaim({
|
|
284
|
+
ids: ['esc_1', 'esc_2'],
|
|
285
|
+
durationMinutes: 60,
|
|
286
|
+
});
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**Parameters:**
|
|
290
|
+
|
|
291
|
+
| Field | Type | Required | Description |
|
|
292
|
+
|-------|------|----------|-------------|
|
|
293
|
+
| `ids` | `string[]` | Yes | Array of escalation UUIDs |
|
|
294
|
+
| `durationMinutes` | `number` | No | Claim duration (default: 30) |
|
|
295
|
+
|
|
296
|
+
**Returns:** `LTApiResult<{ claimed, skipped }>`
|
|
297
|
+
|
|
298
|
+
**Auth:** Required
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## bulkAssign
|
|
303
|
+
|
|
304
|
+
Assign multiple escalations to a specific user.
|
|
305
|
+
|
|
306
|
+
```typescript
|
|
307
|
+
const result = await lt.escalations.bulkAssign({
|
|
308
|
+
ids: ['esc_1', 'esc_2'],
|
|
309
|
+
targetUserId: 'user_456',
|
|
310
|
+
durationMinutes: 60,
|
|
311
|
+
});
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
**Parameters:**
|
|
315
|
+
|
|
316
|
+
| Field | Type | Required | Description |
|
|
317
|
+
|-------|------|----------|-------------|
|
|
318
|
+
| `ids` | `string[]` | Yes | Array of escalation UUIDs |
|
|
319
|
+
| `targetUserId` | `string` | Yes | User to assign to |
|
|
320
|
+
| `durationMinutes` | `number` | No | Assignment duration (default: 30) |
|
|
321
|
+
|
|
322
|
+
**Returns:** `LTApiResult<{ assigned, skipped }>`
|
|
323
|
+
|
|
324
|
+
**Auth:** Required
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## bulkEscalate
|
|
329
|
+
|
|
330
|
+
Route multiple escalations to a different role.
|
|
331
|
+
|
|
332
|
+
```typescript
|
|
333
|
+
const result = await lt.escalations.bulkEscalate({
|
|
334
|
+
ids: ['esc_1', 'esc_2'],
|
|
335
|
+
targetRole: 'senior-reviewer',
|
|
336
|
+
});
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
**Parameters:**
|
|
340
|
+
|
|
341
|
+
| Field | Type | Required | Description |
|
|
342
|
+
|-------|------|----------|-------------|
|
|
343
|
+
| `ids` | `string[]` | Yes | Array of escalation UUIDs |
|
|
344
|
+
| `targetRole` | `string` | Yes | Destination role |
|
|
345
|
+
|
|
346
|
+
**Returns:** `LTApiResult<{ updated: number }>`
|
|
347
|
+
|
|
348
|
+
**Auth:** Required
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## bulkTriage
|
|
353
|
+
|
|
354
|
+
Trigger AI triage for multiple escalations.
|
|
355
|
+
|
|
356
|
+
Resolves each escalation and starts a triage workflow that uses MCP tools to analyze and potentially auto-resolve the issue.
|
|
357
|
+
|
|
358
|
+
```typescript
|
|
359
|
+
const result = await lt.escalations.bulkTriage({
|
|
360
|
+
ids: ['esc_1', 'esc_2'],
|
|
361
|
+
hint: 'Check if the content violates policy section 3.2',
|
|
362
|
+
});
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
**Parameters:**
|
|
366
|
+
|
|
367
|
+
| Field | Type | Required | Description |
|
|
368
|
+
|-------|------|----------|-------------|
|
|
369
|
+
| `ids` | `string[]` | Yes | Array of escalation UUIDs |
|
|
370
|
+
| `hint` | `string` | No | Natural-language guidance for the triage AI |
|
|
371
|
+
|
|
372
|
+
**Returns:** `LTApiResult<{ triaged, workflows }>`
|
|
373
|
+
|
|
374
|
+
**Auth:** Required
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# lt.events
|
|
2
|
+
|
|
3
|
+
Subscribe to real-time Long Tail events via in-process callbacks.
|
|
4
|
+
|
|
5
|
+
## on
|
|
6
|
+
|
|
7
|
+
Subscribe to events by type pattern. Returns an unsubscribe function.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
// Exact event type
|
|
11
|
+
const unsub = lt.events.on('escalation.claimed', (event) => {
|
|
12
|
+
console.log('claimed:', event.escalationId);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// Category wildcard — all task events
|
|
16
|
+
const unsub2 = lt.events.on('task.*', (event) => {
|
|
17
|
+
console.log('task event:', event.type);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
// Global wildcard — every event
|
|
21
|
+
const unsub3 = lt.events.on('*', (event) => {
|
|
22
|
+
console.log(event.type, event.workflowId);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// Unsubscribe when done
|
|
26
|
+
unsub();
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Parameters:**
|
|
30
|
+
|
|
31
|
+
| Field | Type | Required | Description |
|
|
32
|
+
|-------|------|----------|-------------|
|
|
33
|
+
| `pattern` | `LTEventType \| '*' \| string` | Yes | Event type to match |
|
|
34
|
+
| `callback` | `(event: LTEvent) => void` | Yes | Handler invoked for each matching event |
|
|
35
|
+
|
|
36
|
+
**Pattern matching:**
|
|
37
|
+
|
|
38
|
+
| Pattern | Matches |
|
|
39
|
+
|---------|---------|
|
|
40
|
+
| `'task.created'` | Exact match on `task.created` only |
|
|
41
|
+
| `'task.*'` | All events starting with `task.` (e.g. `task.created`, `task.completed`, `task.failed`) |
|
|
42
|
+
| `'*'` | Every event |
|
|
43
|
+
|
|
44
|
+
**Returns:** `() => void` -- call the returned function to unsubscribe.
|
|
45
|
+
|
|
46
|
+
**Auth:** Not required
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### LTEventType values
|
|
51
|
+
|
|
52
|
+
`task.created`, `task.started`, `task.completed`, `task.escalated`, `task.failed`, `escalation.created`, `escalation.resolved`, `escalation.claimed`, `escalation.released`, `workflow.started`, `workflow.completed`, `workflow.failed`, `activity.started`, `activity.completed`, `activity.failed`, `milestone`
|
|
53
|
+
|
|
54
|
+
### LTEvent fields
|
|
55
|
+
|
|
56
|
+
| Field | Type | Description |
|
|
57
|
+
|-------|------|-------------|
|
|
58
|
+
| `type` | `LTEventType \| string` | Event classification |
|
|
59
|
+
| `source` | `string` | Origin: `'interceptor'`, `'orchestrator'`, or `'activity'` |
|
|
60
|
+
| `workflowId` | `string` | The workflow instance that produced this event |
|
|
61
|
+
| `workflowName` | `string` | The workflow function name |
|
|
62
|
+
| `taskQueue` | `string` | The task queue the workflow ran on |
|
|
63
|
+
| `taskId` | `string?` | The task ID (present when orchestrated) |
|
|
64
|
+
| `escalationId` | `string?` | The escalation ID (present for escalation events) |
|
|
65
|
+
| `originId` | `string?` | Root process lineage |
|
|
66
|
+
| `status` | `string?` | Task or workflow status after this event |
|
|
67
|
+
| `data` | `Record<string, unknown>?` | Event-specific payload |
|
|
68
|
+
| `timestamp` | `string` | ISO 8601 timestamp |
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# lt.exports
|
|
2
|
+
|
|
3
|
+
Export workflow state, execution trees, and job metadata.
|
|
4
|
+
|
|
5
|
+
## listJobs
|
|
6
|
+
|
|
7
|
+
List export jobs with optional filtering, sorting, and pagination.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
const result = await lt.exports.listJobs({ limit: 25, offset: 0, status: 'completed' });
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**Parameters:**
|
|
14
|
+
|
|
15
|
+
| Field | Type | Required | Description |
|
|
16
|
+
|-------|------|----------|-------------|
|
|
17
|
+
| `limit` | `number` | No | Maximum number of jobs to return |
|
|
18
|
+
| `offset` | `number` | No | Number of jobs to skip for pagination |
|
|
19
|
+
| `entity` | `string` | No | Filter by entity/workflow type |
|
|
20
|
+
| `search` | `string` | No | Free-text search across job fields |
|
|
21
|
+
| `status` | `string` | No | Filter by job status |
|
|
22
|
+
| `sort_by` | `string` | No | Field name to sort results by |
|
|
23
|
+
| `order` | `string` | No | Sort direction (`asc` or `desc`) |
|
|
24
|
+
| `registered` | `string` | No | Filter by registration status |
|
|
25
|
+
|
|
26
|
+
**Returns:** `LTApiResult<{ jobs, total, ... }>`
|
|
27
|
+
|
|
28
|
+
**Auth:** Not required
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## exportState
|
|
33
|
+
|
|
34
|
+
Export the stored state (hash data) of a workflow. Fields can be filtered via allow/block lists.
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
const result = await lt.exports.exportState({
|
|
38
|
+
workflowId: 'wf_abc123',
|
|
39
|
+
allow: ['data', 'status'],
|
|
40
|
+
values: true,
|
|
41
|
+
});
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Parameters:**
|
|
45
|
+
|
|
46
|
+
| Field | Type | Required | Description |
|
|
47
|
+
|-------|------|----------|-------------|
|
|
48
|
+
| `workflowId` | `string` | Yes | The workflow's unique identifier |
|
|
49
|
+
| `allow` | `LTExportField[]` | No | Whitelist of field names to include |
|
|
50
|
+
| `block` | `LTExportField[]` | No | Blacklist of field names to exclude |
|
|
51
|
+
| `values` | `boolean` | No | When true, include field values (not just names) |
|
|
52
|
+
|
|
53
|
+
`LTExportField` is one of: `'data'`, `'state'`, `'status'`, `'timeline'`, `'transitions'`
|
|
54
|
+
|
|
55
|
+
**Returns:** `LTApiResult<ExportedState>` -- returns 404 if the workflow is not found or data has expired.
|
|
56
|
+
|
|
57
|
+
**Auth:** Not required
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## exportExecution
|
|
62
|
+
|
|
63
|
+
Export the full execution tree of a workflow, including activity inputs and results.
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
const result = await lt.exports.exportExecution({
|
|
67
|
+
workflowId: 'wf_abc123',
|
|
68
|
+
excludeSystem: true,
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Parameters:**
|
|
73
|
+
|
|
74
|
+
| Field | Type | Required | Description |
|
|
75
|
+
|-------|------|----------|-------------|
|
|
76
|
+
| `workflowId` | `string` | Yes | The workflow's unique identifier |
|
|
77
|
+
| `excludeSystem` | `boolean` | No | Omit system-generated activities from the export |
|
|
78
|
+
| `omitResults` | `boolean` | No | Exclude activity result payloads |
|
|
79
|
+
| `mode` | `ExportMode` | No | Export mode controlling output format (e.g., tree, flat) |
|
|
80
|
+
| `maxDepth` | `number` | No | Maximum depth to traverse in the execution tree |
|
|
81
|
+
|
|
82
|
+
**Returns:** `LTApiResult<ExecutionExport>` -- returns 404 if the workflow is not found or data has expired.
|
|
83
|
+
|
|
84
|
+
**Auth:** Not required
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## getStatus
|
|
89
|
+
|
|
90
|
+
Get the current status of a workflow (e.g., running, completed, failed).
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
const result = await lt.exports.getStatus({ workflowId: 'wf_abc123' });
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Parameters:**
|
|
97
|
+
|
|
98
|
+
| Field | Type | Required | Description |
|
|
99
|
+
|-------|------|----------|-------------|
|
|
100
|
+
| `workflowId` | `string` | Yes | The workflow's unique identifier |
|
|
101
|
+
|
|
102
|
+
**Returns:** `LTApiResult<WorkflowStatus>` -- returns 404 if the workflow is not found or data has expired.
|
|
103
|
+
|
|
104
|
+
**Auth:** Not required
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## getState
|
|
109
|
+
|
|
110
|
+
Get the current state data of a workflow.
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
const result = await lt.exports.getState({ workflowId: 'wf_abc123' });
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Parameters:**
|
|
117
|
+
|
|
118
|
+
| Field | Type | Required | Description |
|
|
119
|
+
|-------|------|----------|-------------|
|
|
120
|
+
| `workflowId` | `string` | Yes | The workflow's unique identifier |
|
|
121
|
+
|
|
122
|
+
**Returns:** `LTApiResult<WorkflowState>` -- returns 404 if the workflow is not found or data has expired.
|
|
123
|
+
|
|
124
|
+
**Auth:** Not required
|