@hotmeshio/long-tail 0.4.18 → 0.4.20

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 (354) hide show
  1. package/README.md +0 -2
  2. package/build/api/auth-sso.d.ts +12 -0
  3. package/build/api/auth-sso.js +54 -0
  4. package/build/api/escalations/bulk.js +2 -2
  5. package/build/api/escalations/claim.js +3 -13
  6. package/build/api/escalations/create.js +3 -2
  7. package/build/api/escalations/helpers.d.ts +1 -0
  8. package/build/api/escalations/helpers.js +12 -9
  9. package/build/api/escalations/list.d.ts +1 -0
  10. package/build/api/escalations/list.js +1 -0
  11. package/build/api/escalations/metadata.d.ts +7 -24
  12. package/build/api/escalations/metadata.js +31 -65
  13. package/build/api/escalations/single.js +3 -2
  14. package/build/api/settings.js +5 -0
  15. package/build/api/topics.d.ts +9 -0
  16. package/build/api/topics.js +31 -2
  17. package/build/lib/events/index.d.ts +1 -0
  18. package/build/lib/events/index.js +4 -0
  19. package/build/lib/events/publish.d.ts +12 -9
  20. package/build/lib/events/publish.js +27 -17
  21. package/build/modules/auth.d.ts +7 -0
  22. package/build/modules/auth.js +104 -2
  23. package/build/modules/sso.d.ts +6 -0
  24. package/build/modules/sso.js +20 -0
  25. package/build/routes/auth-sso.d.ts +2 -0
  26. package/build/routes/auth-sso.js +51 -0
  27. package/build/routes/bot-accounts.js +1 -1
  28. package/build/routes/controlplane.js +6 -6
  29. package/build/routes/escalations/list.js +1 -0
  30. package/build/routes/index.js +2 -0
  31. package/build/routes/mcp-endpoint.d.ts +17 -0
  32. package/build/routes/mcp-endpoint.js +70 -0
  33. package/build/routes/roles.js +5 -5
  34. package/build/routes/topics.js +2 -0
  35. package/build/routes/users.js +31 -5
  36. package/build/sdk/index.d.ts +1 -0
  37. package/build/services/agent/input-mapper.js +17 -1
  38. package/build/services/escalation/crud.d.ts +17 -1
  39. package/build/services/escalation/crud.js +62 -13
  40. package/build/services/escalation/queries.d.ts +1 -0
  41. package/build/services/escalation/queries.js +7 -0
  42. package/build/services/escalation/sql.d.ts +14 -5
  43. package/build/services/escalation/sql.js +53 -16
  44. package/build/services/mcp/exposure.d.ts +15 -0
  45. package/build/services/mcp/exposure.js +18 -0
  46. package/build/services/mcp/external-server.d.ts +15 -0
  47. package/build/services/mcp/external-server.js +125 -0
  48. package/build/services/mcp/seed-service-account.d.ts +11 -0
  49. package/build/services/mcp/seed-service-account.js +77 -0
  50. package/build/services/role/index.d.ts +1 -1
  51. package/build/services/role/index.js +2 -2
  52. package/build/services/topics/system-topics.js +29 -25
  53. package/build/services/user/index.d.ts +1 -1
  54. package/build/services/user/index.js +3 -1
  55. package/build/services/user/rbac.d.ts +16 -0
  56. package/build/services/user/rbac.js +31 -0
  57. package/build/services/user/sso-provision.d.ts +19 -0
  58. package/build/services/user/sso-provision.js +62 -0
  59. package/build/services/workflow-invocation.js +5 -3
  60. package/build/start/config.js +6 -0
  61. package/build/start/server.js +2 -0
  62. package/build/start/workers.js +15 -0
  63. package/build/system/index.js +53 -35
  64. package/build/system/mcp-servers/admin/agent-subscriptions.d.ts +5 -0
  65. package/build/system/mcp-servers/admin/agent-subscriptions.js +78 -0
  66. package/build/system/mcp-servers/admin/agents.d.ts +5 -0
  67. package/build/system/mcp-servers/admin/agents.js +103 -0
  68. package/build/system/mcp-servers/admin/bot-accounts.d.ts +5 -0
  69. package/build/system/mcp-servers/admin/bot-accounts.js +126 -0
  70. package/build/system/mcp-servers/admin/controlplane.d.ts +5 -0
  71. package/build/system/mcp-servers/admin/controlplane.js +107 -0
  72. package/build/system/mcp-servers/admin/escalations.js +88 -0
  73. package/build/system/mcp-servers/admin/exports.d.ts +5 -0
  74. package/build/system/mcp-servers/admin/exports.js +101 -0
  75. package/build/system/mcp-servers/admin/index.d.ts +16 -8
  76. package/build/system/mcp-servers/admin/index.js +36 -21
  77. package/build/system/mcp-servers/admin/pipelines.d.ts +5 -0
  78. package/build/system/mcp-servers/admin/pipelines.js +96 -0
  79. package/build/system/mcp-servers/admin/schemas.d.ts +614 -6
  80. package/build/system/mcp-servers/admin/schemas.js +239 -1
  81. package/build/system/mcp-servers/admin/settings.d.ts +5 -0
  82. package/build/system/mcp-servers/admin/settings.js +53 -0
  83. package/build/system/mcp-servers/admin/topics.d.ts +5 -0
  84. package/build/system/mcp-servers/admin/topics.js +101 -0
  85. package/build/system/seed/tool-manifests-admin.d.ts +5077 -188
  86. package/build/system/seed/tool-manifests-admin.js +79 -30
  87. package/build/system/seed/tool-manifests-data.d.ts +20 -0
  88. package/build/system/seed/tool-manifests-data.js +24 -6
  89. package/build/system/seed/tool-manifests-escalation.d.ts +5 -0
  90. package/build/system/seed/tool-manifests-escalation.js +5 -0
  91. package/build/system/seed/tool-manifests-events.d.ts +4 -0
  92. package/build/system/seed/tool-manifests-events.js +4 -0
  93. package/build/system/seed/tool-manifests-knowledge.d.ts +6 -0
  94. package/build/system/seed/tool-manifests-knowledge.js +7 -0
  95. package/build/system/seed/tool-manifests-workflows.d.ts +8 -0
  96. package/build/system/seed/tool-manifests-workflows.js +8 -0
  97. package/build/tsconfig.tsbuildinfo +1 -1
  98. package/build/types/auth.d.ts +71 -0
  99. package/build/types/events.d.ts +17 -6
  100. package/build/types/index.d.ts +1 -1
  101. package/build/types/startup.d.ts +22 -1
  102. package/dashboard/dist/assets/{AdminDashboard-Cfo0mwL2.js → AdminDashboard-BwUGcCxQ.js} +2 -2
  103. package/dashboard/dist/assets/{AdminDashboard-Cfo0mwL2.js.map → AdminDashboard-BwUGcCxQ.js.map} +1 -1
  104. package/dashboard/dist/assets/AgentConfigPage-DgrYzLwq.js +16 -0
  105. package/dashboard/dist/assets/AgentConfigPage-DgrYzLwq.js.map +1 -0
  106. package/dashboard/dist/assets/{AgentDetailPage-3mZA7SOb.js → AgentDetailPage-XJpl7wfJ.js} +4 -4
  107. package/dashboard/dist/assets/AgentDetailPage-XJpl7wfJ.js.map +1 -0
  108. package/dashboard/dist/assets/{AgentsPage-CTVocfBb.js → AgentsPage-CGpVG6r8.js} +2 -2
  109. package/dashboard/dist/assets/{AgentsPage-CTVocfBb.js.map → AgentsPage-CGpVG6r8.js.map} +1 -1
  110. package/dashboard/dist/assets/AvailableEscalationsPage-DR1e0TQZ.js +2 -0
  111. package/dashboard/dist/assets/{AvailableEscalationsPage-CA9x9o5s.js.map → AvailableEscalationsPage-DR1e0TQZ.js.map} +1 -1
  112. package/dashboard/dist/assets/BotPicker-BKtjl6IL.js +2 -0
  113. package/dashboard/dist/assets/{BotPicker-BQp_Vs73.js.map → BotPicker-BKtjl6IL.js.map} +1 -1
  114. package/dashboard/dist/assets/{CapabilitiesPage-wpVtkGeU.js → CapabilitiesPage-kCB8fyOj.js} +2 -2
  115. package/dashboard/dist/assets/{CapabilitiesPage-wpVtkGeU.js.map → CapabilitiesPage-kCB8fyOj.js.map} +1 -1
  116. package/dashboard/dist/assets/{CollapsibleSection-2eZMMZiG.js → CollapsibleSection-C3tU61hB.js} +2 -2
  117. package/dashboard/dist/assets/{CollapsibleSection-2eZMMZiG.js.map → CollapsibleSection-C3tU61hB.js.map} +1 -1
  118. package/dashboard/dist/assets/{CredentialsPage-DJGLssm0.js → CredentialsPage-Dt4nJs_B.js} +2 -2
  119. package/dashboard/dist/assets/{CredentialsPage-DJGLssm0.js.map → CredentialsPage-Dt4nJs_B.js.map} +1 -1
  120. package/dashboard/dist/assets/CronLabel-BdE6mHyA.js +2 -0
  121. package/dashboard/dist/assets/CronLabel-BdE6mHyA.js.map +1 -0
  122. package/dashboard/dist/assets/{CustomDurationPicker-DbyqfK35.js → CustomDurationPicker-B_Yxfb-u.js} +2 -2
  123. package/dashboard/dist/assets/{CustomDurationPicker-DbyqfK35.js.map → CustomDurationPicker-B_Yxfb-u.js.map} +1 -1
  124. package/dashboard/dist/assets/{DropZone-BkfRoUcm.js → DropZone-CptiQ0wc.js} +2 -2
  125. package/dashboard/dist/assets/{DropZone-BkfRoUcm.js.map → DropZone-CptiQ0wc.js.map} +1 -1
  126. package/dashboard/dist/assets/ElapsedCell-tcGx5PFI.js +2 -0
  127. package/dashboard/dist/assets/{ElapsedCell-BPYm8RA7.js.map → ElapsedCell-tcGx5PFI.js.map} +1 -1
  128. package/dashboard/dist/assets/{EscalationsOverview-kYGHfnLf.js → EscalationsOverview-1KO5dXzk.js} +2 -2
  129. package/dashboard/dist/assets/{EscalationsOverview-kYGHfnLf.js.map → EscalationsOverview-1KO5dXzk.js.map} +1 -1
  130. package/dashboard/dist/assets/{EventTable-DSDzJMer.js → EventTable-DnpsQ6Ew.js} +2 -2
  131. package/dashboard/dist/assets/{EventTable-DSDzJMer.js.map → EventTable-DnpsQ6Ew.js.map} +1 -1
  132. package/dashboard/dist/assets/HomePage-B2Jgo1J1.js +2 -0
  133. package/dashboard/dist/assets/HomePage-B2Jgo1J1.js.map +1 -0
  134. package/dashboard/dist/assets/ListToolbar-jrVba7QN.js +2 -0
  135. package/dashboard/dist/assets/{ListToolbar-DEef1_-T.js.map → ListToolbar-jrVba7QN.js.map} +1 -1
  136. package/dashboard/dist/assets/{McpOverview-CZFW5qMb.js → McpOverview-BzyxJyc9.js} +2 -2
  137. package/dashboard/dist/assets/{McpOverview-CZFW5qMb.js.map → McpOverview-BzyxJyc9.js.map} +1 -1
  138. package/dashboard/dist/assets/{McpQueryDetailPage-q9xH-QRo.js → McpQueryDetailPage-DXNseeKl.js} +2 -2
  139. package/dashboard/dist/assets/{McpQueryDetailPage-q9xH-QRo.js.map → McpQueryDetailPage-DXNseeKl.js.map} +1 -1
  140. package/dashboard/dist/assets/{McpQueryPage-D14466yi.js → McpQueryPage-WZfTY43_.js} +2 -2
  141. package/dashboard/dist/assets/{McpQueryPage-D14466yi.js.map → McpQueryPage-WZfTY43_.js.map} +1 -1
  142. package/dashboard/dist/assets/McpRunDetailPage-DKZp-p7S.js +2 -0
  143. package/dashboard/dist/assets/McpRunDetailPage-DKZp-p7S.js.map +1 -0
  144. package/dashboard/dist/assets/McpRunsPage-SXyiwc0d.js +2 -0
  145. package/dashboard/dist/assets/{McpRunsPage-aZg057y3.js.map → McpRunsPage-SXyiwc0d.js.map} +1 -1
  146. package/dashboard/dist/assets/OperatorDashboard-Cy7ySMXj.js +2 -0
  147. package/dashboard/dist/assets/OperatorDashboard-Cy7ySMXj.js.map +1 -0
  148. package/dashboard/dist/assets/{PageHeader-CR6TpJG_.js → PageHeader-BuJpMxyu.js} +2 -2
  149. package/dashboard/dist/assets/{PageHeader-CR6TpJG_.js.map → PageHeader-BuJpMxyu.js.map} +1 -1
  150. package/dashboard/dist/assets/{PageHeaderWithStats-CRcQEAO1.js → PageHeaderWithStats-yD_PTbOl.js} +2 -2
  151. package/dashboard/dist/assets/{PageHeaderWithStats-CRcQEAO1.js.map → PageHeaderWithStats-yD_PTbOl.js.map} +1 -1
  152. package/dashboard/dist/assets/{ProcessDetailPage-DyzNjwu8.js → ProcessDetailPage-DYIfvWyc.js} +2 -2
  153. package/dashboard/dist/assets/{ProcessDetailPage-DyzNjwu8.js.map → ProcessDetailPage-DYIfvWyc.js.map} +1 -1
  154. package/dashboard/dist/assets/{ProcessesListPage-CT_3b5Wt.js → ProcessesListPage-DR1RGaMl.js} +2 -2
  155. package/dashboard/dist/assets/{ProcessesListPage-CT_3b5Wt.js.map → ProcessesListPage-DR1RGaMl.js.map} +1 -1
  156. package/dashboard/dist/assets/{RolePill-BC54Vn-U.js → RolePill-SasQKc_B.js} +2 -2
  157. package/dashboard/dist/assets/{RolePill-BC54Vn-U.js.map → RolePill-SasQKc_B.js.map} +1 -1
  158. package/dashboard/dist/assets/{RolesPage-CpRJq-sg.js → RolesPage-pMERxj15.js} +2 -2
  159. package/dashboard/dist/assets/{RolesPage-CpRJq-sg.js.map → RolesPage-pMERxj15.js.map} +1 -1
  160. package/dashboard/dist/assets/{RunAsSelector-C20rdNsC.js → RunAsSelector-B-ksMoEj.js} +2 -2
  161. package/dashboard/dist/assets/{RunAsSelector-C20rdNsC.js.map → RunAsSelector-B-ksMoEj.js.map} +1 -1
  162. package/dashboard/dist/assets/ServerName-CHspudaC.js +2 -0
  163. package/dashboard/dist/assets/{ServerName-Q6okiv4f.js.map → ServerName-CHspudaC.js.map} +1 -1
  164. package/dashboard/dist/assets/{SwimlaneTimeline-CbFaU4bq.js → SwimlaneTimeline-Cr_K5qpu.js} +2 -2
  165. package/dashboard/dist/assets/{SwimlaneTimeline-CbFaU4bq.js.map → SwimlaneTimeline-Cr_K5qpu.js.map} +1 -1
  166. package/dashboard/dist/assets/{TagInput-D6l1SPWd.js → TagInput-DvF3j8MA.js} +2 -2
  167. package/dashboard/dist/assets/{TagInput-D6l1SPWd.js.map → TagInput-DvF3j8MA.js.map} +1 -1
  168. package/dashboard/dist/assets/{TaskDetailPage-22cJsFmM.js → TaskDetailPage-BO5p7AEe.js} +2 -2
  169. package/dashboard/dist/assets/{TaskDetailPage-22cJsFmM.js.map → TaskDetailPage-BO5p7AEe.js.map} +1 -1
  170. package/dashboard/dist/assets/{TaskQueuePill-iDBVCEQQ.js → TaskQueuePill-BCQrS2oK.js} +2 -2
  171. package/dashboard/dist/assets/{TaskQueuePill-iDBVCEQQ.js.map → TaskQueuePill-BCQrS2oK.js.map} +1 -1
  172. package/dashboard/dist/assets/{TasksListPage-BDmaUIKu.js → TasksListPage-BRg-uFtF.js} +2 -2
  173. package/dashboard/dist/assets/{TasksListPage-BDmaUIKu.js.map → TasksListPage-BRg-uFtF.js.map} +1 -1
  174. package/dashboard/dist/assets/{TimeAgo-7wqEp87-.js → TimeAgo-BSzN6rAH.js} +2 -2
  175. package/dashboard/dist/assets/{TimeAgo-7wqEp87-.js.map → TimeAgo-BSzN6rAH.js.map} +1 -1
  176. package/dashboard/dist/assets/{TimestampCell-BBCf8zsN.js → TimestampCell-DL6zMNEQ.js} +2 -2
  177. package/dashboard/dist/assets/{TimestampCell-BBCf8zsN.js.map → TimestampCell-DL6zMNEQ.js.map} +1 -1
  178. package/dashboard/dist/assets/{ToolPill-HcRTggHo.js → ToolPill-1aTqYtzp.js} +2 -2
  179. package/dashboard/dist/assets/{ToolPill-HcRTggHo.js.map → ToolPill-1aTqYtzp.js.map} +1 -1
  180. package/dashboard/dist/assets/{ToolTestPanel-Dosq1cqG.js → ToolTestPanel-fLzNp79U.js} +2 -2
  181. package/dashboard/dist/assets/{ToolTestPanel-Dosq1cqG.js.map → ToolTestPanel-fLzNp79U.js.map} +1 -1
  182. package/dashboard/dist/assets/TopicDetailPage-D7gCsPKB.js +9 -0
  183. package/dashboard/dist/assets/TopicDetailPage-D7gCsPKB.js.map +1 -0
  184. package/dashboard/dist/assets/{TopicsPage-tVPdz-k0.js → TopicsPage-B3Aa8Haz.js} +2 -2
  185. package/dashboard/dist/assets/{TopicsPage-tVPdz-k0.js.map → TopicsPage-B3Aa8Haz.js.map} +1 -1
  186. package/dashboard/dist/assets/{UserName-DX7IBjFn.js → UserName-BjHIJWgh.js} +2 -2
  187. package/dashboard/dist/assets/{UserName-DX7IBjFn.js.map → UserName-BjHIJWgh.js.map} +1 -1
  188. package/dashboard/dist/assets/{WorkflowExecutionPage-BjC0j9_L.js → WorkflowExecutionPage-BQ7AYlQA.js} +2 -2
  189. package/dashboard/dist/assets/{WorkflowExecutionPage-BjC0j9_L.js.map → WorkflowExecutionPage-BQ7AYlQA.js.map} +1 -1
  190. package/dashboard/dist/assets/{WorkflowPill-54px0YiY.js → WorkflowPill-Z-zHRKOK.js} +2 -2
  191. package/dashboard/dist/assets/{WorkflowPill-54px0YiY.js.map → WorkflowPill-Z-zHRKOK.js.map} +1 -1
  192. package/dashboard/dist/assets/WorkflowsDashboard-D-G8Xudz.js +2 -0
  193. package/dashboard/dist/assets/WorkflowsDashboard-D-G8Xudz.js.map +1 -0
  194. package/dashboard/dist/assets/{WorkflowsOverview-DaJRDkNy.js → WorkflowsOverview-B4DUcVxs.js} +2 -2
  195. package/dashboard/dist/assets/{WorkflowsOverview-DaJRDkNy.js.map → WorkflowsOverview-B4DUcVxs.js.map} +1 -1
  196. package/dashboard/dist/assets/{YamlWorkflowsPage-CkpQaUmz.js → YamlWorkflowsPage-CnTNOku0.js} +2 -2
  197. package/dashboard/dist/assets/{YamlWorkflowsPage-CkpQaUmz.js.map → YamlWorkflowsPage-CnTNOku0.js.map} +1 -1
  198. package/dashboard/dist/assets/{agents-B-P5MlEx.js → agents-CkvQDr9b.js} +2 -2
  199. package/dashboard/dist/assets/{agents-B-P5MlEx.js.map → agents-CkvQDr9b.js.map} +1 -1
  200. package/dashboard/dist/assets/{bots-CZz9iVys.js → bots-CzuMCVgU.js} +2 -2
  201. package/dashboard/dist/assets/{bots-CZz9iVys.js.map → bots-CzuMCVgU.js.map} +1 -1
  202. package/dashboard/dist/assets/{capabilities-DrZ8Vw_v.js → capabilities-CbGmS0ty.js} +2 -2
  203. package/dashboard/dist/assets/{capabilities-DrZ8Vw_v.js.map → capabilities-CbGmS0ty.js.map} +1 -1
  204. package/dashboard/dist/assets/{controlplane-cj-1c-1C.js → controlplane-DGvwkuYx.js} +2 -2
  205. package/dashboard/dist/assets/{controlplane-cj-1c-1C.js.map → controlplane-DGvwkuYx.js.map} +1 -1
  206. package/dashboard/dist/assets/{escalation-BEVFyQnE.js → escalation-B7ysVToF.js} +2 -2
  207. package/dashboard/dist/assets/{escalation-BEVFyQnE.js.map → escalation-B7ysVToF.js.map} +1 -1
  208. package/dashboard/dist/assets/{escalation-columns-Beox3TXH.js → escalation-columns-CHQEJU1j.js} +2 -2
  209. package/dashboard/dist/assets/{escalation-columns-Beox3TXH.js.map → escalation-columns-CHQEJU1j.js.map} +1 -1
  210. package/dashboard/dist/assets/{helpers-B4gzNq9h.js → helpers-BFOjXa4r.js} +2 -2
  211. package/dashboard/dist/assets/{helpers-B4gzNq9h.js.map → helpers-BFOjXa4r.js.map} +1 -1
  212. package/dashboard/dist/assets/index-B9_1AZaG.js +2 -0
  213. package/dashboard/dist/assets/{index-3n5VREXN.js.map → index-B9_1AZaG.js.map} +1 -1
  214. package/dashboard/dist/assets/{index-BCQ65lNu.js → index-BFaDxPxA.js} +2 -2
  215. package/dashboard/dist/assets/{index-BCQ65lNu.js.map → index-BFaDxPxA.js.map} +1 -1
  216. package/dashboard/dist/assets/index-BduDiGcw.js +15 -0
  217. package/dashboard/dist/assets/{index-UtAfnStw.js.map → index-BduDiGcw.js.map} +1 -1
  218. package/dashboard/dist/assets/{index-Bh-PnP17.js → index-BeLphL59.js} +2 -2
  219. package/dashboard/dist/assets/{index-Bh-PnP17.js.map → index-BeLphL59.js.map} +1 -1
  220. package/dashboard/dist/assets/index-C--SEsU7.css +1 -0
  221. package/dashboard/dist/assets/{index-_DfbFHXk.js → index-CRiBkHPb.js} +2 -2
  222. package/dashboard/dist/assets/{index-_DfbFHXk.js.map → index-CRiBkHPb.js.map} +1 -1
  223. package/dashboard/dist/assets/{index-DdKbIZNE.js → index-CbrMW-gM.js} +2 -2
  224. package/dashboard/dist/assets/{index-DdKbIZNE.js.map → index-CbrMW-gM.js.map} +1 -1
  225. package/dashboard/dist/assets/{index-aJRDh4zW.js → index-CvOGgvzP.js} +2 -2
  226. package/dashboard/dist/assets/{index-aJRDh4zW.js.map → index-CvOGgvzP.js.map} +1 -1
  227. package/dashboard/dist/assets/{index-D1MywQ2z.js → index-DDlrQeTj.js} +2 -2
  228. package/dashboard/dist/assets/{index-D1MywQ2z.js.map → index-DDlrQeTj.js.map} +1 -1
  229. package/dashboard/dist/assets/{index-BYXiz05a.js → index-DQHmfTPo.js} +2 -2
  230. package/dashboard/dist/assets/{index-BYXiz05a.js.map → index-DQHmfTPo.js.map} +1 -1
  231. package/dashboard/dist/assets/{index-BpN31nuC.js → index-_BRA9uFL.js} +25 -25
  232. package/dashboard/dist/assets/index-_BRA9uFL.js.map +1 -0
  233. package/dashboard/dist/assets/index-a98qWLB-.js +2 -0
  234. package/dashboard/dist/assets/index-a98qWLB-.js.map +1 -0
  235. package/dashboard/dist/assets/index-l_8R6U4r.js +6 -0
  236. package/dashboard/dist/assets/index-l_8R6U4r.js.map +1 -0
  237. package/dashboard/dist/assets/{index-D4KGadbW.js → index-v0OQpgXS.js} +2 -2
  238. package/dashboard/dist/assets/{index-D4KGadbW.js.map → index-v0OQpgXS.js.map} +1 -1
  239. package/dashboard/dist/assets/{knowledge-DhtKWMON.js → knowledge-BlF8UMrk.js} +2 -2
  240. package/dashboard/dist/assets/{knowledge-DhtKWMON.js.map → knowledge-BlF8UMrk.js.map} +1 -1
  241. package/dashboard/dist/assets/{mcp-BXN7-wGF.js → mcp-MtXuky8q.js} +2 -2
  242. package/dashboard/dist/assets/{mcp-BXN7-wGF.js.map → mcp-MtXuky8q.js.map} +1 -1
  243. package/dashboard/dist/assets/{mcp-query-BIJP4mQJ.js → mcp-query-DQ-J1Q0K.js} +2 -2
  244. package/dashboard/dist/assets/{mcp-query-BIJP4mQJ.js.map → mcp-query-DQ-J1Q0K.js.map} +1 -1
  245. package/dashboard/dist/assets/{namespaces-ne_yDQZX.js → namespaces-DtsT_GoV.js} +2 -2
  246. package/dashboard/dist/assets/{namespaces-ne_yDQZX.js.map → namespaces-DtsT_GoV.js.map} +1 -1
  247. package/dashboard/dist/assets/{pipelines-Bcz62DoS.js → pipelines-BjlCm9VH.js} +2 -2
  248. package/dashboard/dist/assets/{pipelines-Bcz62DoS.js.map → pipelines-BjlCm9VH.js.map} +1 -1
  249. package/dashboard/dist/assets/{roles-De2CzGCy.js → roles-D-LhJ82d.js} +2 -2
  250. package/dashboard/dist/assets/{roles-De2CzGCy.js.map → roles-D-LhJ82d.js.map} +1 -1
  251. package/dashboard/dist/assets/{tasks-4yL5EfxI.js → tasks-BrP_8uEN.js} +2 -2
  252. package/dashboard/dist/assets/{tasks-4yL5EfxI.js.map → tasks-BrP_8uEN.js.map} +1 -1
  253. package/dashboard/dist/assets/topics-DUk-zX5D.js +2 -0
  254. package/dashboard/dist/assets/{topics-DDKHpRwP.js.map → topics-DUk-zX5D.js.map} +1 -1
  255. package/dashboard/dist/assets/useEventHooks-XNNzwADV.js +2 -0
  256. package/dashboard/dist/assets/useEventHooks-XNNzwADV.js.map +1 -0
  257. package/dashboard/dist/assets/{useYamlActivityEvents-Dv6GhDkh.js → useYamlActivityEvents-DANQ5jIY.js} +2 -2
  258. package/dashboard/dist/assets/{useYamlActivityEvents-Dv6GhDkh.js.map → useYamlActivityEvents-DANQ5jIY.js.map} +1 -1
  259. package/dashboard/dist/assets/{users-pSMWP58G.js → users-vj0JgOkA.js} +2 -2
  260. package/dashboard/dist/assets/{users-pSMWP58G.js.map → users-vj0JgOkA.js.map} +1 -1
  261. package/dashboard/dist/assets/{vendor-icons-CrrAvF2g.js → vendor-icons-Doy0g69_.js} +116 -111
  262. package/dashboard/dist/assets/vendor-icons-Doy0g69_.js.map +1 -0
  263. package/dashboard/dist/assets/{workflows-COYPOe2I.js → workflows-CmqgGPzI.js} +2 -2
  264. package/dashboard/dist/assets/{workflows-COYPOe2I.js.map → workflows-CmqgGPzI.js.map} +1 -1
  265. package/dashboard/dist/assets/{yaml-workflows-1dF3ig6u.js → yaml-workflows-DNFyjBXH.js} +2 -2
  266. package/dashboard/dist/assets/{yaml-workflows-1dF3ig6u.js.map → yaml-workflows-DNFyjBXH.js.map} +1 -1
  267. package/dashboard/dist/index.html +3 -3
  268. package/docs/api/http/controlplane.md +1 -1
  269. package/docs/api/http/mcp-endpoint.md +133 -0
  270. package/docs/api/http/roles.md +46 -0
  271. package/docs/api/http/service-accounts.md +15 -0
  272. package/docs/api/http/settings.md +6 -0
  273. package/docs/api/mcp/admin.md +1187 -0
  274. package/docs/api/mcp/claude-code.md +47 -0
  275. package/docs/api/mcp/docs.md +54 -0
  276. package/docs/api/mcp/events.md +80 -0
  277. package/docs/api/mcp/file-storage.md +76 -0
  278. package/docs/api/mcp/http-fetch.md +64 -0
  279. package/docs/api/mcp/human-queue.md +101 -0
  280. package/docs/api/mcp/index.md +52 -0
  281. package/docs/api/mcp/knowledge.md +125 -0
  282. package/docs/api/mcp/oauth.md +62 -0
  283. package/docs/api/mcp/schema-exchange.md +56 -0
  284. package/docs/api/mcp/translation.md +28 -0
  285. package/docs/api/mcp/vision.md +46 -0
  286. package/docs/api/sdk/settings.md +3 -1
  287. package/docs/auth.md +109 -0
  288. package/docs/dashboard.md +1 -1
  289. package/package.json +1 -1
  290. package/build/system/mcp-servers/playwright/browser-lifecycle.d.ts +0 -26
  291. package/build/system/mcp-servers/playwright/browser-lifecycle.js +0 -125
  292. package/build/system/mcp-servers/playwright/index.d.ts +0 -25
  293. package/build/system/mcp-servers/playwright/index.js +0 -42
  294. package/build/system/mcp-servers/playwright/schemas.d.ts +0 -394
  295. package/build/system/mcp-servers/playwright/schemas.js +0 -90
  296. package/build/system/mcp-servers/playwright/tools-atomic.d.ts +0 -2
  297. package/build/system/mcp-servers/playwright/tools-atomic.js +0 -9
  298. package/build/system/mcp-servers/playwright/tools-navigation.d.ts +0 -2
  299. package/build/system/mcp-servers/playwright/tools-navigation.js +0 -153
  300. package/build/system/mcp-servers/playwright/tools-page-interaction.d.ts +0 -2
  301. package/build/system/mcp-servers/playwright/tools-page-interaction.js +0 -162
  302. package/build/system/mcp-servers/playwright/tools-run-script.d.ts +0 -2
  303. package/build/system/mcp-servers/playwright/tools-run-script.js +0 -207
  304. package/build/system/mcp-servers/playwright/types.d.ts +0 -8
  305. package/build/system/mcp-servers/playwright/types.js +0 -30
  306. package/build/system/mcp-servers/playwright/vision-helper.d.ts +0 -12
  307. package/build/system/mcp-servers/playwright/vision-helper.js +0 -81
  308. package/build/system/mcp-servers/playwright-cli/helpers.d.ts +0 -11
  309. package/build/system/mcp-servers/playwright-cli/helpers.js +0 -20
  310. package/build/system/mcp-servers/playwright-cli/index.d.ts +0 -4
  311. package/build/system/mcp-servers/playwright-cli/index.js +0 -15
  312. package/build/system/mcp-servers/playwright-cli/schemas.d.ts +0 -219
  313. package/build/system/mcp-servers/playwright-cli/schemas.js +0 -75
  314. package/build/system/mcp-servers/playwright-cli/tools-auth.d.ts +0 -2
  315. package/build/system/mcp-servers/playwright-cli/tools-auth.js +0 -183
  316. package/build/system/mcp-servers/playwright-cli/tools-capture.d.ts +0 -2
  317. package/build/system/mcp-servers/playwright-cli/tools-capture.js +0 -273
  318. package/build/system/seed/tool-manifests-browser.d.ts +0 -577
  319. package/build/system/seed/tool-manifests-browser.js +0 -158
  320. package/dashboard/dist/assets/AgentConfigPage-DBtvb2x5.js +0 -16
  321. package/dashboard/dist/assets/AgentConfigPage-DBtvb2x5.js.map +0 -1
  322. package/dashboard/dist/assets/AgentDetailPage-3mZA7SOb.js.map +0 -1
  323. package/dashboard/dist/assets/AvailableEscalationsPage-CA9x9o5s.js +0 -2
  324. package/dashboard/dist/assets/BotPicker-BQp_Vs73.js +0 -2
  325. package/dashboard/dist/assets/CronLabel-DY8VdTS9.js +0 -2
  326. package/dashboard/dist/assets/CronLabel-DY8VdTS9.js.map +0 -1
  327. package/dashboard/dist/assets/ElapsedCell-BPYm8RA7.js +0 -2
  328. package/dashboard/dist/assets/EventTopicPill-CCWCs07y.js +0 -2
  329. package/dashboard/dist/assets/EventTopicPill-CCWCs07y.js.map +0 -1
  330. package/dashboard/dist/assets/HomePage-CwRebzmO.js +0 -2
  331. package/dashboard/dist/assets/HomePage-CwRebzmO.js.map +0 -1
  332. package/dashboard/dist/assets/ListToolbar-DEef1_-T.js +0 -2
  333. package/dashboard/dist/assets/McpRunDetailPage-X0sfRFTk.js +0 -2
  334. package/dashboard/dist/assets/McpRunDetailPage-X0sfRFTk.js.map +0 -1
  335. package/dashboard/dist/assets/McpRunsPage-aZg057y3.js +0 -2
  336. package/dashboard/dist/assets/OperatorDashboard-iZEHnndU.js +0 -2
  337. package/dashboard/dist/assets/OperatorDashboard-iZEHnndU.js.map +0 -1
  338. package/dashboard/dist/assets/ServerName-Q6okiv4f.js +0 -2
  339. package/dashboard/dist/assets/TopicDetailPage-DW97-YHQ.js +0 -9
  340. package/dashboard/dist/assets/TopicDetailPage-DW97-YHQ.js.map +0 -1
  341. package/dashboard/dist/assets/WorkflowsDashboard-eCH4gpAk.js +0 -2
  342. package/dashboard/dist/assets/WorkflowsDashboard-eCH4gpAk.js.map +0 -1
  343. package/dashboard/dist/assets/index-3n5VREXN.js +0 -2
  344. package/dashboard/dist/assets/index-BAXzN-QB.js +0 -6
  345. package/dashboard/dist/assets/index-BAXzN-QB.js.map +0 -1
  346. package/dashboard/dist/assets/index-BpN31nuC.js.map +0 -1
  347. package/dashboard/dist/assets/index-C37LMzJa.css +0 -1
  348. package/dashboard/dist/assets/index-C5dHozmW.js +0 -2
  349. package/dashboard/dist/assets/index-C5dHozmW.js.map +0 -1
  350. package/dashboard/dist/assets/index-UtAfnStw.js +0 -15
  351. package/dashboard/dist/assets/topics-DDKHpRwP.js +0 -2
  352. package/dashboard/dist/assets/useEventHooks-NzIyvoGY.js +0 -2
  353. package/dashboard/dist/assets/useEventHooks-NzIyvoGY.js.map +0 -1
  354. package/dashboard/dist/assets/vendor-icons-CrrAvF2g.js.map +0 -1
@@ -0,0 +1,78 @@
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.registerAgentSubscriptionTools = registerAgentSubscriptionTools;
37
+ const api = __importStar(require("../../../api/agent-subscriptions"));
38
+ const schemas_1 = require("./schemas");
39
+ function registerAgentSubscriptionTools(server) {
40
+ // mirrors GET /api/agents/:agentId/subscriptions
41
+ server.registerTool('list_agent_subscriptions', {
42
+ title: 'List Agent Subscriptions',
43
+ description: 'List all event subscriptions for an agent automation.',
44
+ inputSchema: schemas_1.listAgentSubscriptionsSchema,
45
+ }, async (args) => {
46
+ const result = await api.listSubscriptions({ agentId: args.agent_id });
47
+ if (result.error) {
48
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
49
+ }
50
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
51
+ });
52
+ // mirrors POST /api/agents/:agentId/subscriptions
53
+ server.registerTool('create_agent_subscription', {
54
+ title: 'Create Agent Subscription',
55
+ description: 'Create an event subscription for an agent. When events match the ' +
56
+ 'topic pattern, the configured reaction is triggered.',
57
+ inputSchema: schemas_1.createAgentSubscriptionSchema,
58
+ }, async (args) => {
59
+ const { agent_id, ...body } = args;
60
+ const result = await api.createSubscription({ agentId: agent_id, ...body });
61
+ if (result.error) {
62
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
63
+ }
64
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
65
+ });
66
+ // mirrors DELETE /api/agents/:agentId/subscriptions/:subId
67
+ server.registerTool('delete_agent_subscription', {
68
+ title: 'Delete Agent Subscription',
69
+ description: 'Delete an event subscription by ID.',
70
+ inputSchema: schemas_1.deleteAgentSubscriptionSchema,
71
+ }, async (args) => {
72
+ const result = await api.deleteSubscription({ id: args.id });
73
+ if (result.error) {
74
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
75
+ }
76
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
77
+ });
78
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Agent automation tools — mirrors routes/agents.ts
3
+ */
4
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ export declare function registerAgentTools(server: McpServer): void;
@@ -0,0 +1,103 @@
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.registerAgentTools = registerAgentTools;
37
+ const api = __importStar(require("../../../api/agents"));
38
+ const schemas_1 = require("./schemas");
39
+ function registerAgentTools(server) {
40
+ // mirrors GET /api/agents
41
+ server.registerTool('list_agents', {
42
+ title: 'List Agents',
43
+ description: 'List agent automations with optional status and knowledge domain filters. ' +
44
+ 'Returns agents with subscription counts and topic lists.',
45
+ inputSchema: schemas_1.listAgentsSchema,
46
+ }, async (args) => {
47
+ const result = await api.listAgents(args);
48
+ if (result.error) {
49
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
50
+ }
51
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
52
+ });
53
+ // mirrors GET /api/agents/:id
54
+ server.registerTool('get_agent', {
55
+ title: 'Get Agent',
56
+ description: 'Get a single agent automation by ID, including aggregated stats ' +
57
+ '(knowledge entry count, escalation count).',
58
+ inputSchema: schemas_1.getAgentSchema,
59
+ }, async (args) => {
60
+ const result = await api.getAgent(args);
61
+ if (result.error) {
62
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
63
+ }
64
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
65
+ });
66
+ // mirrors POST /api/agents
67
+ server.registerTool('create_agent', {
68
+ title: 'Create Agent',
69
+ description: 'Create a new agent automation with identity, goals, rules, ' +
70
+ 'optional schedules, and event subscriptions.',
71
+ inputSchema: schemas_1.createAgentSchema,
72
+ }, async (args) => {
73
+ const result = await api.createAgent(args);
74
+ if (result.error) {
75
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
76
+ }
77
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
78
+ });
79
+ // mirrors PUT /api/agents/:id
80
+ server.registerTool('update_agent', {
81
+ title: 'Update Agent',
82
+ description: 'Update an existing agent automation.',
83
+ inputSchema: schemas_1.updateAgentSchema,
84
+ }, async (args) => {
85
+ const result = await api.updateAgent(args);
86
+ if (result.error) {
87
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
88
+ }
89
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
90
+ });
91
+ // mirrors DELETE /api/agents/:id
92
+ server.registerTool('delete_agent', {
93
+ title: 'Delete Agent',
94
+ description: 'Delete an agent automation and all its subscriptions.',
95
+ inputSchema: schemas_1.deleteAgentSchema,
96
+ }, async (args) => {
97
+ const result = await api.deleteAgent(args);
98
+ if (result.error) {
99
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
100
+ }
101
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
102
+ });
103
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Bot account tools — mirrors routes/bot-accounts.ts
3
+ */
4
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ export declare function registerBotAccountTools(server: McpServer): void;
@@ -0,0 +1,126 @@
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.registerBotAccountTools = registerBotAccountTools;
37
+ const api = __importStar(require("../../../api/bot-accounts"));
38
+ const schemas_1 = require("./schemas");
39
+ function registerBotAccountTools(server) {
40
+ // mirrors GET /api/bot-accounts
41
+ server.registerTool('list_bot_accounts', {
42
+ title: 'List Bot Accounts',
43
+ description: 'List all bot (service) accounts with pagination.',
44
+ inputSchema: schemas_1.listBotsSchema,
45
+ }, async (args) => {
46
+ const result = await api.listBots(args);
47
+ if (result.error) {
48
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
49
+ }
50
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
51
+ });
52
+ // mirrors GET /api/bot-accounts/:id
53
+ server.registerTool('get_bot_account', {
54
+ title: 'Get Bot Account',
55
+ description: 'Get a single bot account by ID.',
56
+ inputSchema: schemas_1.getBotSchema,
57
+ }, async (args) => {
58
+ const result = await api.getBot(args);
59
+ if (result.error) {
60
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
61
+ }
62
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
63
+ });
64
+ // mirrors POST /api/bot-accounts
65
+ server.registerTool('create_bot_account', {
66
+ title: 'Create Bot Account',
67
+ description: 'Create a new bot (service) account with optional roles. ' +
68
+ 'Bot accounts can run workflows and hold API keys.',
69
+ inputSchema: schemas_1.createBotSchema,
70
+ }, async (args) => {
71
+ const result = await api.createBot(args);
72
+ if (result.error) {
73
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
74
+ }
75
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
76
+ });
77
+ // mirrors PUT /api/bot-accounts/:id
78
+ server.registerTool('update_bot_account', {
79
+ title: 'Update Bot Account',
80
+ description: 'Update a bot account (display name, description, status).',
81
+ inputSchema: schemas_1.updateBotSchema,
82
+ }, async (args) => {
83
+ const result = await api.updateBot(args);
84
+ if (result.error) {
85
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
86
+ }
87
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
88
+ });
89
+ // mirrors DELETE /api/bot-accounts/:id
90
+ server.registerTool('delete_bot_account', {
91
+ title: 'Delete Bot Account',
92
+ description: 'Delete a bot account and all its API keys.',
93
+ inputSchema: schemas_1.deleteBotSchema,
94
+ }, async (args) => {
95
+ const result = await api.deleteBot(args);
96
+ if (result.error) {
97
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
98
+ }
99
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
100
+ });
101
+ // mirrors POST /api/bot-accounts/:id/api-keys
102
+ server.registerTool('create_bot_api_key', {
103
+ title: 'Create Bot API Key',
104
+ description: 'Generate a new API key for a bot account. Returns the raw key ' +
105
+ 'ONCE — it cannot be retrieved again.',
106
+ inputSchema: schemas_1.createBotApiKeySchema,
107
+ }, async (args) => {
108
+ const result = await api.createBotKey(args);
109
+ if (result.error) {
110
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
111
+ }
112
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
113
+ });
114
+ // mirrors DELETE /api/bot-accounts/:id/api-keys/:keyId
115
+ server.registerTool('revoke_bot_api_key', {
116
+ title: 'Revoke Bot API Key',
117
+ description: 'Revoke (delete) an API key for a bot account.',
118
+ inputSchema: schemas_1.revokeBotKeySchema,
119
+ }, async (args) => {
120
+ const result = await api.revokeBotKey({ keyId: args.key_id });
121
+ if (result.error) {
122
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
123
+ }
124
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
125
+ });
126
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Control plane tools — mirrors routes/controlplane.ts
3
+ */
4
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ export declare function registerControlPlaneTools(server: McpServer): void;
@@ -0,0 +1,107 @@
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.registerControlPlaneTools = registerControlPlaneTools;
37
+ const api = __importStar(require("../../../api/controlplane"));
38
+ const schemas_1 = require("./schemas");
39
+ function registerControlPlaneTools(server) {
40
+ // mirrors GET /api/controlplane/apps
41
+ server.registerTool('list_apps', {
42
+ title: 'List Apps',
43
+ description: 'List available HotMesh application namespaces.',
44
+ inputSchema: schemas_1.listAppsSchema,
45
+ }, async (_args) => {
46
+ const result = await api.listApps();
47
+ if (result.error) {
48
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
49
+ }
50
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
51
+ });
52
+ // mirrors GET /api/controlplane/rollcall
53
+ server.registerTool('rollcall', {
54
+ title: 'Roll Call',
55
+ description: 'Execute a roll call — discovers all engines and workers in the mesh. ' +
56
+ 'Returns topology of active participants.',
57
+ inputSchema: schemas_1.rollCallSchema,
58
+ }, async (args) => {
59
+ const result = await api.rollCall({
60
+ appId: args.app_id || 'durable',
61
+ delay: args.delay,
62
+ });
63
+ if (result.error) {
64
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
65
+ }
66
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
67
+ });
68
+ // mirrors POST /api/controlplane/throttle
69
+ server.registerTool('apply_throttle', {
70
+ title: 'Apply Throttle',
71
+ description: 'Apply a throttle to the mesh. Values: -1 = pause, 0 = resume, ' +
72
+ '>0 = delay in ms per message.',
73
+ inputSchema: schemas_1.applyThrottleSchema,
74
+ }, async (args) => {
75
+ const result = await api.applyThrottle(args);
76
+ if (result.error) {
77
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
78
+ }
79
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
80
+ });
81
+ // mirrors GET /api/controlplane/streams
82
+ server.registerTool('get_stream_stats', {
83
+ title: 'Get Stream Stats',
84
+ description: 'Stream processing statistics — pending count and processed volume ' +
85
+ 'by time range.',
86
+ inputSchema: schemas_1.getStreamStatsSchema,
87
+ }, async (args) => {
88
+ const result = await api.getStreamStats(args);
89
+ if (result.error) {
90
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
91
+ }
92
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
93
+ });
94
+ // mirrors GET /api/controlplane/stream-messages
95
+ server.registerTool('list_stream_messages', {
96
+ title: 'List Stream Messages',
97
+ description: 'Browse stream messages with pagination, filtering, and sorting. ' +
98
+ 'Both namespace and source are required.',
99
+ inputSchema: schemas_1.listStreamMessagesSchema,
100
+ }, async (args) => {
101
+ const result = await api.listStreamMessages(args);
102
+ if (result.error) {
103
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
104
+ }
105
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
106
+ });
107
+ }
@@ -35,6 +35,8 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.registerEscalationTools = registerEscalationTools;
37
37
  const escalationService = __importStar(require("../../../services/escalation"));
38
+ const escalationMetaApi = __importStar(require("../../../api/escalations/metadata"));
39
+ const escalationBulkApi = __importStar(require("../../../api/escalations/bulk"));
38
40
  const schemas_1 = require("./schemas");
39
41
  function registerEscalationTools(server) {
40
42
  // mirrors GET /api/escalations
@@ -146,4 +148,90 @@ function registerEscalationTools(server) {
146
148
  }],
147
149
  };
148
150
  });
151
+ // ── Metadata-based operations ───────────────────────────────────────────────
152
+ // mirrors GET /api/escalations/by-metadata
153
+ server.registerTool('find_by_metadata', {
154
+ title: 'Find by Metadata',
155
+ description: 'Find escalations by a metadata key-value pair.',
156
+ inputSchema: schemas_1.findByMetadataSchema,
157
+ }, async (args) => {
158
+ const result = await escalationMetaApi.findByMetadata(args, { userId: 'lt-system' });
159
+ if (result.error) {
160
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
161
+ }
162
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
163
+ });
164
+ // mirrors POST /api/escalations/claim-by-metadata
165
+ server.registerTool('claim_by_metadata', {
166
+ title: 'Claim by Metadata',
167
+ description: 'Find and claim an escalation by metadata key-value pair.',
168
+ inputSchema: schemas_1.claimByMetadataSchema,
169
+ }, async (args) => {
170
+ const result = await escalationMetaApi.claimByMetadata(args, { userId: 'lt-system' });
171
+ if (result.error) {
172
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
173
+ }
174
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
175
+ });
176
+ // mirrors POST /api/escalations/resolve-by-metadata
177
+ server.registerTool('resolve_by_metadata', {
178
+ title: 'Resolve by Metadata',
179
+ description: 'Find and resolve an escalation by metadata key-value pair.',
180
+ inputSchema: schemas_1.resolveByMetadataSchema,
181
+ }, async (args) => {
182
+ const result = await escalationMetaApi.resolveByMetadata(args, { userId: 'lt-system' });
183
+ if (result.error) {
184
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
185
+ }
186
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
187
+ });
188
+ // ── Bulk operations ─────────────────────────────────────────────────────────
189
+ // mirrors POST /api/escalations/bulk-claim
190
+ server.registerTool('bulk_claim', {
191
+ title: 'Bulk Claim',
192
+ description: 'Claim multiple escalations in a single operation.',
193
+ inputSchema: schemas_1.bulkClaimSchema,
194
+ }, async (args) => {
195
+ const result = await escalationBulkApi.bulkClaim(args, { userId: 'lt-system' });
196
+ if (result.error) {
197
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
198
+ }
199
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
200
+ });
201
+ // mirrors POST /api/escalations/bulk-assign
202
+ server.registerTool('bulk_assign', {
203
+ title: 'Bulk Assign',
204
+ description: 'Assign multiple escalations to a specific user.',
205
+ inputSchema: schemas_1.bulkAssignSchema,
206
+ }, async (args) => {
207
+ const result = await escalationBulkApi.bulkAssign(args, { userId: 'lt-system' });
208
+ if (result.error) {
209
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
210
+ }
211
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
212
+ });
213
+ // mirrors PATCH /api/escalations/bulk-escalate
214
+ server.registerTool('bulk_escalate', {
215
+ title: 'Bulk Escalate',
216
+ description: 'Escalate multiple escalations to a different role.',
217
+ inputSchema: schemas_1.bulkEscalateSchema,
218
+ }, async (args) => {
219
+ const result = await escalationBulkApi.bulkEscalate(args, { userId: 'lt-system' });
220
+ if (result.error) {
221
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
222
+ }
223
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
224
+ });
225
+ // mirrors PATCH /api/escalations/priority
226
+ server.registerTool('update_priority', {
227
+ title: 'Update Priority',
228
+ description: 'Update the priority of multiple escalations.',
229
+ inputSchema: schemas_1.updatePrioritySchema,
230
+ }, async (args) => {
231
+ const result = await escalationBulkApi.updatePriority(args, { userId: 'lt-system' });
232
+ if (result.error) {
233
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
234
+ }
235
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
236
+ });
149
237
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Export tools — mirrors routes/exports.ts
3
+ */
4
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ export declare function registerExportTools(server: McpServer): void;
@@ -0,0 +1,101 @@
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.registerExportTools = registerExportTools;
37
+ const api = __importStar(require("../../../api/exports"));
38
+ const schemas_1 = require("./schemas");
39
+ function registerExportTools(server) {
40
+ // mirrors GET /api/workflow-states/jobs
41
+ server.registerTool('list_export_jobs', {
42
+ title: 'List Export Jobs',
43
+ description: 'List workflow jobs with optional filtering and pagination.',
44
+ inputSchema: schemas_1.listExportJobsSchema,
45
+ }, async (args) => {
46
+ const result = await api.listJobs(args);
47
+ if (result.error) {
48
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
49
+ }
50
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
51
+ });
52
+ // mirrors GET /api/workflow-states/:workflowId
53
+ server.registerTool('export_workflow_state', {
54
+ title: 'Export Workflow State',
55
+ description: 'Export the full workflow state using HotMesh durable export. ' +
56
+ 'Optionally allow/block specific fields.',
57
+ inputSchema: schemas_1.exportWorkflowStateSchema,
58
+ }, async (args) => {
59
+ const result = await api.exportWorkflowState({
60
+ workflowId: args.workflow_id,
61
+ allow: args.allow,
62
+ block: args.block,
63
+ values: args.values,
64
+ });
65
+ if (result.error) {
66
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
67
+ }
68
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
69
+ });
70
+ // mirrors GET /api/workflow-states/:workflowId/execution
71
+ server.registerTool('export_workflow_execution', {
72
+ title: 'Export Workflow Execution',
73
+ description: 'Export workflow state as a structured execution event history. ' +
74
+ 'Useful for debugging and workflow compilation.',
75
+ inputSchema: schemas_1.exportWorkflowExecutionSchema,
76
+ }, async (args) => {
77
+ const result = await api.exportWorkflowExecution({
78
+ workflowId: args.workflow_id,
79
+ excludeSystem: args.excludeSystem,
80
+ omitResults: args.omitResults,
81
+ mode: args.mode,
82
+ maxDepth: args.maxDepth,
83
+ });
84
+ if (result.error) {
85
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
86
+ }
87
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
88
+ });
89
+ // mirrors GET /api/workflow-states/:workflowId/status
90
+ server.registerTool('get_export_status', {
91
+ title: 'Get Workflow Status',
92
+ description: 'Return the numeric status semaphore for a workflow.',
93
+ inputSchema: schemas_1.getExportStatusSchema,
94
+ }, async (args) => {
95
+ const result = await api.getWorkflowStatus({ workflowId: args.workflow_id });
96
+ if (result.error) {
97
+ return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
98
+ }
99
+ return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
100
+ });
101
+ }