@hotmeshio/long-tail 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/README.md +47 -5
  2. package/build/api/auth.d.ts +16 -0
  3. package/build/api/auth.js +53 -0
  4. package/build/api/bot-accounts.d.ts +137 -0
  5. package/build/api/bot-accounts.js +302 -0
  6. package/build/api/controlplane.d.ts +68 -0
  7. package/build/api/controlplane.js +158 -0
  8. package/build/api/dba.d.ts +42 -0
  9. package/build/api/dba.js +95 -0
  10. package/build/api/escalations.d.ts +271 -0
  11. package/build/api/escalations.js +892 -0
  12. package/build/api/exports.d.ts +90 -0
  13. package/build/api/exports.js +204 -0
  14. package/build/api/index.d.ts +18 -0
  15. package/build/api/index.js +54 -0
  16. package/build/api/insight.d.ts +86 -0
  17. package/build/api/insight.js +147 -0
  18. package/build/api/maintenance.d.ts +22 -0
  19. package/build/api/maintenance.js +43 -0
  20. package/build/api/mcp-runs.d.ts +43 -0
  21. package/build/api/mcp-runs.js +89 -0
  22. package/build/api/mcp.d.ts +160 -0
  23. package/build/api/mcp.js +320 -0
  24. package/build/api/namespaces.d.ts +20 -0
  25. package/build/{routes/escalations/helpers.js → api/namespaces.js} +35 -10
  26. package/build/api/roles.d.ts +88 -0
  27. package/build/api/roles.js +217 -0
  28. package/build/api/settings.d.ts +10 -0
  29. package/build/api/settings.js +43 -0
  30. package/build/api/tasks.d.ts +70 -0
  31. package/build/api/tasks.js +139 -0
  32. package/build/api/users.d.ts +115 -0
  33. package/build/api/users.js +228 -0
  34. package/build/api/workflow-sets.d.ts +77 -0
  35. package/build/api/workflow-sets.js +170 -0
  36. package/build/api/workflows.d.ts +158 -0
  37. package/build/api/workflows.js +407 -0
  38. package/build/api/yaml-workflows.d.ts +282 -0
  39. package/build/api/yaml-workflows.js +751 -0
  40. package/build/examples/types/envelopes.d.ts +27 -0
  41. package/build/examples/types/index.d.ts +1 -1
  42. package/build/examples/workers.js +8 -0
  43. package/build/examples/workflows/assembly-line/activities.d.ts +28 -0
  44. package/build/examples/workflows/assembly-line/activities.js +53 -0
  45. package/build/examples/workflows/assembly-line/index.d.ts +17 -0
  46. package/build/examples/workflows/assembly-line/index.js +60 -0
  47. package/build/examples/workflows/assembly-line/iterator.d.ts +12 -0
  48. package/build/examples/workflows/assembly-line/iterator.js +54 -0
  49. package/build/examples/workflows/assembly-line/reverter.d.ts +18 -0
  50. package/build/examples/workflows/assembly-line/reverter.js +89 -0
  51. package/build/examples/workflows/assembly-line/types.d.ts +25 -0
  52. package/build/examples/workflows/assembly-line/types.js +8 -0
  53. package/build/examples/workflows/assembly-line/worker.d.ts +13 -0
  54. package/build/examples/workflows/assembly-line/worker.js +81 -0
  55. package/build/index.d.ts +4 -0
  56. package/build/index.js +6 -1
  57. package/build/lib/db/schemas/004_workflow_sets.sql +29 -0
  58. package/build/lib/db/schemas/005_unique_graph_topic.sql +7 -0
  59. package/build/lib/db/schemas/011_system_workflow_configs.sql +7 -0
  60. package/build/lib/events/callback.d.ts +41 -0
  61. package/build/lib/events/callback.js +98 -0
  62. package/build/modules/config.js +1 -1
  63. package/build/routes/auth.js +37 -36
  64. package/build/routes/bot-accounts.js +34 -164
  65. package/build/routes/controlplane.js +20 -60
  66. package/build/routes/dba.js +18 -28
  67. package/build/routes/escalations/bulk.js +17 -192
  68. package/build/routes/escalations/list.js +51 -75
  69. package/build/routes/escalations/resolve.js +3 -193
  70. package/build/routes/escalations/single.js +13 -122
  71. package/build/routes/exports.js +44 -95
  72. package/build/routes/index.js +2 -0
  73. package/build/routes/insight.js +46 -88
  74. package/build/routes/maintenance.js +41 -17
  75. package/build/routes/mcp-runs.js +52 -60
  76. package/build/routes/mcp.js +49 -177
  77. package/build/routes/namespaces.js +9 -20
  78. package/build/routes/roles.js +23 -97
  79. package/build/routes/settings.js +37 -25
  80. package/build/routes/tasks.js +28 -64
  81. package/build/routes/users.js +24 -113
  82. package/build/routes/workflow-sets.d.ts +2 -0
  83. package/build/routes/workflow-sets.js +98 -0
  84. package/build/routes/workflows/config.js +23 -57
  85. package/build/routes/workflows/discovery.js +11 -85
  86. package/build/routes/workflows/invocation.js +28 -90
  87. package/build/routes/yaml-workflows/cron.js +12 -61
  88. package/build/routes/yaml-workflows/crud.js +30 -223
  89. package/build/routes/yaml-workflows/deployment.js +15 -115
  90. package/build/routes/yaml-workflows/versions.js +20 -58
  91. package/build/sdk/index.d.ts +338 -0
  92. package/build/sdk/index.js +299 -0
  93. package/build/services/controlplane/index.d.ts +1 -2
  94. package/build/services/controlplane/index.js +3 -3
  95. package/build/services/controlplane/sql.d.ts +2 -2
  96. package/build/services/controlplane/sql.js +4 -5
  97. package/build/services/controlplane/types.d.ts +1 -0
  98. package/build/services/export/index.js +6 -1
  99. package/build/services/hotmesh-utils.js +2 -4
  100. package/build/services/insight/index.d.ts +7 -0
  101. package/build/services/insight/index.js +30 -0
  102. package/build/services/mcp/client/tools.js +13 -1
  103. package/build/services/mcp-runs/sql.js +1 -1
  104. package/build/services/workflow-invocation.d.ts +15 -2
  105. package/build/services/workflow-invocation.js +11 -6
  106. package/build/services/workflow-sets/db.d.ts +16 -0
  107. package/build/services/workflow-sets/db.js +78 -0
  108. package/build/services/workflow-sets/index.d.ts +1 -0
  109. package/build/services/workflow-sets/index.js +11 -0
  110. package/build/services/workflow-sets/sql.d.ts +6 -0
  111. package/build/services/workflow-sets/sql.js +24 -0
  112. package/build/services/yaml-workflow/db-utils.d.ts +1 -0
  113. package/build/services/yaml-workflow/db-utils.js +4 -0
  114. package/build/services/yaml-workflow/db.d.ts +5 -0
  115. package/build/services/yaml-workflow/db.js +17 -0
  116. package/build/services/yaml-workflow/pipeline/build/wiring.js +14 -1
  117. package/build/services/yaml-workflow/pipeline/prompts.d.ts +1 -1
  118. package/build/services/yaml-workflow/pipeline/prompts.js +1 -1
  119. package/build/services/yaml-workflow/sql.d.ts +2 -1
  120. package/build/services/yaml-workflow/sql.js +8 -3
  121. package/build/services/yaml-workflow/types.d.ts +3 -0
  122. package/build/services/yaml-workflow/workers/callbacks.js +7 -1
  123. package/build/services/yaml-workflow/workers/register.js +7 -0
  124. package/build/start/adapters.js +4 -0
  125. package/build/system/index.js +6 -0
  126. package/build/system/mcp-servers/knowledge.js +1 -1
  127. package/build/system/seed/server-definitions.js +2 -1
  128. package/build/system/workflows/mcp-workflow-builder/activities/index.d.ts +1 -1
  129. package/build/system/workflows/mcp-workflow-builder/activities/index.js +2 -1
  130. package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.d.ts +6 -0
  131. package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.js +26 -0
  132. package/build/system/workflows/mcp-workflow-builder/index.js +26 -2
  133. package/build/system/workflows/mcp-workflow-builder/prompts.js +104 -35
  134. package/build/system/workflows/mcp-workflow-planner/activities/analyze.d.ts +11 -0
  135. package/build/system/workflows/mcp-workflow-planner/activities/analyze.js +36 -0
  136. package/build/system/workflows/mcp-workflow-planner/activities/index.d.ts +3 -0
  137. package/build/system/workflows/mcp-workflow-planner/activities/index.js +12 -0
  138. package/build/system/workflows/mcp-workflow-planner/activities/persist.d.ts +19 -0
  139. package/build/system/workflows/mcp-workflow-planner/activities/persist.js +55 -0
  140. package/build/system/workflows/mcp-workflow-planner/activities/plan.d.ts +10 -0
  141. package/build/system/workflows/mcp-workflow-planner/activities/plan.js +43 -0
  142. package/build/system/workflows/mcp-workflow-planner/index.d.ts +7 -0
  143. package/build/system/workflows/mcp-workflow-planner/index.js +152 -0
  144. package/build/system/workflows/mcp-workflow-planner/prompts.d.ts +7 -0
  145. package/build/system/workflows/mcp-workflow-planner/prompts.js +77 -0
  146. package/build/tsconfig.tsbuildinfo +1 -1
  147. package/build/types/index.d.ts +1 -0
  148. package/build/types/sdk.d.ts +27 -0
  149. package/build/types/sdk.js +2 -0
  150. package/build/types/workflow-set.d.ts +44 -0
  151. package/build/types/workflow-set.js +5 -0
  152. package/dashboard/dist/assets/{AdminDashboard-BXkKGkb5.js → AdminDashboard-B15jSEV2.js} +2 -2
  153. package/dashboard/dist/assets/{AdminDashboard-BXkKGkb5.js.map → AdminDashboard-B15jSEV2.js.map} +1 -1
  154. package/dashboard/dist/assets/{AvailableEscalationsPage-DcH592mc.js → AvailableEscalationsPage-0V2yvKak.js} +2 -2
  155. package/dashboard/dist/assets/{AvailableEscalationsPage-DcH592mc.js.map → AvailableEscalationsPage-0V2yvKak.js.map} +1 -1
  156. package/dashboard/dist/assets/BotPicker-B4UxHcek.js +2 -0
  157. package/dashboard/dist/assets/{BotPicker-A6LtzyuO.js.map → BotPicker-B4UxHcek.js.map} +1 -1
  158. package/dashboard/dist/assets/{CollapsibleSection-C7nL2_mv.js → CollapsibleSection-BBexNWVd.js} +2 -2
  159. package/dashboard/dist/assets/{CollapsibleSection-C7nL2_mv.js.map → CollapsibleSection-BBexNWVd.js.map} +1 -1
  160. package/dashboard/dist/assets/{ConfirmDeleteModal-CWFwJrSl.js → ConfirmDeleteModal-DlPDJSq_.js} +2 -2
  161. package/dashboard/dist/assets/{ConfirmDeleteModal-CWFwJrSl.js.map → ConfirmDeleteModal-DlPDJSq_.js.map} +1 -1
  162. package/dashboard/dist/assets/{CopyableId-DbZ5c3jh.js → CopyableId-BxHW1ahb.js} +2 -2
  163. package/dashboard/dist/assets/{CopyableId-DbZ5c3jh.js.map → CopyableId-BxHW1ahb.js.map} +1 -1
  164. package/dashboard/dist/assets/{CredentialsPage-ClWkmLPu.js → CredentialsPage-Bp_Y1Szk.js} +2 -2
  165. package/dashboard/dist/assets/{CredentialsPage-ClWkmLPu.js.map → CredentialsPage-Bp_Y1Szk.js.map} +1 -1
  166. package/dashboard/dist/assets/{CustomDurationPicker-CtH2hReF.js → CustomDurationPicker-ByBFqXSO.js} +2 -2
  167. package/dashboard/dist/assets/{CustomDurationPicker-CtH2hReF.js.map → CustomDurationPicker-ByBFqXSO.js.map} +1 -1
  168. package/dashboard/dist/assets/{DataTable-CM5ZcpPi.js → DataTable-DyIXg-tQ.js} +2 -2
  169. package/dashboard/dist/assets/{DataTable-CM5ZcpPi.js.map → DataTable-DyIXg-tQ.js.map} +1 -1
  170. package/dashboard/dist/assets/{ElapsedCell-CwqavyeC.js → ElapsedCell-BgnA0qpS.js} +2 -2
  171. package/dashboard/dist/assets/{ElapsedCell-CwqavyeC.js.map → ElapsedCell-BgnA0qpS.js.map} +1 -1
  172. package/dashboard/dist/assets/{EmptyState-BBn78pmm.js → EmptyState-DlMImvgm.js} +2 -2
  173. package/dashboard/dist/assets/{EmptyState-BBn78pmm.js.map → EmptyState-DlMImvgm.js.map} +1 -1
  174. package/dashboard/dist/assets/{EscalationsOverview-BcJ2E3X7.js → EscalationsOverview-D90kdfw1.js} +2 -2
  175. package/dashboard/dist/assets/{EscalationsOverview-BcJ2E3X7.js.map → EscalationsOverview-D90kdfw1.js.map} +1 -1
  176. package/dashboard/dist/assets/{EventTable-C1en_KZ0.js → EventTable-BNxtlgNz.js} +2 -2
  177. package/dashboard/dist/assets/{EventTable-C1en_KZ0.js.map → EventTable-BNxtlgNz.js.map} +1 -1
  178. package/dashboard/dist/assets/{FilterBar-CZTlrLQT.js → FilterBar-BTiaAhCx.js} +2 -2
  179. package/dashboard/dist/assets/{FilterBar-CZTlrLQT.js.map → FilterBar-BTiaAhCx.js.map} +1 -1
  180. package/dashboard/dist/assets/{ListToolbar-Cdbsapig.js → ListToolbar-BUcagSCn.js} +2 -2
  181. package/dashboard/dist/assets/{ListToolbar-Cdbsapig.js.map → ListToolbar-BUcagSCn.js.map} +1 -1
  182. package/dashboard/dist/assets/{McpOverview-CSpEJxKa.js → McpOverview-B-tCvz8C.js} +2 -2
  183. package/dashboard/dist/assets/{McpOverview-CSpEJxKa.js.map → McpOverview-B-tCvz8C.js.map} +1 -1
  184. package/dashboard/dist/assets/McpQueryDetailPage-DPlF1wYb.js +5 -0
  185. package/dashboard/dist/assets/McpQueryDetailPage-DPlF1wYb.js.map +1 -0
  186. package/dashboard/dist/assets/McpQueryPage-Bz7AdcfR.js +2 -0
  187. package/dashboard/dist/assets/McpQueryPage-Bz7AdcfR.js.map +1 -0
  188. package/dashboard/dist/assets/{McpRunDetailPage-9xdxgG4d.js → McpRunDetailPage-Di_qpL2V.js} +2 -2
  189. package/dashboard/dist/assets/{McpRunDetailPage-9xdxgG4d.js.map → McpRunDetailPage-Di_qpL2V.js.map} +1 -1
  190. package/dashboard/dist/assets/{McpRunsPage-wWLqHsd4.js → McpRunsPage-BBgybBEa.js} +2 -2
  191. package/dashboard/dist/assets/{McpRunsPage-wWLqHsd4.js.map → McpRunsPage-BBgybBEa.js.map} +1 -1
  192. package/dashboard/dist/assets/{Modal-kB_P7ZOr.js → Modal-CaJ0gTEa.js} +2 -2
  193. package/dashboard/dist/assets/{Modal-kB_P7ZOr.js.map → Modal-CaJ0gTEa.js.map} +1 -1
  194. package/dashboard/dist/assets/OperatorDashboard-DDfMmrmR.js +2 -0
  195. package/dashboard/dist/assets/{OperatorDashboard-jc0vrgDI.js.map → OperatorDashboard-DDfMmrmR.js.map} +1 -1
  196. package/dashboard/dist/assets/{PageHeader-NkOeBR05.js → PageHeader-C5D-G5rp.js} +2 -2
  197. package/dashboard/dist/assets/{PageHeader-NkOeBR05.js.map → PageHeader-C5D-G5rp.js.map} +1 -1
  198. package/dashboard/dist/assets/{PageHeaderWithStats-ywNhrmFK.js → PageHeaderWithStats-DCa2eZh2.js} +2 -2
  199. package/dashboard/dist/assets/{PageHeaderWithStats-ywNhrmFK.js.map → PageHeaderWithStats-DCa2eZh2.js.map} +1 -1
  200. package/dashboard/dist/assets/{PriorityBadge-B2MQbSxy.js → PriorityBadge-DTHq6OUZ.js} +2 -2
  201. package/dashboard/dist/assets/{PriorityBadge-B2MQbSxy.js.map → PriorityBadge-DTHq6OUZ.js.map} +1 -1
  202. package/dashboard/dist/assets/{ProcessDetailPage-B7z7IdqE.js → ProcessDetailPage-fC4dhrd0.js} +2 -2
  203. package/dashboard/dist/assets/{ProcessDetailPage-B7z7IdqE.js.map → ProcessDetailPage-fC4dhrd0.js.map} +1 -1
  204. package/dashboard/dist/assets/{ProcessesListPage-C-uHadO6.js → ProcessesListPage-CL2MY8uD.js} +2 -2
  205. package/dashboard/dist/assets/{ProcessesListPage-C-uHadO6.js.map → ProcessesListPage-CL2MY8uD.js.map} +1 -1
  206. package/dashboard/dist/assets/{RolePill-C1dgC-fK.js → RolePill-kgKPANly.js} +2 -2
  207. package/dashboard/dist/assets/{RolePill-C1dgC-fK.js.map → RolePill-kgKPANly.js.map} +1 -1
  208. package/dashboard/dist/assets/{RolesPage-BSxrD1vm.js → RolesPage-Be2lXTHD.js} +2 -2
  209. package/dashboard/dist/assets/{RolesPage-BSxrD1vm.js.map → RolesPage-Be2lXTHD.js.map} +1 -1
  210. package/dashboard/dist/assets/{RowActions-lYaHGI-v.js → RowActions-DIzJCwqR.js} +2 -2
  211. package/dashboard/dist/assets/{RowActions-lYaHGI-v.js.map → RowActions-DIzJCwqR.js.map} +1 -1
  212. package/dashboard/dist/assets/{StatCard-v2TiITVr.js → StatCard-CRi2Jy6t.js} +2 -2
  213. package/dashboard/dist/assets/{StatCard-v2TiITVr.js.map → StatCard-CRi2Jy6t.js.map} +1 -1
  214. package/dashboard/dist/assets/{StatusBadge-DWlxevgG.js → StatusBadge-BETI_8Mr.js} +2 -2
  215. package/dashboard/dist/assets/{StatusBadge-DWlxevgG.js.map → StatusBadge-BETI_8Mr.js.map} +1 -1
  216. package/dashboard/dist/assets/{StepIndicator-CRM4ft28.js → StepIndicator-DjpMqCjz.js} +2 -2
  217. package/dashboard/dist/assets/{StepIndicator-CRM4ft28.js.map → StepIndicator-DjpMqCjz.js.map} +1 -1
  218. package/dashboard/dist/assets/{StickyPagination-CF0EToEU.js → StickyPagination-BZbExQ9t.js} +2 -2
  219. package/dashboard/dist/assets/{StickyPagination-CF0EToEU.js.map → StickyPagination-BZbExQ9t.js.map} +1 -1
  220. package/dashboard/dist/assets/{SwimlaneTimeline-CNlj7fgg.js → SwimlaneTimeline-DZthQyhR.js} +2 -2
  221. package/dashboard/dist/assets/{SwimlaneTimeline-CNlj7fgg.js.map → SwimlaneTimeline-DZthQyhR.js.map} +1 -1
  222. package/dashboard/dist/assets/{TagInput-CH8qMGhC.js → TagInput-CukbOfYn.js} +2 -2
  223. package/dashboard/dist/assets/{TagInput-CH8qMGhC.js.map → TagInput-CukbOfYn.js.map} +1 -1
  224. package/dashboard/dist/assets/{TaskDetailPage-CdWo-6mu.js → TaskDetailPage-CIZHIKo9.js} +2 -2
  225. package/dashboard/dist/assets/{TaskDetailPage-CdWo-6mu.js.map → TaskDetailPage-CIZHIKo9.js.map} +1 -1
  226. package/dashboard/dist/assets/{TaskQueuePill-BPj4ogVG.js → TaskQueuePill-Q7DGoysj.js} +2 -2
  227. package/dashboard/dist/assets/{TaskQueuePill-BPj4ogVG.js.map → TaskQueuePill-Q7DGoysj.js.map} +1 -1
  228. package/dashboard/dist/assets/{TasksListPage-CtRkMpKU.js → TasksListPage-CsC9wjb0.js} +2 -2
  229. package/dashboard/dist/assets/{TasksListPage-CtRkMpKU.js.map → TasksListPage-CsC9wjb0.js.map} +1 -1
  230. package/dashboard/dist/assets/{TimeAgo-Di1a3X5P.js → TimeAgo-BcOOnJeH.js} +2 -2
  231. package/dashboard/dist/assets/{TimeAgo-Di1a3X5P.js.map → TimeAgo-BcOOnJeH.js.map} +1 -1
  232. package/dashboard/dist/assets/{TimestampCell-CqrXql-S.js → TimestampCell-CEMapYDQ.js} +2 -2
  233. package/dashboard/dist/assets/{TimestampCell-CqrXql-S.js.map → TimestampCell-CEMapYDQ.js.map} +1 -1
  234. package/dashboard/dist/assets/{UserName-BUFYCnRa.js → UserName-BHoN7iRL.js} +2 -2
  235. package/dashboard/dist/assets/{UserName-BUFYCnRa.js.map → UserName-BHoN7iRL.js.map} +1 -1
  236. package/dashboard/dist/assets/{WorkflowExecutionPage-25iusMml.js → WorkflowExecutionPage-DawKl1LT.js} +2 -2
  237. package/dashboard/dist/assets/{WorkflowExecutionPage-25iusMml.js.map → WorkflowExecutionPage-DawKl1LT.js.map} +1 -1
  238. package/dashboard/dist/assets/WorkflowPill-CP84Vqeg.js +2 -0
  239. package/dashboard/dist/assets/{WorkflowPill-DPKOcbf4.js.map → WorkflowPill-CP84Vqeg.js.map} +1 -1
  240. package/dashboard/dist/assets/{WorkflowsDashboard-BgxslssH.js → WorkflowsDashboard-QrvVFxtQ.js} +2 -2
  241. package/dashboard/dist/assets/{WorkflowsDashboard-BgxslssH.js.map → WorkflowsDashboard-QrvVFxtQ.js.map} +1 -1
  242. package/dashboard/dist/assets/{WorkflowsOverview-Doe5L-Re.js → WorkflowsOverview-DuhAi_OY.js} +2 -2
  243. package/dashboard/dist/assets/{WorkflowsOverview-Doe5L-Re.js.map → WorkflowsOverview-DuhAi_OY.js.map} +1 -1
  244. package/dashboard/dist/assets/YamlWorkflowsPage-Dc9xw82a.js +2 -0
  245. package/dashboard/dist/assets/YamlWorkflowsPage-Dc9xw82a.js.map +1 -0
  246. package/dashboard/dist/assets/{bots-Bi2_O1Ts.js → bots-Dny-rmmI.js} +2 -2
  247. package/dashboard/dist/assets/{bots-Bi2_O1Ts.js.map → bots-Dny-rmmI.js.map} +1 -1
  248. package/dashboard/dist/assets/{escalation-Ck1KlLkT.js → escalation-CV0sKNH5.js} +2 -2
  249. package/dashboard/dist/assets/{escalation-Ck1KlLkT.js.map → escalation-CV0sKNH5.js.map} +1 -1
  250. package/dashboard/dist/assets/{escalation-columns-ohDsj2eJ.js → escalation-columns-30CKyoWI.js} +2 -2
  251. package/dashboard/dist/assets/{escalation-columns-ohDsj2eJ.js.map → escalation-columns-30CKyoWI.js.map} +1 -1
  252. package/dashboard/dist/assets/{helpers-BoD2SgUY.js → helpers-C1-30CzH.js} +2 -2
  253. package/dashboard/dist/assets/{helpers-BoD2SgUY.js.map → helpers-C1-30CzH.js.map} +1 -1
  254. package/dashboard/dist/assets/helpers-C1jaRD-d.js +2 -0
  255. package/dashboard/dist/assets/helpers-C1jaRD-d.js.map +1 -0
  256. package/dashboard/dist/assets/{index-FuohTtaM.js → index-BUVQ6wmy.js} +3 -3
  257. package/dashboard/dist/assets/{index-FuohTtaM.js.map → index-BUVQ6wmy.js.map} +1 -1
  258. package/dashboard/dist/assets/index-CxVB7F4X.js +2 -0
  259. package/dashboard/dist/assets/{index-Dk2Q51o0.js.map → index-CxVB7F4X.js.map} +1 -1
  260. package/dashboard/dist/assets/{index-BEtLIsML.js → index-D-oCWCAS.js} +2 -2
  261. package/dashboard/dist/assets/{index-BEtLIsML.js.map → index-D-oCWCAS.js.map} +1 -1
  262. package/dashboard/dist/assets/index-D0wPM3Ck.js +2 -0
  263. package/dashboard/dist/assets/{index-BpT-6WgJ.js.map → index-D0wPM3Ck.js.map} +1 -1
  264. package/dashboard/dist/assets/{index-Bn2xHDr8.js → index-DHgnkykj.js} +3 -3
  265. package/dashboard/dist/assets/{index-Bn2xHDr8.js.map → index-DHgnkykj.js.map} +1 -1
  266. package/dashboard/dist/assets/{index-D3NyVADW.js → index-D_aJBEAG.js} +2 -2
  267. package/dashboard/dist/assets/index-D_aJBEAG.js.map +1 -0
  268. package/dashboard/dist/assets/{index-PyCTS05D.css → index-DcIKW-cZ.css} +1 -1
  269. package/dashboard/dist/assets/{index-CZrJ09p-.js → index-Dd_U4mLm.js} +2 -2
  270. package/dashboard/dist/assets/{index-CZrJ09p-.js.map → index-Dd_U4mLm.js.map} +1 -1
  271. package/dashboard/dist/assets/{index-DYyLF-Qb.js → index-DnmZbNxk.js} +8 -8
  272. package/dashboard/dist/assets/index-DnmZbNxk.js.map +1 -0
  273. package/dashboard/dist/assets/index-_RBvi7s6.js +2 -0
  274. package/dashboard/dist/assets/{index-D7zYZOnH.js.map → index-_RBvi7s6.js.map} +1 -1
  275. package/dashboard/dist/assets/index-n7td8zgX.js +17 -0
  276. package/dashboard/dist/assets/{index-DOkHXmyf.js.map → index-n7td8zgX.js.map} +1 -1
  277. package/dashboard/dist/assets/{mcp-CJtYjA7A.js → mcp-CRFr4L9W.js} +2 -2
  278. package/dashboard/dist/assets/{mcp-CJtYjA7A.js.map → mcp-CRFr4L9W.js.map} +1 -1
  279. package/dashboard/dist/assets/mcp-query-DHY2mZBQ.js +2 -0
  280. package/dashboard/dist/assets/mcp-query-DHY2mZBQ.js.map +1 -0
  281. package/dashboard/dist/assets/{mcp-runs-DUWm9Z4V.js → mcp-runs-BqPHqwAO.js} +2 -2
  282. package/dashboard/dist/assets/{mcp-runs-DUWm9Z4V.js.map → mcp-runs-BqPHqwAO.js.map} +1 -1
  283. package/dashboard/dist/assets/{namespaces-BM5P2qmL.js → namespaces-TG1aIpo_.js} +2 -2
  284. package/dashboard/dist/assets/{namespaces-BM5P2qmL.js.map → namespaces-TG1aIpo_.js.map} +1 -1
  285. package/dashboard/dist/assets/{roles-lv0shpjJ.js → roles-DhhLTvXg.js} +2 -2
  286. package/dashboard/dist/assets/{roles-lv0shpjJ.js.map → roles-DhhLTvXg.js.map} +1 -1
  287. package/dashboard/dist/assets/{settings-Wlq92mRo.js → settings-D9MBzEeB.js} +2 -2
  288. package/dashboard/dist/assets/{settings-Wlq92mRo.js.map → settings-D9MBzEeB.js.map} +1 -1
  289. package/dashboard/dist/assets/{tasks-BFGm4PuE.js → tasks-BxmcZoev.js} +2 -2
  290. package/dashboard/dist/assets/{tasks-BFGm4PuE.js.map → tasks-BxmcZoev.js.map} +1 -1
  291. package/dashboard/dist/assets/{useEventHooks-DIE6ue4x.js → useEventHooks-BylecvvI.js} +2 -2
  292. package/dashboard/dist/assets/{useEventHooks-DIE6ue4x.js.map → useEventHooks-BylecvvI.js.map} +1 -1
  293. package/dashboard/dist/assets/{useYamlActivityEvents-DCwSO73t.js → useYamlActivityEvents-ocmj11e_.js} +2 -2
  294. package/dashboard/dist/assets/{useYamlActivityEvents-DCwSO73t.js.map → useYamlActivityEvents-ocmj11e_.js.map} +1 -1
  295. package/dashboard/dist/assets/{users-tA5-K0wA.js → users-Ce5r-JAv.js} +2 -2
  296. package/dashboard/dist/assets/{users-tA5-K0wA.js.map → users-Ce5r-JAv.js.map} +1 -1
  297. package/dashboard/dist/assets/{vendor-icons-BiIug1SK.js → vendor-icons-D1DdudfH.js} +93 -73
  298. package/dashboard/dist/assets/vendor-icons-D1DdudfH.js.map +1 -0
  299. package/dashboard/dist/assets/{workflows-CfLc15Wr.js → workflows-ykIeVbRJ.js} +2 -2
  300. package/dashboard/dist/assets/{workflows-CfLc15Wr.js.map → workflows-ykIeVbRJ.js.map} +1 -1
  301. package/dashboard/dist/assets/yaml-workflows-WypmKYht.js +2 -0
  302. package/dashboard/dist/assets/yaml-workflows-WypmKYht.js.map +1 -0
  303. package/dashboard/dist/index.html +3 -3
  304. package/docs/api/sdk/auth.md +27 -0
  305. package/docs/api/sdk/bot-accounts.md +243 -0
  306. package/docs/api/sdk/controlplane.md +103 -0
  307. package/docs/api/sdk/dba.md +52 -0
  308. package/docs/api/sdk/escalations.md +374 -0
  309. package/docs/api/sdk/events.md +68 -0
  310. package/docs/api/sdk/exports.md +124 -0
  311. package/docs/api/sdk/insight.md +112 -0
  312. package/docs/api/sdk/maintenance.md +54 -0
  313. package/docs/api/sdk/mcp-runs.md +71 -0
  314. package/docs/api/sdk/mcp.md +250 -0
  315. package/docs/api/sdk/namespaces.md +43 -0
  316. package/docs/api/sdk/roles.md +183 -0
  317. package/docs/api/sdk/settings.md +24 -0
  318. package/docs/api/sdk/tasks.md +120 -0
  319. package/docs/api/sdk/users.md +196 -0
  320. package/docs/api/sdk/workflow-sets.md +135 -0
  321. package/docs/api/sdk/workflows.md +271 -0
  322. package/docs/api/sdk/yaml-workflows.md +408 -0
  323. package/docs/events.md +28 -0
  324. package/docs/sdk.md +177 -0
  325. package/docs/story.md +157 -0
  326. package/package.json +3 -2
  327. package/build/routes/escalations/helpers.d.ts +0 -5
  328. package/build/routes/resolve.d.ts +0 -9
  329. package/build/routes/resolve.js +0 -19
  330. package/build/routes/yaml-workflows/helpers.d.ts +0 -2
  331. package/build/routes/yaml-workflows/helpers.js +0 -8
  332. package/dashboard/dist/assets/BotPicker-A6LtzyuO.js +0 -2
  333. package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js +0 -5
  334. package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js.map +0 -1
  335. package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js +0 -2
  336. package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js.map +0 -1
  337. package/dashboard/dist/assets/OperatorDashboard-jc0vrgDI.js +0 -2
  338. package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js +0 -2
  339. package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js.map +0 -1
  340. package/dashboard/dist/assets/WorkflowPill-DPKOcbf4.js +0 -2
  341. package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js +0 -2
  342. package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js.map +0 -1
  343. package/dashboard/dist/assets/index-BpT-6WgJ.js +0 -2
  344. package/dashboard/dist/assets/index-D3NyVADW.js.map +0 -1
  345. package/dashboard/dist/assets/index-D7zYZOnH.js +0 -2
  346. package/dashboard/dist/assets/index-DOkHXmyf.js +0 -17
  347. package/dashboard/dist/assets/index-DYyLF-Qb.js.map +0 -1
  348. package/dashboard/dist/assets/index-Dk2Q51o0.js +0 -2
  349. package/dashboard/dist/assets/mcp-query-jQJQrs_7.js +0 -2
  350. package/dashboard/dist/assets/mcp-query-jQJQrs_7.js.map +0 -1
  351. package/dashboard/dist/assets/vendor-icons-BiIug1SK.js.map +0 -1
  352. package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js +0 -2
  353. package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js.map +0 -1
  354. package/docs/img/01-login.png +0 -0
  355. package/docs/img/02-dashboard-home.png +0 -0
  356. package/docs/img/03-processes-list.png +0 -0
  357. package/docs/img/04-escalations-list.png +0 -0
  358. package/docs/img/05-mcp-servers.png +0 -0
  359. package/docs/img/06-mcp-pipelines.png +0 -0
  360. package/docs/img/07-workflows-list.png +0 -0
  361. package/docs/img/compilation/01-query-submit.png +0 -0
  362. package/docs/img/compilation/02-mcp-servers.png +0 -0
  363. package/docs/img/compilation/03-query-completed.png +0 -0
  364. package/docs/img/compilation/04-wizard-original.png +0 -0
  365. package/docs/img/compilation/05-wizard-timeline.png +0 -0
  366. package/docs/img/compilation/06-wizard-profile.png +0 -0
  367. package/docs/img/compilation/07-wizard-deploy.png +0 -0
  368. package/docs/img/compilation/08-wizard-test-modal.png +0 -0
  369. package/docs/img/compilation/09-wizard-test-compare.png +0 -0
  370. package/docs/img/compilation/10-wizard-verify.png +0 -0
  371. /package/docs/api/{dba.md → http/dba.md} +0 -0
  372. /package/docs/api/{escalations.md → http/escalations.md} +0 -0
  373. /package/docs/api/{exports.md → http/exports.md} +0 -0
  374. /package/docs/api/{maintenance.md → http/maintenance.md} +0 -0
  375. /package/docs/api/{mcp-runs.md → http/mcp-runs.md} +0 -0
  376. /package/docs/api/{mcp-servers.md → http/mcp-servers.md} +0 -0
  377. /package/docs/api/{namespaces.md → http/namespaces.md} +0 -0
  378. /package/docs/api/{roles.md → http/roles.md} +0 -0
  379. /package/docs/api/{service-accounts.md → http/service-accounts.md} +0 -0
  380. /package/docs/api/{settings.md → http/settings.md} +0 -0
  381. /package/docs/api/{tasks.md → http/tasks.md} +0 -0
  382. /package/docs/api/{users.md → http/users.md} +0 -0
  383. /package/docs/api/{workflows.md → http/workflows.md} +0 -0
  384. /package/docs/api/{yaml-workflows.md → http/yaml-workflows.md} +0 -0
@@ -0,0 +1,271 @@
1
+ # lt.workflows
2
+
3
+ Invoke, inspect, and configure HotMesh Durable workflows.
4
+
5
+ ## invoke
6
+
7
+ Start a workflow execution.
8
+
9
+ Resolves the task queue, enforces auth/role constraints, builds the LTEnvelope with IAM context, and delegates to the Durable client. Any `WorkflowOptions` field (`workflowId`, `expire`, `entity`, `namespace`, `search`, `signalIn`, `pending`, etc.) can be passed via `options`.
10
+
11
+ ```typescript
12
+ const result = await lt.workflows.invoke({
13
+ type: 'reviewContent',
14
+ data: { url: 'https://example.com/page' },
15
+ metadata: { source: 'dashboard' },
16
+ });
17
+ ```
18
+
19
+ **Parameters:**
20
+
21
+ | Field | Type | Required | Description |
22
+ |-------|------|----------|-------------|
23
+ | `type` | `string` | Yes | Workflow function name |
24
+ | `data` | `Record<string, any>` | No | Envelope data payload |
25
+ | `metadata` | `Record<string, any>` | No | Envelope metadata |
26
+ | `execute_as` | `string` | No | Service account for proxy invocation |
27
+ | `options` | `Record<string, any>` | No | Passthrough to Durable WorkflowOptions |
28
+
29
+ **Returns:** `LTApiResult<{ workflowId, message }>` (status 202)
30
+
31
+ **Auth:** Required
32
+
33
+ ---
34
+
35
+ ## getStatus
36
+
37
+ Get the execution status of a workflow.
38
+
39
+ ```typescript
40
+ const result = await lt.workflows.getStatus({ workflowId: 'wf_abc' });
41
+ ```
42
+
43
+ **Parameters:**
44
+
45
+ | Field | Type | Required | Description |
46
+ |-------|------|----------|-------------|
47
+ | `workflowId` | `string` | Yes | HotMesh workflow ID |
48
+
49
+ **Returns:** `LTApiResult<{ workflowId, status }>` -- status 0 = completed, 1 = running. Returns 404 if not found.
50
+
51
+ **Auth:** Not required
52
+
53
+ ---
54
+
55
+ ## getResult
56
+
57
+ Get the result of a completed workflow.
58
+
59
+ Returns 202 if the workflow is still running. Never blocks.
60
+
61
+ ```typescript
62
+ const result = await lt.workflows.getResult({ workflowId: 'wf_abc' });
63
+ ```
64
+
65
+ **Parameters:**
66
+
67
+ | Field | Type | Required | Description |
68
+ |-------|------|----------|-------------|
69
+ | `workflowId` | `string` | Yes | HotMesh workflow ID |
70
+
71
+ **Returns:** `LTApiResult<{ workflowId, result }>` (status 200 when complete) or `LTApiResult<{ workflowId, status: 'running' }>` (status 202 when still running). Returns 404 if not found.
72
+
73
+ **Auth:** Not required
74
+
75
+ ---
76
+
77
+ ## terminate
78
+
79
+ Terminate a running workflow.
80
+
81
+ ```typescript
82
+ const result = await lt.workflows.terminate({ workflowId: 'wf_abc' });
83
+ ```
84
+
85
+ **Parameters:**
86
+
87
+ | Field | Type | Required | Description |
88
+ |-------|------|----------|-------------|
89
+ | `workflowId` | `string` | Yes | HotMesh workflow ID |
90
+
91
+ **Returns:** `LTApiResult<{ terminated: true, workflowId }>` -- returns 404 if not found.
92
+
93
+ **Auth:** Not required
94
+
95
+ ---
96
+
97
+ ## export
98
+
99
+ Export the full state of a workflow.
100
+
101
+ Returns the serialized workflow state including all activity results, signals, and metadata.
102
+
103
+ ```typescript
104
+ const result = await lt.workflows.export({ workflowId: 'wf_abc' });
105
+ ```
106
+
107
+ **Parameters:**
108
+
109
+ | Field | Type | Required | Description |
110
+ |-------|------|----------|-------------|
111
+ | `workflowId` | `string` | Yes | HotMesh workflow ID |
112
+
113
+ **Returns:** `LTApiResult<ExportedState>` -- returns 404 if not found.
114
+
115
+ **Auth:** Not required
116
+
117
+ ---
118
+
119
+ ## listWorkers
120
+
121
+ List active workflow workers with their registration status.
122
+
123
+ ```typescript
124
+ const result = await lt.workflows.listWorkers({ include_system: false });
125
+ ```
126
+
127
+ **Parameters:**
128
+
129
+ | Field | Type | Required | Description |
130
+ |-------|------|----------|-------------|
131
+ | `include_system` | `boolean` | No | Include system workflows (default: false) |
132
+
133
+ **Returns:** `LTApiResult<{ workers: [{ name, task_queue, registered, system }] }>`
134
+
135
+ **Auth:** Not required
136
+
137
+ ---
138
+
139
+ ## listDiscovered
140
+
141
+ Discover all known workflow types from workers, history, and config.
142
+
143
+ Merges three sources: active in-memory workers, historical entities from the durable jobs table, and registered workflow configs.
144
+
145
+ ```typescript
146
+ const result = await lt.workflows.listDiscovered({ include_system: false });
147
+ ```
148
+
149
+ **Parameters:**
150
+
151
+ | Field | Type | Required | Description |
152
+ |-------|------|----------|-------------|
153
+ | `include_system` | `boolean` | No | Include system workflows (default: false) |
154
+
155
+ **Returns:** `LTApiResult<{ workflows: [{ workflow_type, task_queue, registered, active, invocable, system, description, roles, invocation_roles, execute_as }] }>`
156
+
157
+ **Auth:** Not required
158
+
159
+ ---
160
+
161
+ ## getCronStatus
162
+
163
+ List all cron-scheduled workflows and their active state.
164
+
165
+ ```typescript
166
+ const result = await lt.workflows.getCronStatus();
167
+ ```
168
+
169
+ **Parameters:** None (pass `{}` or `undefined`).
170
+
171
+ **Returns:** `LTApiResult<{ schedules: [{ workflow_type, cron_schedule, description, task_queue, invocable, active, envelope_schema }] }>`
172
+
173
+ **Auth:** Not required
174
+
175
+ ---
176
+
177
+ ## listConfigs
178
+
179
+ List all registered workflow configurations.
180
+
181
+ ```typescript
182
+ const result = await lt.workflows.listConfigs();
183
+ ```
184
+
185
+ **Parameters:** None (pass `{}` or `undefined`).
186
+
187
+ **Returns:** `LTApiResult<{ workflows: LTWorkflowConfig[] }>`
188
+
189
+ **Auth:** Not required
190
+
191
+ ---
192
+
193
+ ## getConfig
194
+
195
+ Get a single workflow configuration by type.
196
+
197
+ ```typescript
198
+ const result = await lt.workflows.getConfig({ type: 'reviewContent' });
199
+ ```
200
+
201
+ **Parameters:**
202
+
203
+ | Field | Type | Required | Description |
204
+ |-------|------|----------|-------------|
205
+ | `type` | `string` | Yes | Workflow type name |
206
+
207
+ **Returns:** `LTApiResult<LTWorkflowConfig>` -- returns 404 if not found.
208
+
209
+ **Auth:** Not required
210
+
211
+ ---
212
+
213
+ ## upsertConfig
214
+
215
+ Create or replace a workflow configuration.
216
+
217
+ Invalidates the config cache and restarts the cron schedule if one is defined. Idempotent.
218
+
219
+ ```typescript
220
+ const result = await lt.workflows.upsertConfig({
221
+ type: 'reviewContent',
222
+ invocable: true,
223
+ task_queue: 'content-review',
224
+ default_role: 'reviewer',
225
+ description: 'Review flagged content',
226
+ });
227
+ ```
228
+
229
+ **Parameters:**
230
+
231
+ | Field | Type | Required | Description |
232
+ |-------|------|----------|-------------|
233
+ | `type` | `string` | Yes | Workflow type name |
234
+ | `invocable` | `boolean` | No | Whether the workflow can be started via the API |
235
+ | `task_queue` | `string \| null` | No | HotMesh task queue |
236
+ | `default_role` | `string` | No | Default escalation role |
237
+ | `description` | `string \| null` | No | Human-readable description |
238
+ | `execute_as` | `string \| null` | No | Service account for proxy invocation |
239
+ | `roles` | `string[]` | No | Roles that can resolve escalations |
240
+ | `invocation_roles` | `string[]` | No | Roles that can invoke this workflow |
241
+ | `consumes` | `string[]` | No | Workflow types whose data this workflow consumes |
242
+ | `tool_tags` | `string[]` | No | MCP tool tags for discovery |
243
+ | `envelope_schema` | `any` | No | JSON Schema for envelope.data validation |
244
+ | `resolver_schema` | `any` | No | JSON Schema for resolver payload validation |
245
+ | `cron_schedule` | `string \| null` | No | Cron expression for scheduled execution |
246
+
247
+ **Returns:** `LTApiResult<LTWorkflowConfig>`
248
+
249
+ **Auth:** Not required
250
+
251
+ ---
252
+
253
+ ## deleteConfig
254
+
255
+ Delete a workflow configuration.
256
+
257
+ Removes the config record and invalidates the cache. Active workers continue running.
258
+
259
+ ```typescript
260
+ const result = await lt.workflows.deleteConfig({ type: 'reviewContent' });
261
+ ```
262
+
263
+ **Parameters:**
264
+
265
+ | Field | Type | Required | Description |
266
+ |-------|------|----------|-------------|
267
+ | `type` | `string` | Yes | Workflow type name |
268
+
269
+ **Returns:** `LTApiResult<{ deleted: true, workflow_type }>` -- returns 404 if not found.
270
+
271
+ **Auth:** Not required
@@ -0,0 +1,408 @@
1
+ # lt.yamlWorkflows
2
+
3
+ Manage YAML workflow lifecycle: create, deploy, invoke, version, and schedule cron jobs.
4
+
5
+ ## list
6
+
7
+ List YAML workflows with optional filtering and pagination.
8
+
9
+ ```typescript
10
+ const result = await lt.yamlWorkflows.list({ status: 'active', app_id: 'longtail', limit: 20 });
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ | Field | Type | Required | Description |
16
+ |-------|------|----------|-------------|
17
+ | `status` | `string` | No | Lifecycle filter (`draft`, `deployed`, `active`, `archived`) |
18
+ | `graph_topic` | `string` | No | Filter by HotMesh subscription topic |
19
+ | `app_id` | `string` | No | Filter by namespace (MCP server name) |
20
+ | `search` | `string` | No | Free-text search across name/description |
21
+ | `source_workflow_id` | `string` | No | Filter by source execution trace ID |
22
+ | `set_id` | `string` | No | Filter by compositional set membership |
23
+ | `limit` | `number` | No | Max rows to return |
24
+ | `offset` | `number` | No | Pagination offset |
25
+
26
+ **Returns:** `LTApiResult<YamlWorkflow[]>`
27
+
28
+ **Auth:** Not required
29
+
30
+ ---
31
+
32
+ ## create
33
+
34
+ Compile an execution trace into a new YAML workflow draft via the LLM-based generator.
35
+
36
+ ```typescript
37
+ const result = await lt.yamlWorkflows.create({
38
+ workflow_id: 'wf_abc',
39
+ task_queue: 'v1',
40
+ workflow_name: 'screenshot_analyze',
41
+ name: 'screenshot_analyze_store',
42
+ });
43
+ ```
44
+
45
+ **Parameters:**
46
+
47
+ | Field | Type | Required | Description |
48
+ |-------|------|----------|-------------|
49
+ | `workflow_id` | `string` | Yes | ID of the source execution trace to compile from |
50
+ | `task_queue` | `string` | Yes | HotMesh task queue the source execution ran on |
51
+ | `workflow_name` | `string` | Yes | Type name of the source workflow |
52
+ | `name` | `string` | Yes | Tool name for the new workflow (no dashes) |
53
+ | `description` | `string` | No | Human-readable description passed to the generator |
54
+ | `app_id` | `string` | No | Target namespace (defaults to `"longtail"`) |
55
+ | `subscribes` | `string` | No | Explicit subscription topic override |
56
+ | `tags` | `string[]` | No | Additional tags merged with auto-derived tags |
57
+ | `compilation_feedback` | `string` | No | Natural-language feedback to steer the LLM compilation |
58
+
59
+ **Returns:** `LTApiResult<YamlWorkflow>`
60
+
61
+ **Auth:** Not required
62
+
63
+ ---
64
+
65
+ ## createDirect
66
+
67
+ Create a YAML workflow directly from user-supplied YAML content (no compilation).
68
+
69
+ ```typescript
70
+ const result = await lt.yamlWorkflows.createDirect({
71
+ name: 'my_tool',
72
+ yaml_content: yamlString,
73
+ });
74
+ ```
75
+
76
+ **Parameters:**
77
+
78
+ | Field | Type | Required | Description |
79
+ |-------|------|----------|-------------|
80
+ | `name` | `string` | Yes | Tool name (sanitized to lowercase alphanumeric, periods, dashes, underscores) |
81
+ | `description` | `string` | No | Human-readable description |
82
+ | `yaml_content` | `string` | Yes | Raw HotMesh YAML definition |
83
+ | `input_schema` | `object` | No | JSON Schema describing the workflow's input (defaults to `{}`) |
84
+ | `activity_manifest` | `any[]` | No | List of activity declarations (defaults to `[]`) |
85
+ | `tags` | `string[]` | No | Classification tags (defaults to `[]`) |
86
+ | `app_id` | `string` | No | Target namespace (defaults to `"longtail"`) |
87
+ | `graph_topic` | `string` | No | Subscription topic override (defaults to sanitized name) |
88
+
89
+ **Returns:** `LTApiResult<YamlWorkflow>`
90
+
91
+ **Auth:** Not required
92
+
93
+ ---
94
+
95
+ ## getAppIds
96
+
97
+ Retrieve all distinct app_id namespaces that have at least one YAML workflow.
98
+
99
+ ```typescript
100
+ const result = await lt.yamlWorkflows.getAppIds({});
101
+ ```
102
+
103
+ **Parameters:** None (pass `{}`).
104
+
105
+ **Returns:** `LTApiResult<{ app_ids: string[] }>`
106
+
107
+ **Auth:** Not required
108
+
109
+ ---
110
+
111
+ ## get
112
+
113
+ Fetch a single YAML workflow by its primary key.
114
+
115
+ ```typescript
116
+ const result = await lt.yamlWorkflows.get({ id: 'uuid-here' });
117
+ ```
118
+
119
+ **Parameters:**
120
+
121
+ | Field | Type | Required | Description |
122
+ |-------|------|----------|-------------|
123
+ | `id` | `string` | Yes | UUID of the workflow record |
124
+
125
+ **Returns:** `LTApiResult<YamlWorkflow>`
126
+
127
+ **Auth:** Not required
128
+
129
+ ---
130
+
131
+ ## update
132
+
133
+ Partially update a YAML workflow record.
134
+
135
+ ```typescript
136
+ const result = await lt.yamlWorkflows.update({ id: 'uuid-here', name: 'new_name', tags: ['updated'] });
137
+ ```
138
+
139
+ **Parameters:**
140
+
141
+ | Field | Type | Required | Description |
142
+ |-------|------|----------|-------------|
143
+ | `id` | `string` | Yes | UUID of the workflow to update |
144
+ | `[key]` | `any` | No | Any mutable workflow field (name, description, yaml_content, tags, etc.) |
145
+
146
+ **Returns:** `LTApiResult<YamlWorkflow>`
147
+
148
+ **Auth:** Not required
149
+
150
+ ---
151
+
152
+ ## regenerate
153
+
154
+ Re-compile an existing YAML workflow from its original execution trace.
155
+
156
+ ```typescript
157
+ const result = await lt.yamlWorkflows.regenerate({
158
+ id: 'uuid-here',
159
+ compilation_feedback: 'Add error handling for the upload step',
160
+ });
161
+ ```
162
+
163
+ **Parameters:**
164
+
165
+ | Field | Type | Required | Description |
166
+ |-------|------|----------|-------------|
167
+ | `id` | `string` | Yes | UUID of the workflow to regenerate |
168
+ | `task_queue` | `string` | No | Override the task queue (otherwise resolved from source task) |
169
+ | `compilation_feedback` | `string` | No | Natural-language feedback to steer the re-compilation |
170
+
171
+ **Returns:** `LTApiResult<YamlWorkflow>`
172
+
173
+ **Auth:** Not required
174
+
175
+ ---
176
+
177
+ ## delete
178
+
179
+ Permanently delete a YAML workflow record. Only draft or archived workflows can be deleted.
180
+
181
+ ```typescript
182
+ const result = await lt.yamlWorkflows.delete({ id: 'uuid-here' });
183
+ ```
184
+
185
+ **Parameters:**
186
+
187
+ | Field | Type | Required | Description |
188
+ |-------|------|----------|-------------|
189
+ | `id` | `string` | Yes | UUID of the workflow to delete |
190
+
191
+ **Returns:** `LTApiResult<{ deleted: true }>`
192
+
193
+ **Auth:** Not required
194
+
195
+ ---
196
+
197
+ ## deploy
198
+
199
+ Deploy a YAML workflow and all sibling workflows sharing its app_id namespace.
200
+
201
+ ```typescript
202
+ const result = await lt.yamlWorkflows.deploy({ id: 'uuid-here' });
203
+ ```
204
+
205
+ **Parameters:**
206
+
207
+ | Field | Type | Required | Description |
208
+ |-------|------|----------|-------------|
209
+ | `id` | `string` | Yes | UUID of the workflow to deploy |
210
+
211
+ **Returns:** `LTApiResult<YamlWorkflow>`
212
+
213
+ **Auth:** Not required
214
+
215
+ ---
216
+
217
+ ## activate
218
+
219
+ Activate a previously deployed YAML workflow and its app_id siblings.
220
+
221
+ ```typescript
222
+ const result = await lt.yamlWorkflows.activate({ id: 'uuid-here' });
223
+ ```
224
+
225
+ **Parameters:**
226
+
227
+ | Field | Type | Required | Description |
228
+ |-------|------|----------|-------------|
229
+ | `id` | `string` | Yes | UUID of the workflow to activate |
230
+
231
+ **Returns:** `LTApiResult<YamlWorkflow>`
232
+
233
+ **Auth:** Not required
234
+
235
+ ---
236
+
237
+ ## invoke
238
+
239
+ Invoke an active YAML workflow, executing its DAG pipeline.
240
+
241
+ ```typescript
242
+ const result = await lt.yamlWorkflows.invoke({
243
+ id: 'uuid-here',
244
+ data: { url: 'https://example.com' },
245
+ sync: true,
246
+ });
247
+ ```
248
+
249
+ **Parameters:**
250
+
251
+ | Field | Type | Required | Description |
252
+ |-------|------|----------|-------------|
253
+ | `id` | `string` | Yes | UUID of the workflow to invoke |
254
+ | `data` | `any` | No | Input payload passed to the workflow's entry point |
255
+ | `sync` | `boolean` | No | When true, block until the workflow completes and return its output |
256
+ | `timeout` | `number` | No | Max milliseconds to wait when `sync` is true |
257
+ | `execute_as` | `string` | No | Override identity for the execution context |
258
+
259
+ **Returns:** `LTApiResult<any>`
260
+
261
+ **Auth:** Optional (userId forwarded to invoke service when provided)
262
+
263
+ ---
264
+
265
+ ## archive
266
+
267
+ Archive a YAML workflow, removing it from active service.
268
+
269
+ ```typescript
270
+ const result = await lt.yamlWorkflows.archive({ id: 'uuid-here' });
271
+ ```
272
+
273
+ **Parameters:**
274
+
275
+ | Field | Type | Required | Description |
276
+ |-------|------|----------|-------------|
277
+ | `id` | `string` | Yes | UUID of the workflow to archive |
278
+
279
+ **Returns:** `LTApiResult<YamlWorkflow>`
280
+
281
+ **Auth:** Not required
282
+
283
+ ---
284
+
285
+ ## getVersionHistory
286
+
287
+ Retrieve the version history for a YAML workflow.
288
+
289
+ ```typescript
290
+ const result = await lt.yamlWorkflows.getVersionHistory({ id: 'uuid-here', limit: 10 });
291
+ ```
292
+
293
+ **Parameters:**
294
+
295
+ | Field | Type | Required | Description |
296
+ |-------|------|----------|-------------|
297
+ | `id` | `string` | Yes | UUID of the workflow |
298
+ | `limit` | `number` | No | Max versions to return (default 20) |
299
+ | `offset` | `number` | No | Pagination offset (default 0) |
300
+
301
+ **Returns:** `LTApiResult<VersionSnapshot[]>`
302
+
303
+ **Auth:** Not required
304
+
305
+ ---
306
+
307
+ ## getVersionSnapshot
308
+
309
+ Retrieve a specific version snapshot of a YAML workflow.
310
+
311
+ ```typescript
312
+ const result = await lt.yamlWorkflows.getVersionSnapshot({ id: 'uuid-here', version: 3 });
313
+ ```
314
+
315
+ **Parameters:**
316
+
317
+ | Field | Type | Required | Description |
318
+ |-------|------|----------|-------------|
319
+ | `id` | `string` | Yes | UUID of the workflow |
320
+ | `version` | `number` | Yes | 1-based version number to retrieve |
321
+
322
+ **Returns:** `LTApiResult<VersionSnapshot>`
323
+
324
+ **Auth:** Not required
325
+
326
+ ---
327
+
328
+ ## getYamlContent
329
+
330
+ Retrieve the raw YAML content for a workflow, optionally at a specific version.
331
+
332
+ ```typescript
333
+ const result = await lt.yamlWorkflows.getYamlContent({ id: 'uuid-here' });
334
+ const result = await lt.yamlWorkflows.getYamlContent({ id: 'uuid-here', version: 2 });
335
+ ```
336
+
337
+ **Parameters:**
338
+
339
+ | Field | Type | Required | Description |
340
+ |-------|------|----------|-------------|
341
+ | `id` | `string` | Yes | UUID of the workflow |
342
+ | `version` | `number` | No | Version number; when omitted, returns the current content |
343
+
344
+ **Returns:** `LTApiResult<string>`
345
+
346
+ **Auth:** Not required
347
+
348
+ ---
349
+
350
+ ## setCronSchedule
351
+
352
+ Set or update the cron schedule for a YAML workflow.
353
+
354
+ ```typescript
355
+ const result = await lt.yamlWorkflows.setCronSchedule({
356
+ id: 'uuid-here',
357
+ cron_schedule: '0 * * * *',
358
+ });
359
+ ```
360
+
361
+ **Parameters:**
362
+
363
+ | Field | Type | Required | Description |
364
+ |-------|------|----------|-------------|
365
+ | `id` | `string` | Yes | UUID of the workflow to schedule |
366
+ | `cron_schedule` | `string` | Yes | Cron expression (e.g. `"0 * * * *"`) |
367
+ | `cron_envelope` | `any` | No | Payload passed to each scheduled invocation |
368
+ | `execute_as` | `string` | No | Identity override for scheduled executions |
369
+
370
+ **Returns:** `LTApiResult<YamlWorkflow>`
371
+
372
+ **Auth:** Not required
373
+
374
+ ---
375
+
376
+ ## clearCronSchedule
377
+
378
+ Remove the cron schedule from a YAML workflow.
379
+
380
+ ```typescript
381
+ const result = await lt.yamlWorkflows.clearCronSchedule({ id: 'uuid-here' });
382
+ ```
383
+
384
+ **Parameters:**
385
+
386
+ | Field | Type | Required | Description |
387
+ |-------|------|----------|-------------|
388
+ | `id` | `string` | Yes | UUID of the workflow to unschedule |
389
+
390
+ **Returns:** `LTApiResult<YamlWorkflow>`
391
+
392
+ **Auth:** Not required
393
+
394
+ ---
395
+
396
+ ## getCronStatus
397
+
398
+ List all YAML workflows that have a cron schedule, with their live timer status.
399
+
400
+ ```typescript
401
+ const result = await lt.yamlWorkflows.getCronStatus({});
402
+ ```
403
+
404
+ **Parameters:** None (pass `{}`).
405
+
406
+ **Returns:** `LTApiResult<{ schedules: Array<{ id, name, graph_topic, app_id, cron_schedule, execute_as, active }> }>`
407
+
408
+ **Auth:** Not required
package/docs/events.md CHANGED
@@ -133,6 +133,34 @@ await eventRegistry.connect();
133
133
 
134
134
  On disconnect, the adapter calls `drain()` on the NATS connection, ensuring in-flight publishes complete before closing.
135
135
 
136
+ ## Callback Adapter
137
+
138
+ `CallbackEventAdapter` delivers events via registered callbacks. Use it when Long Tail runs as an embedded package and you want event subscriptions without socket.io or NATS.
139
+
140
+ ```typescript
141
+ import { eventRegistry, CallbackEventAdapter } from '@hotmeshio/long-tail';
142
+
143
+ const adapter = new CallbackEventAdapter();
144
+ eventRegistry.register(adapter);
145
+ await adapter.connect();
146
+
147
+ // Exact match
148
+ const unsub = adapter.on('escalation.claimed', (event) => {
149
+ console.log('claimed:', event.escalationId);
150
+ });
151
+
152
+ // Category wildcard — matches all task.* events
153
+ adapter.on('task.*', (event) => { ... });
154
+
155
+ // Global wildcard
156
+ adapter.on('*', (event) => { ... });
157
+
158
+ // Unsubscribe
159
+ unsub();
160
+ ```
161
+
162
+ The adapter is registered automatically by `start()`. If you use `createClient()`, the SDK exposes it as `lt.events.on()` — see the [SDK guide](sdk.md) for details.
163
+
136
164
  ## In-Memory Adapter
137
165
 
138
166
  `InMemoryEventAdapter` captures events in an array. It exists for testing.