@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.
Files changed (384) hide show
  1. package/README.md +47 -5
  2. package/build/api/auth.d.ts +16 -0
  3. package/build/api/auth.js +53 -0
  4. package/build/api/bot-accounts.d.ts +137 -0
  5. package/build/api/bot-accounts.js +302 -0
  6. package/build/api/controlplane.d.ts +68 -0
  7. package/build/api/controlplane.js +158 -0
  8. package/build/api/dba.d.ts +42 -0
  9. package/build/api/dba.js +95 -0
  10. package/build/api/escalations.d.ts +271 -0
  11. package/build/api/escalations.js +892 -0
  12. package/build/api/exports.d.ts +90 -0
  13. package/build/api/exports.js +204 -0
  14. package/build/api/index.d.ts +18 -0
  15. package/build/api/index.js +54 -0
  16. package/build/api/insight.d.ts +86 -0
  17. package/build/api/insight.js +147 -0
  18. package/build/api/maintenance.d.ts +22 -0
  19. package/build/api/maintenance.js +43 -0
  20. package/build/api/mcp-runs.d.ts +43 -0
  21. package/build/api/mcp-runs.js +89 -0
  22. package/build/api/mcp.d.ts +160 -0
  23. package/build/api/mcp.js +320 -0
  24. package/build/api/namespaces.d.ts +20 -0
  25. package/build/{routes/escalations/helpers.js → api/namespaces.js} +35 -10
  26. package/build/api/roles.d.ts +88 -0
  27. package/build/api/roles.js +217 -0
  28. package/build/api/settings.d.ts +10 -0
  29. package/build/api/settings.js +43 -0
  30. package/build/api/tasks.d.ts +70 -0
  31. package/build/api/tasks.js +139 -0
  32. package/build/api/users.d.ts +115 -0
  33. package/build/api/users.js +228 -0
  34. package/build/api/workflow-sets.d.ts +77 -0
  35. package/build/api/workflow-sets.js +170 -0
  36. package/build/api/workflows.d.ts +158 -0
  37. package/build/api/workflows.js +407 -0
  38. package/build/api/yaml-workflows.d.ts +282 -0
  39. package/build/api/yaml-workflows.js +751 -0
  40. package/build/examples/types/envelopes.d.ts +27 -0
  41. package/build/examples/types/index.d.ts +1 -1
  42. package/build/examples/workers.js +8 -0
  43. package/build/examples/workflows/assembly-line/activities.d.ts +28 -0
  44. package/build/examples/workflows/assembly-line/activities.js +53 -0
  45. package/build/examples/workflows/assembly-line/index.d.ts +17 -0
  46. package/build/examples/workflows/assembly-line/index.js +60 -0
  47. package/build/examples/workflows/assembly-line/iterator.d.ts +12 -0
  48. package/build/examples/workflows/assembly-line/iterator.js +54 -0
  49. package/build/examples/workflows/assembly-line/reverter.d.ts +18 -0
  50. package/build/examples/workflows/assembly-line/reverter.js +89 -0
  51. package/build/examples/workflows/assembly-line/types.d.ts +25 -0
  52. package/build/examples/workflows/assembly-line/types.js +8 -0
  53. package/build/examples/workflows/assembly-line/worker.d.ts +13 -0
  54. package/build/examples/workflows/assembly-line/worker.js +81 -0
  55. package/build/index.d.ts +4 -0
  56. package/build/index.js +6 -1
  57. package/build/lib/db/schemas/004_workflow_sets.sql +29 -0
  58. package/build/lib/db/schemas/005_unique_graph_topic.sql +7 -0
  59. package/build/lib/db/schemas/011_system_workflow_configs.sql +7 -0
  60. package/build/lib/events/callback.d.ts +41 -0
  61. package/build/lib/events/callback.js +98 -0
  62. package/build/modules/config.js +1 -1
  63. package/build/routes/auth.js +37 -36
  64. package/build/routes/bot-accounts.js +34 -164
  65. package/build/routes/controlplane.js +20 -60
  66. package/build/routes/dba.js +18 -28
  67. package/build/routes/escalations/bulk.js +17 -192
  68. package/build/routes/escalations/list.js +51 -75
  69. package/build/routes/escalations/resolve.js +3 -193
  70. package/build/routes/escalations/single.js +13 -122
  71. package/build/routes/exports.js +44 -95
  72. package/build/routes/index.js +2 -0
  73. package/build/routes/insight.js +46 -88
  74. package/build/routes/maintenance.js +41 -17
  75. package/build/routes/mcp-runs.js +52 -60
  76. package/build/routes/mcp.js +49 -177
  77. package/build/routes/namespaces.js +9 -20
  78. package/build/routes/roles.js +23 -97
  79. package/build/routes/settings.js +37 -25
  80. package/build/routes/tasks.js +28 -64
  81. package/build/routes/users.js +24 -113
  82. package/build/routes/workflow-sets.d.ts +2 -0
  83. package/build/routes/workflow-sets.js +98 -0
  84. package/build/routes/workflows/config.js +23 -57
  85. package/build/routes/workflows/discovery.js +11 -85
  86. package/build/routes/workflows/invocation.js +28 -90
  87. package/build/routes/yaml-workflows/cron.js +12 -61
  88. package/build/routes/yaml-workflows/crud.js +30 -223
  89. package/build/routes/yaml-workflows/deployment.js +15 -115
  90. package/build/routes/yaml-workflows/versions.js +20 -58
  91. package/build/sdk/index.d.ts +338 -0
  92. package/build/sdk/index.js +299 -0
  93. package/build/services/controlplane/index.d.ts +1 -2
  94. package/build/services/controlplane/index.js +3 -3
  95. package/build/services/controlplane/sql.d.ts +2 -2
  96. package/build/services/controlplane/sql.js +4 -5
  97. package/build/services/controlplane/types.d.ts +1 -0
  98. package/build/services/export/index.js +6 -1
  99. package/build/services/hotmesh-utils.js +2 -4
  100. package/build/services/insight/index.d.ts +7 -0
  101. package/build/services/insight/index.js +30 -0
  102. package/build/services/mcp/client/tools.js +13 -1
  103. package/build/services/mcp-runs/sql.js +1 -1
  104. package/build/services/workflow-invocation.d.ts +15 -2
  105. package/build/services/workflow-invocation.js +11 -6
  106. package/build/services/workflow-sets/db.d.ts +16 -0
  107. package/build/services/workflow-sets/db.js +78 -0
  108. package/build/services/workflow-sets/index.d.ts +1 -0
  109. package/build/services/workflow-sets/index.js +11 -0
  110. package/build/services/workflow-sets/sql.d.ts +6 -0
  111. package/build/services/workflow-sets/sql.js +24 -0
  112. package/build/services/yaml-workflow/db-utils.d.ts +1 -0
  113. package/build/services/yaml-workflow/db-utils.js +4 -0
  114. package/build/services/yaml-workflow/db.d.ts +5 -0
  115. package/build/services/yaml-workflow/db.js +17 -0
  116. package/build/services/yaml-workflow/pipeline/build/wiring.js +14 -1
  117. package/build/services/yaml-workflow/pipeline/prompts.d.ts +1 -1
  118. package/build/services/yaml-workflow/pipeline/prompts.js +1 -1
  119. package/build/services/yaml-workflow/sql.d.ts +2 -1
  120. package/build/services/yaml-workflow/sql.js +8 -3
  121. package/build/services/yaml-workflow/types.d.ts +3 -0
  122. package/build/services/yaml-workflow/workers/callbacks.js +7 -1
  123. package/build/services/yaml-workflow/workers/register.js +7 -0
  124. package/build/start/adapters.js +4 -0
  125. package/build/system/index.js +6 -0
  126. package/build/system/mcp-servers/knowledge.js +1 -1
  127. package/build/system/seed/server-definitions.js +2 -1
  128. package/build/system/workflows/mcp-workflow-builder/activities/index.d.ts +1 -1
  129. package/build/system/workflows/mcp-workflow-builder/activities/index.js +2 -1
  130. package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.d.ts +6 -0
  131. package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.js +26 -0
  132. package/build/system/workflows/mcp-workflow-builder/index.js +26 -2
  133. package/build/system/workflows/mcp-workflow-builder/prompts.js +104 -35
  134. package/build/system/workflows/mcp-workflow-planner/activities/analyze.d.ts +11 -0
  135. package/build/system/workflows/mcp-workflow-planner/activities/analyze.js +36 -0
  136. package/build/system/workflows/mcp-workflow-planner/activities/index.d.ts +3 -0
  137. package/build/system/workflows/mcp-workflow-planner/activities/index.js +12 -0
  138. package/build/system/workflows/mcp-workflow-planner/activities/persist.d.ts +19 -0
  139. package/build/system/workflows/mcp-workflow-planner/activities/persist.js +55 -0
  140. package/build/system/workflows/mcp-workflow-planner/activities/plan.d.ts +10 -0
  141. package/build/system/workflows/mcp-workflow-planner/activities/plan.js +43 -0
  142. package/build/system/workflows/mcp-workflow-planner/index.d.ts +7 -0
  143. package/build/system/workflows/mcp-workflow-planner/index.js +152 -0
  144. package/build/system/workflows/mcp-workflow-planner/prompts.d.ts +7 -0
  145. package/build/system/workflows/mcp-workflow-planner/prompts.js +77 -0
  146. package/build/tsconfig.tsbuildinfo +1 -1
  147. package/build/types/index.d.ts +1 -0
  148. package/build/types/sdk.d.ts +27 -0
  149. package/build/types/sdk.js +2 -0
  150. package/build/types/workflow-set.d.ts +44 -0
  151. package/build/types/workflow-set.js +5 -0
  152. package/dashboard/dist/assets/{AdminDashboard-BXkKGkb5.js → AdminDashboard-B15jSEV2.js} +2 -2
  153. package/dashboard/dist/assets/{AdminDashboard-BXkKGkb5.js.map → AdminDashboard-B15jSEV2.js.map} +1 -1
  154. package/dashboard/dist/assets/{AvailableEscalationsPage-DcH592mc.js → AvailableEscalationsPage-0V2yvKak.js} +2 -2
  155. package/dashboard/dist/assets/{AvailableEscalationsPage-DcH592mc.js.map → AvailableEscalationsPage-0V2yvKak.js.map} +1 -1
  156. package/dashboard/dist/assets/BotPicker-B4UxHcek.js +2 -0
  157. package/dashboard/dist/assets/{BotPicker-A6LtzyuO.js.map → BotPicker-B4UxHcek.js.map} +1 -1
  158. package/dashboard/dist/assets/{CollapsibleSection-C7nL2_mv.js → CollapsibleSection-BBexNWVd.js} +2 -2
  159. package/dashboard/dist/assets/{CollapsibleSection-C7nL2_mv.js.map → CollapsibleSection-BBexNWVd.js.map} +1 -1
  160. package/dashboard/dist/assets/{ConfirmDeleteModal-CWFwJrSl.js → ConfirmDeleteModal-DlPDJSq_.js} +2 -2
  161. package/dashboard/dist/assets/{ConfirmDeleteModal-CWFwJrSl.js.map → ConfirmDeleteModal-DlPDJSq_.js.map} +1 -1
  162. package/dashboard/dist/assets/{CopyableId-DbZ5c3jh.js → CopyableId-BxHW1ahb.js} +2 -2
  163. package/dashboard/dist/assets/{CopyableId-DbZ5c3jh.js.map → CopyableId-BxHW1ahb.js.map} +1 -1
  164. package/dashboard/dist/assets/{CredentialsPage-ClWkmLPu.js → CredentialsPage-Bp_Y1Szk.js} +2 -2
  165. package/dashboard/dist/assets/{CredentialsPage-ClWkmLPu.js.map → CredentialsPage-Bp_Y1Szk.js.map} +1 -1
  166. package/dashboard/dist/assets/{CustomDurationPicker-CtH2hReF.js → CustomDurationPicker-ByBFqXSO.js} +2 -2
  167. package/dashboard/dist/assets/{CustomDurationPicker-CtH2hReF.js.map → CustomDurationPicker-ByBFqXSO.js.map} +1 -1
  168. package/dashboard/dist/assets/{DataTable-CM5ZcpPi.js → DataTable-DyIXg-tQ.js} +2 -2
  169. package/dashboard/dist/assets/{DataTable-CM5ZcpPi.js.map → DataTable-DyIXg-tQ.js.map} +1 -1
  170. package/dashboard/dist/assets/{ElapsedCell-CwqavyeC.js → ElapsedCell-BgnA0qpS.js} +2 -2
  171. package/dashboard/dist/assets/{ElapsedCell-CwqavyeC.js.map → ElapsedCell-BgnA0qpS.js.map} +1 -1
  172. package/dashboard/dist/assets/{EmptyState-BBn78pmm.js → EmptyState-DlMImvgm.js} +2 -2
  173. package/dashboard/dist/assets/{EmptyState-BBn78pmm.js.map → EmptyState-DlMImvgm.js.map} +1 -1
  174. package/dashboard/dist/assets/{EscalationsOverview-BcJ2E3X7.js → EscalationsOverview-D90kdfw1.js} +2 -2
  175. package/dashboard/dist/assets/{EscalationsOverview-BcJ2E3X7.js.map → EscalationsOverview-D90kdfw1.js.map} +1 -1
  176. package/dashboard/dist/assets/{EventTable-C1en_KZ0.js → EventTable-BNxtlgNz.js} +2 -2
  177. package/dashboard/dist/assets/{EventTable-C1en_KZ0.js.map → EventTable-BNxtlgNz.js.map} +1 -1
  178. package/dashboard/dist/assets/{FilterBar-CZTlrLQT.js → FilterBar-BTiaAhCx.js} +2 -2
  179. package/dashboard/dist/assets/{FilterBar-CZTlrLQT.js.map → FilterBar-BTiaAhCx.js.map} +1 -1
  180. package/dashboard/dist/assets/{ListToolbar-Cdbsapig.js → ListToolbar-BUcagSCn.js} +2 -2
  181. package/dashboard/dist/assets/{ListToolbar-Cdbsapig.js.map → ListToolbar-BUcagSCn.js.map} +1 -1
  182. package/dashboard/dist/assets/{McpOverview-CSpEJxKa.js → McpOverview-B-tCvz8C.js} +2 -2
  183. package/dashboard/dist/assets/{McpOverview-CSpEJxKa.js.map → McpOverview-B-tCvz8C.js.map} +1 -1
  184. package/dashboard/dist/assets/McpQueryDetailPage-DPlF1wYb.js +5 -0
  185. package/dashboard/dist/assets/McpQueryDetailPage-DPlF1wYb.js.map +1 -0
  186. package/dashboard/dist/assets/McpQueryPage-Bz7AdcfR.js +2 -0
  187. package/dashboard/dist/assets/McpQueryPage-Bz7AdcfR.js.map +1 -0
  188. package/dashboard/dist/assets/{McpRunDetailPage-9xdxgG4d.js → McpRunDetailPage-Di_qpL2V.js} +2 -2
  189. package/dashboard/dist/assets/{McpRunDetailPage-9xdxgG4d.js.map → McpRunDetailPage-Di_qpL2V.js.map} +1 -1
  190. package/dashboard/dist/assets/{McpRunsPage-wWLqHsd4.js → McpRunsPage-BBgybBEa.js} +2 -2
  191. package/dashboard/dist/assets/{McpRunsPage-wWLqHsd4.js.map → McpRunsPage-BBgybBEa.js.map} +1 -1
  192. package/dashboard/dist/assets/{Modal-kB_P7ZOr.js → Modal-CaJ0gTEa.js} +2 -2
  193. package/dashboard/dist/assets/{Modal-kB_P7ZOr.js.map → Modal-CaJ0gTEa.js.map} +1 -1
  194. package/dashboard/dist/assets/OperatorDashboard-DDfMmrmR.js +2 -0
  195. package/dashboard/dist/assets/{OperatorDashboard-jc0vrgDI.js.map → OperatorDashboard-DDfMmrmR.js.map} +1 -1
  196. package/dashboard/dist/assets/{PageHeader-NkOeBR05.js → PageHeader-C5D-G5rp.js} +2 -2
  197. package/dashboard/dist/assets/{PageHeader-NkOeBR05.js.map → PageHeader-C5D-G5rp.js.map} +1 -1
  198. package/dashboard/dist/assets/{PageHeaderWithStats-ywNhrmFK.js → PageHeaderWithStats-DCa2eZh2.js} +2 -2
  199. package/dashboard/dist/assets/{PageHeaderWithStats-ywNhrmFK.js.map → PageHeaderWithStats-DCa2eZh2.js.map} +1 -1
  200. package/dashboard/dist/assets/{PriorityBadge-B2MQbSxy.js → PriorityBadge-DTHq6OUZ.js} +2 -2
  201. package/dashboard/dist/assets/{PriorityBadge-B2MQbSxy.js.map → PriorityBadge-DTHq6OUZ.js.map} +1 -1
  202. package/dashboard/dist/assets/{ProcessDetailPage-B7z7IdqE.js → ProcessDetailPage-fC4dhrd0.js} +2 -2
  203. package/dashboard/dist/assets/{ProcessDetailPage-B7z7IdqE.js.map → ProcessDetailPage-fC4dhrd0.js.map} +1 -1
  204. package/dashboard/dist/assets/{ProcessesListPage-C-uHadO6.js → ProcessesListPage-CL2MY8uD.js} +2 -2
  205. package/dashboard/dist/assets/{ProcessesListPage-C-uHadO6.js.map → ProcessesListPage-CL2MY8uD.js.map} +1 -1
  206. package/dashboard/dist/assets/{RolePill-C1dgC-fK.js → RolePill-kgKPANly.js} +2 -2
  207. package/dashboard/dist/assets/{RolePill-C1dgC-fK.js.map → RolePill-kgKPANly.js.map} +1 -1
  208. package/dashboard/dist/assets/{RolesPage-BSxrD1vm.js → RolesPage-Be2lXTHD.js} +2 -2
  209. package/dashboard/dist/assets/{RolesPage-BSxrD1vm.js.map → RolesPage-Be2lXTHD.js.map} +1 -1
  210. package/dashboard/dist/assets/{RowActions-lYaHGI-v.js → RowActions-DIzJCwqR.js} +2 -2
  211. package/dashboard/dist/assets/{RowActions-lYaHGI-v.js.map → RowActions-DIzJCwqR.js.map} +1 -1
  212. package/dashboard/dist/assets/{StatCard-v2TiITVr.js → StatCard-CRi2Jy6t.js} +2 -2
  213. package/dashboard/dist/assets/{StatCard-v2TiITVr.js.map → StatCard-CRi2Jy6t.js.map} +1 -1
  214. package/dashboard/dist/assets/{StatusBadge-DWlxevgG.js → StatusBadge-BETI_8Mr.js} +2 -2
  215. package/dashboard/dist/assets/{StatusBadge-DWlxevgG.js.map → StatusBadge-BETI_8Mr.js.map} +1 -1
  216. package/dashboard/dist/assets/{StepIndicator-CRM4ft28.js → StepIndicator-DjpMqCjz.js} +2 -2
  217. package/dashboard/dist/assets/{StepIndicator-CRM4ft28.js.map → StepIndicator-DjpMqCjz.js.map} +1 -1
  218. package/dashboard/dist/assets/{StickyPagination-CF0EToEU.js → StickyPagination-BZbExQ9t.js} +2 -2
  219. package/dashboard/dist/assets/{StickyPagination-CF0EToEU.js.map → StickyPagination-BZbExQ9t.js.map} +1 -1
  220. package/dashboard/dist/assets/{SwimlaneTimeline-CNlj7fgg.js → SwimlaneTimeline-DZthQyhR.js} +2 -2
  221. package/dashboard/dist/assets/{SwimlaneTimeline-CNlj7fgg.js.map → SwimlaneTimeline-DZthQyhR.js.map} +1 -1
  222. package/dashboard/dist/assets/{TagInput-CH8qMGhC.js → TagInput-CukbOfYn.js} +2 -2
  223. package/dashboard/dist/assets/{TagInput-CH8qMGhC.js.map → TagInput-CukbOfYn.js.map} +1 -1
  224. package/dashboard/dist/assets/{TaskDetailPage-CdWo-6mu.js → TaskDetailPage-CIZHIKo9.js} +2 -2
  225. package/dashboard/dist/assets/{TaskDetailPage-CdWo-6mu.js.map → TaskDetailPage-CIZHIKo9.js.map} +1 -1
  226. package/dashboard/dist/assets/{TaskQueuePill-BPj4ogVG.js → TaskQueuePill-Q7DGoysj.js} +2 -2
  227. package/dashboard/dist/assets/{TaskQueuePill-BPj4ogVG.js.map → TaskQueuePill-Q7DGoysj.js.map} +1 -1
  228. package/dashboard/dist/assets/{TasksListPage-CtRkMpKU.js → TasksListPage-CsC9wjb0.js} +2 -2
  229. package/dashboard/dist/assets/{TasksListPage-CtRkMpKU.js.map → TasksListPage-CsC9wjb0.js.map} +1 -1
  230. package/dashboard/dist/assets/{TimeAgo-Di1a3X5P.js → TimeAgo-BcOOnJeH.js} +2 -2
  231. package/dashboard/dist/assets/{TimeAgo-Di1a3X5P.js.map → TimeAgo-BcOOnJeH.js.map} +1 -1
  232. package/dashboard/dist/assets/{TimestampCell-CqrXql-S.js → TimestampCell-CEMapYDQ.js} +2 -2
  233. package/dashboard/dist/assets/{TimestampCell-CqrXql-S.js.map → TimestampCell-CEMapYDQ.js.map} +1 -1
  234. package/dashboard/dist/assets/{UserName-BUFYCnRa.js → UserName-BHoN7iRL.js} +2 -2
  235. package/dashboard/dist/assets/{UserName-BUFYCnRa.js.map → UserName-BHoN7iRL.js.map} +1 -1
  236. package/dashboard/dist/assets/{WorkflowExecutionPage-25iusMml.js → WorkflowExecutionPage-DawKl1LT.js} +2 -2
  237. package/dashboard/dist/assets/{WorkflowExecutionPage-25iusMml.js.map → WorkflowExecutionPage-DawKl1LT.js.map} +1 -1
  238. package/dashboard/dist/assets/WorkflowPill-CP84Vqeg.js +2 -0
  239. package/dashboard/dist/assets/{WorkflowPill-DPKOcbf4.js.map → WorkflowPill-CP84Vqeg.js.map} +1 -1
  240. package/dashboard/dist/assets/{WorkflowsDashboard-BgxslssH.js → WorkflowsDashboard-QrvVFxtQ.js} +2 -2
  241. package/dashboard/dist/assets/{WorkflowsDashboard-BgxslssH.js.map → WorkflowsDashboard-QrvVFxtQ.js.map} +1 -1
  242. package/dashboard/dist/assets/{WorkflowsOverview-Doe5L-Re.js → WorkflowsOverview-DuhAi_OY.js} +2 -2
  243. package/dashboard/dist/assets/{WorkflowsOverview-Doe5L-Re.js.map → WorkflowsOverview-DuhAi_OY.js.map} +1 -1
  244. package/dashboard/dist/assets/YamlWorkflowsPage-Dc9xw82a.js +2 -0
  245. package/dashboard/dist/assets/YamlWorkflowsPage-Dc9xw82a.js.map +1 -0
  246. package/dashboard/dist/assets/{bots-Bi2_O1Ts.js → bots-Dny-rmmI.js} +2 -2
  247. package/dashboard/dist/assets/{bots-Bi2_O1Ts.js.map → bots-Dny-rmmI.js.map} +1 -1
  248. package/dashboard/dist/assets/{escalation-Ck1KlLkT.js → escalation-CV0sKNH5.js} +2 -2
  249. package/dashboard/dist/assets/{escalation-Ck1KlLkT.js.map → escalation-CV0sKNH5.js.map} +1 -1
  250. package/dashboard/dist/assets/{escalation-columns-ohDsj2eJ.js → escalation-columns-30CKyoWI.js} +2 -2
  251. package/dashboard/dist/assets/{escalation-columns-ohDsj2eJ.js.map → escalation-columns-30CKyoWI.js.map} +1 -1
  252. package/dashboard/dist/assets/{helpers-BoD2SgUY.js → helpers-C1-30CzH.js} +2 -2
  253. package/dashboard/dist/assets/{helpers-BoD2SgUY.js.map → helpers-C1-30CzH.js.map} +1 -1
  254. package/dashboard/dist/assets/helpers-C1jaRD-d.js +2 -0
  255. package/dashboard/dist/assets/helpers-C1jaRD-d.js.map +1 -0
  256. package/dashboard/dist/assets/{index-FuohTtaM.js → index-BUVQ6wmy.js} +3 -3
  257. package/dashboard/dist/assets/{index-FuohTtaM.js.map → index-BUVQ6wmy.js.map} +1 -1
  258. package/dashboard/dist/assets/index-CxVB7F4X.js +2 -0
  259. package/dashboard/dist/assets/{index-Dk2Q51o0.js.map → index-CxVB7F4X.js.map} +1 -1
  260. package/dashboard/dist/assets/{index-BEtLIsML.js → index-D-oCWCAS.js} +2 -2
  261. package/dashboard/dist/assets/{index-BEtLIsML.js.map → index-D-oCWCAS.js.map} +1 -1
  262. package/dashboard/dist/assets/index-D0wPM3Ck.js +2 -0
  263. package/dashboard/dist/assets/{index-BpT-6WgJ.js.map → index-D0wPM3Ck.js.map} +1 -1
  264. package/dashboard/dist/assets/{index-Bn2xHDr8.js → index-DHgnkykj.js} +3 -3
  265. package/dashboard/dist/assets/{index-Bn2xHDr8.js.map → index-DHgnkykj.js.map} +1 -1
  266. package/dashboard/dist/assets/{index-D3NyVADW.js → index-D_aJBEAG.js} +2 -2
  267. package/dashboard/dist/assets/index-D_aJBEAG.js.map +1 -0
  268. package/dashboard/dist/assets/{index-PyCTS05D.css → index-DcIKW-cZ.css} +1 -1
  269. package/dashboard/dist/assets/{index-CZrJ09p-.js → index-Dd_U4mLm.js} +2 -2
  270. package/dashboard/dist/assets/{index-CZrJ09p-.js.map → index-Dd_U4mLm.js.map} +1 -1
  271. package/dashboard/dist/assets/{index-DYyLF-Qb.js → index-DnmZbNxk.js} +8 -8
  272. package/dashboard/dist/assets/index-DnmZbNxk.js.map +1 -0
  273. package/dashboard/dist/assets/index-_RBvi7s6.js +2 -0
  274. package/dashboard/dist/assets/{index-D7zYZOnH.js.map → index-_RBvi7s6.js.map} +1 -1
  275. package/dashboard/dist/assets/index-n7td8zgX.js +17 -0
  276. package/dashboard/dist/assets/{index-DOkHXmyf.js.map → index-n7td8zgX.js.map} +1 -1
  277. package/dashboard/dist/assets/{mcp-CJtYjA7A.js → mcp-CRFr4L9W.js} +2 -2
  278. package/dashboard/dist/assets/{mcp-CJtYjA7A.js.map → mcp-CRFr4L9W.js.map} +1 -1
  279. package/dashboard/dist/assets/mcp-query-DHY2mZBQ.js +2 -0
  280. package/dashboard/dist/assets/mcp-query-DHY2mZBQ.js.map +1 -0
  281. package/dashboard/dist/assets/{mcp-runs-DUWm9Z4V.js → mcp-runs-BqPHqwAO.js} +2 -2
  282. package/dashboard/dist/assets/{mcp-runs-DUWm9Z4V.js.map → mcp-runs-BqPHqwAO.js.map} +1 -1
  283. package/dashboard/dist/assets/{namespaces-BM5P2qmL.js → namespaces-TG1aIpo_.js} +2 -2
  284. package/dashboard/dist/assets/{namespaces-BM5P2qmL.js.map → namespaces-TG1aIpo_.js.map} +1 -1
  285. package/dashboard/dist/assets/{roles-lv0shpjJ.js → roles-DhhLTvXg.js} +2 -2
  286. package/dashboard/dist/assets/{roles-lv0shpjJ.js.map → roles-DhhLTvXg.js.map} +1 -1
  287. package/dashboard/dist/assets/{settings-Wlq92mRo.js → settings-D9MBzEeB.js} +2 -2
  288. package/dashboard/dist/assets/{settings-Wlq92mRo.js.map → settings-D9MBzEeB.js.map} +1 -1
  289. package/dashboard/dist/assets/{tasks-BFGm4PuE.js → tasks-BxmcZoev.js} +2 -2
  290. package/dashboard/dist/assets/{tasks-BFGm4PuE.js.map → tasks-BxmcZoev.js.map} +1 -1
  291. package/dashboard/dist/assets/{useEventHooks-DIE6ue4x.js → useEventHooks-BylecvvI.js} +2 -2
  292. package/dashboard/dist/assets/{useEventHooks-DIE6ue4x.js.map → useEventHooks-BylecvvI.js.map} +1 -1
  293. package/dashboard/dist/assets/{useYamlActivityEvents-DCwSO73t.js → useYamlActivityEvents-ocmj11e_.js} +2 -2
  294. package/dashboard/dist/assets/{useYamlActivityEvents-DCwSO73t.js.map → useYamlActivityEvents-ocmj11e_.js.map} +1 -1
  295. package/dashboard/dist/assets/{users-tA5-K0wA.js → users-Ce5r-JAv.js} +2 -2
  296. package/dashboard/dist/assets/{users-tA5-K0wA.js.map → users-Ce5r-JAv.js.map} +1 -1
  297. package/dashboard/dist/assets/{vendor-icons-BiIug1SK.js → vendor-icons-D1DdudfH.js} +93 -73
  298. package/dashboard/dist/assets/vendor-icons-D1DdudfH.js.map +1 -0
  299. package/dashboard/dist/assets/{workflows-CfLc15Wr.js → workflows-ykIeVbRJ.js} +2 -2
  300. package/dashboard/dist/assets/{workflows-CfLc15Wr.js.map → workflows-ykIeVbRJ.js.map} +1 -1
  301. package/dashboard/dist/assets/yaml-workflows-WypmKYht.js +2 -0
  302. package/dashboard/dist/assets/yaml-workflows-WypmKYht.js.map +1 -0
  303. package/dashboard/dist/index.html +3 -3
  304. package/docs/api/sdk/auth.md +27 -0
  305. package/docs/api/sdk/bot-accounts.md +243 -0
  306. package/docs/api/sdk/controlplane.md +103 -0
  307. package/docs/api/sdk/dba.md +52 -0
  308. package/docs/api/sdk/escalations.md +374 -0
  309. package/docs/api/sdk/events.md +68 -0
  310. package/docs/api/sdk/exports.md +124 -0
  311. package/docs/api/sdk/insight.md +112 -0
  312. package/docs/api/sdk/maintenance.md +54 -0
  313. package/docs/api/sdk/mcp-runs.md +71 -0
  314. package/docs/api/sdk/mcp.md +250 -0
  315. package/docs/api/sdk/namespaces.md +43 -0
  316. package/docs/api/sdk/roles.md +183 -0
  317. package/docs/api/sdk/settings.md +24 -0
  318. package/docs/api/sdk/tasks.md +120 -0
  319. package/docs/api/sdk/users.md +196 -0
  320. package/docs/api/sdk/workflow-sets.md +135 -0
  321. package/docs/api/sdk/workflows.md +271 -0
  322. package/docs/api/sdk/yaml-workflows.md +408 -0
  323. package/docs/events.md +28 -0
  324. package/docs/sdk.md +177 -0
  325. package/docs/story.md +157 -0
  326. package/package.json +3 -2
  327. package/build/routes/escalations/helpers.d.ts +0 -5
  328. package/build/routes/resolve.d.ts +0 -9
  329. package/build/routes/resolve.js +0 -19
  330. package/build/routes/yaml-workflows/helpers.d.ts +0 -2
  331. package/build/routes/yaml-workflows/helpers.js +0 -8
  332. package/dashboard/dist/assets/BotPicker-A6LtzyuO.js +0 -2
  333. package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js +0 -5
  334. package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js.map +0 -1
  335. package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js +0 -2
  336. package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js.map +0 -1
  337. package/dashboard/dist/assets/OperatorDashboard-jc0vrgDI.js +0 -2
  338. package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js +0 -2
  339. package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js.map +0 -1
  340. package/dashboard/dist/assets/WorkflowPill-DPKOcbf4.js +0 -2
  341. package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js +0 -2
  342. package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js.map +0 -1
  343. package/dashboard/dist/assets/index-BpT-6WgJ.js +0 -2
  344. package/dashboard/dist/assets/index-D3NyVADW.js.map +0 -1
  345. package/dashboard/dist/assets/index-D7zYZOnH.js +0 -2
  346. package/dashboard/dist/assets/index-DOkHXmyf.js +0 -17
  347. package/dashboard/dist/assets/index-DYyLF-Qb.js.map +0 -1
  348. package/dashboard/dist/assets/index-Dk2Q51o0.js +0 -2
  349. package/dashboard/dist/assets/mcp-query-jQJQrs_7.js +0 -2
  350. package/dashboard/dist/assets/mcp-query-jQJQrs_7.js.map +0 -1
  351. package/dashboard/dist/assets/vendor-icons-BiIug1SK.js.map +0 -1
  352. package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js +0 -2
  353. package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js.map +0 -1
  354. package/docs/img/01-login.png +0 -0
  355. package/docs/img/02-dashboard-home.png +0 -0
  356. package/docs/img/03-processes-list.png +0 -0
  357. package/docs/img/04-escalations-list.png +0 -0
  358. package/docs/img/05-mcp-servers.png +0 -0
  359. package/docs/img/06-mcp-pipelines.png +0 -0
  360. package/docs/img/07-workflows-list.png +0 -0
  361. package/docs/img/compilation/01-query-submit.png +0 -0
  362. package/docs/img/compilation/02-mcp-servers.png +0 -0
  363. package/docs/img/compilation/03-query-completed.png +0 -0
  364. package/docs/img/compilation/04-wizard-original.png +0 -0
  365. package/docs/img/compilation/05-wizard-timeline.png +0 -0
  366. package/docs/img/compilation/06-wizard-profile.png +0 -0
  367. package/docs/img/compilation/07-wizard-deploy.png +0 -0
  368. package/docs/img/compilation/08-wizard-test-modal.png +0 -0
  369. package/docs/img/compilation/09-wizard-test-compare.png +0 -0
  370. package/docs/img/compilation/10-wizard-verify.png +0 -0
  371. /package/docs/api/{dba.md → http/dba.md} +0 -0
  372. /package/docs/api/{escalations.md → http/escalations.md} +0 -0
  373. /package/docs/api/{exports.md → http/exports.md} +0 -0
  374. /package/docs/api/{maintenance.md → http/maintenance.md} +0 -0
  375. /package/docs/api/{mcp-runs.md → http/mcp-runs.md} +0 -0
  376. /package/docs/api/{mcp-servers.md → http/mcp-servers.md} +0 -0
  377. /package/docs/api/{namespaces.md → http/namespaces.md} +0 -0
  378. /package/docs/api/{roles.md → http/roles.md} +0 -0
  379. /package/docs/api/{service-accounts.md → http/service-accounts.md} +0 -0
  380. /package/docs/api/{settings.md → http/settings.md} +0 -0
  381. /package/docs/api/{tasks.md → http/tasks.md} +0 -0
  382. /package/docs/api/{users.md → http/users.md} +0 -0
  383. /package/docs/api/{workflows.md → http/workflows.md} +0 -0
  384. /package/docs/api/{yaml-workflows.md → http/yaml-workflows.md} +0 -0
@@ -0,0 +1,158 @@
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.listApps = listApps;
37
+ exports.rollCall = rollCall;
38
+ exports.applyThrottle = applyThrottle;
39
+ exports.getStreamStats = getStreamStats;
40
+ exports.subscribeMesh = subscribeMesh;
41
+ const controlplane = __importStar(require("../services/controlplane"));
42
+ const events_1 = require("../lib/events");
43
+ /**
44
+ * List all registered application namespaces.
45
+ *
46
+ * @returns `{ status: 200, data: { apps } }` array of known app identifiers
47
+ */
48
+ async function listApps() {
49
+ try {
50
+ const apps = await controlplane.listApps();
51
+ return { status: 200, data: { apps } };
52
+ }
53
+ catch (err) {
54
+ return { status: 500, error: err.message };
55
+ }
56
+ }
57
+ /**
58
+ * Query active worker profiles for an application.
59
+ *
60
+ * Sends a roll-call request to the mesh and collects responses from
61
+ * all running workers within the optional delay window.
62
+ *
63
+ * @param input.appId — application namespace to query (defaults to 'durable')
64
+ * @param input.delay — milliseconds to wait for worker responses before returning
65
+ * @returns `{ status: 200, data: { profiles } }` array of worker profile objects
66
+ */
67
+ async function rollCall(input) {
68
+ try {
69
+ const appId = input.appId || 'durable';
70
+ const profiles = await controlplane.rollCall(appId, input.delay);
71
+ return { status: 200, data: { profiles } };
72
+ }
73
+ catch (err) {
74
+ return { status: 500, error: err.message };
75
+ }
76
+ }
77
+ /**
78
+ * Apply a throttle rate to workflow execution.
79
+ *
80
+ * Sets the throttle value for a specific topic or workflow within an app
81
+ * namespace. Also publishes a synthetic `mesh.throttle` event so the
82
+ * dashboard event stream reflects the change.
83
+ *
84
+ * @param input.appId — application namespace (defaults to 'durable')
85
+ * @param input.throttle — throttle value to apply (required, must be a number)
86
+ * @param input.topic — optional topic to scope the throttle to
87
+ * @param input.guid — optional workflow GUID to scope the throttle to
88
+ * @returns `{ status: 200, data: { success } }` boolean indicating the throttle was applied
89
+ */
90
+ async function applyThrottle(input) {
91
+ try {
92
+ const appId = input.appId || 'durable';
93
+ if (typeof input.throttle !== 'number') {
94
+ return { status: 400, error: 'throttle (number) is required' };
95
+ }
96
+ const result = await controlplane.applyThrottle(appId, {
97
+ throttle: input.throttle,
98
+ topic: input.topic,
99
+ guid: input.guid,
100
+ });
101
+ // Publish a synthetic event so the dashboard event stream sees it
102
+ const throttleEvent = {
103
+ type: 'mesh.throttle',
104
+ source: 'controlplane',
105
+ workflowId: input.guid || '',
106
+ workflowName: '',
107
+ taskQueue: appId,
108
+ data: { throttle: input.throttle, topic: input.topic, guid: input.guid, appId },
109
+ timestamp: new Date().toISOString(),
110
+ };
111
+ events_1.eventRegistry.publish(throttleEvent).catch(() => { });
112
+ return { status: 200, data: { success: result } };
113
+ }
114
+ catch (err) {
115
+ return { status: 500, error: err.message };
116
+ }
117
+ }
118
+ /**
119
+ * Retrieve stream statistics for an application.
120
+ *
121
+ * Returns throughput and backlog metrics for Redis streams backing the
122
+ * given app namespace over the specified time window.
123
+ *
124
+ * @param input.app_id — application namespace (defaults to 'durable')
125
+ * @param input.duration — time window for stats aggregation, e.g. '1h', '30m' (defaults to '1h')
126
+ * @param input.stream — optional specific stream name to filter results
127
+ * @returns `{ status: 200, data: { ... } }` stream statistics object
128
+ */
129
+ async function getStreamStats(input) {
130
+ try {
131
+ const schema = input.app_id || 'durable';
132
+ const duration = input.duration || '1h';
133
+ const stats = await controlplane.getStreamStats(schema, duration, input.stream);
134
+ return { status: 200, data: stats };
135
+ }
136
+ catch (err) {
137
+ return { status: 500, error: err.message };
138
+ }
139
+ }
140
+ /**
141
+ * Subscribe to mesh events for an application.
142
+ *
143
+ * Establishes a subscription to the event stream of the given app
144
+ * namespace so that mesh events are captured and forwarded.
145
+ *
146
+ * @param input.appId — application namespace to subscribe to (defaults to 'durable')
147
+ * @returns `{ status: 200, data: { subscribed, appId } }` confirmation with the subscribed app ID
148
+ */
149
+ async function subscribeMesh(input) {
150
+ try {
151
+ const appId = input.appId || 'durable';
152
+ await controlplane.subscribeMesh(appId);
153
+ return { status: 200, data: { subscribed: true, appId } };
154
+ }
155
+ catch (err) {
156
+ return { status: 500, error: err.message };
157
+ }
158
+ }
@@ -0,0 +1,42 @@
1
+ import type { LTApiResult } from '../types/sdk';
2
+ /**
3
+ * Prune stale HotMesh data from Redis.
4
+ *
5
+ * Selectively removes completed jobs, stream entries, engine/worker
6
+ * streams, and search attributes. Delegates to the HotMesh DBA service.
7
+ *
8
+ * @param input.expire — Redis TTL expression for pruned keys
9
+ * @param input.jobs — prune completed job hashes
10
+ * @param input.streams — prune activity streams
11
+ * @param input.engineStreams — prune engine consumer streams
12
+ * @param input.engineStreamsExpire — TTL for engine stream entries
13
+ * @param input.workerStreams — prune worker consumer streams
14
+ * @param input.workerStreamsExpire — TTL for worker stream entries
15
+ * @param input.attributes — prune FT.SEARCH attributes
16
+ * @param input.entities — limit pruning to these entity types
17
+ * @param input.pruneTransient — include transient keys
18
+ * @param input.keepHmark — preserve hmark keys
19
+ * @returns `{ status: 200, data: <prune result summary> }`
20
+ */
21
+ export declare function prune(input: {
22
+ expire?: string;
23
+ jobs?: boolean;
24
+ streams?: boolean;
25
+ engineStreams?: boolean;
26
+ engineStreamsExpire?: string;
27
+ workerStreams?: boolean;
28
+ workerStreamsExpire?: string;
29
+ attributes?: boolean;
30
+ entities?: string[];
31
+ pruneTransient?: boolean;
32
+ keepHmark?: boolean;
33
+ }): Promise<LTApiResult>;
34
+ /**
35
+ * Deploy (or redeploy) all HotMesh workflow schemas.
36
+ *
37
+ * Triggers a full schema deployment across all registered entities,
38
+ * updating the Redis execution graph. Safe to call repeatedly.
39
+ *
40
+ * @returns `{ status: 200, data: { ok: true } }`
41
+ */
42
+ export declare function deploy(): Promise<LTApiResult>;
@@ -0,0 +1,95 @@
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.prune = prune;
37
+ exports.deploy = deploy;
38
+ const dbaService = __importStar(require("../services/dba"));
39
+ /**
40
+ * Prune stale HotMesh data from Redis.
41
+ *
42
+ * Selectively removes completed jobs, stream entries, engine/worker
43
+ * streams, and search attributes. Delegates to the HotMesh DBA service.
44
+ *
45
+ * @param input.expire — Redis TTL expression for pruned keys
46
+ * @param input.jobs — prune completed job hashes
47
+ * @param input.streams — prune activity streams
48
+ * @param input.engineStreams — prune engine consumer streams
49
+ * @param input.engineStreamsExpire — TTL for engine stream entries
50
+ * @param input.workerStreams — prune worker consumer streams
51
+ * @param input.workerStreamsExpire — TTL for worker stream entries
52
+ * @param input.attributes — prune FT.SEARCH attributes
53
+ * @param input.entities — limit pruning to these entity types
54
+ * @param input.pruneTransient — include transient keys
55
+ * @param input.keepHmark — preserve hmark keys
56
+ * @returns `{ status: 200, data: <prune result summary> }`
57
+ */
58
+ async function prune(input) {
59
+ try {
60
+ const result = await dbaService.prune({
61
+ expire: input.expire,
62
+ jobs: input.jobs,
63
+ streams: input.streams,
64
+ engineStreams: input.engineStreams,
65
+ engineStreamsExpire: input.engineStreamsExpire,
66
+ workerStreams: input.workerStreams,
67
+ workerStreamsExpire: input.workerStreamsExpire,
68
+ attributes: input.attributes,
69
+ entities: input.entities,
70
+ pruneTransient: input.pruneTransient,
71
+ keepHmark: input.keepHmark,
72
+ });
73
+ return { status: 200, data: result };
74
+ }
75
+ catch (err) {
76
+ return { status: 500, error: err.message };
77
+ }
78
+ }
79
+ /**
80
+ * Deploy (or redeploy) all HotMesh workflow schemas.
81
+ *
82
+ * Triggers a full schema deployment across all registered entities,
83
+ * updating the Redis execution graph. Safe to call repeatedly.
84
+ *
85
+ * @returns `{ status: 200, data: { ok: true } }`
86
+ */
87
+ async function deploy() {
88
+ try {
89
+ await dbaService.deploy();
90
+ return { status: 200, data: { ok: true } };
91
+ }
92
+ catch (err) {
93
+ return { status: 500, error: err.message };
94
+ }
95
+ }
@@ -0,0 +1,271 @@
1
+ import type { LTApiResult, LTApiAuth } from '../types/sdk';
2
+ /**
3
+ * Create a standalone escalation (not tied to a workflow).
4
+ *
5
+ * Useful for manual work items, support tickets, or approval requests
6
+ * that originate outside the durable workflow engine. The caller must
7
+ * hold the target role or be a superadmin.
8
+ *
9
+ * @param input.type — escalation category (e.g. `"support"`, `"approval"`)
10
+ * @param input.subtype — subcategory for finer routing
11
+ * @param input.role — role responsible for resolving this escalation
12
+ * @param input.description — human-readable summary
13
+ * @param input.priority — 1 (critical) through 4 (low), default 2
14
+ * @param input.envelope — serialized context for the resolver
15
+ * @param input.metadata — arbitrary key-value data (e.g. signal_routing)
16
+ * @param input.escalation_payload — serialized payload for the resolver UI
17
+ * @param auth — authenticated user context (must hold target role or be superadmin)
18
+ * @returns `{ status: 201, data: <escalation record> }`
19
+ */
20
+ export declare function createEscalation(input: {
21
+ type: string;
22
+ subtype?: string;
23
+ role: string;
24
+ description?: string;
25
+ priority?: number;
26
+ envelope?: string;
27
+ metadata?: Record<string, any>;
28
+ escalation_payload?: string;
29
+ }, auth: LTApiAuth): Promise<LTApiResult>;
30
+ /**
31
+ * List escalations with optional filters.
32
+ *
33
+ * Results are scoped to the authenticated user's roles unless the user
34
+ * is a superadmin (who sees all roles).
35
+ *
36
+ * @param input.status — filter by `pending`, `resolved`, or `cancelled`
37
+ * @param input.role — filter by assigned role
38
+ * @param input.type — filter by workflow type
39
+ * @param input.subtype — filter by subtype
40
+ * @param input.assigned_to — filter by assigned user ID
41
+ * @param input.priority — filter by priority (1–4)
42
+ * @param input.limit — max results (default: 50)
43
+ * @param input.offset — pagination offset
44
+ * @param input.sort_by — column to sort by (e.g. `created_at`, `priority`)
45
+ * @param input.order — `asc` or `desc`
46
+ * @param auth — authenticated user context (required for role scoping)
47
+ * @returns `{ status: 200, data: { escalations, total } }`
48
+ */
49
+ export declare function listEscalations(input: {
50
+ status?: string;
51
+ role?: string;
52
+ type?: string;
53
+ subtype?: string;
54
+ assigned_to?: string;
55
+ priority?: number;
56
+ limit?: number;
57
+ offset?: number;
58
+ sort_by?: string;
59
+ order?: string;
60
+ }, auth: LTApiAuth): Promise<LTApiResult>;
61
+ /**
62
+ * List escalations available for claim (pending and not actively claimed).
63
+ *
64
+ * Similar to `listEscalations` but excludes escalations with active claims.
65
+ * Scoped to the authenticated user's roles.
66
+ *
67
+ * @param input.role — filter by role
68
+ * @param input.type — filter by workflow type
69
+ * @param input.subtype — filter by subtype
70
+ * @param input.priority — filter by priority (1–4)
71
+ * @param input.limit — max results (default: 50)
72
+ * @param input.offset — pagination offset
73
+ * @param input.sort_by — column to sort by
74
+ * @param input.order — `asc` or `desc`
75
+ * @param auth — authenticated user context
76
+ * @returns `{ status: 200, data: { escalations, total } }`
77
+ */
78
+ export declare function listAvailableEscalations(input: {
79
+ role?: string;
80
+ type?: string;
81
+ subtype?: string;
82
+ priority?: number;
83
+ limit?: number;
84
+ offset?: number;
85
+ sort_by?: string;
86
+ order?: string;
87
+ }, auth: LTApiAuth): Promise<LTApiResult>;
88
+ /**
89
+ * List all distinct escalation type values.
90
+ *
91
+ * @returns `{ status: 200, data: { types: string[] } }`
92
+ */
93
+ export declare function listDistinctTypes(): Promise<LTApiResult>;
94
+ /**
95
+ * Get aggregate escalation statistics scoped to the user's roles.
96
+ *
97
+ * @param input.period — time window (`1h`, `24h`, `7d`, `30d`)
98
+ * @param auth — authenticated user context
99
+ * @returns `{ status: 200, data: { pending, claimed, created, resolved, by_role, by_type } }`
100
+ */
101
+ export declare function getEscalationStats(input: {
102
+ period?: string;
103
+ }, auth: LTApiAuth): Promise<LTApiResult>;
104
+ /**
105
+ * Get a single escalation by ID.
106
+ *
107
+ * Non-superadmin users must hold the escalation's assigned role.
108
+ *
109
+ * @param input.id — escalation UUID
110
+ * @param auth — authenticated user context
111
+ * @returns `{ status: 200, data: <escalation record> }` or 403/404
112
+ */
113
+ export declare function getEscalation(input: {
114
+ id: string;
115
+ }, auth: LTApiAuth): Promise<LTApiResult>;
116
+ /**
117
+ * List all escalations for a given workflow ID.
118
+ *
119
+ * @param input.workflowId — HotMesh workflow ID
120
+ * @returns `{ status: 200, data: { escalations } }`
121
+ */
122
+ export declare function getEscalationsByWorkflowId(input: {
123
+ workflowId: string;
124
+ }): Promise<LTApiResult>;
125
+ /**
126
+ * Route a pending escalation to a different role.
127
+ *
128
+ * The user must be authorized to escalate from the current role to the
129
+ * target role (checked via escalation chain configuration).
130
+ *
131
+ * @param input.id — escalation UUID
132
+ * @param input.targetRole — destination role
133
+ * @param auth — authenticated user context
134
+ * @returns `{ status: 200, data: <updated escalation> }` or 403/404/409
135
+ */
136
+ export declare function escalateToRole(input: {
137
+ id: string;
138
+ targetRole: string;
139
+ }, auth: LTApiAuth): Promise<LTApiResult>;
140
+ /**
141
+ * Claim a pending escalation for the authenticated user.
142
+ *
143
+ * Sets `assigned_to` and `assigned_until` on the escalation (soft lock).
144
+ * Non-superadmin users must hold the escalation's role. Publishes a
145
+ * `escalation.claimed` event.
146
+ *
147
+ * @param input.id — escalation UUID
148
+ * @param input.durationMinutes — claim duration (default: 30)
149
+ * @param auth — authenticated user context
150
+ * @returns `{ status: 200, data: { escalation, isExtension } }` or 403/404/409
151
+ */
152
+ export declare function claimEscalation(input: {
153
+ id: string;
154
+ durationMinutes?: number;
155
+ }, auth: LTApiAuth): Promise<LTApiResult>;
156
+ /**
157
+ * Release a claimed escalation back to the pool.
158
+ *
159
+ * Only the user who holds the claim can release it. Publishes a
160
+ * `escalation.released` event.
161
+ *
162
+ * @param input.id — escalation UUID
163
+ * @param auth — authenticated user context
164
+ * @returns `{ status: 200, data: { escalation } }` or 409
165
+ */
166
+ export declare function releaseEscalation(input: {
167
+ id: string;
168
+ }, auth: LTApiAuth): Promise<LTApiResult>;
169
+ /**
170
+ * Release all escalation claims past their `assigned_until` deadline.
171
+ *
172
+ * Typically called on a maintenance schedule. Returns the count of
173
+ * released claims.
174
+ *
175
+ * @returns `{ status: 200, data: { released: number } }`
176
+ */
177
+ export declare function releaseExpiredClaims(): Promise<LTApiResult>;
178
+ /**
179
+ * Update priority for one or more escalations.
180
+ *
181
+ * @param input.ids — array of escalation UUIDs
182
+ * @param input.priority — new priority (1=critical, 2=high, 3=medium, 4=low)
183
+ * @param auth — authenticated user context (admin or role-holder required)
184
+ * @returns `{ status: 200, data: { updated: number } }`
185
+ */
186
+ export declare function updatePriority(input: {
187
+ ids: string[];
188
+ priority: number;
189
+ }, auth: LTApiAuth): Promise<LTApiResult>;
190
+ /**
191
+ * Claim multiple escalations at once for the authenticated user.
192
+ *
193
+ * @param input.ids — array of escalation UUIDs
194
+ * @param input.durationMinutes — claim duration (default: 30)
195
+ * @param auth — authenticated user context
196
+ * @returns `{ status: 200, data: { claimed, skipped } }`
197
+ */
198
+ export declare function bulkClaim(input: {
199
+ ids: string[];
200
+ durationMinutes?: number;
201
+ }, auth: LTApiAuth): Promise<LTApiResult>;
202
+ /**
203
+ * Assign multiple escalations to a specific user.
204
+ *
205
+ * Non-superadmin callers must verify the target user holds each
206
+ * escalation's role. Publishes claim events for assigned items.
207
+ *
208
+ * @param input.ids — array of escalation UUIDs
209
+ * @param input.targetUserId — user to assign to
210
+ * @param input.durationMinutes — assignment duration (default: 30)
211
+ * @param auth — authenticated user context
212
+ * @returns `{ status: 200, data: { assigned, skipped } }`
213
+ */
214
+ export declare function bulkAssign(input: {
215
+ ids: string[];
216
+ targetUserId: string;
217
+ durationMinutes?: number;
218
+ }, auth: LTApiAuth): Promise<LTApiResult>;
219
+ /**
220
+ * Route multiple escalations to a different role.
221
+ *
222
+ * @param input.ids — array of escalation UUIDs
223
+ * @param input.targetRole — destination role
224
+ * @param auth — authenticated user context
225
+ * @returns `{ status: 200, data: { updated: number } }`
226
+ */
227
+ export declare function bulkEscalate(input: {
228
+ ids: string[];
229
+ targetRole: string;
230
+ }, auth: LTApiAuth): Promise<LTApiResult>;
231
+ /**
232
+ * Trigger AI triage for multiple escalations.
233
+ *
234
+ * Resolves each escalation and starts a triage workflow that uses MCP
235
+ * tools to analyze and potentially auto-resolve the issue.
236
+ *
237
+ * @param input.ids — array of escalation UUIDs
238
+ * @param input.hint — optional natural-language guidance for the triage AI
239
+ * @param auth — authenticated user context
240
+ * @returns `{ status: 200, data: { triaged, workflows } }`
241
+ */
242
+ export declare function bulkTriage(input: {
243
+ ids: string[];
244
+ hint?: string;
245
+ }, auth: LTApiAuth): Promise<LTApiResult>;
246
+ /**
247
+ * Resolve a pending escalation with a human-provided payload.
248
+ *
249
+ * Handles two resolution paths:
250
+ * 1. **Signal-routed** — if the escalation has `signal_routing` metadata,
251
+ * the resolver payload is sent directly to the paused workflow via
252
+ * `handle.signal()`. Supports both Durable and YAML engines.
253
+ * 2. **Re-run** — the original workflow is re-started with the resolver
254
+ * payload injected into `envelope.resolver`. The interceptor detects
255
+ * the re-run and skips to the resolution branch.
256
+ *
257
+ * Password fields in the resolver payload are replaced with ephemeral
258
+ * tokens (15-minute TTL) so plaintext never enters the signal store.
259
+ *
260
+ * Supports optional escalation strategy execution after resolution.
261
+ *
262
+ * @param input.id — escalation UUID
263
+ * @param input.resolverPayload — human decision data
264
+ * @param auth — authenticated user context
265
+ * @returns `{ status: 200, data: { signaled, escalationId, workflowId } }` (signal path)
266
+ * or `{ status: 200, data: { workflowId, resumed, escalationId } }` (re-run path)
267
+ */
268
+ export declare function resolveEscalation(input: {
269
+ id: string;
270
+ resolverPayload: Record<string, any>;
271
+ }, auth: LTApiAuth): Promise<LTApiResult>;