@hotmeshio/long-tail 0.1.13 → 0.1.15

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 (424) hide show
  1. package/README.md +15 -0
  2. package/build/api/escalations/bulk.d.ts +78 -0
  3. package/build/api/escalations/bulk.js +279 -0
  4. package/build/api/escalations/claim.d.ts +30 -0
  5. package/build/api/escalations/claim.js +121 -0
  6. package/build/api/escalations/create.d.ts +29 -0
  7. package/build/api/escalations/create.js +101 -0
  8. package/build/api/escalations/helpers.d.ts +10 -0
  9. package/build/api/escalations/helpers.js +80 -0
  10. package/build/api/escalations/index.d.ts +6 -0
  11. package/build/api/escalations/index.js +26 -0
  12. package/build/api/escalations/list.d.ts +75 -0
  13. package/build/api/escalations/list.js +170 -0
  14. package/build/api/escalations/resolve.d.ts +18 -0
  15. package/build/api/escalations/resolve.js +243 -0
  16. package/build/api/escalations/single.d.ts +37 -0
  17. package/build/api/escalations/single.js +123 -0
  18. package/build/api/files.d.ts +16 -0
  19. package/build/api/files.js +61 -0
  20. package/build/api/knowledge.d.ts +36 -0
  21. package/build/api/knowledge.js +112 -0
  22. package/build/api/mcp/index.d.ts +2 -0
  23. package/build/api/mcp/index.js +16 -0
  24. package/build/api/{mcp.d.ts → mcp/servers.d.ts} +1 -33
  25. package/build/api/{mcp.js → mcp/servers.js} +4 -65
  26. package/build/api/mcp/tools.d.ts +33 -0
  27. package/build/api/mcp/tools.js +64 -0
  28. package/build/api/mcp-runs.d.ts +2 -0
  29. package/build/api/mcp-runs.js +2 -0
  30. package/build/api/settings.js +9 -1
  31. package/build/api/workflow-sets.d.ts +11 -0
  32. package/build/api/workflow-sets.js +62 -0
  33. package/build/api/workflows/config.d.ts +64 -0
  34. package/build/api/workflows/config.js +142 -0
  35. package/build/api/workflows/discovery.d.ts +29 -0
  36. package/build/api/workflows/discovery.js +153 -0
  37. package/build/api/workflows/index.d.ts +3 -0
  38. package/build/api/workflows/index.js +18 -0
  39. package/build/api/workflows/invocation.d.ts +67 -0
  40. package/build/api/workflows/invocation.js +188 -0
  41. package/build/api/yaml-workflows/cron.d.ts +39 -0
  42. package/build/api/yaml-workflows/cron.js +127 -0
  43. package/build/api/{yaml-workflows.d.ts → yaml-workflows/crud.d.ts} +22 -137
  44. package/build/api/{yaml-workflows.js → yaml-workflows/crud.js} +86 -358
  45. package/build/api/yaml-workflows/deploy.d.ts +71 -0
  46. package/build/api/yaml-workflows/deploy.js +223 -0
  47. package/build/api/yaml-workflows/helpers.d.ts +2 -0
  48. package/build/api/yaml-workflows/helpers.js +8 -0
  49. package/build/api/yaml-workflows/index.d.ts +4 -0
  50. package/build/api/yaml-workflows/index.js +27 -0
  51. package/build/api/yaml-workflows/versions.d.ts +43 -0
  52. package/build/api/yaml-workflows/versions.js +124 -0
  53. package/build/bin/ltc.d.ts +2 -0
  54. package/build/bin/ltc.js +220 -0
  55. package/build/examples/seed-data.d.ts +55 -0
  56. package/build/examples/seed-data.js +161 -0
  57. package/build/examples/seed.js +7 -164
  58. package/build/lib/cli/auth.d.ts +23 -0
  59. package/build/lib/cli/auth.js +167 -0
  60. package/build/lib/cli/client.d.ts +6 -0
  61. package/build/lib/cli/client.js +31 -0
  62. package/build/lib/cli/commands/escalations.d.ts +19 -0
  63. package/build/lib/cli/commands/escalations.js +69 -0
  64. package/build/lib/cli/commands/knowledge.d.ts +18 -0
  65. package/build/lib/cli/commands/knowledge.js +87 -0
  66. package/build/lib/cli/commands/mcp.d.ts +8 -0
  67. package/build/lib/cli/commands/mcp.js +33 -0
  68. package/build/lib/cli/commands/pipelines.d.ts +16 -0
  69. package/build/lib/cli/commands/pipelines.js +67 -0
  70. package/build/lib/cli/commands/status.d.ts +1 -0
  71. package/build/lib/cli/commands/status.js +28 -0
  72. package/build/lib/cli/commands/users.d.ts +7 -0
  73. package/build/lib/cli/commands/users.js +25 -0
  74. package/build/lib/cli/commands/workflows.d.ts +16 -0
  75. package/build/lib/cli/commands/workflows.js +104 -0
  76. package/build/lib/cli/compile.d.ts +2 -0
  77. package/build/lib/cli/compile.js +165 -0
  78. package/build/lib/cli/format.d.ts +23 -0
  79. package/build/lib/cli/format.js +94 -0
  80. package/build/lib/cli/init.d.ts +1 -0
  81. package/build/lib/cli/init.js +61 -0
  82. package/build/lib/cli/output.d.ts +27 -0
  83. package/build/lib/cli/output.js +126 -0
  84. package/build/lib/cli/scanner.d.ts +10 -0
  85. package/build/lib/cli/scanner.js +164 -0
  86. package/build/lib/cli/types.d.ts +16 -0
  87. package/build/lib/cli/types.js +2 -0
  88. package/build/lib/logger/index.d.ts +0 -9
  89. package/build/lib/logger/index.js +9 -4
  90. package/build/lib/storage/index.js +2 -2
  91. package/build/lib/storage/local.d.ts +15 -0
  92. package/build/lib/storage/local.js +63 -0
  93. package/build/lib/storage/mime.d.ts +4 -0
  94. package/build/lib/storage/mime.js +31 -0
  95. package/build/lib/storage/s3.d.ts +16 -0
  96. package/build/lib/storage/s3.js +70 -0
  97. package/build/lib/storage/types.d.ts +18 -0
  98. package/build/modules/utils.d.ts +73 -0
  99. package/build/modules/utils.js +84 -0
  100. package/build/routes/file-browser.d.ts +2 -0
  101. package/build/routes/file-browser.js +126 -0
  102. package/build/routes/files.js +25 -17
  103. package/build/routes/index.js +4 -0
  104. package/build/routes/knowledge.d.ts +2 -0
  105. package/build/routes/knowledge.js +141 -0
  106. package/build/routes/mcp-runs.js +2 -0
  107. package/build/routes/workflow-sets.js +9 -0
  108. package/build/routes/yaml-workflows/crud.js +9 -0
  109. package/build/routes/yaml-workflows/deployment.js +8 -0
  110. package/build/sdk/index.d.ts +17 -0
  111. package/build/sdk/index.js +19 -0
  112. package/build/services/insight/index.d.ts +13 -0
  113. package/build/services/insight/index.js +4 -7
  114. package/build/services/insight/prompts.d.ts +1 -1
  115. package/build/services/insight/prompts.js +1 -1
  116. package/build/services/mcp/client/connection-dispatch.d.ts +18 -0
  117. package/build/services/mcp/client/connection-dispatch.js +78 -0
  118. package/build/services/mcp/client/connection-lifecycle.d.ts +48 -0
  119. package/build/services/mcp/client/connection-lifecycle.js +296 -0
  120. package/build/services/mcp/client/connection-test.d.ts +10 -0
  121. package/build/services/mcp/client/connection-test.js +49 -0
  122. package/build/services/mcp/client/connection.d.ts +3 -68
  123. package/build/services/mcp/client/connection.js +15 -393
  124. package/build/services/mcp/server-lifecycle.d.ts +27 -0
  125. package/build/services/mcp/server-lifecycle.js +49 -0
  126. package/build/services/mcp/server-tools.d.ts +13 -0
  127. package/build/services/mcp/server-tools.js +287 -0
  128. package/build/services/mcp/server.d.ts +2 -26
  129. package/build/services/mcp/server.js +7 -315
  130. package/build/services/mcp-runs/queries.d.ts +2 -0
  131. package/build/services/mcp-runs/queries.js +11 -1
  132. package/build/services/mcp-runs/sql.d.ts +1 -1
  133. package/build/services/mcp-runs/sql.js +2 -2
  134. package/build/services/workflow-sets/db.d.ts +1 -0
  135. package/build/services/workflow-sets/db.js +6 -0
  136. package/build/services/workflow-sets/index.d.ts +1 -1
  137. package/build/services/workflow-sets/index.js +2 -1
  138. package/build/services/workflow-sets/sql.d.ts +1 -0
  139. package/build/services/workflow-sets/sql.js +6 -1
  140. package/build/services/yaml-workflow/builder-regenerate.d.ts +25 -0
  141. package/build/services/yaml-workflow/builder-regenerate.js +111 -0
  142. package/build/services/yaml-workflow/db-versions.d.ts +17 -0
  143. package/build/services/yaml-workflow/db-versions.js +76 -0
  144. package/build/services/yaml-workflow/db.d.ts +14 -12
  145. package/build/services/yaml-workflow/db.js +32 -70
  146. package/build/services/yaml-workflow/deployer-helpers.js +48 -17
  147. package/build/services/yaml-workflow/durable-compiler/index.d.ts +22 -0
  148. package/build/services/yaml-workflow/durable-compiler/index.js +168 -0
  149. package/build/services/yaml-workflow/durable-compiler/parser.d.ts +12 -0
  150. package/build/services/yaml-workflow/durable-compiler/parser.js +110 -0
  151. package/build/services/yaml-workflow/durable-compiler/prompts.d.ts +18 -0
  152. package/build/services/yaml-workflow/durable-compiler/prompts.js +570 -0
  153. package/build/services/yaml-workflow/durable-compiler/types.d.ts +51 -0
  154. package/build/services/yaml-workflow/durable-compiler/types.js +5 -0
  155. package/build/services/yaml-workflow/generator.js +4 -4
  156. package/build/services/yaml-workflow/pipeline/build/dag-assembly.d.ts +17 -0
  157. package/build/services/yaml-workflow/pipeline/build/dag-assembly.js +192 -0
  158. package/build/services/yaml-workflow/pipeline/build/dag.d.ts +4 -13
  159. package/build/services/yaml-workflow/pipeline/build/dag.js +9 -185
  160. package/build/services/yaml-workflow/pipeline/build/index.d.ts +2 -1
  161. package/build/services/yaml-workflow/pipeline/build/index.js +3 -2
  162. package/build/services/yaml-workflow/pipeline/build/utils.d.ts +0 -2
  163. package/build/services/yaml-workflow/pipeline/build/utils.js +0 -8
  164. package/build/services/yaml-workflow/pipeline/prompt-templates.d.ts +10 -0
  165. package/build/services/yaml-workflow/pipeline/prompt-templates.js +270 -0
  166. package/build/services/yaml-workflow/pipeline/prompts.d.ts +3 -6
  167. package/build/services/yaml-workflow/pipeline/prompts.js +8 -263
  168. package/build/services/yaml-workflow/sql.d.ts +2 -1
  169. package/build/services/yaml-workflow/sql.js +10 -3
  170. package/build/start/workers.js +6 -5
  171. package/build/system/activities/file-storage.d.ts +4 -0
  172. package/build/system/activities/file-storage.js +7 -1
  173. package/build/system/activities/knowledge.d.ts +23 -0
  174. package/build/system/activities/knowledge.js +50 -10
  175. package/build/system/activities/schema-exchange.d.ts +50 -0
  176. package/build/system/activities/schema-exchange.js +210 -0
  177. package/build/system/activities/sql.d.ts +4 -1
  178. package/build/system/activities/sql.js +37 -2
  179. package/build/system/index.js +1 -0
  180. package/build/system/mcp-servers/file-storage.js +3 -1
  181. package/build/system/mcp-servers/human-queue-schemas.d.ts +91 -0
  182. package/build/system/mcp-servers/human-queue-schemas.js +42 -0
  183. package/build/system/mcp-servers/human-queue.d.ts +2 -6
  184. package/build/system/mcp-servers/human-queue.js +9 -51
  185. package/build/system/mcp-servers/knowledge.js +69 -6
  186. package/build/system/mcp-servers/schema-exchange.d.ts +4 -0
  187. package/build/system/mcp-servers/schema-exchange.js +93 -0
  188. package/build/system/mcp-servers/workflow-compiler.js +54 -0
  189. package/build/system/seed/server-definitions.d.ts +112 -1
  190. package/build/system/seed/server-definitions.js +37 -0
  191. package/build/system/seed/tool-manifests-data.d.ts +87 -0
  192. package/build/system/seed/tool-manifests-data.js +37 -1
  193. package/build/system/seed/tool-manifests-knowledge.d.ts +9 -1
  194. package/build/system/seed/tool-manifests-knowledge.js +6 -5
  195. package/build/system/workflows/mcp-triage/activities-proxy.d.ts +21 -0
  196. package/build/system/workflows/mcp-triage/activities-proxy.js +70 -0
  197. package/build/system/workflows/mcp-triage/index.js +17 -75
  198. package/build/system/workflows/mcp-workflow-builder/prompts.d.ts +1 -1
  199. package/build/system/workflows/mcp-workflow-builder/prompts.js +21 -20
  200. package/build/system/workflows/mcp-workflow-planner/activities/persist.d.ts +2 -1
  201. package/build/system/workflows/mcp-workflow-planner/activities/persist.js +4 -3
  202. package/build/system/workflows/mcp-workflow-planner/index.js +41 -5
  203. package/build/system/workflows/mcp-workflow-planner/prompts.d.ts +1 -1
  204. package/build/system/workflows/mcp-workflow-planner/prompts.js +3 -3
  205. package/build/tsconfig.tsbuildinfo +1 -1
  206. package/dashboard/dist/assets/{AdminDashboard-DUrSBQOl.js → AdminDashboard-NLryl1_B.js} +2 -2
  207. package/dashboard/dist/assets/{AdminDashboard-DUrSBQOl.js.map → AdminDashboard-NLryl1_B.js.map} +1 -1
  208. package/dashboard/dist/assets/AvailableEscalationsPage-6vexlrk3.js +2 -0
  209. package/dashboard/dist/assets/AvailableEscalationsPage-6vexlrk3.js.map +1 -0
  210. package/dashboard/dist/assets/{BotPicker-Cg5iNEkm.js → BotPicker-DWhn0tr1.js} +2 -2
  211. package/dashboard/dist/assets/{BotPicker-Cg5iNEkm.js.map → BotPicker-DWhn0tr1.js.map} +1 -1
  212. package/dashboard/dist/assets/{CollapsibleSection-Kd9UIyeU.js → CollapsibleSection-CgYgQiOc.js} +2 -2
  213. package/dashboard/dist/assets/{CollapsibleSection-Kd9UIyeU.js.map → CollapsibleSection-CgYgQiOc.js.map} +1 -1
  214. package/dashboard/dist/assets/{ConfirmDeleteModal-DZMgmlof.js → ConfirmDeleteModal-DCKAPXD3.js} +2 -2
  215. package/dashboard/dist/assets/{ConfirmDeleteModal-DZMgmlof.js.map → ConfirmDeleteModal-DCKAPXD3.js.map} +1 -1
  216. package/dashboard/dist/assets/{CopyableId-cPFTRm8q.js → CopyableId-DXkaAOYk.js} +2 -2
  217. package/dashboard/dist/assets/{CopyableId-cPFTRm8q.js.map → CopyableId-DXkaAOYk.js.map} +1 -1
  218. package/dashboard/dist/assets/CredentialsPage-B361BOfU.js +2 -0
  219. package/dashboard/dist/assets/{CredentialsPage-DJablIbs.js.map → CredentialsPage-B361BOfU.js.map} +1 -1
  220. package/dashboard/dist/assets/{CustomDurationPicker-NgIP6YDW.js → CustomDurationPicker-D2G1ldiF.js} +2 -2
  221. package/dashboard/dist/assets/{CustomDurationPicker-NgIP6YDW.js.map → CustomDurationPicker-D2G1ldiF.js.map} +1 -1
  222. package/dashboard/dist/assets/{DataTable-CTRhTAfT.js → DataTable-DXSUbA26.js} +2 -2
  223. package/dashboard/dist/assets/{DataTable-CTRhTAfT.js.map → DataTable-DXSUbA26.js.map} +1 -1
  224. package/dashboard/dist/assets/{ElapsedCell-HcSJ_MMs.js → ElapsedCell-CQGqkXP_.js} +2 -2
  225. package/dashboard/dist/assets/{ElapsedCell-HcSJ_MMs.js.map → ElapsedCell-CQGqkXP_.js.map} +1 -1
  226. package/dashboard/dist/assets/{EmptyState-joNbd4gg.js → EmptyState-Dep92Wkg.js} +2 -2
  227. package/dashboard/dist/assets/{EmptyState-joNbd4gg.js.map → EmptyState-Dep92Wkg.js.map} +1 -1
  228. package/dashboard/dist/assets/{EscalationsOverview-DpXDnQux.js → EscalationsOverview-DVEFVjs7.js} +2 -2
  229. package/dashboard/dist/assets/{EscalationsOverview-DpXDnQux.js.map → EscalationsOverview-DVEFVjs7.js.map} +1 -1
  230. package/dashboard/dist/assets/{EventTable-CYem3v8n.js → EventTable-BMJAPkMi.js} +2 -2
  231. package/dashboard/dist/assets/{EventTable-CYem3v8n.js.map → EventTable-BMJAPkMi.js.map} +1 -1
  232. package/dashboard/dist/assets/{FilterBar-BiO8SOzc.js → FilterBar-DbVbCzH2.js} +2 -2
  233. package/dashboard/dist/assets/{FilterBar-BiO8SOzc.js.map → FilterBar-DbVbCzH2.js.map} +1 -1
  234. package/dashboard/dist/assets/{ListToolbar-6yRDh2e9.js → ListToolbar-0XNuXj0M.js} +2 -2
  235. package/dashboard/dist/assets/{ListToolbar-6yRDh2e9.js.map → ListToolbar-0XNuXj0M.js.map} +1 -1
  236. package/dashboard/dist/assets/{McpOverview-CUgSxkQe.js → McpOverview-CeYnCzBN.js} +2 -2
  237. package/dashboard/dist/assets/{McpOverview-CUgSxkQe.js.map → McpOverview-CeYnCzBN.js.map} +1 -1
  238. package/dashboard/dist/assets/McpQueryDetailPage-t3qW3QNa.js +5 -0
  239. package/dashboard/dist/assets/McpQueryDetailPage-t3qW3QNa.js.map +1 -0
  240. package/dashboard/dist/assets/McpQueryPage-CfUcdzaj.js +2 -0
  241. package/dashboard/dist/assets/{McpQueryPage-lV6kfDG5.js.map → McpQueryPage-CfUcdzaj.js.map} +1 -1
  242. package/dashboard/dist/assets/McpRunDetailPage-CZtodW_Z.js +2 -0
  243. package/dashboard/dist/assets/McpRunDetailPage-CZtodW_Z.js.map +1 -0
  244. package/dashboard/dist/assets/McpRunsPage-Dzgq7HGt.js +2 -0
  245. package/dashboard/dist/assets/McpRunsPage-Dzgq7HGt.js.map +1 -0
  246. package/dashboard/dist/assets/{Modal-BuTvD0pz.js → Modal-yyhUeKoA.js} +2 -2
  247. package/dashboard/dist/assets/{Modal-BuTvD0pz.js.map → Modal-yyhUeKoA.js.map} +1 -1
  248. package/dashboard/dist/assets/OperatorDashboard-Ceh7OQtZ.js +2 -0
  249. package/dashboard/dist/assets/{OperatorDashboard-C9SSV96T.js.map → OperatorDashboard-Ceh7OQtZ.js.map} +1 -1
  250. package/dashboard/dist/assets/{PageHeader-BcTVF9ul.js → PageHeader-CZ9a8cpr.js} +2 -2
  251. package/dashboard/dist/assets/{PageHeader-BcTVF9ul.js.map → PageHeader-CZ9a8cpr.js.map} +1 -1
  252. package/dashboard/dist/assets/{PageHeaderWithStats-BI7JG5x6.js → PageHeaderWithStats-BJuNs5NM.js} +2 -2
  253. package/dashboard/dist/assets/{PageHeaderWithStats-BI7JG5x6.js.map → PageHeaderWithStats-BJuNs5NM.js.map} +1 -1
  254. package/dashboard/dist/assets/{PriorityBadge-DqVaOU65.js → PriorityBadge-BrPikMFy.js} +2 -2
  255. package/dashboard/dist/assets/{PriorityBadge-DqVaOU65.js.map → PriorityBadge-BrPikMFy.js.map} +1 -1
  256. package/dashboard/dist/assets/{ProcessDetailPage-hFMhf9qa.js → ProcessDetailPage-2miaYd8G.js} +2 -2
  257. package/dashboard/dist/assets/{ProcessDetailPage-hFMhf9qa.js.map → ProcessDetailPage-2miaYd8G.js.map} +1 -1
  258. package/dashboard/dist/assets/{ProcessesListPage-ByVoBCQ3.js → ProcessesListPage-DqpRDqjk.js} +2 -2
  259. package/dashboard/dist/assets/{ProcessesListPage-ByVoBCQ3.js.map → ProcessesListPage-DqpRDqjk.js.map} +1 -1
  260. package/dashboard/dist/assets/{RolePill-D9ZIkYiu.js → RolePill-DxbJMfJu.js} +2 -2
  261. package/dashboard/dist/assets/{RolePill-D9ZIkYiu.js.map → RolePill-DxbJMfJu.js.map} +1 -1
  262. package/dashboard/dist/assets/{RolesPage-SMedMuqa.js → RolesPage-CYHRo21-.js} +2 -2
  263. package/dashboard/dist/assets/{RolesPage-SMedMuqa.js.map → RolesPage-CYHRo21-.js.map} +1 -1
  264. package/dashboard/dist/assets/{RowActions-yDhwwDbU.js → RowActions-DurFwIwe.js} +2 -2
  265. package/dashboard/dist/assets/{RowActions-yDhwwDbU.js.map → RowActions-DurFwIwe.js.map} +1 -1
  266. package/dashboard/dist/assets/RunAsSelector-CNKraP6u.js +2 -0
  267. package/dashboard/dist/assets/RunAsSelector-CNKraP6u.js.map +1 -0
  268. package/dashboard/dist/assets/{StatCard-BrBnQFxh.js → StatCard-CKplpK3w.js} +2 -2
  269. package/dashboard/dist/assets/{StatCard-BrBnQFxh.js.map → StatCard-CKplpK3w.js.map} +1 -1
  270. package/dashboard/dist/assets/{StatusBadge-xgb-lZku.js → StatusBadge-Dm0V1dNN.js} +2 -2
  271. package/dashboard/dist/assets/{StatusBadge-xgb-lZku.js.map → StatusBadge-Dm0V1dNN.js.map} +1 -1
  272. package/dashboard/dist/assets/{StepIndicator-B9ps2SvM.js → StepIndicator-Dicx0WTZ.js} +2 -2
  273. package/dashboard/dist/assets/{StepIndicator-B9ps2SvM.js.map → StepIndicator-Dicx0WTZ.js.map} +1 -1
  274. package/dashboard/dist/assets/{StickyPagination-DTIjBKN3.js → StickyPagination-B2jYvU3-.js} +2 -2
  275. package/dashboard/dist/assets/{StickyPagination-DTIjBKN3.js.map → StickyPagination-B2jYvU3-.js.map} +1 -1
  276. package/dashboard/dist/assets/SwimlaneTimeline-ClwumkT1.js +2 -0
  277. package/dashboard/dist/assets/SwimlaneTimeline-ClwumkT1.js.map +1 -0
  278. package/dashboard/dist/assets/{TagInput-CdNUuqk4.js → TagInput-CypDZ6Kl.js} +2 -2
  279. package/dashboard/dist/assets/{TagInput-CdNUuqk4.js.map → TagInput-CypDZ6Kl.js.map} +1 -1
  280. package/dashboard/dist/assets/{TaskDetailPage-C-nzaNea.js → TaskDetailPage-DooDNJGT.js} +2 -2
  281. package/dashboard/dist/assets/{TaskDetailPage-C-nzaNea.js.map → TaskDetailPage-DooDNJGT.js.map} +1 -1
  282. package/dashboard/dist/assets/{TaskQueuePill-Lvr2-NzS.js → TaskQueuePill-C1hZ-j31.js} +2 -2
  283. package/dashboard/dist/assets/{TaskQueuePill-Lvr2-NzS.js.map → TaskQueuePill-C1hZ-j31.js.map} +1 -1
  284. package/dashboard/dist/assets/{TasksListPage-DSUmD84y.js → TasksListPage-D7CdkAeg.js} +2 -2
  285. package/dashboard/dist/assets/{TasksListPage-DSUmD84y.js.map → TasksListPage-D7CdkAeg.js.map} +1 -1
  286. package/dashboard/dist/assets/{TimeAgo-BZdLdrIh.js → TimeAgo-B5LXB2aj.js} +2 -2
  287. package/dashboard/dist/assets/{TimeAgo-BZdLdrIh.js.map → TimeAgo-B5LXB2aj.js.map} +1 -1
  288. package/dashboard/dist/assets/{TimestampCell-QX_0i5FK.js → TimestampCell-Crb9b0Gw.js} +2 -2
  289. package/dashboard/dist/assets/{TimestampCell-QX_0i5FK.js.map → TimestampCell-Crb9b0Gw.js.map} +1 -1
  290. package/dashboard/dist/assets/{UserName-DyZMXcBm.js → UserName-OPg-nkRa.js} +2 -2
  291. package/dashboard/dist/assets/{UserName-DyZMXcBm.js.map → UserName-OPg-nkRa.js.map} +1 -1
  292. package/dashboard/dist/assets/{WorkflowExecutionPage-DjVxfZaF.js → WorkflowExecutionPage-CcLVrs9b.js} +2 -2
  293. package/dashboard/dist/assets/{WorkflowExecutionPage-DjVxfZaF.js.map → WorkflowExecutionPage-CcLVrs9b.js.map} +1 -1
  294. package/dashboard/dist/assets/WorkflowPill-CCV4MMj7.js +2 -0
  295. package/dashboard/dist/assets/WorkflowPill-CCV4MMj7.js.map +1 -0
  296. package/dashboard/dist/assets/{WorkflowsDashboard-DZjuiFZ0.js → WorkflowsDashboard-DB1SncBi.js} +2 -2
  297. package/dashboard/dist/assets/{WorkflowsDashboard-DZjuiFZ0.js.map → WorkflowsDashboard-DB1SncBi.js.map} +1 -1
  298. package/dashboard/dist/assets/{WorkflowsOverview-CLnLRpOu.js → WorkflowsOverview-DvShiYJV.js} +2 -2
  299. package/dashboard/dist/assets/{WorkflowsOverview-CLnLRpOu.js.map → WorkflowsOverview-DvShiYJV.js.map} +1 -1
  300. package/dashboard/dist/assets/YamlWorkflowsPage-DCBoMeGI.js +2 -0
  301. package/dashboard/dist/assets/YamlWorkflowsPage-DCBoMeGI.js.map +1 -0
  302. package/dashboard/dist/assets/{bots-DIM6lBoY.js → bots-Dqos20NE.js} +2 -2
  303. package/dashboard/dist/assets/{bots-DIM6lBoY.js.map → bots-Dqos20NE.js.map} +1 -1
  304. package/dashboard/dist/assets/{escalation-JOTuOqjq.js → escalation-A0CsbvNV.js} +2 -2
  305. package/dashboard/dist/assets/{escalation-JOTuOqjq.js.map → escalation-A0CsbvNV.js.map} +1 -1
  306. package/dashboard/dist/assets/escalation-columns-BpBJN6k4.js +2 -0
  307. package/dashboard/dist/assets/{escalation-columns-Cyg58nkg.js.map → escalation-columns-BpBJN6k4.js.map} +1 -1
  308. package/dashboard/dist/assets/{helpers-B1BDxBZd.js → helpers-CmznCuAx.js} +2 -2
  309. package/dashboard/dist/assets/{helpers-B1BDxBZd.js.map → helpers-CmznCuAx.js.map} +1 -1
  310. package/dashboard/dist/assets/index-BIeYV5QK.js +2 -0
  311. package/dashboard/dist/assets/index-BIeYV5QK.js.map +1 -0
  312. package/dashboard/dist/assets/index-BYwD3kHN.js +5 -0
  313. package/dashboard/dist/assets/index-BYwD3kHN.js.map +1 -0
  314. package/dashboard/dist/assets/index-C5TUqJu0.css +1 -0
  315. package/dashboard/dist/assets/index-C8-UaN4N.js +2 -0
  316. package/dashboard/dist/assets/{index-Cg5nfiYX.js.map → index-C8-UaN4N.js.map} +1 -1
  317. package/dashboard/dist/assets/index-CAj5LT9H.js +15 -0
  318. package/dashboard/dist/assets/index-CAj5LT9H.js.map +1 -0
  319. package/dashboard/dist/assets/index-CjxHCVxl.js +2 -0
  320. package/dashboard/dist/assets/{index-Cf60K3x9.js.map → index-CjxHCVxl.js.map} +1 -1
  321. package/dashboard/dist/assets/index-Cr0Rqsj7.js +2 -0
  322. package/dashboard/dist/assets/index-Cr0Rqsj7.js.map +1 -0
  323. package/dashboard/dist/assets/index-DZHNte4o.js +2 -0
  324. package/dashboard/dist/assets/{index-Di12t56M.js.map → index-DZHNte4o.js.map} +1 -1
  325. package/dashboard/dist/assets/{index-Ds0JoXS2.js → index-VnYkWW8r.js} +2 -2
  326. package/dashboard/dist/assets/{index-Ds0JoXS2.js.map → index-VnYkWW8r.js.map} +1 -1
  327. package/dashboard/dist/assets/{index-BcR6PfpY.js → index-XGOmZ117.js} +2 -2
  328. package/dashboard/dist/assets/{index-BcR6PfpY.js.map → index-XGOmZ117.js.map} +1 -1
  329. package/dashboard/dist/assets/index-ZjOUzWhc.js +2 -0
  330. package/dashboard/dist/assets/index-ZjOUzWhc.js.map +1 -0
  331. package/dashboard/dist/assets/{index-BYZX9tOb.js → index-puKKZ5l8.js} +77 -77
  332. package/dashboard/dist/assets/index-puKKZ5l8.js.map +1 -0
  333. package/dashboard/dist/assets/{index-BizfauqT.js → index-t5frSddy.js} +4 -4
  334. package/dashboard/dist/assets/{index-BizfauqT.js.map → index-t5frSddy.js.map} +1 -1
  335. package/dashboard/dist/assets/{mcp-B_xbczAt.js → mcp-DrWymhSu.js} +2 -2
  336. package/dashboard/dist/assets/{mcp-B_xbczAt.js.map → mcp-DrWymhSu.js.map} +1 -1
  337. package/dashboard/dist/assets/mcp-query-BhUxVEMS.js +2 -0
  338. package/dashboard/dist/assets/mcp-query-BhUxVEMS.js.map +1 -0
  339. package/dashboard/dist/assets/mcp-runs-DUfz4mLd.js +2 -0
  340. package/dashboard/dist/assets/mcp-runs-DUfz4mLd.js.map +1 -0
  341. package/dashboard/dist/assets/{namespaces-C3WtdO_9.js → namespaces-Cm6AY5sh.js} +2 -2
  342. package/dashboard/dist/assets/{namespaces-C3WtdO_9.js.map → namespaces-Cm6AY5sh.js.map} +1 -1
  343. package/dashboard/dist/assets/{roles-BDAsPpZG.js → roles-2v1Kc7BJ.js} +2 -2
  344. package/dashboard/dist/assets/{roles-BDAsPpZG.js.map → roles-2v1Kc7BJ.js.map} +1 -1
  345. package/dashboard/dist/assets/{settings-Ife_UwAp.js → settings-DTQNp6tH.js} +2 -2
  346. package/dashboard/dist/assets/{settings-Ife_UwAp.js.map → settings-DTQNp6tH.js.map} +1 -1
  347. package/dashboard/dist/assets/{tasks-BquNDHDI.js → tasks-CS1rgG1s.js} +2 -2
  348. package/dashboard/dist/assets/{tasks-BquNDHDI.js.map → tasks-CS1rgG1s.js.map} +1 -1
  349. package/dashboard/dist/assets/useEventHooks-BjXX8x3a.js +2 -0
  350. package/dashboard/dist/assets/{useEventHooks-anv_B2Yy.js.map → useEventHooks-BjXX8x3a.js.map} +1 -1
  351. package/dashboard/dist/assets/useFilterParams-CGRYFw_A.js +2 -0
  352. package/dashboard/dist/assets/useFilterParams-CGRYFw_A.js.map +1 -0
  353. package/dashboard/dist/assets/useYamlActivityEvents-BeR-nVWQ.js +2 -0
  354. package/dashboard/dist/assets/useYamlActivityEvents-BeR-nVWQ.js.map +1 -0
  355. package/dashboard/dist/assets/{users-CFcxB4v6.js → users-DYsdQ7Md.js} +2 -2
  356. package/dashboard/dist/assets/{users-CFcxB4v6.js.map → users-DYsdQ7Md.js.map} +1 -1
  357. package/dashboard/dist/assets/{vendor-icons-T4r2DSPD.js → vendor-icons-CWl44VA6.js} +132 -82
  358. package/dashboard/dist/assets/vendor-icons-CWl44VA6.js.map +1 -0
  359. package/dashboard/dist/assets/{workflows-CeRci9z3.js → workflows-2QAXh3UD.js} +2 -2
  360. package/dashboard/dist/assets/{workflows-CeRci9z3.js.map → workflows-2QAXh3UD.js.map} +1 -1
  361. package/dashboard/dist/assets/yaml-workflows-sx8-UEE3.js +2 -0
  362. package/dashboard/dist/assets/yaml-workflows-sx8-UEE3.js.map +1 -0
  363. package/dashboard/dist/index.html +3 -3
  364. package/docs/api/http/file-browser.md +101 -0
  365. package/docs/api/http/knowledge.md +203 -0
  366. package/docs/api/http/settings.md +6 -4
  367. package/docs/api/sdk/files.md +68 -0
  368. package/docs/api/sdk/knowledge.md +126 -0
  369. package/docs/api/sdk/settings.md +3 -2
  370. package/docs/cli.md +171 -0
  371. package/docs/compilation.md +16 -0
  372. package/docs/compiler.md +311 -0
  373. package/docs/events.md +19 -0
  374. package/docs/schema-exchange.md +173 -0
  375. package/docs/self-test.md +106 -0
  376. package/docs/workflows.md +19 -0
  377. package/package.json +15 -2
  378. package/build/api/escalations.d.ts +0 -271
  379. package/build/api/escalations.js +0 -932
  380. package/build/api/workflows.d.ts +0 -158
  381. package/build/api/workflows.js +0 -414
  382. package/dashboard/dist/assets/AvailableEscalationsPage-Dbd1qUK_.js +0 -2
  383. package/dashboard/dist/assets/AvailableEscalationsPage-Dbd1qUK_.js.map +0 -1
  384. package/dashboard/dist/assets/CredentialsPage-DJablIbs.js +0 -2
  385. package/dashboard/dist/assets/McpQueryDetailPage-BWbinTM_.js +0 -5
  386. package/dashboard/dist/assets/McpQueryDetailPage-BWbinTM_.js.map +0 -1
  387. package/dashboard/dist/assets/McpQueryPage-lV6kfDG5.js +0 -2
  388. package/dashboard/dist/assets/McpRunDetailPage-D6gaxH3_.js +0 -2
  389. package/dashboard/dist/assets/McpRunDetailPage-D6gaxH3_.js.map +0 -1
  390. package/dashboard/dist/assets/McpRunsPage-DKvTklh9.js +0 -2
  391. package/dashboard/dist/assets/McpRunsPage-DKvTklh9.js.map +0 -1
  392. package/dashboard/dist/assets/OperatorDashboard-C9SSV96T.js +0 -2
  393. package/dashboard/dist/assets/SwimlaneTimeline-RK4Yu66z.js +0 -2
  394. package/dashboard/dist/assets/SwimlaneTimeline-RK4Yu66z.js.map +0 -1
  395. package/dashboard/dist/assets/WorkflowPill-CZqGslD6.js +0 -2
  396. package/dashboard/dist/assets/WorkflowPill-CZqGslD6.js.map +0 -1
  397. package/dashboard/dist/assets/YamlWorkflowsPage-VjdhnLmO.js +0 -2
  398. package/dashboard/dist/assets/YamlWorkflowsPage-VjdhnLmO.js.map +0 -1
  399. package/dashboard/dist/assets/escalation-columns-Cyg58nkg.js +0 -2
  400. package/dashboard/dist/assets/helpers-BCix9c_m.js +0 -2
  401. package/dashboard/dist/assets/helpers-BCix9c_m.js.map +0 -1
  402. package/dashboard/dist/assets/index-BUK3qR-1.js +0 -2
  403. package/dashboard/dist/assets/index-BUK3qR-1.js.map +0 -1
  404. package/dashboard/dist/assets/index-BYZX9tOb.js.map +0 -1
  405. package/dashboard/dist/assets/index-Cf60K3x9.js +0 -2
  406. package/dashboard/dist/assets/index-Cg5nfiYX.js +0 -2
  407. package/dashboard/dist/assets/index-D1wVX50Z.js +0 -15
  408. package/dashboard/dist/assets/index-D1wVX50Z.js.map +0 -1
  409. package/dashboard/dist/assets/index-DDYFpi4l.js +0 -5
  410. package/dashboard/dist/assets/index-DDYFpi4l.js.map +0 -1
  411. package/dashboard/dist/assets/index-DcIKW-cZ.css +0 -1
  412. package/dashboard/dist/assets/index-Di12t56M.js +0 -2
  413. package/dashboard/dist/assets/mcp-query-B8-P_QoG.js +0 -2
  414. package/dashboard/dist/assets/mcp-query-B8-P_QoG.js.map +0 -1
  415. package/dashboard/dist/assets/mcp-runs-CWeZinoF.js +0 -2
  416. package/dashboard/dist/assets/mcp-runs-CWeZinoF.js.map +0 -1
  417. package/dashboard/dist/assets/useEventHooks-anv_B2Yy.js +0 -2
  418. package/dashboard/dist/assets/useFilterParams-BUyLHcx_.js +0 -2
  419. package/dashboard/dist/assets/useFilterParams-BUyLHcx_.js.map +0 -1
  420. package/dashboard/dist/assets/useYamlActivityEvents-DN-PTgVx.js +0 -2
  421. package/dashboard/dist/assets/useYamlActivityEvents-DN-PTgVx.js.map +0 -1
  422. package/dashboard/dist/assets/vendor-icons-T4r2DSPD.js.map +0 -1
  423. package/dashboard/dist/assets/yaml-workflows-DLwd2BOX.js +0 -2
  424. package/dashboard/dist/assets/yaml-workflows-DLwd2BOX.js.map +0 -1
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getEscalation = getEscalation;
37
+ exports.getEscalationsByWorkflowId = getEscalationsByWorkflowId;
38
+ exports.escalateToRole = escalateToRole;
39
+ const escalationService = __importStar(require("../../services/escalation"));
40
+ const userService = __importStar(require("../../services/user"));
41
+ const roleService = __importStar(require("../../services/role"));
42
+ // ── Single-escalation routes ───────────────────────────────────────────────
43
+ /**
44
+ * Get a single escalation by ID.
45
+ *
46
+ * Non-superadmin users must hold the escalation's assigned role.
47
+ *
48
+ * @param input.id — escalation UUID
49
+ * @param auth — authenticated user context
50
+ * @returns `{ status: 200, data: <escalation record> }` or 403/404
51
+ */
52
+ async function getEscalation(input, auth) {
53
+ try {
54
+ const escalation = await escalationService.getEscalation(input.id);
55
+ if (!escalation) {
56
+ return { status: 404, error: 'Escalation not found' };
57
+ }
58
+ const isSuperAdminUser = await userService.isSuperAdmin(auth.userId);
59
+ if (!isSuperAdminUser) {
60
+ const userHasRole = await userService.hasRole(auth.userId, escalation.role);
61
+ if (!userHasRole) {
62
+ return { status: 403, error: 'Not authorized to view this escalation' };
63
+ }
64
+ }
65
+ return { status: 200, data: escalation };
66
+ }
67
+ catch (err) {
68
+ return { status: 500, error: err.message };
69
+ }
70
+ }
71
+ /**
72
+ * List all escalations for a given workflow ID.
73
+ *
74
+ * @param input.workflowId — HotMesh workflow ID
75
+ * @returns `{ status: 200, data: { escalations } }`
76
+ */
77
+ async function getEscalationsByWorkflowId(input) {
78
+ try {
79
+ const escalations = await escalationService.getEscalationsByWorkflowId(input.workflowId);
80
+ return { status: 200, data: { escalations } };
81
+ }
82
+ catch (err) {
83
+ return { status: 500, error: err.message };
84
+ }
85
+ }
86
+ /**
87
+ * Route a pending escalation to a different role.
88
+ *
89
+ * The user must be authorized to escalate from the current role to the
90
+ * target role (checked via escalation chain configuration).
91
+ *
92
+ * @param input.id — escalation UUID
93
+ * @param input.targetRole — destination role
94
+ * @param auth — authenticated user context
95
+ * @returns `{ status: 200, data: <updated escalation> }` or 403/404/409
96
+ */
97
+ async function escalateToRole(input, auth) {
98
+ try {
99
+ const { id, targetRole } = input;
100
+ if (!targetRole || typeof targetRole !== 'string') {
101
+ return { status: 400, error: 'targetRole is required' };
102
+ }
103
+ const escalation = await escalationService.getEscalation(id);
104
+ if (!escalation) {
105
+ return { status: 404, error: 'Escalation not found' };
106
+ }
107
+ if (escalation.status !== 'pending') {
108
+ return { status: 409, error: 'Escalation is not pending' };
109
+ }
110
+ const canEscalate = await roleService.canEscalateTo(auth.userId, escalation.role, targetRole);
111
+ if (!canEscalate) {
112
+ return { status: 403, error: 'Not authorized to escalate to this role' };
113
+ }
114
+ const updated = await escalationService.escalateToRole(id, targetRole);
115
+ if (!updated) {
116
+ return { status: 409, error: 'Escalation could not be updated' };
117
+ }
118
+ return { status: 200, data: updated };
119
+ }
120
+ catch (err) {
121
+ return { status: 500, error: err.message };
122
+ }
123
+ }
@@ -0,0 +1,16 @@
1
+ import type { LTApiResult } from '../types/sdk';
2
+ export declare function browseFiles(input: {
3
+ prefix?: string;
4
+ pageSize?: number;
5
+ continuationToken?: string;
6
+ }): Promise<LTApiResult>;
7
+ export declare function getFileMetadata(input: {
8
+ filePath: string;
9
+ }): Promise<LTApiResult>;
10
+ export declare function deleteFile(input: {
11
+ filePath: string;
12
+ }): Promise<LTApiResult>;
13
+ export declare function generateSignedUrl(input: {
14
+ filePath: string;
15
+ expiresIn: number;
16
+ }): Promise<LTApiResult>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.browseFiles = browseFiles;
4
+ exports.getFileMetadata = getFileMetadata;
5
+ exports.deleteFile = deleteFile;
6
+ exports.generateSignedUrl = generateSignedUrl;
7
+ const storage_1 = require("../lib/storage");
8
+ const mime_1 = require("../lib/storage/mime");
9
+ const ALLOWED_EXPIRY = [3600, 21600, 86400, 604800, 2592000]; // 1h, 6h, 24h, 7d, 30d
10
+ async function browseFiles(input) {
11
+ try {
12
+ const result = await (0, storage_1.getStorageBackend)().listWithPrefixes(input.prefix, input.pageSize || 100, input.continuationToken);
13
+ return { status: 200, data: result };
14
+ }
15
+ catch (err) {
16
+ return { status: 500, error: err.message };
17
+ }
18
+ }
19
+ async function getFileMetadata(input) {
20
+ try {
21
+ const metadata = await (0, storage_1.getStorageBackend)().getMetadata(input.filePath);
22
+ const contentType = (!metadata.content_type || metadata.content_type === 'application/octet-stream')
23
+ ? (0, mime_1.mimeFromPath)(input.filePath)
24
+ : metadata.content_type;
25
+ return { status: 200, data: { path: input.filePath, ...metadata, content_type: contentType } };
26
+ }
27
+ catch (err) {
28
+ if (err.message?.includes('not found') || err.name === 'NotFound') {
29
+ return { status: 404, error: 'File not found' };
30
+ }
31
+ return { status: 500, error: err.message };
32
+ }
33
+ }
34
+ async function deleteFile(input) {
35
+ try {
36
+ const result = await (0, storage_1.getStorageBackend)().delete(input.filePath);
37
+ if (!result.deleted) {
38
+ return { status: 404, error: 'File not found' };
39
+ }
40
+ return { status: 200, data: { deleted: true, path: input.filePath } };
41
+ }
42
+ catch (err) {
43
+ return { status: 500, error: err.message };
44
+ }
45
+ }
46
+ async function generateSignedUrl(input) {
47
+ if (!ALLOWED_EXPIRY.includes(input.expiresIn)) {
48
+ return {
49
+ status: 400,
50
+ error: `expiresIn must be one of: ${ALLOWED_EXPIRY.join(', ')} (seconds)`,
51
+ };
52
+ }
53
+ try {
54
+ const url = await (0, storage_1.getStorageBackend)().getSignedUrl(input.filePath, input.expiresIn);
55
+ const expiresAt = new Date(Date.now() + input.expiresIn * 1000).toISOString();
56
+ return { status: 200, data: { url, expiresAt } };
57
+ }
58
+ catch (err) {
59
+ return { status: 500, error: err.message };
60
+ }
61
+ }
@@ -0,0 +1,36 @@
1
+ import type { LTApiResult } from '../types/sdk';
2
+ export declare function listDomains(): Promise<LTApiResult>;
3
+ export declare function listEntries(input: {
4
+ domain: string;
5
+ tags?: string[];
6
+ search?: string;
7
+ limit?: number;
8
+ offset?: number;
9
+ }): Promise<LTApiResult>;
10
+ export declare function getEntry(input: {
11
+ domain: string;
12
+ key: string;
13
+ }): Promise<LTApiResult>;
14
+ export declare function storeEntry(input: {
15
+ domain: string;
16
+ key: string;
17
+ data: Record<string, any>;
18
+ tags?: string[];
19
+ replace?: boolean;
20
+ }): Promise<LTApiResult>;
21
+ export declare function setField(input: {
22
+ domain: string;
23
+ key: string;
24
+ path: string;
25
+ value: any;
26
+ tags?: string[];
27
+ }): Promise<LTApiResult>;
28
+ export declare function removeField(input: {
29
+ domain: string;
30
+ key: string;
31
+ path: string;
32
+ }): Promise<LTApiResult>;
33
+ export declare function deleteEntry(input: {
34
+ domain: string;
35
+ key: string;
36
+ }): Promise<LTApiResult>;
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.listDomains = listDomains;
37
+ exports.listEntries = listEntries;
38
+ exports.getEntry = getEntry;
39
+ exports.storeEntry = storeEntry;
40
+ exports.setField = setField;
41
+ exports.removeField = removeField;
42
+ exports.deleteEntry = deleteEntry;
43
+ const knowledgeActivity = __importStar(require("../system/activities/knowledge"));
44
+ async function listDomains() {
45
+ try {
46
+ const result = await knowledgeActivity.listDomains();
47
+ return { status: 200, data: result };
48
+ }
49
+ catch (err) {
50
+ return { status: 500, error: err.message };
51
+ }
52
+ }
53
+ async function listEntries(input) {
54
+ try {
55
+ const result = await knowledgeActivity.listKnowledge(input);
56
+ return { status: 200, data: result };
57
+ }
58
+ catch (err) {
59
+ return { status: 500, error: err.message };
60
+ }
61
+ }
62
+ async function getEntry(input) {
63
+ try {
64
+ const result = await knowledgeActivity.getKnowledge(input);
65
+ return { status: 200, data: result };
66
+ }
67
+ catch (err) {
68
+ return { status: 500, error: err.message };
69
+ }
70
+ }
71
+ async function storeEntry(input) {
72
+ try {
73
+ const result = await knowledgeActivity.storeKnowledge(input);
74
+ return { status: 200, data: result };
75
+ }
76
+ catch (err) {
77
+ return { status: 500, error: err.message };
78
+ }
79
+ }
80
+ async function setField(input) {
81
+ try {
82
+ const result = await knowledgeActivity.setKnowledgeField(input);
83
+ return { status: 200, data: result };
84
+ }
85
+ catch (err) {
86
+ return { status: 500, error: err.message };
87
+ }
88
+ }
89
+ async function removeField(input) {
90
+ try {
91
+ const result = await knowledgeActivity.removeKnowledgeField(input);
92
+ if (!result.removed) {
93
+ return { status: 404, error: 'Field not found' };
94
+ }
95
+ return { status: 200, data: result };
96
+ }
97
+ catch (err) {
98
+ return { status: 500, error: err.message };
99
+ }
100
+ }
101
+ async function deleteEntry(input) {
102
+ try {
103
+ const result = await knowledgeActivity.deleteKnowledge(input);
104
+ if (!result.deleted) {
105
+ return { status: 404, error: 'Entry not found' };
106
+ }
107
+ return { status: 200, data: { deleted: true, domain: input.domain, key: input.key } };
108
+ }
109
+ catch (err) {
110
+ return { status: 500, error: err.message };
111
+ }
112
+ }
@@ -0,0 +1,2 @@
1
+ export { listMcpServers, createMcpServer, testConnection, getMcpServer, updateMcpServer, deleteMcpServer, connectMcpServer, disconnectMcpServer, getCredentialStatus, } from './servers';
2
+ export { listMcpServerTools, callMcpTool, } from './tools';
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callMcpTool = exports.listMcpServerTools = exports.getCredentialStatus = exports.disconnectMcpServer = exports.connectMcpServer = exports.deleteMcpServer = exports.updateMcpServer = exports.getMcpServer = exports.testConnection = exports.createMcpServer = exports.listMcpServers = void 0;
4
+ var servers_1 = require("./servers");
5
+ Object.defineProperty(exports, "listMcpServers", { enumerable: true, get: function () { return servers_1.listMcpServers; } });
6
+ Object.defineProperty(exports, "createMcpServer", { enumerable: true, get: function () { return servers_1.createMcpServer; } });
7
+ Object.defineProperty(exports, "testConnection", { enumerable: true, get: function () { return servers_1.testConnection; } });
8
+ Object.defineProperty(exports, "getMcpServer", { enumerable: true, get: function () { return servers_1.getMcpServer; } });
9
+ Object.defineProperty(exports, "updateMcpServer", { enumerable: true, get: function () { return servers_1.updateMcpServer; } });
10
+ Object.defineProperty(exports, "deleteMcpServer", { enumerable: true, get: function () { return servers_1.deleteMcpServer; } });
11
+ Object.defineProperty(exports, "connectMcpServer", { enumerable: true, get: function () { return servers_1.connectMcpServer; } });
12
+ Object.defineProperty(exports, "disconnectMcpServer", { enumerable: true, get: function () { return servers_1.disconnectMcpServer; } });
13
+ Object.defineProperty(exports, "getCredentialStatus", { enumerable: true, get: function () { return servers_1.getCredentialStatus; } });
14
+ var tools_1 = require("./tools");
15
+ Object.defineProperty(exports, "listMcpServerTools", { enumerable: true, get: function () { return tools_1.listMcpServerTools; } });
16
+ Object.defineProperty(exports, "callMcpTool", { enumerable: true, get: function () { return tools_1.callMcpTool; } });
@@ -1,4 +1,4 @@
1
- import type { LTApiResult, LTApiAuth } from '../types/sdk';
1
+ import type { LTApiResult, LTApiAuth } from '../../types/sdk';
2
2
  /**
3
3
  * List registered MCP servers with optional filtering and pagination.
4
4
  *
@@ -126,35 +126,3 @@ export declare function disconnectMcpServer(input: {
126
126
  export declare function getCredentialStatus(input: {
127
127
  id: string;
128
128
  }, auth?: LTApiAuth): Promise<LTApiResult>;
129
- /**
130
- * List all tools exposed by a connected MCP server.
131
- *
132
- * Requires the MCP adapter to be registered and the server to be connected.
133
- *
134
- * @param input.id — the MCP server identifier
135
- * @returns `{ status: 200, data: { tools } }` array of tool descriptors
136
- */
137
- export declare function listMcpServerTools(input: {
138
- id: string;
139
- }): Promise<LTApiResult>;
140
- /**
141
- * Invoke a specific tool on a connected MCP server.
142
- *
143
- * Passes the tool arguments and an optional auth context (derived from
144
- * `execute_as` or the authenticated user) to the MCP adapter. Returns
145
- * 422 with `missing_credential` if the tool requires a credential the
146
- * user has not registered.
147
- *
148
- * @param input.id — the MCP server identifier
149
- * @param input.toolName — name of the tool to invoke
150
- * @param input.arguments — key-value arguments to pass to the tool
151
- * @param input.execute_as — optional user ID to impersonate for the tool call
152
- * @param auth — authenticated user context
153
- * @returns `{ status: 200, data: { result } }` the tool execution result
154
- */
155
- export declare function callMcpTool(input: {
156
- id: string;
157
- toolName: string;
158
- arguments?: Record<string, any>;
159
- execute_as?: string;
160
- }, auth?: LTApiAuth): Promise<LTApiResult>;
@@ -42,10 +42,8 @@ exports.deleteMcpServer = deleteMcpServer;
42
42
  exports.connectMcpServer = connectMcpServer;
43
43
  exports.disconnectMcpServer = disconnectMcpServer;
44
44
  exports.getCredentialStatus = getCredentialStatus;
45
- exports.listMcpServerTools = listMcpServerTools;
46
- exports.callMcpTool = callMcpTool;
47
- const mcpDbService = __importStar(require("../services/mcp/db"));
48
- const mcp_1 = require("../services/mcp");
45
+ const mcpDbService = __importStar(require("../../services/mcp/db"));
46
+ const mcp_1 = require("../../services/mcp");
49
47
  /**
50
48
  * List registered MCP servers with optional filtering and pagination.
51
49
  *
@@ -113,7 +111,7 @@ async function testConnection(input) {
113
111
  if (!input.transport_type || !input.transport_config) {
114
112
  return { status: 400, error: 'transport_type and transport_config are required' };
115
113
  }
116
- const { testConnection: testConn } = await Promise.resolve().then(() => __importStar(require('../services/mcp/client/connection')));
114
+ const { testConnection: testConn } = await Promise.resolve().then(() => __importStar(require('../../services/mcp/client/connection')));
117
115
  const result = await testConn(input.transport_type, input.transport_config);
118
116
  return { status: 200, data: result };
119
117
  }
@@ -241,7 +239,7 @@ async function getCredentialStatus(input, auth) {
241
239
  const registered = [];
242
240
  const missing = [];
243
241
  if (auth?.userId && required.length > 0) {
244
- const { resolveCredential } = await Promise.resolve().then(() => __importStar(require('../services/iam/credentials')));
242
+ const { resolveCredential } = await Promise.resolve().then(() => __importStar(require('../../services/iam/credentials')));
245
243
  for (const provider of required) {
246
244
  const cred = await resolveCredential({ id: auth.userId, type: 'user', roles: [] }, provider);
247
245
  if (cred)
@@ -259,62 +257,3 @@ async function getCredentialStatus(input, auth) {
259
257
  return { status: 500, error: err.message };
260
258
  }
261
259
  }
262
- /**
263
- * List all tools exposed by a connected MCP server.
264
- *
265
- * Requires the MCP adapter to be registered and the server to be connected.
266
- *
267
- * @param input.id — the MCP server identifier
268
- * @returns `{ status: 200, data: { tools } }` array of tool descriptors
269
- */
270
- async function listMcpServerTools(input) {
271
- try {
272
- const adapter = mcp_1.mcpRegistry.current;
273
- if (!adapter) {
274
- return { status: 400, error: 'MCP adapter not registered' };
275
- }
276
- const tools = await adapter.listTools(input.id);
277
- return { status: 200, data: { tools } };
278
- }
279
- catch (err) {
280
- return { status: 500, error: err.message };
281
- }
282
- }
283
- /**
284
- * Invoke a specific tool on a connected MCP server.
285
- *
286
- * Passes the tool arguments and an optional auth context (derived from
287
- * `execute_as` or the authenticated user) to the MCP adapter. Returns
288
- * 422 with `missing_credential` if the tool requires a credential the
289
- * user has not registered.
290
- *
291
- * @param input.id — the MCP server identifier
292
- * @param input.toolName — name of the tool to invoke
293
- * @param input.arguments — key-value arguments to pass to the tool
294
- * @param input.execute_as — optional user ID to impersonate for the tool call
295
- * @param auth — authenticated user context
296
- * @returns `{ status: 200, data: { result } }` the tool execution result
297
- */
298
- async function callMcpTool(input, auth) {
299
- try {
300
- const adapter = mcp_1.mcpRegistry.current;
301
- if (!adapter) {
302
- return { status: 400, error: 'MCP adapter not registered' };
303
- }
304
- const authContext = (input.execute_as || auth?.userId)
305
- ? { userId: input.execute_as || auth?.userId }
306
- : undefined;
307
- const result = await adapter.callTool(input.id, input.toolName, input.arguments || {}, authContext);
308
- return { status: 200, data: { result } };
309
- }
310
- catch (err) {
311
- if (err.name === 'MissingCredentialError') {
312
- return {
313
- status: 422,
314
- error: 'missing_credential',
315
- ...{ provider: err.provider, message: err.message },
316
- };
317
- }
318
- return { status: 500, error: err.message };
319
- }
320
- }
@@ -0,0 +1,33 @@
1
+ import type { LTApiResult, LTApiAuth } from '../../types/sdk';
2
+ /**
3
+ * List all tools exposed by a connected MCP server.
4
+ *
5
+ * Requires the MCP adapter to be registered and the server to be connected.
6
+ *
7
+ * @param input.id — the MCP server identifier
8
+ * @returns `{ status: 200, data: { tools } }` array of tool descriptors
9
+ */
10
+ export declare function listMcpServerTools(input: {
11
+ id: string;
12
+ }): Promise<LTApiResult>;
13
+ /**
14
+ * Invoke a specific tool on a connected MCP server.
15
+ *
16
+ * Passes the tool arguments and an optional auth context (derived from
17
+ * `execute_as` or the authenticated user) to the MCP adapter. Returns
18
+ * 422 with `missing_credential` if the tool requires a credential the
19
+ * user has not registered.
20
+ *
21
+ * @param input.id — the MCP server identifier
22
+ * @param input.toolName — name of the tool to invoke
23
+ * @param input.arguments — key-value arguments to pass to the tool
24
+ * @param input.execute_as — optional user ID to impersonate for the tool call
25
+ * @param auth — authenticated user context
26
+ * @returns `{ status: 200, data: { result } }` the tool execution result
27
+ */
28
+ export declare function callMcpTool(input: {
29
+ id: string;
30
+ toolName: string;
31
+ arguments?: Record<string, any>;
32
+ execute_as?: string;
33
+ }, auth?: LTApiAuth): Promise<LTApiResult>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listMcpServerTools = listMcpServerTools;
4
+ exports.callMcpTool = callMcpTool;
5
+ const mcp_1 = require("../../services/mcp");
6
+ /**
7
+ * List all tools exposed by a connected MCP server.
8
+ *
9
+ * Requires the MCP adapter to be registered and the server to be connected.
10
+ *
11
+ * @param input.id — the MCP server identifier
12
+ * @returns `{ status: 200, data: { tools } }` array of tool descriptors
13
+ */
14
+ async function listMcpServerTools(input) {
15
+ try {
16
+ const adapter = mcp_1.mcpRegistry.current;
17
+ if (!adapter) {
18
+ return { status: 400, error: 'MCP adapter not registered' };
19
+ }
20
+ const tools = await adapter.listTools(input.id);
21
+ return { status: 200, data: { tools } };
22
+ }
23
+ catch (err) {
24
+ return { status: 500, error: err.message };
25
+ }
26
+ }
27
+ /**
28
+ * Invoke a specific tool on a connected MCP server.
29
+ *
30
+ * Passes the tool arguments and an optional auth context (derived from
31
+ * `execute_as` or the authenticated user) to the MCP adapter. Returns
32
+ * 422 with `missing_credential` if the tool requires a credential the
33
+ * user has not registered.
34
+ *
35
+ * @param input.id — the MCP server identifier
36
+ * @param input.toolName — name of the tool to invoke
37
+ * @param input.arguments — key-value arguments to pass to the tool
38
+ * @param input.execute_as — optional user ID to impersonate for the tool call
39
+ * @param auth — authenticated user context
40
+ * @returns `{ status: 200, data: { result } }` the tool execution result
41
+ */
42
+ async function callMcpTool(input, auth) {
43
+ try {
44
+ const adapter = mcp_1.mcpRegistry.current;
45
+ if (!adapter) {
46
+ return { status: 400, error: 'MCP adapter not registered' };
47
+ }
48
+ const authContext = (input.execute_as || auth?.userId)
49
+ ? { userId: input.execute_as || auth?.userId }
50
+ : undefined;
51
+ const result = await adapter.callTool(input.id, input.toolName, input.arguments || {}, authContext);
52
+ return { status: 200, data: { result } };
53
+ }
54
+ catch (err) {
55
+ if (err.name === 'MissingCredentialError') {
56
+ return {
57
+ status: 422,
58
+ error: 'missing_credential',
59
+ ...{ provider: err.provider, message: err.message },
60
+ };
61
+ }
62
+ return { status: 500, error: err.message };
63
+ }
64
+ }
@@ -26,6 +26,8 @@ export declare function listJobs(input: {
26
26
  entity?: string;
27
27
  search?: string;
28
28
  status?: string;
29
+ sort_by?: string;
30
+ order?: string;
29
31
  }): Promise<LTApiResult>;
30
32
  /**
31
33
  * Get the full execution history for a single job.
@@ -49,6 +49,8 @@ async function listJobs(input) {
49
49
  entity: input.entity,
50
50
  search: input.search,
51
51
  status: input.status,
52
+ sort_by: input.sort_by,
53
+ order: input.order,
52
54
  });
53
55
  return { status: 200, data: result };
54
56
  }
@@ -18,7 +18,12 @@ async function getSettings() {
18
18
  try {
19
19
  const hasSocketIO = !!events_1.eventRegistry.getAdapter(socketio_1.SocketIOEventAdapter);
20
20
  const hasNats = !!events_1.eventRegistry.getAdapter(nats_1.NatsEventAdapter);
21
- const transport = hasSocketIO ? 'socketio' : hasNats ? 'nats' : 'none';
21
+ // Dashboard transport: Socket.IO is the default (works in-process, zero config).
22
+ // NATS is only reported when explicitly opted in via EVENT_TRANSPORT=nats,
23
+ // which a multi-container deployment sets when it wants the dashboard to
24
+ // connect via NATS instead of Socket.IO.
25
+ const forceNats = process.env.EVENT_TRANSPORT === 'nats';
26
+ const transport = forceNats && hasNats ? 'nats' : hasSocketIO ? 'socketio' : hasNats ? 'nats' : 'none';
22
27
  return {
23
28
  status: 200,
24
29
  data: {
@@ -33,6 +38,9 @@ async function getSettings() {
33
38
  natsWsUrl: hasNats
34
39
  ? (process.env.VITE_NATS_WS_URL || process.env.NATS_WS_URL || null)
35
40
  : null,
41
+ natsToken: hasNats
42
+ ? (process.env.NATS_TOKEN || null)
43
+ : null,
36
44
  },
37
45
  },
38
46
  };
@@ -75,3 +75,14 @@ export declare function buildWorkflowSet(input: {
75
75
  export declare function deployWorkflowSet(input: {
76
76
  id: string;
77
77
  }): Promise<LTApiResult>;
78
+ /**
79
+ * Add additional workflows to an existing set.
80
+ *
81
+ * Invokes the planner with the new specification and existing set context.
82
+ * The planner appends new plan items (offset build_order) and builds them
83
+ * with sibling schema awareness so composition wiring works.
84
+ */
85
+ export declare function addToWorkflowSet(input: {
86
+ id: string;
87
+ specification: string;
88
+ }, auth?: LTApiAuth): Promise<LTApiResult>;