@hotmeshio/long-tail 0.1.6 → 0.1.7

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 (335) hide show
  1. package/README.md +44 -4
  2. package/build/api/auth.d.ts +5 -0
  3. package/build/api/auth.js +42 -0
  4. package/build/api/bot-accounts.d.ts +50 -0
  5. package/build/api/bot-accounts.js +215 -0
  6. package/build/api/controlplane.d.ts +20 -0
  7. package/build/api/controlplane.js +110 -0
  8. package/build/api/dba.d.ts +15 -0
  9. package/build/api/dba.js +68 -0
  10. package/build/api/escalations.d.ts +70 -0
  11. package/build/api/escalations.js +656 -0
  12. package/build/api/exports.d.ts +32 -0
  13. package/build/api/exports.js +146 -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 +29 -0
  17. package/build/api/insight.js +90 -0
  18. package/build/api/maintenance.d.ts +7 -0
  19. package/build/api/maintenance.js +28 -0
  20. package/build/api/mcp-runs.d.ts +16 -0
  21. package/build/api/mcp-runs.js +62 -0
  22. package/build/api/mcp.d.ts +52 -0
  23. package/build/api/mcp.js +212 -0
  24. package/build/api/namespaces.d.ts +7 -0
  25. package/build/{routes/escalations/helpers.js → api/namespaces.js} +24 -12
  26. package/build/api/roles.d.ts +25 -0
  27. package/build/api/roles.js +159 -0
  28. package/build/api/settings.d.ts +2 -0
  29. package/build/api/settings.js +35 -0
  30. package/build/api/tasks.d.ts +27 -0
  31. package/build/api/tasks.js +96 -0
  32. package/build/api/users.d.ts +44 -0
  33. package/build/api/users.js +162 -0
  34. package/build/api/workflow-sets.d.ts +26 -0
  35. package/build/api/workflow-sets.js +119 -0
  36. package/build/api/workflows.d.ts +48 -0
  37. package/build/api/workflows.js +298 -0
  38. package/build/api/yaml-workflows.d.ts +87 -0
  39. package/build/api/yaml-workflows.js +556 -0
  40. package/build/index.d.ts +4 -0
  41. package/build/index.js +6 -1
  42. package/build/lib/db/schemas/004_workflow_sets.sql +29 -0
  43. package/build/lib/db/schemas/005_unique_graph_topic.sql +7 -0
  44. package/build/lib/db/schemas/011_system_workflow_configs.sql +7 -0
  45. package/build/lib/events/callback.d.ts +41 -0
  46. package/build/lib/events/callback.js +98 -0
  47. package/build/modules/config.js +1 -1
  48. package/build/routes/auth.js +37 -36
  49. package/build/routes/bot-accounts.js +34 -164
  50. package/build/routes/controlplane.js +20 -60
  51. package/build/routes/dba.js +18 -28
  52. package/build/routes/escalations/bulk.js +17 -192
  53. package/build/routes/escalations/list.js +29 -75
  54. package/build/routes/escalations/resolve.js +3 -193
  55. package/build/routes/escalations/single.js +13 -122
  56. package/build/routes/exports.js +44 -95
  57. package/build/routes/index.js +2 -0
  58. package/build/routes/insight.js +46 -88
  59. package/build/routes/maintenance.js +41 -17
  60. package/build/routes/mcp-runs.js +52 -60
  61. package/build/routes/mcp.js +49 -177
  62. package/build/routes/namespaces.js +9 -20
  63. package/build/routes/roles.js +23 -97
  64. package/build/routes/settings.js +37 -25
  65. package/build/routes/tasks.js +28 -64
  66. package/build/routes/users.js +24 -113
  67. package/build/routes/workflow-sets.d.ts +2 -0
  68. package/build/routes/workflow-sets.js +98 -0
  69. package/build/routes/workflows/config.js +23 -57
  70. package/build/routes/workflows/discovery.js +11 -85
  71. package/build/routes/workflows/invocation.js +16 -84
  72. package/build/routes/yaml-workflows/cron.js +12 -61
  73. package/build/routes/yaml-workflows/crud.js +30 -223
  74. package/build/routes/yaml-workflows/deployment.js +15 -115
  75. package/build/routes/yaml-workflows/versions.js +20 -58
  76. package/build/sdk/index.d.ts +327 -0
  77. package/build/sdk/index.js +298 -0
  78. package/build/services/controlplane/index.d.ts +1 -2
  79. package/build/services/controlplane/index.js +3 -3
  80. package/build/services/controlplane/sql.d.ts +2 -2
  81. package/build/services/controlplane/sql.js +4 -5
  82. package/build/services/controlplane/types.d.ts +1 -0
  83. package/build/services/export/index.js +6 -1
  84. package/build/services/hotmesh-utils.js +2 -4
  85. package/build/services/insight/index.d.ts +7 -0
  86. package/build/services/insight/index.js +30 -0
  87. package/build/services/mcp/client/tools.js +13 -1
  88. package/build/services/mcp-runs/sql.js +1 -1
  89. package/build/services/workflow-sets/db.d.ts +16 -0
  90. package/build/services/workflow-sets/db.js +78 -0
  91. package/build/services/workflow-sets/index.d.ts +1 -0
  92. package/build/services/workflow-sets/index.js +11 -0
  93. package/build/services/workflow-sets/sql.d.ts +6 -0
  94. package/build/services/workflow-sets/sql.js +24 -0
  95. package/build/services/yaml-workflow/db-utils.d.ts +1 -0
  96. package/build/services/yaml-workflow/db-utils.js +4 -0
  97. package/build/services/yaml-workflow/db.d.ts +5 -0
  98. package/build/services/yaml-workflow/db.js +17 -0
  99. package/build/services/yaml-workflow/pipeline/build/wiring.js +14 -1
  100. package/build/services/yaml-workflow/pipeline/prompts.d.ts +1 -1
  101. package/build/services/yaml-workflow/pipeline/prompts.js +1 -1
  102. package/build/services/yaml-workflow/sql.d.ts +2 -1
  103. package/build/services/yaml-workflow/sql.js +8 -3
  104. package/build/services/yaml-workflow/types.d.ts +3 -0
  105. package/build/services/yaml-workflow/workers/callbacks.js +7 -1
  106. package/build/services/yaml-workflow/workers/register.js +7 -0
  107. package/build/start/adapters.js +4 -0
  108. package/build/system/index.js +6 -0
  109. package/build/system/mcp-servers/knowledge.js +1 -1
  110. package/build/system/seed/server-definitions.js +2 -1
  111. package/build/system/workflows/mcp-workflow-builder/activities/index.d.ts +1 -1
  112. package/build/system/workflows/mcp-workflow-builder/activities/index.js +2 -1
  113. package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.d.ts +6 -0
  114. package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.js +26 -0
  115. package/build/system/workflows/mcp-workflow-builder/index.js +26 -2
  116. package/build/system/workflows/mcp-workflow-builder/prompts.js +104 -35
  117. package/build/system/workflows/mcp-workflow-planner/activities/analyze.d.ts +11 -0
  118. package/build/system/workflows/mcp-workflow-planner/activities/analyze.js +36 -0
  119. package/build/system/workflows/mcp-workflow-planner/activities/index.d.ts +3 -0
  120. package/build/system/workflows/mcp-workflow-planner/activities/index.js +12 -0
  121. package/build/system/workflows/mcp-workflow-planner/activities/persist.d.ts +19 -0
  122. package/build/system/workflows/mcp-workflow-planner/activities/persist.js +55 -0
  123. package/build/system/workflows/mcp-workflow-planner/activities/plan.d.ts +10 -0
  124. package/build/system/workflows/mcp-workflow-planner/activities/plan.js +43 -0
  125. package/build/system/workflows/mcp-workflow-planner/index.d.ts +7 -0
  126. package/build/system/workflows/mcp-workflow-planner/index.js +152 -0
  127. package/build/system/workflows/mcp-workflow-planner/prompts.d.ts +7 -0
  128. package/build/system/workflows/mcp-workflow-planner/prompts.js +77 -0
  129. package/build/tsconfig.tsbuildinfo +1 -1
  130. package/build/types/index.d.ts +1 -0
  131. package/build/types/sdk.d.ts +27 -0
  132. package/build/types/sdk.js +2 -0
  133. package/build/types/workflow-set.d.ts +44 -0
  134. package/build/types/workflow-set.js +5 -0
  135. package/dashboard/dist/assets/{AdminDashboard-BXkKGkb5.js → AdminDashboard-DRjkRSjJ.js} +2 -2
  136. package/dashboard/dist/assets/{AdminDashboard-BXkKGkb5.js.map → AdminDashboard-DRjkRSjJ.js.map} +1 -1
  137. package/dashboard/dist/assets/{AvailableEscalationsPage-DcH592mc.js → AvailableEscalationsPage-CnivX4Tz.js} +2 -2
  138. package/dashboard/dist/assets/{AvailableEscalationsPage-DcH592mc.js.map → AvailableEscalationsPage-CnivX4Tz.js.map} +1 -1
  139. package/dashboard/dist/assets/BotPicker-DwwaBhTH.js +2 -0
  140. package/dashboard/dist/assets/{BotPicker-A6LtzyuO.js.map → BotPicker-DwwaBhTH.js.map} +1 -1
  141. package/dashboard/dist/assets/{CollapsibleSection-C7nL2_mv.js → CollapsibleSection-DQpaVA0M.js} +2 -2
  142. package/dashboard/dist/assets/{CollapsibleSection-C7nL2_mv.js.map → CollapsibleSection-DQpaVA0M.js.map} +1 -1
  143. package/dashboard/dist/assets/{ConfirmDeleteModal-CWFwJrSl.js → ConfirmDeleteModal-B7JoDNvt.js} +2 -2
  144. package/dashboard/dist/assets/{ConfirmDeleteModal-CWFwJrSl.js.map → ConfirmDeleteModal-B7JoDNvt.js.map} +1 -1
  145. package/dashboard/dist/assets/{CopyableId-DbZ5c3jh.js → CopyableId-AqoZayBG.js} +2 -2
  146. package/dashboard/dist/assets/{CopyableId-DbZ5c3jh.js.map → CopyableId-AqoZayBG.js.map} +1 -1
  147. package/dashboard/dist/assets/{CredentialsPage-ClWkmLPu.js → CredentialsPage-qGw1kQzi.js} +2 -2
  148. package/dashboard/dist/assets/{CredentialsPage-ClWkmLPu.js.map → CredentialsPage-qGw1kQzi.js.map} +1 -1
  149. package/dashboard/dist/assets/{CustomDurationPicker-CtH2hReF.js → CustomDurationPicker-D1HUQcd0.js} +2 -2
  150. package/dashboard/dist/assets/{CustomDurationPicker-CtH2hReF.js.map → CustomDurationPicker-D1HUQcd0.js.map} +1 -1
  151. package/dashboard/dist/assets/{DataTable-CM5ZcpPi.js → DataTable-DKvSKoVG.js} +2 -2
  152. package/dashboard/dist/assets/{DataTable-CM5ZcpPi.js.map → DataTable-DKvSKoVG.js.map} +1 -1
  153. package/dashboard/dist/assets/{ElapsedCell-CwqavyeC.js → ElapsedCell-B0yrReGQ.js} +2 -2
  154. package/dashboard/dist/assets/{ElapsedCell-CwqavyeC.js.map → ElapsedCell-B0yrReGQ.js.map} +1 -1
  155. package/dashboard/dist/assets/{EmptyState-BBn78pmm.js → EmptyState-X0fIzYID.js} +2 -2
  156. package/dashboard/dist/assets/{EmptyState-BBn78pmm.js.map → EmptyState-X0fIzYID.js.map} +1 -1
  157. package/dashboard/dist/assets/{EscalationsOverview-BcJ2E3X7.js → EscalationsOverview-BQAT9W7r.js} +2 -2
  158. package/dashboard/dist/assets/{EscalationsOverview-BcJ2E3X7.js.map → EscalationsOverview-BQAT9W7r.js.map} +1 -1
  159. package/dashboard/dist/assets/{EventTable-C1en_KZ0.js → EventTable-CX1KNLhZ.js} +2 -2
  160. package/dashboard/dist/assets/{EventTable-C1en_KZ0.js.map → EventTable-CX1KNLhZ.js.map} +1 -1
  161. package/dashboard/dist/assets/{FilterBar-CZTlrLQT.js → FilterBar-DMTvuQy-.js} +2 -2
  162. package/dashboard/dist/assets/{FilterBar-CZTlrLQT.js.map → FilterBar-DMTvuQy-.js.map} +1 -1
  163. package/dashboard/dist/assets/{ListToolbar-Cdbsapig.js → ListToolbar-DTOSxoEy.js} +2 -2
  164. package/dashboard/dist/assets/{ListToolbar-Cdbsapig.js.map → ListToolbar-DTOSxoEy.js.map} +1 -1
  165. package/dashboard/dist/assets/{McpOverview-CSpEJxKa.js → McpOverview-BaKTIWrG.js} +2 -2
  166. package/dashboard/dist/assets/{McpOverview-CSpEJxKa.js.map → McpOverview-BaKTIWrG.js.map} +1 -1
  167. package/dashboard/dist/assets/McpQueryDetailPage-CC08T5k8.js +5 -0
  168. package/dashboard/dist/assets/McpQueryDetailPage-CC08T5k8.js.map +1 -0
  169. package/dashboard/dist/assets/McpQueryPage-CVfF9dYg.js +2 -0
  170. package/dashboard/dist/assets/McpQueryPage-CVfF9dYg.js.map +1 -0
  171. package/dashboard/dist/assets/{McpRunDetailPage-9xdxgG4d.js → McpRunDetailPage-CKs1RWeV.js} +2 -2
  172. package/dashboard/dist/assets/{McpRunDetailPage-9xdxgG4d.js.map → McpRunDetailPage-CKs1RWeV.js.map} +1 -1
  173. package/dashboard/dist/assets/{McpRunsPage-wWLqHsd4.js → McpRunsPage-CcPD_tY1.js} +2 -2
  174. package/dashboard/dist/assets/{McpRunsPage-wWLqHsd4.js.map → McpRunsPage-CcPD_tY1.js.map} +1 -1
  175. package/dashboard/dist/assets/{Modal-kB_P7ZOr.js → Modal-_2AbWxJT.js} +2 -2
  176. package/dashboard/dist/assets/{Modal-kB_P7ZOr.js.map → Modal-_2AbWxJT.js.map} +1 -1
  177. package/dashboard/dist/assets/OperatorDashboard-BGiRaRDr.js +2 -0
  178. package/dashboard/dist/assets/{OperatorDashboard-jc0vrgDI.js.map → OperatorDashboard-BGiRaRDr.js.map} +1 -1
  179. package/dashboard/dist/assets/{PageHeader-NkOeBR05.js → PageHeader-DVr5Qyzm.js} +2 -2
  180. package/dashboard/dist/assets/{PageHeader-NkOeBR05.js.map → PageHeader-DVr5Qyzm.js.map} +1 -1
  181. package/dashboard/dist/assets/{PageHeaderWithStats-ywNhrmFK.js → PageHeaderWithStats-D0KRASML.js} +2 -2
  182. package/dashboard/dist/assets/{PageHeaderWithStats-ywNhrmFK.js.map → PageHeaderWithStats-D0KRASML.js.map} +1 -1
  183. package/dashboard/dist/assets/{PriorityBadge-B2MQbSxy.js → PriorityBadge-Bx2559OU.js} +2 -2
  184. package/dashboard/dist/assets/{PriorityBadge-B2MQbSxy.js.map → PriorityBadge-Bx2559OU.js.map} +1 -1
  185. package/dashboard/dist/assets/{ProcessDetailPage-B7z7IdqE.js → ProcessDetailPage-69I--sry.js} +2 -2
  186. package/dashboard/dist/assets/{ProcessDetailPage-B7z7IdqE.js.map → ProcessDetailPage-69I--sry.js.map} +1 -1
  187. package/dashboard/dist/assets/{ProcessesListPage-C-uHadO6.js → ProcessesListPage-BDpUbua2.js} +2 -2
  188. package/dashboard/dist/assets/{ProcessesListPage-C-uHadO6.js.map → ProcessesListPage-BDpUbua2.js.map} +1 -1
  189. package/dashboard/dist/assets/{RolePill-C1dgC-fK.js → RolePill-CcAqEaSt.js} +2 -2
  190. package/dashboard/dist/assets/{RolePill-C1dgC-fK.js.map → RolePill-CcAqEaSt.js.map} +1 -1
  191. package/dashboard/dist/assets/{RolesPage-BSxrD1vm.js → RolesPage-Cl23Hjet.js} +2 -2
  192. package/dashboard/dist/assets/{RolesPage-BSxrD1vm.js.map → RolesPage-Cl23Hjet.js.map} +1 -1
  193. package/dashboard/dist/assets/{RowActions-lYaHGI-v.js → RowActions-B4mqIt3Z.js} +2 -2
  194. package/dashboard/dist/assets/{RowActions-lYaHGI-v.js.map → RowActions-B4mqIt3Z.js.map} +1 -1
  195. package/dashboard/dist/assets/{StatCard-v2TiITVr.js → StatCard-Cz_2OjAZ.js} +2 -2
  196. package/dashboard/dist/assets/{StatCard-v2TiITVr.js.map → StatCard-Cz_2OjAZ.js.map} +1 -1
  197. package/dashboard/dist/assets/{StatusBadge-DWlxevgG.js → StatusBadge-Wi2FJZsn.js} +2 -2
  198. package/dashboard/dist/assets/{StatusBadge-DWlxevgG.js.map → StatusBadge-Wi2FJZsn.js.map} +1 -1
  199. package/dashboard/dist/assets/{StepIndicator-CRM4ft28.js → StepIndicator-PW5NRDMb.js} +2 -2
  200. package/dashboard/dist/assets/{StepIndicator-CRM4ft28.js.map → StepIndicator-PW5NRDMb.js.map} +1 -1
  201. package/dashboard/dist/assets/{StickyPagination-CF0EToEU.js → StickyPagination-Bl2Uzz65.js} +2 -2
  202. package/dashboard/dist/assets/{StickyPagination-CF0EToEU.js.map → StickyPagination-Bl2Uzz65.js.map} +1 -1
  203. package/dashboard/dist/assets/{SwimlaneTimeline-CNlj7fgg.js → SwimlaneTimeline-CUPqMd0z.js} +2 -2
  204. package/dashboard/dist/assets/{SwimlaneTimeline-CNlj7fgg.js.map → SwimlaneTimeline-CUPqMd0z.js.map} +1 -1
  205. package/dashboard/dist/assets/{TagInput-CH8qMGhC.js → TagInput-BLtf86Ly.js} +2 -2
  206. package/dashboard/dist/assets/{TagInput-CH8qMGhC.js.map → TagInput-BLtf86Ly.js.map} +1 -1
  207. package/dashboard/dist/assets/{TaskDetailPage-CdWo-6mu.js → TaskDetailPage-BXJFX74D.js} +2 -2
  208. package/dashboard/dist/assets/{TaskDetailPage-CdWo-6mu.js.map → TaskDetailPage-BXJFX74D.js.map} +1 -1
  209. package/dashboard/dist/assets/{TaskQueuePill-BPj4ogVG.js → TaskQueuePill-CWYj3xKe.js} +2 -2
  210. package/dashboard/dist/assets/{TaskQueuePill-BPj4ogVG.js.map → TaskQueuePill-CWYj3xKe.js.map} +1 -1
  211. package/dashboard/dist/assets/{TasksListPage-CtRkMpKU.js → TasksListPage-C3cX94Mw.js} +2 -2
  212. package/dashboard/dist/assets/{TasksListPage-CtRkMpKU.js.map → TasksListPage-C3cX94Mw.js.map} +1 -1
  213. package/dashboard/dist/assets/{TimeAgo-Di1a3X5P.js → TimeAgo-B_5yDDHV.js} +2 -2
  214. package/dashboard/dist/assets/{TimeAgo-Di1a3X5P.js.map → TimeAgo-B_5yDDHV.js.map} +1 -1
  215. package/dashboard/dist/assets/{TimestampCell-CqrXql-S.js → TimestampCell-DRX724uU.js} +2 -2
  216. package/dashboard/dist/assets/{TimestampCell-CqrXql-S.js.map → TimestampCell-DRX724uU.js.map} +1 -1
  217. package/dashboard/dist/assets/{UserName-BUFYCnRa.js → UserName-Ca8FA469.js} +2 -2
  218. package/dashboard/dist/assets/{UserName-BUFYCnRa.js.map → UserName-Ca8FA469.js.map} +1 -1
  219. package/dashboard/dist/assets/{WorkflowExecutionPage-25iusMml.js → WorkflowExecutionPage-BBYWEV2P.js} +2 -2
  220. package/dashboard/dist/assets/{WorkflowExecutionPage-25iusMml.js.map → WorkflowExecutionPage-BBYWEV2P.js.map} +1 -1
  221. package/dashboard/dist/assets/WorkflowPill-BXifAuLi.js +2 -0
  222. package/dashboard/dist/assets/{WorkflowPill-DPKOcbf4.js.map → WorkflowPill-BXifAuLi.js.map} +1 -1
  223. package/dashboard/dist/assets/{WorkflowsDashboard-BgxslssH.js → WorkflowsDashboard-Drl3juz9.js} +2 -2
  224. package/dashboard/dist/assets/{WorkflowsDashboard-BgxslssH.js.map → WorkflowsDashboard-Drl3juz9.js.map} +1 -1
  225. package/dashboard/dist/assets/{WorkflowsOverview-Doe5L-Re.js → WorkflowsOverview-03IRrDLg.js} +2 -2
  226. package/dashboard/dist/assets/{WorkflowsOverview-Doe5L-Re.js.map → WorkflowsOverview-03IRrDLg.js.map} +1 -1
  227. package/dashboard/dist/assets/YamlWorkflowsPage-DC2cLxVi.js +2 -0
  228. package/dashboard/dist/assets/YamlWorkflowsPage-DC2cLxVi.js.map +1 -0
  229. package/dashboard/dist/assets/{bots-Bi2_O1Ts.js → bots-DZEXcgiJ.js} +2 -2
  230. package/dashboard/dist/assets/{bots-Bi2_O1Ts.js.map → bots-DZEXcgiJ.js.map} +1 -1
  231. package/dashboard/dist/assets/{escalation-Ck1KlLkT.js → escalation-Cw48lNaF.js} +2 -2
  232. package/dashboard/dist/assets/{escalation-Ck1KlLkT.js.map → escalation-Cw48lNaF.js.map} +1 -1
  233. package/dashboard/dist/assets/{escalation-columns-ohDsj2eJ.js → escalation-columns-NINpo3qf.js} +2 -2
  234. package/dashboard/dist/assets/{escalation-columns-ohDsj2eJ.js.map → escalation-columns-NINpo3qf.js.map} +1 -1
  235. package/dashboard/dist/assets/helpers-Cuu3xKfr.js +2 -0
  236. package/dashboard/dist/assets/helpers-Cuu3xKfr.js.map +1 -0
  237. package/dashboard/dist/assets/{helpers-BoD2SgUY.js → helpers-fk_qr729.js} +2 -2
  238. package/dashboard/dist/assets/{helpers-BoD2SgUY.js.map → helpers-fk_qr729.js.map} +1 -1
  239. package/dashboard/dist/assets/index-B98ipWxE.js +2 -0
  240. package/dashboard/dist/assets/{index-D7zYZOnH.js.map → index-B98ipWxE.js.map} +1 -1
  241. package/dashboard/dist/assets/{index-BEtLIsML.js → index-BIG3KooI.js} +2 -2
  242. package/dashboard/dist/assets/{index-BEtLIsML.js.map → index-BIG3KooI.js.map} +1 -1
  243. package/dashboard/dist/assets/{index-DYyLF-Qb.js → index-BwN3KP_L.js} +5 -5
  244. package/dashboard/dist/assets/{index-DYyLF-Qb.js.map → index-BwN3KP_L.js.map} +1 -1
  245. package/dashboard/dist/assets/index-Bxe8h1x4.js +17 -0
  246. package/dashboard/dist/assets/{index-DOkHXmyf.js.map → index-Bxe8h1x4.js.map} +1 -1
  247. package/dashboard/dist/assets/{index-FuohTtaM.js → index-CNI7k7oB.js} +3 -3
  248. package/dashboard/dist/assets/{index-FuohTtaM.js.map → index-CNI7k7oB.js.map} +1 -1
  249. package/dashboard/dist/assets/{index-CZrJ09p-.js → index-CORHB0WC.js} +2 -2
  250. package/dashboard/dist/assets/{index-CZrJ09p-.js.map → index-CORHB0WC.js.map} +1 -1
  251. package/dashboard/dist/assets/{index-PyCTS05D.css → index-DcIKW-cZ.css} +1 -1
  252. package/dashboard/dist/assets/{index-D3NyVADW.js → index-Dj-z-x8M.js} +2 -2
  253. package/dashboard/dist/assets/index-Dj-z-x8M.js.map +1 -0
  254. package/dashboard/dist/assets/{index-Bn2xHDr8.js → index-DwRytW9O.js} +3 -3
  255. package/dashboard/dist/assets/{index-Bn2xHDr8.js.map → index-DwRytW9O.js.map} +1 -1
  256. package/dashboard/dist/assets/index-aRvL-dXp.js +2 -0
  257. package/dashboard/dist/assets/{index-Dk2Q51o0.js.map → index-aRvL-dXp.js.map} +1 -1
  258. package/dashboard/dist/assets/index-b03HlbnH.js +2 -0
  259. package/dashboard/dist/assets/{index-BpT-6WgJ.js.map → index-b03HlbnH.js.map} +1 -1
  260. package/dashboard/dist/assets/{mcp-CJtYjA7A.js → mcp-BZoFryNc.js} +2 -2
  261. package/dashboard/dist/assets/{mcp-CJtYjA7A.js.map → mcp-BZoFryNc.js.map} +1 -1
  262. package/dashboard/dist/assets/mcp-query-wiw1kwm8.js +2 -0
  263. package/dashboard/dist/assets/mcp-query-wiw1kwm8.js.map +1 -0
  264. package/dashboard/dist/assets/{mcp-runs-DUWm9Z4V.js → mcp-runs-BaEKnf5v.js} +2 -2
  265. package/dashboard/dist/assets/{mcp-runs-DUWm9Z4V.js.map → mcp-runs-BaEKnf5v.js.map} +1 -1
  266. package/dashboard/dist/assets/{namespaces-BM5P2qmL.js → namespaces-BwnZI4_A.js} +2 -2
  267. package/dashboard/dist/assets/{namespaces-BM5P2qmL.js.map → namespaces-BwnZI4_A.js.map} +1 -1
  268. package/dashboard/dist/assets/{roles-lv0shpjJ.js → roles-Bgn1K8zU.js} +2 -2
  269. package/dashboard/dist/assets/{roles-lv0shpjJ.js.map → roles-Bgn1K8zU.js.map} +1 -1
  270. package/dashboard/dist/assets/{settings-Wlq92mRo.js → settings-CizYiutL.js} +2 -2
  271. package/dashboard/dist/assets/{settings-Wlq92mRo.js.map → settings-CizYiutL.js.map} +1 -1
  272. package/dashboard/dist/assets/{tasks-BFGm4PuE.js → tasks-Bmte_hc4.js} +2 -2
  273. package/dashboard/dist/assets/{tasks-BFGm4PuE.js.map → tasks-Bmte_hc4.js.map} +1 -1
  274. package/dashboard/dist/assets/{useEventHooks-DIE6ue4x.js → useEventHooks-CUCxpiI2.js} +2 -2
  275. package/dashboard/dist/assets/{useEventHooks-DIE6ue4x.js.map → useEventHooks-CUCxpiI2.js.map} +1 -1
  276. package/dashboard/dist/assets/{useYamlActivityEvents-DCwSO73t.js → useYamlActivityEvents-Cum02Ej9.js} +2 -2
  277. package/dashboard/dist/assets/{useYamlActivityEvents-DCwSO73t.js.map → useYamlActivityEvents-Cum02Ej9.js.map} +1 -1
  278. package/dashboard/dist/assets/{users-tA5-K0wA.js → users-NSDgTt-z.js} +2 -2
  279. package/dashboard/dist/assets/{users-tA5-K0wA.js.map → users-NSDgTt-z.js.map} +1 -1
  280. package/dashboard/dist/assets/{vendor-icons-BiIug1SK.js → vendor-icons-D1DdudfH.js} +93 -73
  281. package/dashboard/dist/assets/vendor-icons-D1DdudfH.js.map +1 -0
  282. package/dashboard/dist/assets/{workflows-CfLc15Wr.js → workflows-k0XRdGXx.js} +2 -2
  283. package/dashboard/dist/assets/{workflows-CfLc15Wr.js.map → workflows-k0XRdGXx.js.map} +1 -1
  284. package/dashboard/dist/assets/yaml-workflows-DAre8I78.js +2 -0
  285. package/dashboard/dist/assets/yaml-workflows-DAre8I78.js.map +1 -0
  286. package/dashboard/dist/index.html +3 -3
  287. package/docs/epic-integration.md +224 -0
  288. package/docs/events.md +28 -0
  289. package/docs/sdk.md +177 -0
  290. package/docs/story.md +157 -0
  291. package/docs/workflow-builder.md +371 -0
  292. package/package.json +3 -2
  293. package/build/routes/escalations/helpers.d.ts +0 -5
  294. package/build/routes/resolve.d.ts +0 -9
  295. package/build/routes/resolve.js +0 -19
  296. package/build/routes/yaml-workflows/helpers.d.ts +0 -2
  297. package/build/routes/yaml-workflows/helpers.js +0 -8
  298. package/dashboard/dist/assets/BotPicker-A6LtzyuO.js +0 -2
  299. package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js +0 -5
  300. package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js.map +0 -1
  301. package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js +0 -2
  302. package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js.map +0 -1
  303. package/dashboard/dist/assets/OperatorDashboard-jc0vrgDI.js +0 -2
  304. package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js +0 -2
  305. package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js.map +0 -1
  306. package/dashboard/dist/assets/WorkflowPill-DPKOcbf4.js +0 -2
  307. package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js +0 -2
  308. package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js.map +0 -1
  309. package/dashboard/dist/assets/index-BpT-6WgJ.js +0 -2
  310. package/dashboard/dist/assets/index-D3NyVADW.js.map +0 -1
  311. package/dashboard/dist/assets/index-D7zYZOnH.js +0 -2
  312. package/dashboard/dist/assets/index-DOkHXmyf.js +0 -17
  313. package/dashboard/dist/assets/index-Dk2Q51o0.js +0 -2
  314. package/dashboard/dist/assets/mcp-query-jQJQrs_7.js +0 -2
  315. package/dashboard/dist/assets/mcp-query-jQJQrs_7.js.map +0 -1
  316. package/dashboard/dist/assets/vendor-icons-BiIug1SK.js.map +0 -1
  317. package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js +0 -2
  318. package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js.map +0 -1
  319. package/docs/img/01-login.png +0 -0
  320. package/docs/img/02-dashboard-home.png +0 -0
  321. package/docs/img/03-processes-list.png +0 -0
  322. package/docs/img/04-escalations-list.png +0 -0
  323. package/docs/img/05-mcp-servers.png +0 -0
  324. package/docs/img/06-mcp-pipelines.png +0 -0
  325. package/docs/img/07-workflows-list.png +0 -0
  326. package/docs/img/compilation/01-query-submit.png +0 -0
  327. package/docs/img/compilation/02-mcp-servers.png +0 -0
  328. package/docs/img/compilation/03-query-completed.png +0 -0
  329. package/docs/img/compilation/04-wizard-original.png +0 -0
  330. package/docs/img/compilation/05-wizard-timeline.png +0 -0
  331. package/docs/img/compilation/06-wizard-profile.png +0 -0
  332. package/docs/img/compilation/07-wizard-deploy.png +0 -0
  333. package/docs/img/compilation/08-wizard-test-modal.png +0 -0
  334. package/docs/img/compilation/09-wizard-test-compare.png +0 -0
  335. package/docs/img/compilation/10-wizard-verify.png +0 -0
@@ -34,11 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const express_1 = require("express");
37
- const yamlDb = __importStar(require("../../services/yaml-workflow/db"));
38
- const yamlDeployer = __importStar(require("../../services/yaml-workflow/deployer"));
39
- const yamlWorkers = __importStar(require("../../services/yaml-workflow/workers"));
40
- const invoke_1 = require("../../services/yaml-workflow/invoke");
41
- const helpers_1 = require("./helpers");
37
+ const api = __importStar(require("../../api/yaml-workflows"));
42
38
  const router = (0, express_1.Router)();
43
39
  /**
44
40
  * POST /api/yaml-workflows/:id/deploy
@@ -46,77 +42,16 @@ const router = (0, express_1.Router)();
46
42
  * Bumps the version and deploys all graphs together.
47
43
  */
48
44
  router.post('/:id/deploy', async (req, res) => {
49
- try {
50
- const wf = await yamlDb.getYamlWorkflow(req.params.id);
51
- if (!wf) {
52
- res.status(404).json({ error: 'YAML workflow not found' });
53
- return;
54
- }
55
- // Use the version declared in the YAML (like package.json)
56
- const deployVersion = wf.app_version || '1';
57
- // Deploy + activate merged YAML for the full app_id
58
- const siblings = await yamlDb.listYamlWorkflowsByAppId(wf.app_id);
59
- await yamlDeployer.deployAppId(wf.app_id, deployVersion);
60
- // Register workers and mark all non-archived siblings as active
61
- for (const sibling of siblings) {
62
- await yamlDb.updateYamlWorkflowVersion(sibling.id, deployVersion);
63
- await yamlWorkers.registerWorkersForWorkflow(sibling);
64
- if (sibling.status === 'draft' || sibling.status === 'deployed') {
65
- await yamlDb.updateYamlWorkflowStatus(sibling.id, 'active');
66
- }
67
- }
68
- // Mark content as deployed for the entire app_id
69
- await yamlDb.markAppIdContentDeployed(wf.app_id);
70
- const updated = await yamlDb.getYamlWorkflow(req.params.id);
71
- res.json(updated);
72
- }
73
- catch (err) {
74
- if ((0, helpers_1.isNotFoundError)(err)) {
75
- res.status(404).json({ error: 'YAML workflow not found' });
76
- return;
77
- }
78
- res.status(500).json({
79
- error: err.message,
80
- hint: err.message.includes('Duplicate activity id')
81
- ? 'Colliding activity IDs across workflows. A Claude Code repair was attempted — check server logs. You may need to archive conflicting workflows and recompile.'
82
- : undefined,
83
- });
84
- }
45
+ const result = await api.deployYamlWorkflow({ id: req.params.id });
46
+ res.status(result.status).json(result.data ?? { error: result.error });
85
47
  });
86
48
  /**
87
49
  * POST /api/yaml-workflows/:id/activate
88
50
  * Activate the deployed version for this workflow's app_id and register all workers.
89
51
  */
90
52
  router.post('/:id/activate', async (req, res) => {
91
- try {
92
- const wf = await yamlDb.getYamlWorkflow(req.params.id);
93
- if (!wf) {
94
- res.status(404).json({ error: 'YAML workflow not found' });
95
- return;
96
- }
97
- if (wf.status !== 'deployed' && wf.status !== 'active') {
98
- res.status(400).json({ error: 'Workflow must be deployed before activation' });
99
- return;
100
- }
101
- await yamlDeployer.activateYamlWorkflow(wf.app_id, wf.app_version);
102
- // Register workers for ALL workflows sharing this app_id
103
- const siblings = await yamlDb.listYamlWorkflowsByAppId(wf.app_id);
104
- for (const sibling of siblings) {
105
- await yamlWorkers.registerWorkersForWorkflow(sibling);
106
- if (sibling.status === 'deployed') {
107
- await yamlDb.updateYamlWorkflowStatus(sibling.id, 'active');
108
- }
109
- }
110
- const updated = await yamlDb.getYamlWorkflow(req.params.id);
111
- res.json(updated);
112
- }
113
- catch (err) {
114
- if ((0, helpers_1.isNotFoundError)(err)) {
115
- res.status(404).json({ error: 'YAML workflow not found' });
116
- return;
117
- }
118
- res.status(500).json({ error: err.message });
119
- }
53
+ const result = await api.activateYamlWorkflow({ id: req.params.id });
54
+ res.status(result.status).json(result.data ?? { error: result.error });
120
55
  });
121
56
  /**
122
57
  * POST /api/yaml-workflows/:id/invoke
@@ -124,56 +59,21 @@ router.post('/:id/activate', async (req, res) => {
124
59
  * Body: { data, sync?: boolean }
125
60
  */
126
61
  router.post('/:id/invoke', async (req, res) => {
127
- try {
128
- const wf = await yamlDb.getYamlWorkflow(req.params.id);
129
- if (!wf) {
130
- res.status(404).json({ error: 'YAML workflow not found' });
131
- return;
132
- }
133
- if (wf.status !== 'active') {
134
- res.status(400).json({ error: 'Workflow must be active to invoke' });
135
- return;
136
- }
137
- const result = await (0, invoke_1.invokeYamlWorkflow)(wf, {
138
- data: req.body.data,
139
- sync: req.body.sync,
140
- timeout: req.body.timeout,
141
- execute_as: req.body.execute_as,
142
- userId: req.auth?.userId,
143
- });
144
- res.json(result);
145
- }
146
- catch (err) {
147
- if ((0, helpers_1.isNotFoundError)(err)) {
148
- res.status(404).json({ error: 'YAML workflow not found' });
149
- return;
150
- }
151
- res.status(500).json({ error: err.message });
152
- }
62
+ const result = await api.invokeYamlWorkflow({
63
+ id: req.params.id,
64
+ data: req.body.data,
65
+ sync: req.body.sync,
66
+ timeout: req.body.timeout,
67
+ execute_as: req.body.execute_as,
68
+ }, req.auth?.userId ? { userId: req.auth.userId } : undefined);
69
+ res.status(result.status).json(result.data ?? { error: result.error });
153
70
  });
154
71
  /**
155
72
  * POST /api/yaml-workflows/:id/archive
156
73
  * Archive a YAML workflow (stops accepting new invocations).
157
74
  */
158
75
  router.post('/:id/archive', async (req, res) => {
159
- try {
160
- const wf = await yamlDb.getYamlWorkflow(req.params.id);
161
- if (!wf) {
162
- res.status(404).json({ error: 'YAML workflow not found' });
163
- return;
164
- }
165
- if (wf.status === 'active') {
166
- await yamlDeployer.stopEngine(wf.app_id);
167
- }
168
- const updated = await yamlDb.updateYamlWorkflowStatus(wf.id, 'archived');
169
- res.json(updated);
170
- }
171
- catch (err) {
172
- if ((0, helpers_1.isNotFoundError)(err)) {
173
- res.status(404).json({ error: 'YAML workflow not found' });
174
- return;
175
- }
176
- res.status(500).json({ error: err.message });
177
- }
76
+ const result = await api.archiveYamlWorkflow({ id: req.params.id });
77
+ res.status(result.status).json(result.data ?? { error: result.error });
178
78
  });
179
79
  exports.default = router;
@@ -34,83 +34,45 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const express_1 = require("express");
37
- const yamlDb = __importStar(require("../../services/yaml-workflow/db"));
38
- const helpers_1 = require("./helpers");
37
+ const api = __importStar(require("../../api/yaml-workflows"));
39
38
  const router = (0, express_1.Router)();
40
39
  /**
41
40
  * GET /api/yaml-workflows/:id/versions
42
41
  * Return version history for a YAML workflow.
43
42
  */
44
43
  router.get('/:id/versions', async (req, res) => {
45
- try {
46
- const limit = req.query.limit ? parseInt(req.query.limit, 10) : 20;
47
- const offset = req.query.offset ? parseInt(req.query.offset, 10) : 0;
48
- const result = await yamlDb.getVersionHistory(req.params.id, limit, offset);
49
- res.json(result);
50
- }
51
- catch (err) {
52
- if ((0, helpers_1.isNotFoundError)(err)) {
53
- res.status(404).json({ error: 'YAML workflow not found' });
54
- return;
55
- }
56
- res.status(500).json({ error: err.message });
57
- }
44
+ const result = await api.getVersionHistory({
45
+ id: req.params.id,
46
+ limit: req.query.limit ? parseInt(req.query.limit, 10) : undefined,
47
+ offset: req.query.offset ? parseInt(req.query.offset, 10) : undefined,
48
+ });
49
+ res.status(result.status).json(result.data ?? { error: result.error });
58
50
  });
59
51
  /**
60
52
  * GET /api/yaml-workflows/:id/versions/:version
61
53
  * Return a single version snapshot with YAML, schemas, and manifest.
62
54
  */
63
55
  router.get('/:id/versions/:version', async (req, res) => {
64
- try {
65
- const version = parseInt(req.params.version, 10);
66
- if (isNaN(version) || version < 1) {
67
- res.status(400).json({ error: 'Invalid version number' });
68
- return;
69
- }
70
- const snapshot = await yamlDb.getVersionSnapshot(req.params.id, version);
71
- if (!snapshot) {
72
- res.status(404).json({ error: `Version ${version} not found` });
73
- return;
74
- }
75
- res.json(snapshot);
76
- }
77
- catch (err) {
78
- if ((0, helpers_1.isNotFoundError)(err)) {
79
- res.status(404).json({ error: 'YAML workflow not found' });
80
- return;
81
- }
82
- res.status(500).json({ error: err.message });
83
- }
56
+ const result = await api.getVersionSnapshot({
57
+ id: req.params.id,
58
+ version: parseInt(req.params.version, 10),
59
+ });
60
+ res.status(result.status).json(result.data ?? { error: result.error });
84
61
  });
85
62
  /**
86
63
  * GET /api/yaml-workflows/:id/yaml
87
64
  * Return raw YAML content. Supports ?version=N query param.
88
65
  */
89
66
  router.get('/:id/yaml', async (req, res) => {
90
- try {
91
- const versionParam = req.query.version ? parseInt(req.query.version, 10) : null;
92
- if (versionParam) {
93
- const snapshot = await yamlDb.getVersionSnapshot(req.params.id, versionParam);
94
- if (!snapshot) {
95
- res.status(404).json({ error: `Version ${versionParam} not found` });
96
- return;
97
- }
98
- res.type('text/yaml').send(snapshot.yaml_content);
99
- return;
100
- }
101
- const wf = await yamlDb.getYamlWorkflow(req.params.id);
102
- if (!wf) {
103
- res.status(404).json({ error: 'YAML workflow not found' });
104
- return;
105
- }
106
- res.type('text/yaml').send(wf.yaml_content);
67
+ const result = await api.getYamlContent({
68
+ id: req.params.id,
69
+ version: req.query.version ? parseInt(req.query.version, 10) : undefined,
70
+ });
71
+ if (result.status === 200) {
72
+ res.type('text/yaml').send(result.data);
107
73
  }
108
- catch (err) {
109
- if ((0, helpers_1.isNotFoundError)(err)) {
110
- res.status(404).json({ error: 'YAML workflow not found' });
111
- return;
112
- }
113
- res.status(500).json({ error: err.message });
74
+ else {
75
+ res.status(result.status).json({ error: result.error });
114
76
  }
115
77
  });
116
78
  exports.default = router;
@@ -0,0 +1,327 @@
1
+ import * as tasksApi from '../api/tasks';
2
+ import * as escalationsApi from '../api/escalations';
3
+ import * as workflowsApi from '../api/workflows';
4
+ import * as yamlWorkflowsApi from '../api/yaml-workflows';
5
+ import * as usersApi from '../api/users';
6
+ import * as rolesApi from '../api/roles';
7
+ import * as authApi from '../api/auth';
8
+ import * as mcpApi from '../api/mcp';
9
+ import * as mcpRunsApi from '../api/mcp-runs';
10
+ import * as insightApi from '../api/insight';
11
+ import * as settingsApi from '../api/settings';
12
+ import * as exportsApi from '../api/exports';
13
+ import * as controlplaneApi from '../api/controlplane';
14
+ import * as botAccountsApi from '../api/bot-accounts';
15
+ import * as workflowSetsApi from '../api/workflow-sets';
16
+ import * as dbaApi from '../api/dba';
17
+ import * as namespacesApi from '../api/namespaces';
18
+ import * as maintenanceApi from '../api/maintenance';
19
+ import type { LTApiAuth, LTApiResult } from '../types/sdk';
20
+ import type { LTEvent, LTEventType } from '../types/events';
21
+ /**
22
+ * Options for createClient.
23
+ */
24
+ export interface LTClientOptions {
25
+ /** Default auth context bound to every API call. Override per-call if needed. */
26
+ auth?: LTApiAuth;
27
+ }
28
+ /**
29
+ * Create a Long Tail SDK client for direct in-process API calls.
30
+ *
31
+ * All operations go through the same API layer as HTTP routes —
32
+ * same validation, same RBAC, same event publishing — without
33
+ * HTTP transport overhead.
34
+ *
35
+ * ```typescript
36
+ * import { createClient } from '@hotmeshio/long-tail/sdk';
37
+ *
38
+ * const lt = createClient({ auth: { userId: 'system' } });
39
+ *
40
+ * const result = await lt.escalations.claim({ id: 'esc_123', durationMinutes: 30 });
41
+ * // { status: 200, data: { escalation: {...}, isExtension: false } }
42
+ *
43
+ * lt.events.on('escalation.claimed', (event) => {
44
+ * console.log('claimed:', event.escalationId);
45
+ * });
46
+ * ```
47
+ */
48
+ export declare function createClient(options?: LTClientOptions): {
49
+ tasks: {
50
+ list: typeof tasksApi.listTasks;
51
+ get: typeof tasksApi.getTask;
52
+ listProcesses: typeof tasksApi.listProcesses;
53
+ getProcess: typeof tasksApi.getProcess;
54
+ getProcessStats: typeof tasksApi.getProcessStats;
55
+ };
56
+ escalations: {
57
+ list: (input: {
58
+ status?: string;
59
+ role?: string;
60
+ type?: string;
61
+ subtype?: string;
62
+ assigned_to?: string;
63
+ priority?: number;
64
+ limit?: number;
65
+ offset?: number;
66
+ sort_by?: string;
67
+ order?: string;
68
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
69
+ listAvailable: (input: {
70
+ role?: string;
71
+ type?: string;
72
+ subtype?: string;
73
+ priority?: number;
74
+ limit?: number;
75
+ offset?: number;
76
+ sort_by?: string;
77
+ order?: string;
78
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
79
+ listTypes: typeof escalationsApi.listDistinctTypes;
80
+ getStats: (input: {
81
+ period?: string;
82
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
83
+ get: (input: {
84
+ id: string;
85
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
86
+ getByWorkflowId: typeof escalationsApi.getEscalationsByWorkflowId;
87
+ escalate: (input: {
88
+ id: string;
89
+ targetRole: string;
90
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
91
+ claim: (input: {
92
+ id: string;
93
+ durationMinutes?: number;
94
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
95
+ release: (input: {
96
+ id: string;
97
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
98
+ resolve: (input: {
99
+ id: string;
100
+ resolverPayload: Record<string, any>;
101
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
102
+ releaseExpired: typeof escalationsApi.releaseExpiredClaims;
103
+ updatePriority: (input: {
104
+ ids: string[];
105
+ priority: number;
106
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
107
+ bulkClaim: (input: {
108
+ ids: string[];
109
+ durationMinutes?: number;
110
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
111
+ bulkAssign: (input: {
112
+ ids: string[];
113
+ targetUserId: string;
114
+ durationMinutes?: number;
115
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
116
+ bulkEscalate: (input: {
117
+ ids: string[];
118
+ targetRole: string;
119
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
120
+ bulkTriage: (input: {
121
+ ids: string[];
122
+ hint?: string;
123
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
124
+ };
125
+ workflows: {
126
+ invoke: (input: {
127
+ type: string;
128
+ data?: Record<string, any>;
129
+ metadata?: Record<string, any>;
130
+ execute_as?: string;
131
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
132
+ getStatus: typeof workflowsApi.getWorkflowStatus;
133
+ getResult: typeof workflowsApi.getWorkflowResult;
134
+ terminate: typeof workflowsApi.terminateWorkflow;
135
+ export: typeof workflowsApi.exportWorkflow;
136
+ listWorkers: typeof workflowsApi.listWorkers;
137
+ listDiscovered: typeof workflowsApi.listDiscoveredWorkflows;
138
+ getCronStatus: typeof workflowsApi.getCronStatus;
139
+ listConfigs: typeof workflowsApi.listWorkflowConfigs;
140
+ getConfig: typeof workflowsApi.getWorkflowConfig;
141
+ upsertConfig: typeof workflowsApi.upsertWorkflowConfig;
142
+ deleteConfig: typeof workflowsApi.deleteWorkflowConfig;
143
+ };
144
+ yamlWorkflows: {
145
+ list: typeof yamlWorkflowsApi.listYamlWorkflows;
146
+ create: typeof yamlWorkflowsApi.createYamlWorkflow;
147
+ createDirect: typeof yamlWorkflowsApi.createYamlWorkflowDirect;
148
+ getAppIds: typeof yamlWorkflowsApi.getAppIds;
149
+ get: typeof yamlWorkflowsApi.getYamlWorkflow;
150
+ update: typeof yamlWorkflowsApi.updateYamlWorkflow;
151
+ regenerate: typeof yamlWorkflowsApi.regenerateYamlWorkflow;
152
+ delete: typeof yamlWorkflowsApi.deleteYamlWorkflow;
153
+ deploy: typeof yamlWorkflowsApi.deployYamlWorkflow;
154
+ activate: typeof yamlWorkflowsApi.activateYamlWorkflow;
155
+ invoke: (input: {
156
+ id: string;
157
+ data?: any;
158
+ sync?: boolean;
159
+ timeout?: number;
160
+ execute_as?: string;
161
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
162
+ archive: typeof yamlWorkflowsApi.archiveYamlWorkflow;
163
+ getVersionHistory: typeof yamlWorkflowsApi.getVersionHistory;
164
+ getVersionSnapshot: typeof yamlWorkflowsApi.getVersionSnapshot;
165
+ getYamlContent: typeof yamlWorkflowsApi.getYamlContent;
166
+ setCronSchedule: typeof yamlWorkflowsApi.setCronSchedule;
167
+ clearCronSchedule: typeof yamlWorkflowsApi.clearCronSchedule;
168
+ getCronStatus: typeof yamlWorkflowsApi.getCronStatus;
169
+ };
170
+ users: {
171
+ list: typeof usersApi.listUsers;
172
+ get: typeof usersApi.getUser;
173
+ create: typeof usersApi.createUser;
174
+ update: typeof usersApi.updateUser;
175
+ delete: typeof usersApi.deleteUser;
176
+ getRoles: typeof usersApi.getUserRoles;
177
+ addRole: typeof usersApi.addUserRole;
178
+ removeRole: typeof usersApi.removeUserRole;
179
+ };
180
+ roles: {
181
+ list: typeof rolesApi.listRoles;
182
+ listWithDetails: typeof rolesApi.listRolesWithDetails;
183
+ create: typeof rolesApi.createRole;
184
+ delete: typeof rolesApi.deleteRole;
185
+ getEscalationChains: typeof rolesApi.getEscalationChains;
186
+ addEscalationChain: typeof rolesApi.addEscalationChain;
187
+ removeEscalationChain: typeof rolesApi.removeEscalationChain;
188
+ getEscalationTargets: typeof rolesApi.getEscalationTargets;
189
+ replaceEscalationTargets: typeof rolesApi.replaceEscalationTargets;
190
+ };
191
+ auth: {
192
+ login: typeof authApi.login;
193
+ };
194
+ mcp: {
195
+ listServers: typeof mcpApi.listMcpServers;
196
+ createServer: typeof mcpApi.createMcpServer;
197
+ testConnection: typeof mcpApi.testConnection;
198
+ getServer: typeof mcpApi.getMcpServer;
199
+ updateServer: typeof mcpApi.updateMcpServer;
200
+ deleteServer: typeof mcpApi.deleteMcpServer;
201
+ connectServer: typeof mcpApi.connectMcpServer;
202
+ disconnectServer: typeof mcpApi.disconnectMcpServer;
203
+ getCredentialStatus: (input: {
204
+ id: string;
205
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
206
+ listTools: typeof mcpApi.listMcpServerTools;
207
+ callTool: (input: {
208
+ id: string;
209
+ toolName: string;
210
+ arguments?: Record<string, any>;
211
+ execute_as?: string;
212
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
213
+ };
214
+ mcpRuns: {
215
+ listEntities: typeof mcpRunsApi.listEntities;
216
+ listJobs: typeof mcpRunsApi.listJobs;
217
+ getExecution: typeof mcpRunsApi.getJobExecution;
218
+ };
219
+ insight: {
220
+ mcpQuery: (input: {
221
+ prompt: string;
222
+ tags?: string[];
223
+ wait?: boolean;
224
+ direct?: boolean;
225
+ context?: any;
226
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
227
+ buildWorkflow: (input: {
228
+ prompt: string;
229
+ tags?: string[];
230
+ wait?: boolean;
231
+ feedback?: string;
232
+ prior_yaml?: string;
233
+ answers?: any;
234
+ prior_questions?: any;
235
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
236
+ refineWorkflow: (input: {
237
+ prompt: string;
238
+ prior_yaml: string;
239
+ feedback: string;
240
+ tags?: string[];
241
+ wait?: boolean;
242
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
243
+ describeWorkflow: typeof insightApi.describeWorkflow;
244
+ };
245
+ settings: {
246
+ get: typeof settingsApi.getSettings;
247
+ };
248
+ exports: {
249
+ listJobs: typeof exportsApi.listJobs;
250
+ exportState: typeof exportsApi.exportWorkflowState;
251
+ exportExecution: typeof exportsApi.exportWorkflowExecution;
252
+ getStatus: typeof exportsApi.getWorkflowStatus;
253
+ getState: typeof exportsApi.getWorkflowState;
254
+ };
255
+ controlplane: {
256
+ listApps: typeof controlplaneApi.listApps;
257
+ rollCall: typeof controlplaneApi.rollCall;
258
+ throttle: typeof controlplaneApi.applyThrottle;
259
+ getStreamStats: typeof controlplaneApi.getStreamStats;
260
+ subscribe: typeof controlplaneApi.subscribeMesh;
261
+ };
262
+ botAccounts: {
263
+ list: typeof botAccountsApi.listBots;
264
+ get: typeof botAccountsApi.getBot;
265
+ create: (input: {
266
+ name: string;
267
+ description?: string;
268
+ display_name?: string;
269
+ roles?: {
270
+ role: string;
271
+ type: string;
272
+ }[];
273
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
274
+ update: typeof botAccountsApi.updateBot;
275
+ delete: typeof botAccountsApi.deleteBot;
276
+ getRoles: typeof botAccountsApi.getBotRoles;
277
+ addRole: typeof botAccountsApi.addBotRole;
278
+ removeRole: typeof botAccountsApi.removeBotRole;
279
+ listKeys: typeof botAccountsApi.listBotKeys;
280
+ createKey: typeof botAccountsApi.createBotKey;
281
+ revokeKey: typeof botAccountsApi.revokeBotKey;
282
+ };
283
+ workflowSets: {
284
+ create: (input: {
285
+ name: string;
286
+ description?: string;
287
+ specification: string;
288
+ }, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
289
+ list: typeof workflowSetsApi.listWorkflowSets;
290
+ get: typeof workflowSetsApi.getWorkflowSet;
291
+ updatePlan: typeof workflowSetsApi.updateWorkflowSetPlanApi;
292
+ build: typeof workflowSetsApi.buildWorkflowSet;
293
+ deploy: typeof workflowSetsApi.deployWorkflowSet;
294
+ };
295
+ dba: {
296
+ prune: typeof dbaApi.prune;
297
+ deploy: typeof dbaApi.deploy;
298
+ };
299
+ namespaces: {
300
+ list: typeof namespacesApi.listNamespaces;
301
+ register: typeof namespacesApi.registerNamespace;
302
+ };
303
+ maintenance: {
304
+ getConfig: typeof maintenanceApi.getMaintenanceConfig;
305
+ updateConfig: typeof maintenanceApi.updateMaintenanceConfig;
306
+ };
307
+ events: {
308
+ /**
309
+ * Subscribe to Long Tail events.
310
+ *
311
+ * Supports exact types (`'task.created'`), category wildcards (`'task.*'`),
312
+ * and global wildcard (`'*'`).
313
+ *
314
+ * Returns an unsubscribe function.
315
+ *
316
+ * ```typescript
317
+ * const unsub = lt.events.on('escalation.claimed', (event) => {
318
+ * console.log('claimed:', event.escalationId);
319
+ * });
320
+ * // Later: unsub();
321
+ * ```
322
+ */
323
+ on: (pattern: LTEventType | "*" | (string & {}), callback: (event: LTEvent) => void) => (() => void);
324
+ };
325
+ };
326
+ /** The return type of createClient(). */
327
+ export type LTClient = ReturnType<typeof createClient>;