@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
@@ -59,16 +59,30 @@ function isResolveError(err) {
59
59
  return err?.message?.includes('Cannot resolve workflow');
60
60
  }
61
61
  // ── Invocation ──────────────────────────────────────────────────────────────
62
+ /**
63
+ * Start a workflow — proxy for `Durable.Client.workflow.start()`.
64
+ *
65
+ * Resolves the task queue, enforces auth/role constraints, builds the
66
+ * LTEnvelope with IAM context, and delegates to the Durable client.
67
+ * Any WorkflowOptions field (workflowId, expire, entity, namespace,
68
+ * search, signalIn, pending, etc.) can be passed via `options` and
69
+ * flows through to the Durable client unchanged.
70
+ *
71
+ * @see https://docs.hotmesh.io/types/types_durable.WorkflowOptions.html
72
+ */
62
73
  async function invokeWorkflow(input, auth) {
63
74
  try {
64
- await (0, workflow_invocation_1.checkInvocationRoles)(input.type, auth.userId);
75
+ await (0, workflow_invocation_1.checkInvocationRoles)(input.type, auth.userId, auth.role);
65
76
  const result = await (0, workflow_invocation_1.invokeWorkflow)({
66
77
  workflowType: input.type,
67
78
  data: input.data || {},
68
79
  metadata: input.metadata,
69
80
  executeAs: input.execute_as,
81
+ options: input.options,
70
82
  auth: {
71
83
  userId: auth.userId,
84
+ role: auth.role,
85
+ scopes: auth.scopes,
72
86
  },
73
87
  });
74
88
  return {
@@ -81,6 +95,15 @@ async function invokeWorkflow(input, auth) {
81
95
  return { status, error: err.message };
82
96
  }
83
97
  }
98
+ /**
99
+ * Get the execution status of a workflow.
100
+ *
101
+ * Returns the HotMesh status code (0 = completed, 1 = running).
102
+ * Resolves the workflow handle via task record or worker registry.
103
+ *
104
+ * @param input.workflowId — HotMesh workflow ID
105
+ * @returns `{ status: 200, data: { workflowId, status } }` or 404
106
+ */
84
107
  async function getWorkflowStatus(input) {
85
108
  try {
86
109
  const resolved = await (0, task_1.resolveWorkflowHandle)(input.workflowId);
@@ -98,6 +121,15 @@ async function getWorkflowStatus(input) {
98
121
  return { status: 500, error: err.message };
99
122
  }
100
123
  }
124
+ /**
125
+ * Get the result of a completed workflow.
126
+ *
127
+ * Returns 202 if the workflow is still running, 200 with the result
128
+ * payload when complete. Never blocks — always returns immediately.
129
+ *
130
+ * @param input.workflowId — HotMesh workflow ID
131
+ * @returns `{ status: 200, data: { workflowId, result } }` or 202 if running
132
+ */
101
133
  async function getWorkflowResult(input) {
102
134
  try {
103
135
  const resolved = await (0, task_1.resolveWorkflowHandle)(input.workflowId);
@@ -122,6 +154,14 @@ async function getWorkflowResult(input) {
122
154
  return { status: 500, error: err.message };
123
155
  }
124
156
  }
157
+ /**
158
+ * Terminate a running workflow.
159
+ *
160
+ * Interrupts the workflow execution immediately via HotMesh.
161
+ *
162
+ * @param input.workflowId — HotMesh workflow ID
163
+ * @returns `{ status: 200, data: { terminated: true, workflowId } }` or 404
164
+ */
125
165
  async function terminateWorkflow(input) {
126
166
  try {
127
167
  const resolved = await (0, task_1.resolveWorkflowHandle)(input.workflowId);
@@ -139,6 +179,15 @@ async function terminateWorkflow(input) {
139
179
  return { status: 500, error: err.message };
140
180
  }
141
181
  }
182
+ /**
183
+ * Export the full state of a workflow.
184
+ *
185
+ * Returns the serialized workflow state including all activity
186
+ * results, signals, and metadata.
187
+ *
188
+ * @param input.workflowId — HotMesh workflow ID
189
+ * @returns `{ status: 200, data: <exported state> }` or 404
190
+ */
142
191
  async function exportWorkflow(input) {
143
192
  try {
144
193
  const resolved = await (0, task_1.resolveWorkflowHandle)(input.workflowId);
@@ -152,6 +201,12 @@ async function exportWorkflow(input) {
152
201
  }
153
202
  }
154
203
  // ── Discovery ───────────────────────────────────────────────────────────────
204
+ /**
205
+ * List active workflow workers with their registration status.
206
+ *
207
+ * @param input.include_system — include system workflows (default: false)
208
+ * @returns `{ status: 200, data: { workers: [{ name, task_queue, registered, system }] } }`
209
+ */
155
210
  async function listWorkers(input) {
156
211
  try {
157
212
  const activeWorkers = (0, registry_1.getRegisteredWorkers)();
@@ -172,6 +227,16 @@ async function listWorkers(input) {
172
227
  return { status: 500, error: err.message };
173
228
  }
174
229
  }
230
+ /**
231
+ * Discover all known workflow types from workers, history, and config.
232
+ *
233
+ * Merges three sources: active in-memory workers, historical entities
234
+ * from the durable jobs table, and registered workflow configs. Returns
235
+ * a unified list with status flags for each type.
236
+ *
237
+ * @param input.include_system — include system workflows (default: false)
238
+ * @returns `{ status: 200, data: { workflows: [{ workflow_type, task_queue, registered, active, invocable, ... }] } }`
239
+ */
175
240
  async function listDiscoveredWorkflows(input) {
176
241
  try {
177
242
  // 1. Active workers from in-memory registry
@@ -197,9 +262,14 @@ async function listDiscoveredWorkflows(input) {
197
262
  .map((workflowType) => {
198
263
  const config = configMap.get(workflowType);
199
264
  const worker = activeWorkers.get(workflowType);
265
+ const hasCertification = !!(config &&
266
+ ((config.roles?.length ?? 0) > 0 ||
267
+ (config.consumes?.length ?? 0) > 0));
268
+ const tier = !config ? 'durable' : hasCertification ? 'certified' : 'configured';
200
269
  return {
201
270
  workflow_type: workflowType,
202
271
  task_queue: config?.task_queue ?? worker?.taskQueue ?? null,
272
+ tier,
203
273
  registered: !!config,
204
274
  active: !!worker,
205
275
  invocable: config?.invocable ?? !!worker,
@@ -216,6 +286,11 @@ async function listDiscoveredWorkflows(input) {
216
286
  return { status: 500, error: err.message };
217
287
  }
218
288
  }
289
+ /**
290
+ * List all cron-scheduled workflows and their active state.
291
+ *
292
+ * @returns `{ status: 200, data: { schedules: [{ workflow_type, cron_schedule, active, ... }] } }`
293
+ */
219
294
  async function getCronStatus() {
220
295
  try {
221
296
  const configs = await configService.listWorkflowConfigs();
@@ -237,6 +312,11 @@ async function getCronStatus() {
237
312
  }
238
313
  }
239
314
  // ── Configuration ───────────────────────────────────────────────────────────
315
+ /**
316
+ * List all registered workflow configurations.
317
+ *
318
+ * @returns `{ status: 200, data: { workflows: LTWorkflowConfig[] } }`
319
+ */
240
320
  async function listWorkflowConfigs() {
241
321
  try {
242
322
  const configs = await configService.listWorkflowConfigs();
@@ -246,6 +326,12 @@ async function listWorkflowConfigs() {
246
326
  return { status: 500, error: err.message };
247
327
  }
248
328
  }
329
+ /**
330
+ * Get a single workflow configuration by type.
331
+ *
332
+ * @param input.type — workflow type name (e.g. `"reviewContent"`)
333
+ * @returns `{ status: 200, data: <config> }` or 404
334
+ */
249
335
  async function getWorkflowConfig(input) {
250
336
  try {
251
337
  const config = await configService.getWorkflowConfig(input.type);
@@ -258,6 +344,27 @@ async function getWorkflowConfig(input) {
258
344
  return { status: 500, error: err.message };
259
345
  }
260
346
  }
347
+ /**
348
+ * Create or replace a workflow configuration.
349
+ *
350
+ * Invalidates the config cache and restarts the cron schedule if one
351
+ * is defined. Idempotent — safe to call repeatedly with the same input.
352
+ *
353
+ * @param input.type — workflow type name
354
+ * @param input.invocable — whether the workflow can be started via the API
355
+ * @param input.task_queue — HotMesh task queue
356
+ * @param input.default_role — default escalation role
357
+ * @param input.description — human-readable description
358
+ * @param input.execute_as — service account for proxy invocation
359
+ * @param input.roles — roles that can resolve escalations
360
+ * @param input.invocation_roles — roles that can invoke this workflow
361
+ * @param input.consumes — workflow types whose data this workflow consumes
362
+ * @param input.tool_tags — MCP tool tags for discovery
363
+ * @param input.envelope_schema — JSON Schema for envelope.data validation
364
+ * @param input.resolver_schema — JSON Schema for resolver payload validation
365
+ * @param input.cron_schedule — cron expression for scheduled execution
366
+ * @returns `{ status: 200, data: <saved config> }`
367
+ */
261
368
  async function upsertWorkflowConfig(input) {
262
369
  try {
263
370
  const config = await configService.upsertWorkflowConfig({
@@ -283,6 +390,15 @@ async function upsertWorkflowConfig(input) {
283
390
  return { status: 500, error: err.message };
284
391
  }
285
392
  }
393
+ /**
394
+ * Delete a workflow configuration.
395
+ *
396
+ * Removes the config record and invalidates the cache. Active workers
397
+ * continue running — this only removes the config/interceptor binding.
398
+ *
399
+ * @param input.type — workflow type name
400
+ * @returns `{ status: 200, data: { deleted: true, workflow_type } }` or 404
401
+ */
286
402
  async function deleteWorkflowConfig(input) {
287
403
  try {
288
404
  const deleted = await configService.deleteWorkflowConfig(input.type);
@@ -1,4 +1,19 @@
1
1
  import type { LTApiResult, LTApiAuth } from '../types/sdk';
2
+ /**
3
+ * List YAML workflows with optional filtering and pagination.
4
+ *
5
+ * Delegates to the DB layer. Returns 404 when a filter references an invalid UUID.
6
+ *
7
+ * @param input.status — lifecycle filter (draft, deployed, active, archived)
8
+ * @param input.graph_topic — filter by the HotMesh subscription topic
9
+ * @param input.app_id — filter by namespace (MCP server name)
10
+ * @param input.search — free-text search across workflow name/description
11
+ * @param input.source_workflow_id — filter by the execution trace this workflow was compiled from
12
+ * @param input.set_id — filter by compositional set membership
13
+ * @param input.limit — max rows to return
14
+ * @param input.offset — pagination offset
15
+ * @returns `{ status: 200, data: YamlWorkflow[] }` matching workflows
16
+ */
2
17
  export declare function listYamlWorkflows(input: {
3
18
  status?: string;
4
19
  graph_topic?: string;
@@ -9,6 +24,25 @@ export declare function listYamlWorkflows(input: {
9
24
  limit?: number;
10
25
  offset?: number;
11
26
  }): Promise<LTApiResult>;
27
+ /**
28
+ * Compile an execution trace into a new YAML workflow (draft).
29
+ *
30
+ * Validates that the source execution did not exhaust its tool rounds, checks for
31
+ * topic collisions in the target namespace, then delegates to the LLM-based YAML
32
+ * generator. The resulting YAML, schemas, and activity manifest are persisted as a
33
+ * new draft record. Auto-derived tags are merged with any user-supplied tags.
34
+ *
35
+ * @param input.workflow_id — ID of the source execution trace to compile from
36
+ * @param input.task_queue — HotMesh task queue the source execution ran on
37
+ * @param input.workflow_name — type name of the source workflow
38
+ * @param input.name — tool name for the new workflow (no dashes; used to derive the topic)
39
+ * @param input.description — human-readable description passed to the generator
40
+ * @param input.app_id — target namespace (defaults to "longtail")
41
+ * @param input.subscribes — explicit subscription topic override (otherwise derived from name)
42
+ * @param input.tags — additional tags to merge with auto-derived tags
43
+ * @param input.compilation_feedback — natural-language feedback to steer the LLM compilation
44
+ * @returns `{ status: 201, data: YamlWorkflow }` the newly created draft record
45
+ */
12
46
  export declare function createYamlWorkflow(input: {
13
47
  workflow_id: string;
14
48
  task_queue: string;
@@ -20,6 +54,23 @@ export declare function createYamlWorkflow(input: {
20
54
  tags?: string[];
21
55
  compilation_feedback?: string;
22
56
  }): Promise<LTApiResult>;
57
+ /**
58
+ * Create a YAML workflow directly from user-supplied YAML content (no compilation).
59
+ *
60
+ * Sanitizes the name, app_id, and graph_topic to lowercase alphanumeric characters.
61
+ * Rewrites the `subscribes`, `id`, and `topic` fields inside the YAML to match the
62
+ * sanitized values. Checks for topic collisions before persisting.
63
+ *
64
+ * @param input.name — tool name (sanitized to lowercase alphanumeric, periods, dashes, underscores)
65
+ * @param input.description — human-readable description; also stored as original_prompt
66
+ * @param input.yaml_content — raw HotMesh YAML definition
67
+ * @param input.input_schema — JSON Schema describing the workflow's input (defaults to empty object)
68
+ * @param input.activity_manifest — list of activity declarations (defaults to empty array)
69
+ * @param input.tags — classification tags (defaults to empty array)
70
+ * @param input.app_id — target namespace / MCP server name (defaults to "longtail", sanitized to lowercase alphanumeric)
71
+ * @param input.graph_topic — subscription topic override (defaults to sanitized name; overridden by `subscribes` in YAML if present)
72
+ * @returns `{ status: 200, data: YamlWorkflow }` the persisted workflow record
73
+ */
23
74
  export declare function createYamlWorkflowDirect(input: {
24
75
  name: string;
25
76
  description?: string;
@@ -30,28 +81,105 @@ export declare function createYamlWorkflowDirect(input: {
30
81
  app_id?: string;
31
82
  graph_topic?: string;
32
83
  }): Promise<LTApiResult>;
84
+ /**
85
+ * Retrieve all distinct app_id namespaces that have at least one YAML workflow.
86
+ *
87
+ * @returns `{ status: 200, data: { app_ids: string[] } }` sorted list of namespace identifiers
88
+ */
33
89
  export declare function getAppIds(): Promise<LTApiResult>;
90
+ /**
91
+ * Fetch a single YAML workflow by its primary key.
92
+ *
93
+ * @param input.id — UUID of the workflow record
94
+ * @returns `{ status: 200, data: YamlWorkflow }` the full workflow record, or 404 if not found
95
+ */
34
96
  export declare function getYamlWorkflow(input: {
35
97
  id: string;
36
98
  }): Promise<LTApiResult>;
99
+ /**
100
+ * Partially update a YAML workflow record.
101
+ *
102
+ * Accepts arbitrary fields beyond `id` and forwards them to the DB update layer.
103
+ *
104
+ * @param input.id — UUID of the workflow to update
105
+ * @param input.[key] — any mutable workflow fields (name, description, yaml_content, tags, etc.)
106
+ * @returns `{ status: 200, data: YamlWorkflow }` the updated record, or 404 if not found
107
+ */
37
108
  export declare function updateYamlWorkflow(input: {
38
109
  id: string;
39
110
  [key: string]: any;
40
111
  }): Promise<LTApiResult>;
112
+ /**
113
+ * Re-compile an existing YAML workflow from its original execution trace.
114
+ *
115
+ * Looks up the source workflow reference, re-runs the LLM-based YAML generator, and
116
+ * overwrites the YAML content, schemas, manifest, and tags in place. When
117
+ * compilation_feedback is provided, the current YAML is passed as priorFailedYaml so
118
+ * the generator can incorporate the feedback. Archived workflows cannot be regenerated.
119
+ *
120
+ * @param input.id — UUID of the workflow to regenerate
121
+ * @param input.task_queue — override the task queue (otherwise resolved from the source task record)
122
+ * @param input.compilation_feedback — natural-language feedback to steer the re-compilation
123
+ * @returns `{ status: 200, data: YamlWorkflow }` the updated record with new YAML content
124
+ */
41
125
  export declare function regenerateYamlWorkflow(input: {
42
126
  id: string;
43
127
  task_queue?: string;
44
128
  compilation_feedback?: string;
45
129
  }): Promise<LTApiResult>;
130
+ /**
131
+ * Permanently delete a YAML workflow record.
132
+ *
133
+ * Only draft or archived workflows can be deleted. Active or deployed workflows must
134
+ * be archived first.
135
+ *
136
+ * @param input.id — UUID of the workflow to delete
137
+ * @returns `{ status: 200, data: { deleted: true } }` on success, or 400 if the workflow is active/deployed
138
+ */
46
139
  export declare function deleteYamlWorkflow(input: {
47
140
  id: string;
48
141
  }): Promise<LTApiResult>;
142
+ /**
143
+ * Deploy a YAML workflow and all sibling workflows sharing its app_id namespace.
144
+ *
145
+ * Merges and deploys the full app_id YAML, registers HotMesh workers for every
146
+ * non-archived sibling, transitions draft/deployed siblings to active, and marks
147
+ * the app_id content as deployed. Uses the app_version declared in the workflow record.
148
+ *
149
+ * @param input.id — UUID of the workflow to deploy
150
+ * @returns `{ status: 200, data: YamlWorkflow }` the refreshed workflow record after deployment
151
+ */
49
152
  export declare function deployYamlWorkflow(input: {
50
153
  id: string;
51
154
  }): Promise<LTApiResult>;
155
+ /**
156
+ * Activate a previously deployed YAML workflow and its app_id siblings.
157
+ *
158
+ * Calls the deployer to activate the app_id at its current version, then registers
159
+ * HotMesh workers for all sibling workflows. Siblings in "deployed" status are
160
+ * transitioned to "active". The workflow must already be in deployed or active status.
161
+ *
162
+ * @param input.id — UUID of the workflow to activate
163
+ * @returns `{ status: 200, data: YamlWorkflow }` the refreshed workflow record after activation
164
+ */
52
165
  export declare function activateYamlWorkflow(input: {
53
166
  id: string;
54
167
  }): Promise<LTApiResult>;
168
+ /**
169
+ * Invoke an active YAML workflow, executing its DAG pipeline.
170
+ *
171
+ * The workflow must be in "active" status. Delegates to the invoke service which
172
+ * starts the HotMesh execution. Supports both synchronous (wait for result) and
173
+ * asynchronous (fire-and-forget) invocation modes.
174
+ *
175
+ * @param input.id — UUID of the workflow to invoke
176
+ * @param input.data — input payload passed to the workflow's entry point
177
+ * @param input.sync — when true, block until the workflow completes and return its output
178
+ * @param input.timeout — max milliseconds to wait when sync is true
179
+ * @param input.execute_as — override identity for the execution context
180
+ * @param auth — authenticated user context; userId is forwarded to the invoke service
181
+ * @returns `{ status: 200, data: ... }` workflow execution result (sync) or job metadata (async)
182
+ */
55
183
  export declare function invokeYamlWorkflow(input: {
56
184
  id: string;
57
185
  data?: any;
@@ -59,29 +187,96 @@ export declare function invokeYamlWorkflow(input: {
59
187
  timeout?: number;
60
188
  execute_as?: string;
61
189
  }, auth?: LTApiAuth): Promise<LTApiResult>;
190
+ /**
191
+ * Archive a YAML workflow, removing it from active service.
192
+ *
193
+ * If the workflow is currently active, its HotMesh engine is stopped before
194
+ * transitioning the status to "archived". Archived workflows cannot be invoked
195
+ * or regenerated but can still be viewed or deleted.
196
+ *
197
+ * @param input.id — UUID of the workflow to archive
198
+ * @returns `{ status: 200, data: YamlWorkflow }` the updated record with status "archived"
199
+ */
62
200
  export declare function archiveYamlWorkflow(input: {
63
201
  id: string;
64
202
  }): Promise<LTApiResult>;
203
+ /**
204
+ * Retrieve the version history for a YAML workflow.
205
+ *
206
+ * Returns a paginated list of version snapshots ordered by version number.
207
+ *
208
+ * @param input.id — UUID of the workflow
209
+ * @param input.limit — max versions to return (defaults to 20)
210
+ * @param input.offset — pagination offset (defaults to 0)
211
+ * @returns `{ status: 200, data: VersionSnapshot[] }` paginated version history
212
+ */
65
213
  export declare function getVersionHistory(input: {
66
214
  id: string;
67
215
  limit?: number;
68
216
  offset?: number;
69
217
  }): Promise<LTApiResult>;
218
+ /**
219
+ * Retrieve a specific version snapshot of a YAML workflow.
220
+ *
221
+ * Validates that the version number is a positive integer before querying.
222
+ *
223
+ * @param input.id — UUID of the workflow
224
+ * @param input.version — 1-based version number to retrieve
225
+ * @returns `{ status: 200, data: VersionSnapshot }` the snapshot at the requested version, or 404
226
+ */
70
227
  export declare function getVersionSnapshot(input: {
71
228
  id: string;
72
229
  version: number;
73
230
  }): Promise<LTApiResult>;
231
+ /**
232
+ * Retrieve the raw YAML content for a workflow, optionally at a specific version.
233
+ *
234
+ * When a version is provided, fetches from the version snapshot table. Otherwise
235
+ * returns the current yaml_content from the live workflow record.
236
+ *
237
+ * @param input.id — UUID of the workflow
238
+ * @param input.version — optional version number; when omitted, returns the current content
239
+ * @returns `{ status: 200, data: string }` the raw YAML string
240
+ */
74
241
  export declare function getYamlContent(input: {
75
242
  id: string;
76
243
  version?: number;
77
244
  }): Promise<LTApiResult<string>>;
245
+ /**
246
+ * Set or update the cron schedule for a YAML workflow.
247
+ *
248
+ * Persists the schedule in the DB and restarts the in-process cron timer via the
249
+ * cron registry so the change takes effect immediately.
250
+ *
251
+ * @param input.id — UUID of the workflow to schedule
252
+ * @param input.cron_schedule — cron expression (e.g. "0 * * * *")
253
+ * @param input.cron_envelope — optional payload passed to each scheduled invocation
254
+ * @param input.execute_as — optional identity override for scheduled executions
255
+ * @returns `{ status: 200, data: YamlWorkflow }` the updated workflow record with cron fields set
256
+ */
78
257
  export declare function setCronSchedule(input: {
79
258
  id: string;
80
259
  cron_schedule: string;
81
260
  cron_envelope?: any;
82
261
  execute_as?: string;
83
262
  }): Promise<LTApiResult>;
263
+ /**
264
+ * Remove the cron schedule from a YAML workflow.
265
+ *
266
+ * Stops the in-process cron timer first, then clears the schedule fields in the DB.
267
+ *
268
+ * @param input.id — UUID of the workflow to unschedule
269
+ * @returns `{ status: 200, data: YamlWorkflow }` the updated workflow record with cron fields cleared
270
+ */
84
271
  export declare function clearCronSchedule(input: {
85
272
  id: string;
86
273
  }): Promise<LTApiResult>;
274
+ /**
275
+ * List all YAML workflows that have a cron schedule, with their live timer status.
276
+ *
277
+ * Fetches all cron-scheduled workflows from the DB and cross-references with the
278
+ * in-process cron registry to determine which timers are actually running.
279
+ *
280
+ * @returns `{ status: 200, data: { schedules: Array<{ id, name, graph_topic, app_id, cron_schedule, execute_as, active }> } }`
281
+ */
87
282
  export declare function getCronStatus(): Promise<LTApiResult>;