@hotmeshio/long-tail 0.1.7 → 0.1.9

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 (278) hide show
  1. package/README.md +3 -1
  2. package/build/api/auth.d.ts +11 -0
  3. package/build/api/auth.js +11 -0
  4. package/build/api/bot-accounts.d.ts +87 -0
  5. package/build/api/bot-accounts.js +87 -0
  6. package/build/api/controlplane.d.ts +48 -0
  7. package/build/api/controlplane.js +48 -0
  8. package/build/api/dba.d.ts +27 -0
  9. package/build/api/dba.js +27 -0
  10. package/build/api/escalations.d.ts +201 -0
  11. package/build/api/escalations.js +276 -5
  12. package/build/api/exports.d.ts +58 -0
  13. package/build/api/exports.js +58 -0
  14. package/build/api/insight.d.ts +57 -0
  15. package/build/api/insight.js +57 -0
  16. package/build/api/maintenance.d.ts +15 -0
  17. package/build/api/maintenance.js +15 -0
  18. package/build/api/mcp-runs.d.ts +27 -0
  19. package/build/api/mcp-runs.js +27 -0
  20. package/build/api/mcp.d.ts +108 -0
  21. package/build/api/mcp.js +108 -0
  22. package/build/api/namespaces.d.ts +13 -0
  23. package/build/api/namespaces.js +13 -0
  24. package/build/api/roles.d.ts +63 -0
  25. package/build/api/roles.js +63 -5
  26. package/build/api/settings.d.ts +8 -0
  27. package/build/api/settings.js +8 -0
  28. package/build/api/tasks.d.ts +68 -1
  29. package/build/api/tasks.js +92 -0
  30. package/build/api/users.d.ts +71 -0
  31. package/build/api/users.js +71 -5
  32. package/build/api/workflow-sets.d.ts +51 -0
  33. package/build/api/workflow-sets.js +51 -0
  34. package/build/api/workflows.d.ts +110 -0
  35. package/build/api/workflows.js +117 -1
  36. package/build/api/yaml-workflows.d.ts +195 -0
  37. package/build/api/yaml-workflows.js +195 -0
  38. package/build/examples/seed.js +18 -0
  39. package/build/examples/types/envelopes.d.ts +35 -0
  40. package/build/examples/types/index.d.ts +1 -1
  41. package/build/examples/workers.js +10 -0
  42. package/build/examples/workflows/assembly-line/activities.d.ts +28 -0
  43. package/build/examples/workflows/assembly-line/activities.js +53 -0
  44. package/build/examples/workflows/assembly-line/index.d.ts +17 -0
  45. package/build/examples/workflows/assembly-line/index.js +60 -0
  46. package/build/examples/workflows/assembly-line/iterator.d.ts +12 -0
  47. package/build/examples/workflows/assembly-line/iterator.js +54 -0
  48. package/build/examples/workflows/assembly-line/reverter.d.ts +18 -0
  49. package/build/examples/workflows/assembly-line/reverter.js +89 -0
  50. package/build/examples/workflows/assembly-line/types.d.ts +25 -0
  51. package/build/examples/workflows/assembly-line/types.js +8 -0
  52. package/build/examples/workflows/assembly-line/worker.d.ts +13 -0
  53. package/build/examples/workflows/assembly-line/worker.js +81 -0
  54. package/build/examples/workflows/basic-signal/activities.d.ts +17 -0
  55. package/build/examples/workflows/basic-signal/activities.js +18 -0
  56. package/build/examples/workflows/basic-signal/index.d.ts +17 -0
  57. package/build/examples/workflows/basic-signal/index.js +116 -0
  58. package/build/index.d.ts +1 -0
  59. package/build/index.js +4 -1
  60. package/build/lib/db/schemas/002_seed.sql +9 -1
  61. package/build/modules/ltconfig.d.ts +8 -1
  62. package/build/modules/ltconfig.js +12 -2
  63. package/build/routes/escalations/list.js +22 -0
  64. package/build/routes/tasks.js +23 -0
  65. package/build/routes/workflows/invocation.js +16 -10
  66. package/build/sdk/index.d.ts +26 -0
  67. package/build/sdk/index.js +2 -0
  68. package/build/services/interceptor/index.js +9 -3
  69. package/build/services/orchestrator/condition.d.ts +34 -0
  70. package/build/services/orchestrator/condition.js +92 -0
  71. package/build/services/workflow-invocation.d.ts +16 -3
  72. package/build/services/workflow-invocation.js +15 -7
  73. package/build/start/index.d.ts +24 -0
  74. package/build/start/index.js +24 -0
  75. package/build/start/workers.d.ts +6 -8
  76. package/build/start/workers.js +25 -2
  77. package/build/system/mcp-servers/admin/workflows.js +5 -0
  78. package/build/tsconfig.tsbuildinfo +1 -1
  79. package/build/types/envelope.d.ts +7 -0
  80. package/build/types/sdk.d.ts +2 -0
  81. package/build/types/startup.d.ts +29 -2
  82. package/dashboard/dist/assets/{AdminDashboard-DRjkRSjJ.js → AdminDashboard-DUrSBQOl.js} +2 -2
  83. package/dashboard/dist/assets/{AdminDashboard-DRjkRSjJ.js.map → AdminDashboard-DUrSBQOl.js.map} +1 -1
  84. package/dashboard/dist/assets/{AvailableEscalationsPage-CnivX4Tz.js → AvailableEscalationsPage-Dbd1qUK_.js} +2 -2
  85. package/dashboard/dist/assets/{AvailableEscalationsPage-CnivX4Tz.js.map → AvailableEscalationsPage-Dbd1qUK_.js.map} +1 -1
  86. package/dashboard/dist/assets/{BotPicker-DwwaBhTH.js → BotPicker-Cg5iNEkm.js} +2 -2
  87. package/dashboard/dist/assets/{BotPicker-DwwaBhTH.js.map → BotPicker-Cg5iNEkm.js.map} +1 -1
  88. package/dashboard/dist/assets/{CollapsibleSection-DQpaVA0M.js → CollapsibleSection-Kd9UIyeU.js} +2 -2
  89. package/dashboard/dist/assets/{CollapsibleSection-DQpaVA0M.js.map → CollapsibleSection-Kd9UIyeU.js.map} +1 -1
  90. package/dashboard/dist/assets/{ConfirmDeleteModal-B7JoDNvt.js → ConfirmDeleteModal-DZMgmlof.js} +2 -2
  91. package/dashboard/dist/assets/{ConfirmDeleteModal-B7JoDNvt.js.map → ConfirmDeleteModal-DZMgmlof.js.map} +1 -1
  92. package/dashboard/dist/assets/{CopyableId-AqoZayBG.js → CopyableId-cPFTRm8q.js} +2 -2
  93. package/dashboard/dist/assets/{CopyableId-AqoZayBG.js.map → CopyableId-cPFTRm8q.js.map} +1 -1
  94. package/dashboard/dist/assets/{CredentialsPage-qGw1kQzi.js → CredentialsPage-DJablIbs.js} +2 -2
  95. package/dashboard/dist/assets/{CredentialsPage-qGw1kQzi.js.map → CredentialsPage-DJablIbs.js.map} +1 -1
  96. package/dashboard/dist/assets/{CustomDurationPicker-D1HUQcd0.js → CustomDurationPicker-NgIP6YDW.js} +2 -2
  97. package/dashboard/dist/assets/{CustomDurationPicker-D1HUQcd0.js.map → CustomDurationPicker-NgIP6YDW.js.map} +1 -1
  98. package/dashboard/dist/assets/{DataTable-DKvSKoVG.js → DataTable-CTRhTAfT.js} +2 -2
  99. package/dashboard/dist/assets/{DataTable-DKvSKoVG.js.map → DataTable-CTRhTAfT.js.map} +1 -1
  100. package/dashboard/dist/assets/{ElapsedCell-B0yrReGQ.js → ElapsedCell-HcSJ_MMs.js} +2 -2
  101. package/dashboard/dist/assets/{ElapsedCell-B0yrReGQ.js.map → ElapsedCell-HcSJ_MMs.js.map} +1 -1
  102. package/dashboard/dist/assets/{EmptyState-X0fIzYID.js → EmptyState-joNbd4gg.js} +2 -2
  103. package/dashboard/dist/assets/{EmptyState-X0fIzYID.js.map → EmptyState-joNbd4gg.js.map} +1 -1
  104. package/dashboard/dist/assets/{EscalationsOverview-BQAT9W7r.js → EscalationsOverview-DpXDnQux.js} +2 -2
  105. package/dashboard/dist/assets/{EscalationsOverview-BQAT9W7r.js.map → EscalationsOverview-DpXDnQux.js.map} +1 -1
  106. package/dashboard/dist/assets/{EventTable-CX1KNLhZ.js → EventTable-CYem3v8n.js} +2 -2
  107. package/dashboard/dist/assets/{EventTable-CX1KNLhZ.js.map → EventTable-CYem3v8n.js.map} +1 -1
  108. package/dashboard/dist/assets/{FilterBar-DMTvuQy-.js → FilterBar-BiO8SOzc.js} +2 -2
  109. package/dashboard/dist/assets/{FilterBar-DMTvuQy-.js.map → FilterBar-BiO8SOzc.js.map} +1 -1
  110. package/dashboard/dist/assets/{ListToolbar-DTOSxoEy.js → ListToolbar-6yRDh2e9.js} +2 -2
  111. package/dashboard/dist/assets/{ListToolbar-DTOSxoEy.js.map → ListToolbar-6yRDh2e9.js.map} +1 -1
  112. package/dashboard/dist/assets/{McpOverview-BaKTIWrG.js → McpOverview-CUgSxkQe.js} +2 -2
  113. package/dashboard/dist/assets/{McpOverview-BaKTIWrG.js.map → McpOverview-CUgSxkQe.js.map} +1 -1
  114. package/dashboard/dist/assets/{McpQueryDetailPage-CC08T5k8.js → McpQueryDetailPage-BWbinTM_.js} +2 -2
  115. package/dashboard/dist/assets/{McpQueryDetailPage-CC08T5k8.js.map → McpQueryDetailPage-BWbinTM_.js.map} +1 -1
  116. package/dashboard/dist/assets/{McpQueryPage-CVfF9dYg.js → McpQueryPage-lV6kfDG5.js} +2 -2
  117. package/dashboard/dist/assets/{McpQueryPage-CVfF9dYg.js.map → McpQueryPage-lV6kfDG5.js.map} +1 -1
  118. package/dashboard/dist/assets/{McpRunDetailPage-CKs1RWeV.js → McpRunDetailPage-D6gaxH3_.js} +2 -2
  119. package/dashboard/dist/assets/{McpRunDetailPage-CKs1RWeV.js.map → McpRunDetailPage-D6gaxH3_.js.map} +1 -1
  120. package/dashboard/dist/assets/{McpRunsPage-CcPD_tY1.js → McpRunsPage-DKvTklh9.js} +2 -2
  121. package/dashboard/dist/assets/{McpRunsPage-CcPD_tY1.js.map → McpRunsPage-DKvTklh9.js.map} +1 -1
  122. package/dashboard/dist/assets/{Modal-_2AbWxJT.js → Modal-BuTvD0pz.js} +2 -2
  123. package/dashboard/dist/assets/{Modal-_2AbWxJT.js.map → Modal-BuTvD0pz.js.map} +1 -1
  124. package/dashboard/dist/assets/{OperatorDashboard-BGiRaRDr.js → OperatorDashboard-C9SSV96T.js} +2 -2
  125. package/dashboard/dist/assets/{OperatorDashboard-BGiRaRDr.js.map → OperatorDashboard-C9SSV96T.js.map} +1 -1
  126. package/dashboard/dist/assets/{PageHeader-DVr5Qyzm.js → PageHeader-BcTVF9ul.js} +2 -2
  127. package/dashboard/dist/assets/{PageHeader-DVr5Qyzm.js.map → PageHeader-BcTVF9ul.js.map} +1 -1
  128. package/dashboard/dist/assets/{PageHeaderWithStats-D0KRASML.js → PageHeaderWithStats-BI7JG5x6.js} +2 -2
  129. package/dashboard/dist/assets/{PageHeaderWithStats-D0KRASML.js.map → PageHeaderWithStats-BI7JG5x6.js.map} +1 -1
  130. package/dashboard/dist/assets/{PriorityBadge-Bx2559OU.js → PriorityBadge-DqVaOU65.js} +2 -2
  131. package/dashboard/dist/assets/{PriorityBadge-Bx2559OU.js.map → PriorityBadge-DqVaOU65.js.map} +1 -1
  132. package/dashboard/dist/assets/{ProcessDetailPage-69I--sry.js → ProcessDetailPage-hFMhf9qa.js} +2 -2
  133. package/dashboard/dist/assets/{ProcessDetailPage-69I--sry.js.map → ProcessDetailPage-hFMhf9qa.js.map} +1 -1
  134. package/dashboard/dist/assets/{ProcessesListPage-BDpUbua2.js → ProcessesListPage-ByVoBCQ3.js} +2 -2
  135. package/dashboard/dist/assets/{ProcessesListPage-BDpUbua2.js.map → ProcessesListPage-ByVoBCQ3.js.map} +1 -1
  136. package/dashboard/dist/assets/{RolePill-CcAqEaSt.js → RolePill-D9ZIkYiu.js} +2 -2
  137. package/dashboard/dist/assets/{RolePill-CcAqEaSt.js.map → RolePill-D9ZIkYiu.js.map} +1 -1
  138. package/dashboard/dist/assets/{RolesPage-Cl23Hjet.js → RolesPage-SMedMuqa.js} +2 -2
  139. package/dashboard/dist/assets/{RolesPage-Cl23Hjet.js.map → RolesPage-SMedMuqa.js.map} +1 -1
  140. package/dashboard/dist/assets/{RowActions-B4mqIt3Z.js → RowActions-yDhwwDbU.js} +2 -2
  141. package/dashboard/dist/assets/{RowActions-B4mqIt3Z.js.map → RowActions-yDhwwDbU.js.map} +1 -1
  142. package/dashboard/dist/assets/{StatCard-Cz_2OjAZ.js → StatCard-BrBnQFxh.js} +2 -2
  143. package/dashboard/dist/assets/{StatCard-Cz_2OjAZ.js.map → StatCard-BrBnQFxh.js.map} +1 -1
  144. package/dashboard/dist/assets/{StatusBadge-Wi2FJZsn.js → StatusBadge-xgb-lZku.js} +2 -2
  145. package/dashboard/dist/assets/{StatusBadge-Wi2FJZsn.js.map → StatusBadge-xgb-lZku.js.map} +1 -1
  146. package/dashboard/dist/assets/{StepIndicator-PW5NRDMb.js → StepIndicator-B9ps2SvM.js} +2 -2
  147. package/dashboard/dist/assets/{StepIndicator-PW5NRDMb.js.map → StepIndicator-B9ps2SvM.js.map} +1 -1
  148. package/dashboard/dist/assets/{StickyPagination-Bl2Uzz65.js → StickyPagination-DTIjBKN3.js} +2 -2
  149. package/dashboard/dist/assets/{StickyPagination-Bl2Uzz65.js.map → StickyPagination-DTIjBKN3.js.map} +1 -1
  150. package/dashboard/dist/assets/{SwimlaneTimeline-CUPqMd0z.js → SwimlaneTimeline-RK4Yu66z.js} +2 -2
  151. package/dashboard/dist/assets/{SwimlaneTimeline-CUPqMd0z.js.map → SwimlaneTimeline-RK4Yu66z.js.map} +1 -1
  152. package/dashboard/dist/assets/{TagInput-BLtf86Ly.js → TagInput-CdNUuqk4.js} +2 -2
  153. package/dashboard/dist/assets/{TagInput-BLtf86Ly.js.map → TagInput-CdNUuqk4.js.map} +1 -1
  154. package/dashboard/dist/assets/{TaskDetailPage-BXJFX74D.js → TaskDetailPage-C-nzaNea.js} +2 -2
  155. package/dashboard/dist/assets/{TaskDetailPage-BXJFX74D.js.map → TaskDetailPage-C-nzaNea.js.map} +1 -1
  156. package/dashboard/dist/assets/{TaskQueuePill-CWYj3xKe.js → TaskQueuePill-Lvr2-NzS.js} +2 -2
  157. package/dashboard/dist/assets/{TaskQueuePill-CWYj3xKe.js.map → TaskQueuePill-Lvr2-NzS.js.map} +1 -1
  158. package/dashboard/dist/assets/{TasksListPage-C3cX94Mw.js → TasksListPage-DSUmD84y.js} +2 -2
  159. package/dashboard/dist/assets/{TasksListPage-C3cX94Mw.js.map → TasksListPage-DSUmD84y.js.map} +1 -1
  160. package/dashboard/dist/assets/{TimeAgo-B_5yDDHV.js → TimeAgo-BZdLdrIh.js} +2 -2
  161. package/dashboard/dist/assets/{TimeAgo-B_5yDDHV.js.map → TimeAgo-BZdLdrIh.js.map} +1 -1
  162. package/dashboard/dist/assets/{TimestampCell-DRX724uU.js → TimestampCell-QX_0i5FK.js} +2 -2
  163. package/dashboard/dist/assets/{TimestampCell-DRX724uU.js.map → TimestampCell-QX_0i5FK.js.map} +1 -1
  164. package/dashboard/dist/assets/{UserName-Ca8FA469.js → UserName-DyZMXcBm.js} +2 -2
  165. package/dashboard/dist/assets/{UserName-Ca8FA469.js.map → UserName-DyZMXcBm.js.map} +1 -1
  166. package/dashboard/dist/assets/{WorkflowExecutionPage-BBYWEV2P.js → WorkflowExecutionPage-DjVxfZaF.js} +2 -2
  167. package/dashboard/dist/assets/{WorkflowExecutionPage-BBYWEV2P.js.map → WorkflowExecutionPage-DjVxfZaF.js.map} +1 -1
  168. package/dashboard/dist/assets/WorkflowPill-CZqGslD6.js +2 -0
  169. package/dashboard/dist/assets/WorkflowPill-CZqGslD6.js.map +1 -0
  170. package/dashboard/dist/assets/WorkflowsDashboard-DZjuiFZ0.js +2 -0
  171. package/dashboard/dist/assets/WorkflowsDashboard-DZjuiFZ0.js.map +1 -0
  172. package/dashboard/dist/assets/{WorkflowsOverview-03IRrDLg.js → WorkflowsOverview-CLnLRpOu.js} +2 -2
  173. package/dashboard/dist/assets/{WorkflowsOverview-03IRrDLg.js.map → WorkflowsOverview-CLnLRpOu.js.map} +1 -1
  174. package/dashboard/dist/assets/{YamlWorkflowsPage-DC2cLxVi.js → YamlWorkflowsPage-VjdhnLmO.js} +2 -2
  175. package/dashboard/dist/assets/{YamlWorkflowsPage-DC2cLxVi.js.map → YamlWorkflowsPage-VjdhnLmO.js.map} +1 -1
  176. package/dashboard/dist/assets/{bots-DZEXcgiJ.js → bots-DIM6lBoY.js} +2 -2
  177. package/dashboard/dist/assets/{bots-DZEXcgiJ.js.map → bots-DIM6lBoY.js.map} +1 -1
  178. package/dashboard/dist/assets/{escalation-Cw48lNaF.js → escalation-JOTuOqjq.js} +2 -2
  179. package/dashboard/dist/assets/{escalation-Cw48lNaF.js.map → escalation-JOTuOqjq.js.map} +1 -1
  180. package/dashboard/dist/assets/{escalation-columns-NINpo3qf.js → escalation-columns-Cyg58nkg.js} +2 -2
  181. package/dashboard/dist/assets/{escalation-columns-NINpo3qf.js.map → escalation-columns-Cyg58nkg.js.map} +1 -1
  182. package/dashboard/dist/assets/{helpers-fk_qr729.js → helpers-B1BDxBZd.js} +2 -2
  183. package/dashboard/dist/assets/{helpers-fk_qr729.js.map → helpers-B1BDxBZd.js.map} +1 -1
  184. package/dashboard/dist/assets/{helpers-Cuu3xKfr.js → helpers-BCix9c_m.js} +2 -2
  185. package/dashboard/dist/assets/{helpers-Cuu3xKfr.js.map → helpers-BCix9c_m.js.map} +1 -1
  186. package/dashboard/dist/assets/{index-Dj-z-x8M.js → index-BUK3qR-1.js} +2 -2
  187. package/dashboard/dist/assets/{index-Dj-z-x8M.js.map → index-BUK3qR-1.js.map} +1 -1
  188. package/dashboard/dist/assets/{index-BwN3KP_L.js → index-BYZX9tOb.js} +8 -8
  189. package/dashboard/dist/assets/index-BYZX9tOb.js.map +1 -0
  190. package/dashboard/dist/assets/{index-BIG3KooI.js → index-BcR6PfpY.js} +2 -2
  191. package/dashboard/dist/assets/{index-BIG3KooI.js.map → index-BcR6PfpY.js.map} +1 -1
  192. package/dashboard/dist/assets/index-BizfauqT.js +6 -0
  193. package/dashboard/dist/assets/index-BizfauqT.js.map +1 -0
  194. package/dashboard/dist/assets/{index-aRvL-dXp.js → index-Cf60K3x9.js} +2 -2
  195. package/dashboard/dist/assets/{index-aRvL-dXp.js.map → index-Cf60K3x9.js.map} +1 -1
  196. package/dashboard/dist/assets/{index-b03HlbnH.js → index-Cg5nfiYX.js} +2 -2
  197. package/dashboard/dist/assets/{index-b03HlbnH.js.map → index-Cg5nfiYX.js.map} +1 -1
  198. package/dashboard/dist/assets/index-D1wVX50Z.js +15 -0
  199. package/dashboard/dist/assets/index-D1wVX50Z.js.map +1 -0
  200. package/dashboard/dist/assets/{index-DwRytW9O.js → index-DDYFpi4l.js} +4 -4
  201. package/dashboard/dist/assets/index-DDYFpi4l.js.map +1 -0
  202. package/dashboard/dist/assets/{index-B98ipWxE.js → index-Di12t56M.js} +2 -2
  203. package/dashboard/dist/assets/{index-B98ipWxE.js.map → index-Di12t56M.js.map} +1 -1
  204. package/dashboard/dist/assets/{index-CORHB0WC.js → index-Ds0JoXS2.js} +2 -2
  205. package/dashboard/dist/assets/{index-CORHB0WC.js.map → index-Ds0JoXS2.js.map} +1 -1
  206. package/dashboard/dist/assets/{mcp-BZoFryNc.js → mcp-B_xbczAt.js} +2 -2
  207. package/dashboard/dist/assets/{mcp-BZoFryNc.js.map → mcp-B_xbczAt.js.map} +1 -1
  208. package/dashboard/dist/assets/{mcp-query-wiw1kwm8.js → mcp-query-B8-P_QoG.js} +2 -2
  209. package/dashboard/dist/assets/{mcp-query-wiw1kwm8.js.map → mcp-query-B8-P_QoG.js.map} +1 -1
  210. package/dashboard/dist/assets/{mcp-runs-BaEKnf5v.js → mcp-runs-CWeZinoF.js} +2 -2
  211. package/dashboard/dist/assets/{mcp-runs-BaEKnf5v.js.map → mcp-runs-CWeZinoF.js.map} +1 -1
  212. package/dashboard/dist/assets/{namespaces-BwnZI4_A.js → namespaces-C3WtdO_9.js} +2 -2
  213. package/dashboard/dist/assets/{namespaces-BwnZI4_A.js.map → namespaces-C3WtdO_9.js.map} +1 -1
  214. package/dashboard/dist/assets/{roles-Bgn1K8zU.js → roles-BDAsPpZG.js} +2 -2
  215. package/dashboard/dist/assets/{roles-Bgn1K8zU.js.map → roles-BDAsPpZG.js.map} +1 -1
  216. package/dashboard/dist/assets/{settings-CizYiutL.js → settings-Ife_UwAp.js} +2 -2
  217. package/dashboard/dist/assets/{settings-CizYiutL.js.map → settings-Ife_UwAp.js.map} +1 -1
  218. package/dashboard/dist/assets/{tasks-Bmte_hc4.js → tasks-BquNDHDI.js} +2 -2
  219. package/dashboard/dist/assets/{tasks-Bmte_hc4.js.map → tasks-BquNDHDI.js.map} +1 -1
  220. package/dashboard/dist/assets/{useEventHooks-CUCxpiI2.js → useEventHooks-anv_B2Yy.js} +2 -2
  221. package/dashboard/dist/assets/{useEventHooks-CUCxpiI2.js.map → useEventHooks-anv_B2Yy.js.map} +1 -1
  222. package/dashboard/dist/assets/{useYamlActivityEvents-Cum02Ej9.js → useYamlActivityEvents-DN-PTgVx.js} +2 -2
  223. package/dashboard/dist/assets/{useYamlActivityEvents-Cum02Ej9.js.map → useYamlActivityEvents-DN-PTgVx.js.map} +1 -1
  224. package/dashboard/dist/assets/{users-NSDgTt-z.js → users-CFcxB4v6.js} +2 -2
  225. package/dashboard/dist/assets/{users-NSDgTt-z.js.map → users-CFcxB4v6.js.map} +1 -1
  226. package/dashboard/dist/assets/{vendor-icons-D1DdudfH.js → vendor-icons-T4r2DSPD.js} +2 -2
  227. package/dashboard/dist/assets/{vendor-icons-D1DdudfH.js.map → vendor-icons-T4r2DSPD.js.map} +1 -1
  228. package/dashboard/dist/assets/{workflows-k0XRdGXx.js → workflows-CeRci9z3.js} +2 -2
  229. package/dashboard/dist/assets/{workflows-k0XRdGXx.js.map → workflows-CeRci9z3.js.map} +1 -1
  230. package/dashboard/dist/assets/{yaml-workflows-DAre8I78.js → yaml-workflows-DLwd2BOX.js} +2 -2
  231. package/dashboard/dist/assets/{yaml-workflows-DAre8I78.js.map → yaml-workflows-DLwd2BOX.js.map} +1 -1
  232. package/dashboard/dist/index.html +2 -2
  233. package/docs/api/{escalations.md → http/escalations.md} +99 -0
  234. package/docs/api/{tasks.md → http/tasks.md} +47 -0
  235. package/docs/api/sdk/auth.md +27 -0
  236. package/docs/api/sdk/bot-accounts.md +243 -0
  237. package/docs/api/sdk/controlplane.md +103 -0
  238. package/docs/api/sdk/dba.md +52 -0
  239. package/docs/api/sdk/escalations.md +511 -0
  240. package/docs/api/sdk/events.md +68 -0
  241. package/docs/api/sdk/exports.md +124 -0
  242. package/docs/api/sdk/insight.md +112 -0
  243. package/docs/api/sdk/maintenance.md +54 -0
  244. package/docs/api/sdk/mcp-runs.md +71 -0
  245. package/docs/api/sdk/mcp.md +250 -0
  246. package/docs/api/sdk/namespaces.md +43 -0
  247. package/docs/api/sdk/roles.md +183 -0
  248. package/docs/api/sdk/settings.md +24 -0
  249. package/docs/api/sdk/tasks.md +159 -0
  250. package/docs/api/sdk/users.md +196 -0
  251. package/docs/api/sdk/workflow-sets.md +135 -0
  252. package/docs/api/sdk/workflows.md +271 -0
  253. package/docs/api/sdk/yaml-workflows.md +408 -0
  254. package/package.json +1 -1
  255. package/dashboard/dist/assets/WorkflowPill-BXifAuLi.js +0 -2
  256. package/dashboard/dist/assets/WorkflowPill-BXifAuLi.js.map +0 -1
  257. package/dashboard/dist/assets/WorkflowsDashboard-Drl3juz9.js +0 -2
  258. package/dashboard/dist/assets/WorkflowsDashboard-Drl3juz9.js.map +0 -1
  259. package/dashboard/dist/assets/index-BwN3KP_L.js.map +0 -1
  260. package/dashboard/dist/assets/index-Bxe8h1x4.js +0 -17
  261. package/dashboard/dist/assets/index-Bxe8h1x4.js.map +0 -1
  262. package/dashboard/dist/assets/index-CNI7k7oB.js +0 -6
  263. package/dashboard/dist/assets/index-CNI7k7oB.js.map +0 -1
  264. package/dashboard/dist/assets/index-DwRytW9O.js.map +0 -1
  265. package/docs/epic-integration.md +0 -224
  266. package/docs/workflow-builder.md +0 -371
  267. /package/docs/api/{dba.md → http/dba.md} +0 -0
  268. /package/docs/api/{exports.md → http/exports.md} +0 -0
  269. /package/docs/api/{maintenance.md → http/maintenance.md} +0 -0
  270. /package/docs/api/{mcp-runs.md → http/mcp-runs.md} +0 -0
  271. /package/docs/api/{mcp-servers.md → http/mcp-servers.md} +0 -0
  272. /package/docs/api/{namespaces.md → http/namespaces.md} +0 -0
  273. /package/docs/api/{roles.md → http/roles.md} +0 -0
  274. /package/docs/api/{service-accounts.md → http/service-accounts.md} +0 -0
  275. /package/docs/api/{settings.md → http/settings.md} +0 -0
  276. /package/docs/api/{users.md → http/users.md} +0 -0
  277. /package/docs/api/{workflows.md → http/workflows.md} +0 -0
  278. /package/docs/api/{yaml-workflows.md → http/yaml-workflows.md} +0 -0
package/build/api/mcp.js CHANGED
@@ -46,6 +46,17 @@ exports.listMcpServerTools = listMcpServerTools;
46
46
  exports.callMcpTool = callMcpTool;
47
47
  const mcpDbService = __importStar(require("../services/mcp/db"));
48
48
  const mcp_1 = require("../services/mcp");
49
+ /**
50
+ * List registered MCP servers with optional filtering and pagination.
51
+ *
52
+ * @param input.status — filter by server status (e.g. 'active', 'inactive')
53
+ * @param input.auto_connect — filter by auto-connect setting
54
+ * @param input.search — free-text search across server names and descriptions
55
+ * @param input.tags — filter to servers matching any of these tags
56
+ * @param input.limit — maximum number of results to return
57
+ * @param input.offset — pagination offset
58
+ * @returns `{ status: 200, data: { ... } }` paginated list of MCP server records
59
+ */
49
60
  async function listMcpServers(input) {
50
61
  try {
51
62
  const result = await mcpDbService.listMcpServers(input);
@@ -55,6 +66,22 @@ async function listMcpServers(input) {
55
66
  return { status: 500, error: err.message };
56
67
  }
57
68
  }
69
+ /**
70
+ * Register a new MCP server.
71
+ *
72
+ * Returns 409 if a server with the same name already exists.
73
+ *
74
+ * @param input.name — unique display name for the server (required)
75
+ * @param input.description — optional human-readable description
76
+ * @param input.transport_type — transport protocol, e.g. 'sse', 'stdio' (required)
77
+ * @param input.transport_config — transport-specific connection settings (required)
78
+ * @param input.auto_connect — whether to connect automatically on startup
79
+ * @param input.metadata — arbitrary key-value metadata
80
+ * @param input.tags — tags for categorization and filtering
81
+ * @param input.compile_hints — optional hints used during tool compilation
82
+ * @param input.credential_providers — OAuth/credential provider identifiers required by this server
83
+ * @returns `{ status: 201, data: { ... } }` the created MCP server record
84
+ */
58
85
  async function createMcpServer(input) {
59
86
  try {
60
87
  if (!input.name || !input.transport_type || !input.transport_config) {
@@ -70,6 +97,17 @@ async function createMcpServer(input) {
70
97
  return { status: 500, error: err.message };
71
98
  }
72
99
  }
100
+ /**
101
+ * Test connectivity to an MCP server without persisting it.
102
+ *
103
+ * Attempts to establish a connection using the provided transport
104
+ * configuration and returns the result. On failure, returns a
105
+ * successful (200) response with `success: false` and the error message.
106
+ *
107
+ * @param input.transport_type — transport protocol to test (required)
108
+ * @param input.transport_config — transport-specific connection settings (required)
109
+ * @returns `{ status: 200, data: { success, error?, tools } }` connection test result
110
+ */
73
111
  async function testConnection(input) {
74
112
  try {
75
113
  if (!input.transport_type || !input.transport_config) {
@@ -83,6 +121,12 @@ async function testConnection(input) {
83
121
  return { status: 200, data: { success: false, error: err.message, tools: [] } };
84
122
  }
85
123
  }
124
+ /**
125
+ * Retrieve a single MCP server by ID.
126
+ *
127
+ * @param input.id — the MCP server identifier
128
+ * @returns `{ status: 200, data: { ... } }` the MCP server record, or 404 if not found
129
+ */
86
130
  async function getMcpServer(input) {
87
131
  try {
88
132
  const server = await mcpDbService.getMcpServer(input.id);
@@ -95,6 +139,15 @@ async function getMcpServer(input) {
95
139
  return { status: 500, error: err.message };
96
140
  }
97
141
  }
142
+ /**
143
+ * Update fields on an existing MCP server.
144
+ *
145
+ * Accepts any subset of mutable server fields alongside the required ID.
146
+ *
147
+ * @param input.id — the MCP server identifier (required)
148
+ * @param input.[key] — any mutable server field to update (name, description, transport_config, etc.)
149
+ * @returns `{ status: 200, data: { ... } }` the updated server record, or 404 if not found
150
+ */
98
151
  async function updateMcpServer(input) {
99
152
  try {
100
153
  const { id, ...fields } = input;
@@ -108,6 +161,12 @@ async function updateMcpServer(input) {
108
161
  return { status: 500, error: err.message };
109
162
  }
110
163
  }
164
+ /**
165
+ * Delete an MCP server by ID.
166
+ *
167
+ * @param input.id — the MCP server identifier
168
+ * @returns `{ status: 200, data: { deleted: true } }` on success, or 404 if not found
169
+ */
111
170
  async function deleteMcpServer(input) {
112
171
  try {
113
172
  const deleted = await mcpDbService.deleteMcpServer(input.id);
@@ -120,6 +179,14 @@ async function deleteMcpServer(input) {
120
179
  return { status: 500, error: err.message };
121
180
  }
122
181
  }
182
+ /**
183
+ * Establish a live connection to a registered MCP server.
184
+ *
185
+ * Requires the MCP adapter to be registered in the registry.
186
+ *
187
+ * @param input.id — the MCP server identifier to connect
188
+ * @returns `{ status: 200, data: { connected, serverId } }` confirmation of the connection
189
+ */
123
190
  async function connectMcpServer(input) {
124
191
  try {
125
192
  const adapter = mcp_1.mcpRegistry.current;
@@ -133,6 +200,14 @@ async function connectMcpServer(input) {
133
200
  return { status: 500, error: err.message };
134
201
  }
135
202
  }
203
+ /**
204
+ * Disconnect a live MCP server connection.
205
+ *
206
+ * Requires the MCP adapter to be registered in the registry.
207
+ *
208
+ * @param input.id — the MCP server identifier to disconnect
209
+ * @returns `{ status: 200, data: { disconnected, serverId } }` confirmation of the disconnection
210
+ */
136
211
  async function disconnectMcpServer(input) {
137
212
  try {
138
213
  const adapter = mcp_1.mcpRegistry.current;
@@ -146,6 +221,16 @@ async function disconnectMcpServer(input) {
146
221
  return { status: 500, error: err.message };
147
222
  }
148
223
  }
224
+ /**
225
+ * Check which credential providers are registered vs missing for an MCP server.
226
+ *
227
+ * Resolves each credential provider required by the server against the
228
+ * authenticated user's stored credentials.
229
+ *
230
+ * @param input.id — the MCP server identifier
231
+ * @param auth — authenticated user context used to resolve credentials
232
+ * @returns `{ status: 200, data: { required, registered, missing } }` credential status arrays
233
+ */
149
234
  async function getCredentialStatus(input, auth) {
150
235
  try {
151
236
  const server = await mcpDbService.getMcpServer(input.id);
@@ -174,6 +259,14 @@ async function getCredentialStatus(input, auth) {
174
259
  return { status: 500, error: err.message };
175
260
  }
176
261
  }
262
+ /**
263
+ * List all tools exposed by a connected MCP server.
264
+ *
265
+ * Requires the MCP adapter to be registered and the server to be connected.
266
+ *
267
+ * @param input.id — the MCP server identifier
268
+ * @returns `{ status: 200, data: { tools } }` array of tool descriptors
269
+ */
177
270
  async function listMcpServerTools(input) {
178
271
  try {
179
272
  const adapter = mcp_1.mcpRegistry.current;
@@ -187,6 +280,21 @@ async function listMcpServerTools(input) {
187
280
  return { status: 500, error: err.message };
188
281
  }
189
282
  }
283
+ /**
284
+ * Invoke a specific tool on a connected MCP server.
285
+ *
286
+ * Passes the tool arguments and an optional auth context (derived from
287
+ * `execute_as` or the authenticated user) to the MCP adapter. Returns
288
+ * 422 with `missing_credential` if the tool requires a credential the
289
+ * user has not registered.
290
+ *
291
+ * @param input.id — the MCP server identifier
292
+ * @param input.toolName — name of the tool to invoke
293
+ * @param input.arguments — key-value arguments to pass to the tool
294
+ * @param input.execute_as — optional user ID to impersonate for the tool call
295
+ * @param auth — authenticated user context
296
+ * @returns `{ status: 200, data: { result } }` the tool execution result
297
+ */
190
298
  async function callMcpTool(input, auth) {
191
299
  try {
192
300
  const adapter = mcp_1.mcpRegistry.current;
@@ -1,5 +1,18 @@
1
1
  import type { LTApiResult } from '../types/sdk';
2
+ /**
3
+ * List all registered namespaces.
4
+ *
5
+ * @returns `{ status: 200, data: { namespaces: LTNamespace[] } }`
6
+ */
2
7
  export declare function listNamespaces(): Promise<LTApiResult>;
8
+ /**
9
+ * Register a new namespace.
10
+ *
11
+ * @param input.name — unique namespace identifier
12
+ * @param input.description — human-readable description
13
+ * @param input.metadata — arbitrary key-value metadata
14
+ * @returns `{ status: 200, data: <namespace record> }`
15
+ */
3
16
  export declare function registerNamespace(input: {
4
17
  name: string;
5
18
  description?: string;
@@ -36,6 +36,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.listNamespaces = listNamespaces;
37
37
  exports.registerNamespace = registerNamespace;
38
38
  const namespaceService = __importStar(require("../services/namespace"));
39
+ /**
40
+ * List all registered namespaces.
41
+ *
42
+ * @returns `{ status: 200, data: { namespaces: LTNamespace[] } }`
43
+ */
39
44
  async function listNamespaces() {
40
45
  try {
41
46
  const namespaces = await namespaceService.listNamespaces();
@@ -45,6 +50,14 @@ async function listNamespaces() {
45
50
  return { status: 500, error: err.message };
46
51
  }
47
52
  }
53
+ /**
54
+ * Register a new namespace.
55
+ *
56
+ * @param input.name — unique namespace identifier
57
+ * @param input.description — human-readable description
58
+ * @param input.metadata — arbitrary key-value metadata
59
+ * @returns `{ status: 200, data: <namespace record> }`
60
+ */
48
61
  async function registerNamespace(input) {
49
62
  try {
50
63
  const { name, description, metadata } = input;
@@ -1,25 +1,88 @@
1
1
  import type { LTApiResult } from '../types/sdk';
2
+ /**
3
+ * List all distinct role names in the system.
4
+ *
5
+ * @returns `{ status: 200, data: { roles: string[] } }` on success
6
+ */
2
7
  export declare function listRoles(): Promise<LTApiResult>;
8
+ /**
9
+ * List all roles with their full details (member counts, escalation chains, etc.).
10
+ *
11
+ * @returns `{ status: 200, data: { roles: RoleDetail[] } }` on success
12
+ */
3
13
  export declare function listRolesWithDetails(): Promise<LTApiResult>;
14
+ /**
15
+ * Create a new role. Requires admin privileges.
16
+ *
17
+ * The role name is trimmed, lowercased, and validated against the pattern
18
+ * `^[a-z][a-z0-9_-]*$` (must start with a letter, then lowercase alphanumerics,
19
+ * hyphens, or underscores).
20
+ *
21
+ * @param input.role — the role name to create
22
+ * @returns `{ status: 201, data: { role: string } }` on success
23
+ */
4
24
  export declare function createRole(input: {
5
25
  role: string;
6
26
  }): Promise<LTApiResult>;
27
+ /**
28
+ * Retrieve all escalation chains across all roles.
29
+ *
30
+ * @returns `{ status: 200, data: { chains: EscalationChain[] } }` on success
31
+ */
7
32
  export declare function getEscalationChains(): Promise<LTApiResult>;
33
+ /**
34
+ * Add an escalation chain link from one role to another. Requires admin privileges.
35
+ *
36
+ * @param input.source_role — the role that escalates from
37
+ * @param input.target_role — the role that receives the escalation
38
+ * @returns `{ status: 201, data: { source_role, target_role } }` on success
39
+ */
8
40
  export declare function addEscalationChain(input: {
9
41
  source_role: string;
10
42
  target_role: string;
11
43
  }): Promise<LTApiResult>;
44
+ /**
45
+ * Remove an escalation chain link between two roles. Requires admin privileges.
46
+ *
47
+ * @param input.source_role — the role that escalates from
48
+ * @param input.target_role — the role that receives the escalation
49
+ * @returns `{ status: 200, data: { removed: true } }` on success, or `{ status: 404 }` if not found
50
+ */
12
51
  export declare function removeEscalationChain(input: {
13
52
  source_role: string;
14
53
  target_role: string;
15
54
  }): Promise<LTApiResult>;
55
+ /**
56
+ * Get all escalation target roles for a given source role.
57
+ *
58
+ * @param input.role — the source role to look up escalation targets for
59
+ * @returns `{ status: 200, data: { targets: string[] } }` on success
60
+ */
16
61
  export declare function getEscalationTargets(input: {
17
62
  role: string;
18
63
  }): Promise<LTApiResult>;
64
+ /**
65
+ * Replace all escalation targets for a role with a new set. Requires admin privileges.
66
+ *
67
+ * Removes all existing escalation links from the source role and creates new
68
+ * ones for each target in the provided array.
69
+ *
70
+ * @param input.role — the source role whose targets are being replaced
71
+ * @param input.targets — array of target role names to set as the new escalation targets
72
+ * @returns `{ status: 200, data: { role, targets } }` on success
73
+ */
19
74
  export declare function replaceEscalationTargets(input: {
20
75
  role: string;
21
76
  targets: string[];
22
77
  }): Promise<LTApiResult>;
78
+ /**
79
+ * Delete a role from the system. Requires admin privileges.
80
+ *
81
+ * Returns 409 if the role cannot be deleted (e.g., still assigned to users).
82
+ *
83
+ * @param input.role — the role name to delete
84
+ * @returns `{ status: 200, data: { deleted: true } }` on success, or `{ status: 409 }` if deletion blocked
85
+ */
23
86
  export declare function deleteRole(input: {
24
87
  role: string;
25
88
  }): Promise<LTApiResult>;
@@ -43,6 +43,11 @@ exports.getEscalationTargets = getEscalationTargets;
43
43
  exports.replaceEscalationTargets = replaceEscalationTargets;
44
44
  exports.deleteRole = deleteRole;
45
45
  const roleService = __importStar(require("../services/role"));
46
+ /**
47
+ * List all distinct role names in the system.
48
+ *
49
+ * @returns `{ status: 200, data: { roles: string[] } }` on success
50
+ */
46
51
  async function listRoles() {
47
52
  try {
48
53
  const roles = await roleService.listDistinctRoles();
@@ -52,6 +57,11 @@ async function listRoles() {
52
57
  return { status: 500, error: err.message };
53
58
  }
54
59
  }
60
+ /**
61
+ * List all roles with their full details (member counts, escalation chains, etc.).
62
+ *
63
+ * @returns `{ status: 200, data: { roles: RoleDetail[] } }` on success
64
+ */
55
65
  async function listRolesWithDetails() {
56
66
  try {
57
67
  const roles = await roleService.listRolesWithDetails();
@@ -61,7 +71,16 @@ async function listRolesWithDetails() {
61
71
  return { status: 500, error: err.message };
62
72
  }
63
73
  }
64
- // Admin-required
74
+ /**
75
+ * Create a new role. Requires admin privileges.
76
+ *
77
+ * The role name is trimmed, lowercased, and validated against the pattern
78
+ * `^[a-z][a-z0-9_-]*$` (must start with a letter, then lowercase alphanumerics,
79
+ * hyphens, or underscores).
80
+ *
81
+ * @param input.role — the role name to create
82
+ * @returns `{ status: 201, data: { role: string } }` on success
83
+ */
65
84
  async function createRole(input) {
66
85
  try {
67
86
  if (!input.role || typeof input.role !== 'string' || !input.role.trim()) {
@@ -81,6 +100,11 @@ async function createRole(input) {
81
100
  return { status: 500, error: err.message };
82
101
  }
83
102
  }
103
+ /**
104
+ * Retrieve all escalation chains across all roles.
105
+ *
106
+ * @returns `{ status: 200, data: { chains: EscalationChain[] } }` on success
107
+ */
84
108
  async function getEscalationChains() {
85
109
  try {
86
110
  const chains = await roleService.getAllEscalationChains();
@@ -90,7 +114,13 @@ async function getEscalationChains() {
90
114
  return { status: 500, error: err.message };
91
115
  }
92
116
  }
93
- // Admin-required
117
+ /**
118
+ * Add an escalation chain link from one role to another. Requires admin privileges.
119
+ *
120
+ * @param input.source_role — the role that escalates from
121
+ * @param input.target_role — the role that receives the escalation
122
+ * @returns `{ status: 201, data: { source_role, target_role } }` on success
123
+ */
94
124
  async function addEscalationChain(input) {
95
125
  try {
96
126
  if (!input.source_role || !input.target_role) {
@@ -106,7 +136,13 @@ async function addEscalationChain(input) {
106
136
  return { status: 500, error: err.message };
107
137
  }
108
138
  }
109
- // Admin-required
139
+ /**
140
+ * Remove an escalation chain link between two roles. Requires admin privileges.
141
+ *
142
+ * @param input.source_role — the role that escalates from
143
+ * @param input.target_role — the role that receives the escalation
144
+ * @returns `{ status: 200, data: { removed: true } }` on success, or `{ status: 404 }` if not found
145
+ */
110
146
  async function removeEscalationChain(input) {
111
147
  try {
112
148
  if (!input.source_role || !input.target_role) {
@@ -122,6 +158,12 @@ async function removeEscalationChain(input) {
122
158
  return { status: 500, error: err.message };
123
159
  }
124
160
  }
161
+ /**
162
+ * Get all escalation target roles for a given source role.
163
+ *
164
+ * @param input.role — the source role to look up escalation targets for
165
+ * @returns `{ status: 200, data: { targets: string[] } }` on success
166
+ */
125
167
  async function getEscalationTargets(input) {
126
168
  try {
127
169
  const targets = await roleService.getEscalationTargets(input.role);
@@ -131,7 +173,16 @@ async function getEscalationTargets(input) {
131
173
  return { status: 500, error: err.message };
132
174
  }
133
175
  }
134
- // Admin-required
176
+ /**
177
+ * Replace all escalation targets for a role with a new set. Requires admin privileges.
178
+ *
179
+ * Removes all existing escalation links from the source role and creates new
180
+ * ones for each target in the provided array.
181
+ *
182
+ * @param input.role — the source role whose targets are being replaced
183
+ * @param input.targets — array of target role names to set as the new escalation targets
184
+ * @returns `{ status: 200, data: { role, targets } }` on success
185
+ */
135
186
  async function replaceEscalationTargets(input) {
136
187
  try {
137
188
  if (!Array.isArray(input.targets)) {
@@ -144,7 +195,14 @@ async function replaceEscalationTargets(input) {
144
195
  return { status: 500, error: err.message };
145
196
  }
146
197
  }
147
- // Admin-required
198
+ /**
199
+ * Delete a role from the system. Requires admin privileges.
200
+ *
201
+ * Returns 409 if the role cannot be deleted (e.g., still assigned to users).
202
+ *
203
+ * @param input.role — the role name to delete
204
+ * @returns `{ status: 200, data: { deleted: true } }` on success, or `{ status: 409 }` if deletion blocked
205
+ */
148
206
  async function deleteRole(input) {
149
207
  try {
150
208
  const result = await roleService.deleteRole(input.role);
@@ -1,2 +1,10 @@
1
1
  import type { LTApiResult } from '../types/sdk';
2
+ /**
3
+ * Return platform settings for the current deployment.
4
+ *
5
+ * Includes telemetry configuration (trace URL), escalation claim duration
6
+ * options, and event transport details (socket.io, NATS, or none).
7
+ *
8
+ * @returns `{ status: 200, data: { telemetry, escalation, events } }`
9
+ */
2
10
  export declare function getSettings(): Promise<LTApiResult>;
@@ -6,6 +6,14 @@ const events_1 = require("../lib/events");
6
6
  const nats_1 = require("../lib/events/nats");
7
7
  const socketio_1 = require("../lib/events/socketio");
8
8
  const defaults_1 = require("../modules/defaults");
9
+ /**
10
+ * Return platform settings for the current deployment.
11
+ *
12
+ * Includes telemetry configuration (trace URL), escalation claim duration
13
+ * options, and event transport details (socket.io, NATS, or none).
14
+ *
15
+ * @returns `{ status: 200, data: { telemetry, escalation, events } }`
16
+ */
9
17
  async function getSettings() {
10
18
  try {
11
19
  const hasSocketIO = !!events_1.eventRegistry.getAdapter(socketio_1.SocketIOEventAdapter);
@@ -1,4 +1,43 @@
1
- import type { LTApiResult } from '../types/sdk';
1
+ import type { LTApiResult, LTApiAuth } from '../types/sdk';
2
+ /**
3
+ * Create a task record.
4
+ *
5
+ * Tasks represent workflow executions tracked by the LT interceptor.
6
+ * Required fields: `workflow_id`, `workflow_type`, `lt_type`,
7
+ * `signal_id`, `parent_workflow_id`, and `envelope`.
8
+ *
9
+ * @returns `{ status: 201, data: <task record> }`
10
+ */
11
+ export declare function createTask(input: {
12
+ workflow_id: string;
13
+ workflow_type: string;
14
+ lt_type: string;
15
+ task_queue?: string;
16
+ signal_id: string;
17
+ parent_workflow_id: string;
18
+ origin_id?: string;
19
+ parent_id?: string;
20
+ envelope?: string;
21
+ metadata?: Record<string, any>;
22
+ priority?: number;
23
+ trace_id?: string;
24
+ span_id?: string;
25
+ }, auth: LTApiAuth): Promise<LTApiResult>;
26
+ /**
27
+ * List tasks with optional filters.
28
+ *
29
+ * Tasks represent workflow executions tracked by the LT interceptor.
30
+ *
31
+ * @param input.status — filter by `pending` or `completed`
32
+ * @param input.lt_type — filter by interceptor classification
33
+ * @param input.workflow_type — filter by workflow function name
34
+ * @param input.workflow_id — filter by HotMesh workflow ID
35
+ * @param input.parent_workflow_id — filter by parent orchestrator ID
36
+ * @param input.origin_id — filter by root process origin ID
37
+ * @param input.limit — max results (default: 50)
38
+ * @param input.offset — pagination offset (default: 0)
39
+ * @returns `{ status: 200, data: { tasks, total } }`
40
+ */
2
41
  export declare function listTasks(input: {
3
42
  status?: string;
4
43
  lt_type?: string;
@@ -9,9 +48,25 @@ export declare function listTasks(input: {
9
48
  limit?: number;
10
49
  offset?: number;
11
50
  }): Promise<LTApiResult>;
51
+ /**
52
+ * Return aggregate process statistics.
53
+ *
54
+ * @param input.period — time window (`1h`, `24h`, `7d`, `30d`)
55
+ * @returns `{ status: 200, data: <process stats> }`
56
+ */
12
57
  export declare function getProcessStats(input: {
13
58
  period?: string;
14
59
  }): Promise<LTApiResult>;
60
+ /**
61
+ * List processes (grouped by origin_id) with optional filters.
62
+ *
63
+ * @param input.limit — max results (default: 50)
64
+ * @param input.offset — pagination offset
65
+ * @param input.workflow_type — filter by workflow type
66
+ * @param input.status — filter by status
67
+ * @param input.search — full-text search across process fields
68
+ * @returns `{ status: 200, data: { processes, total } }`
69
+ */
15
70
  export declare function listProcesses(input: {
16
71
  limit?: number;
17
72
  offset?: number;
@@ -19,9 +74,21 @@ export declare function listProcesses(input: {
19
74
  status?: string;
20
75
  search?: string;
21
76
  }): Promise<LTApiResult>;
77
+ /**
78
+ * Get a single process with all its tasks and escalations.
79
+ *
80
+ * @param input.originId — root process origin ID
81
+ * @returns `{ status: 200, data: { origin_id, tasks, escalations } }`
82
+ */
22
83
  export declare function getProcess(input: {
23
84
  originId: string;
24
85
  }): Promise<LTApiResult>;
86
+ /**
87
+ * Get a single task by ID.
88
+ *
89
+ * @param input.id — task UUID
90
+ * @returns `{ status: 200, data: <task record> }` or 404
91
+ */
25
92
  export declare function getTask(input: {
26
93
  id: string;
27
94
  }): Promise<LTApiResult>;
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createTask = createTask;
36
37
  exports.listTasks = listTasks;
37
38
  exports.getProcessStats = getProcessStats;
38
39
  exports.listProcesses = listProcesses;
@@ -40,6 +41,69 @@ exports.getProcess = getProcess;
40
41
  exports.getTask = getTask;
41
42
  const taskService = __importStar(require("../services/task"));
42
43
  const escalationService = __importStar(require("../services/escalation"));
44
+ /**
45
+ * Create a task record.
46
+ *
47
+ * Tasks represent workflow executions tracked by the LT interceptor.
48
+ * Required fields: `workflow_id`, `workflow_type`, `lt_type`,
49
+ * `signal_id`, `parent_workflow_id`, and `envelope`.
50
+ *
51
+ * @returns `{ status: 201, data: <task record> }`
52
+ */
53
+ async function createTask(input, auth) {
54
+ try {
55
+ const { workflow_id, workflow_type, lt_type, signal_id, parent_workflow_id } = input;
56
+ if (!workflow_id || typeof workflow_id !== 'string') {
57
+ return { status: 400, error: 'workflow_id is required' };
58
+ }
59
+ if (!workflow_type || typeof workflow_type !== 'string') {
60
+ return { status: 400, error: 'workflow_type is required' };
61
+ }
62
+ if (!lt_type || typeof lt_type !== 'string') {
63
+ return { status: 400, error: 'lt_type is required' };
64
+ }
65
+ if (!signal_id || typeof signal_id !== 'string') {
66
+ return { status: 400, error: 'signal_id is required' };
67
+ }
68
+ if (!parent_workflow_id || typeof parent_workflow_id !== 'string') {
69
+ return { status: 400, error: 'parent_workflow_id is required' };
70
+ }
71
+ const task = await taskService.createTask({
72
+ workflow_id,
73
+ workflow_type,
74
+ lt_type,
75
+ task_queue: input.task_queue,
76
+ signal_id,
77
+ parent_workflow_id,
78
+ origin_id: input.origin_id,
79
+ parent_id: input.parent_id,
80
+ envelope: input.envelope ?? '{}',
81
+ metadata: input.metadata,
82
+ priority: input.priority,
83
+ trace_id: input.trace_id,
84
+ span_id: input.span_id,
85
+ });
86
+ return { status: 201, data: task };
87
+ }
88
+ catch (err) {
89
+ return { status: 500, error: err.message };
90
+ }
91
+ }
92
+ /**
93
+ * List tasks with optional filters.
94
+ *
95
+ * Tasks represent workflow executions tracked by the LT interceptor.
96
+ *
97
+ * @param input.status — filter by `pending` or `completed`
98
+ * @param input.lt_type — filter by interceptor classification
99
+ * @param input.workflow_type — filter by workflow function name
100
+ * @param input.workflow_id — filter by HotMesh workflow ID
101
+ * @param input.parent_workflow_id — filter by parent orchestrator ID
102
+ * @param input.origin_id — filter by root process origin ID
103
+ * @param input.limit — max results (default: 50)
104
+ * @param input.offset — pagination offset (default: 0)
105
+ * @returns `{ status: 200, data: { tasks, total } }`
106
+ */
43
107
  async function listTasks(input) {
44
108
  try {
45
109
  const result = await taskService.listTasks(input);
@@ -49,6 +113,12 @@ async function listTasks(input) {
49
113
  return { status: 500, error: err.message };
50
114
  }
51
115
  }
116
+ /**
117
+ * Return aggregate process statistics.
118
+ *
119
+ * @param input.period — time window (`1h`, `24h`, `7d`, `30d`)
120
+ * @returns `{ status: 200, data: <process stats> }`
121
+ */
52
122
  async function getProcessStats(input) {
53
123
  try {
54
124
  const stats = await taskService.getProcessStats(input.period);
@@ -58,6 +128,16 @@ async function getProcessStats(input) {
58
128
  return { status: 500, error: err.message };
59
129
  }
60
130
  }
131
+ /**
132
+ * List processes (grouped by origin_id) with optional filters.
133
+ *
134
+ * @param input.limit — max results (default: 50)
135
+ * @param input.offset — pagination offset
136
+ * @param input.workflow_type — filter by workflow type
137
+ * @param input.status — filter by status
138
+ * @param input.search — full-text search across process fields
139
+ * @returns `{ status: 200, data: { processes, total } }`
140
+ */
61
141
  async function listProcesses(input) {
62
142
  try {
63
143
  const result = await taskService.listProcesses(input);
@@ -67,6 +147,12 @@ async function listProcesses(input) {
67
147
  return { status: 500, error: err.message };
68
148
  }
69
149
  }
150
+ /**
151
+ * Get a single process with all its tasks and escalations.
152
+ *
153
+ * @param input.originId — root process origin ID
154
+ * @returns `{ status: 200, data: { origin_id, tasks, escalations } }`
155
+ */
70
156
  async function getProcess(input) {
71
157
  try {
72
158
  const [tasks, escalations] = await Promise.all([
@@ -82,6 +168,12 @@ async function getProcess(input) {
82
168
  return { status: 500, error: err.message };
83
169
  }
84
170
  }
171
+ /**
172
+ * Get a single task by ID.
173
+ *
174
+ * @param input.id — task UUID
175
+ * @returns `{ status: 200, data: <task record> }` or 404
176
+ */
85
177
  async function getTask(input) {
86
178
  try {
87
179
  const task = await taskService.getTask(input.id);