@hotmeshio/long-tail 0.4.18 → 0.4.19

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 (350) 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 +6 -4
  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.js +4 -4
  12. package/build/api/escalations/single.js +3 -2
  13. package/build/api/settings.js +5 -0
  14. package/build/api/topics.d.ts +9 -0
  15. package/build/api/topics.js +31 -2
  16. package/build/lib/events/index.d.ts +1 -0
  17. package/build/lib/events/index.js +4 -0
  18. package/build/lib/events/publish.d.ts +12 -9
  19. package/build/lib/events/publish.js +27 -17
  20. package/build/modules/auth.d.ts +7 -0
  21. package/build/modules/auth.js +104 -2
  22. package/build/modules/sso.d.ts +6 -0
  23. package/build/modules/sso.js +20 -0
  24. package/build/routes/auth-sso.d.ts +2 -0
  25. package/build/routes/auth-sso.js +51 -0
  26. package/build/routes/bot-accounts.js +1 -1
  27. package/build/routes/controlplane.js +6 -6
  28. package/build/routes/escalations/list.js +1 -0
  29. package/build/routes/index.js +2 -0
  30. package/build/routes/mcp-endpoint.d.ts +17 -0
  31. package/build/routes/mcp-endpoint.js +70 -0
  32. package/build/routes/roles.js +5 -5
  33. package/build/routes/topics.js +2 -0
  34. package/build/routes/users.js +31 -5
  35. package/build/sdk/index.d.ts +1 -0
  36. package/build/services/agent/input-mapper.js +17 -1
  37. package/build/services/escalation/crud.js +14 -1
  38. package/build/services/escalation/queries.d.ts +1 -0
  39. package/build/services/escalation/queries.js +7 -0
  40. package/build/services/mcp/exposure.d.ts +15 -0
  41. package/build/services/mcp/exposure.js +18 -0
  42. package/build/services/mcp/external-server.d.ts +15 -0
  43. package/build/services/mcp/external-server.js +125 -0
  44. package/build/services/mcp/seed-service-account.d.ts +11 -0
  45. package/build/services/mcp/seed-service-account.js +77 -0
  46. package/build/services/role/index.d.ts +1 -1
  47. package/build/services/role/index.js +2 -2
  48. package/build/services/topics/system-topics.js +29 -25
  49. package/build/services/user/index.d.ts +1 -1
  50. package/build/services/user/index.js +2 -1
  51. package/build/services/user/rbac.d.ts +11 -0
  52. package/build/services/user/rbac.js +17 -0
  53. package/build/services/user/sso-provision.d.ts +19 -0
  54. package/build/services/user/sso-provision.js +62 -0
  55. package/build/services/workflow-invocation.js +5 -3
  56. package/build/start/config.js +6 -0
  57. package/build/start/server.js +2 -0
  58. package/build/start/workers.js +15 -0
  59. package/build/system/index.js +53 -35
  60. package/build/system/mcp-servers/admin/agent-subscriptions.d.ts +5 -0
  61. package/build/system/mcp-servers/admin/agent-subscriptions.js +78 -0
  62. package/build/system/mcp-servers/admin/agents.d.ts +5 -0
  63. package/build/system/mcp-servers/admin/agents.js +103 -0
  64. package/build/system/mcp-servers/admin/bot-accounts.d.ts +5 -0
  65. package/build/system/mcp-servers/admin/bot-accounts.js +126 -0
  66. package/build/system/mcp-servers/admin/controlplane.d.ts +5 -0
  67. package/build/system/mcp-servers/admin/controlplane.js +107 -0
  68. package/build/system/mcp-servers/admin/escalations.js +88 -0
  69. package/build/system/mcp-servers/admin/exports.d.ts +5 -0
  70. package/build/system/mcp-servers/admin/exports.js +101 -0
  71. package/build/system/mcp-servers/admin/index.d.ts +16 -8
  72. package/build/system/mcp-servers/admin/index.js +36 -21
  73. package/build/system/mcp-servers/admin/pipelines.d.ts +5 -0
  74. package/build/system/mcp-servers/admin/pipelines.js +96 -0
  75. package/build/system/mcp-servers/admin/schemas.d.ts +614 -6
  76. package/build/system/mcp-servers/admin/schemas.js +239 -1
  77. package/build/system/mcp-servers/admin/settings.d.ts +5 -0
  78. package/build/system/mcp-servers/admin/settings.js +53 -0
  79. package/build/system/mcp-servers/admin/topics.d.ts +5 -0
  80. package/build/system/mcp-servers/admin/topics.js +101 -0
  81. package/build/system/seed/tool-manifests-admin.d.ts +5077 -188
  82. package/build/system/seed/tool-manifests-admin.js +79 -30
  83. package/build/system/seed/tool-manifests-data.d.ts +20 -0
  84. package/build/system/seed/tool-manifests-data.js +24 -6
  85. package/build/system/seed/tool-manifests-escalation.d.ts +5 -0
  86. package/build/system/seed/tool-manifests-escalation.js +5 -0
  87. package/build/system/seed/tool-manifests-events.d.ts +4 -0
  88. package/build/system/seed/tool-manifests-events.js +4 -0
  89. package/build/system/seed/tool-manifests-knowledge.d.ts +6 -0
  90. package/build/system/seed/tool-manifests-knowledge.js +7 -0
  91. package/build/system/seed/tool-manifests-workflows.d.ts +8 -0
  92. package/build/system/seed/tool-manifests-workflows.js +8 -0
  93. package/build/tsconfig.tsbuildinfo +1 -1
  94. package/build/types/auth.d.ts +71 -0
  95. package/build/types/events.d.ts +17 -6
  96. package/build/types/index.d.ts +1 -1
  97. package/build/types/startup.d.ts +22 -1
  98. package/dashboard/dist/assets/{AdminDashboard-Cfo0mwL2.js → AdminDashboard-BwUGcCxQ.js} +2 -2
  99. package/dashboard/dist/assets/{AdminDashboard-Cfo0mwL2.js.map → AdminDashboard-BwUGcCxQ.js.map} +1 -1
  100. package/dashboard/dist/assets/AgentConfigPage-DgrYzLwq.js +16 -0
  101. package/dashboard/dist/assets/AgentConfigPage-DgrYzLwq.js.map +1 -0
  102. package/dashboard/dist/assets/{AgentDetailPage-3mZA7SOb.js → AgentDetailPage-XJpl7wfJ.js} +4 -4
  103. package/dashboard/dist/assets/AgentDetailPage-XJpl7wfJ.js.map +1 -0
  104. package/dashboard/dist/assets/{AgentsPage-CTVocfBb.js → AgentsPage-CGpVG6r8.js} +2 -2
  105. package/dashboard/dist/assets/{AgentsPage-CTVocfBb.js.map → AgentsPage-CGpVG6r8.js.map} +1 -1
  106. package/dashboard/dist/assets/AvailableEscalationsPage-DR1e0TQZ.js +2 -0
  107. package/dashboard/dist/assets/{AvailableEscalationsPage-CA9x9o5s.js.map → AvailableEscalationsPage-DR1e0TQZ.js.map} +1 -1
  108. package/dashboard/dist/assets/BotPicker-BKtjl6IL.js +2 -0
  109. package/dashboard/dist/assets/{BotPicker-BQp_Vs73.js.map → BotPicker-BKtjl6IL.js.map} +1 -1
  110. package/dashboard/dist/assets/{CapabilitiesPage-wpVtkGeU.js → CapabilitiesPage-kCB8fyOj.js} +2 -2
  111. package/dashboard/dist/assets/{CapabilitiesPage-wpVtkGeU.js.map → CapabilitiesPage-kCB8fyOj.js.map} +1 -1
  112. package/dashboard/dist/assets/{CollapsibleSection-2eZMMZiG.js → CollapsibleSection-C3tU61hB.js} +2 -2
  113. package/dashboard/dist/assets/{CollapsibleSection-2eZMMZiG.js.map → CollapsibleSection-C3tU61hB.js.map} +1 -1
  114. package/dashboard/dist/assets/{CredentialsPage-DJGLssm0.js → CredentialsPage-Dt4nJs_B.js} +2 -2
  115. package/dashboard/dist/assets/{CredentialsPage-DJGLssm0.js.map → CredentialsPage-Dt4nJs_B.js.map} +1 -1
  116. package/dashboard/dist/assets/CronLabel-BdE6mHyA.js +2 -0
  117. package/dashboard/dist/assets/CronLabel-BdE6mHyA.js.map +1 -0
  118. package/dashboard/dist/assets/{CustomDurationPicker-DbyqfK35.js → CustomDurationPicker-B_Yxfb-u.js} +2 -2
  119. package/dashboard/dist/assets/{CustomDurationPicker-DbyqfK35.js.map → CustomDurationPicker-B_Yxfb-u.js.map} +1 -1
  120. package/dashboard/dist/assets/{DropZone-BkfRoUcm.js → DropZone-CptiQ0wc.js} +2 -2
  121. package/dashboard/dist/assets/{DropZone-BkfRoUcm.js.map → DropZone-CptiQ0wc.js.map} +1 -1
  122. package/dashboard/dist/assets/ElapsedCell-tcGx5PFI.js +2 -0
  123. package/dashboard/dist/assets/{ElapsedCell-BPYm8RA7.js.map → ElapsedCell-tcGx5PFI.js.map} +1 -1
  124. package/dashboard/dist/assets/{EscalationsOverview-kYGHfnLf.js → EscalationsOverview-1KO5dXzk.js} +2 -2
  125. package/dashboard/dist/assets/{EscalationsOverview-kYGHfnLf.js.map → EscalationsOverview-1KO5dXzk.js.map} +1 -1
  126. package/dashboard/dist/assets/{EventTable-DSDzJMer.js → EventTable-DnpsQ6Ew.js} +2 -2
  127. package/dashboard/dist/assets/{EventTable-DSDzJMer.js.map → EventTable-DnpsQ6Ew.js.map} +1 -1
  128. package/dashboard/dist/assets/HomePage-B2Jgo1J1.js +2 -0
  129. package/dashboard/dist/assets/HomePage-B2Jgo1J1.js.map +1 -0
  130. package/dashboard/dist/assets/ListToolbar-jrVba7QN.js +2 -0
  131. package/dashboard/dist/assets/{ListToolbar-DEef1_-T.js.map → ListToolbar-jrVba7QN.js.map} +1 -1
  132. package/dashboard/dist/assets/{McpOverview-CZFW5qMb.js → McpOverview-BzyxJyc9.js} +2 -2
  133. package/dashboard/dist/assets/{McpOverview-CZFW5qMb.js.map → McpOverview-BzyxJyc9.js.map} +1 -1
  134. package/dashboard/dist/assets/{McpQueryDetailPage-q9xH-QRo.js → McpQueryDetailPage-DXNseeKl.js} +2 -2
  135. package/dashboard/dist/assets/{McpQueryDetailPage-q9xH-QRo.js.map → McpQueryDetailPage-DXNseeKl.js.map} +1 -1
  136. package/dashboard/dist/assets/{McpQueryPage-D14466yi.js → McpQueryPage-WZfTY43_.js} +2 -2
  137. package/dashboard/dist/assets/{McpQueryPage-D14466yi.js.map → McpQueryPage-WZfTY43_.js.map} +1 -1
  138. package/dashboard/dist/assets/McpRunDetailPage-DKZp-p7S.js +2 -0
  139. package/dashboard/dist/assets/McpRunDetailPage-DKZp-p7S.js.map +1 -0
  140. package/dashboard/dist/assets/McpRunsPage-SXyiwc0d.js +2 -0
  141. package/dashboard/dist/assets/{McpRunsPage-aZg057y3.js.map → McpRunsPage-SXyiwc0d.js.map} +1 -1
  142. package/dashboard/dist/assets/OperatorDashboard-Cy7ySMXj.js +2 -0
  143. package/dashboard/dist/assets/OperatorDashboard-Cy7ySMXj.js.map +1 -0
  144. package/dashboard/dist/assets/{PageHeader-CR6TpJG_.js → PageHeader-BuJpMxyu.js} +2 -2
  145. package/dashboard/dist/assets/{PageHeader-CR6TpJG_.js.map → PageHeader-BuJpMxyu.js.map} +1 -1
  146. package/dashboard/dist/assets/{PageHeaderWithStats-CRcQEAO1.js → PageHeaderWithStats-yD_PTbOl.js} +2 -2
  147. package/dashboard/dist/assets/{PageHeaderWithStats-CRcQEAO1.js.map → PageHeaderWithStats-yD_PTbOl.js.map} +1 -1
  148. package/dashboard/dist/assets/{ProcessDetailPage-DyzNjwu8.js → ProcessDetailPage-DYIfvWyc.js} +2 -2
  149. package/dashboard/dist/assets/{ProcessDetailPage-DyzNjwu8.js.map → ProcessDetailPage-DYIfvWyc.js.map} +1 -1
  150. package/dashboard/dist/assets/{ProcessesListPage-CT_3b5Wt.js → ProcessesListPage-DR1RGaMl.js} +2 -2
  151. package/dashboard/dist/assets/{ProcessesListPage-CT_3b5Wt.js.map → ProcessesListPage-DR1RGaMl.js.map} +1 -1
  152. package/dashboard/dist/assets/{RolePill-BC54Vn-U.js → RolePill-SasQKc_B.js} +2 -2
  153. package/dashboard/dist/assets/{RolePill-BC54Vn-U.js.map → RolePill-SasQKc_B.js.map} +1 -1
  154. package/dashboard/dist/assets/{RolesPage-CpRJq-sg.js → RolesPage-pMERxj15.js} +2 -2
  155. package/dashboard/dist/assets/{RolesPage-CpRJq-sg.js.map → RolesPage-pMERxj15.js.map} +1 -1
  156. package/dashboard/dist/assets/{RunAsSelector-C20rdNsC.js → RunAsSelector-B-ksMoEj.js} +2 -2
  157. package/dashboard/dist/assets/{RunAsSelector-C20rdNsC.js.map → RunAsSelector-B-ksMoEj.js.map} +1 -1
  158. package/dashboard/dist/assets/ServerName-CHspudaC.js +2 -0
  159. package/dashboard/dist/assets/{ServerName-Q6okiv4f.js.map → ServerName-CHspudaC.js.map} +1 -1
  160. package/dashboard/dist/assets/{SwimlaneTimeline-CbFaU4bq.js → SwimlaneTimeline-Cr_K5qpu.js} +2 -2
  161. package/dashboard/dist/assets/{SwimlaneTimeline-CbFaU4bq.js.map → SwimlaneTimeline-Cr_K5qpu.js.map} +1 -1
  162. package/dashboard/dist/assets/{TagInput-D6l1SPWd.js → TagInput-DvF3j8MA.js} +2 -2
  163. package/dashboard/dist/assets/{TagInput-D6l1SPWd.js.map → TagInput-DvF3j8MA.js.map} +1 -1
  164. package/dashboard/dist/assets/{TaskDetailPage-22cJsFmM.js → TaskDetailPage-BO5p7AEe.js} +2 -2
  165. package/dashboard/dist/assets/{TaskDetailPage-22cJsFmM.js.map → TaskDetailPage-BO5p7AEe.js.map} +1 -1
  166. package/dashboard/dist/assets/{TaskQueuePill-iDBVCEQQ.js → TaskQueuePill-BCQrS2oK.js} +2 -2
  167. package/dashboard/dist/assets/{TaskQueuePill-iDBVCEQQ.js.map → TaskQueuePill-BCQrS2oK.js.map} +1 -1
  168. package/dashboard/dist/assets/{TasksListPage-BDmaUIKu.js → TasksListPage-BRg-uFtF.js} +2 -2
  169. package/dashboard/dist/assets/{TasksListPage-BDmaUIKu.js.map → TasksListPage-BRg-uFtF.js.map} +1 -1
  170. package/dashboard/dist/assets/{TimeAgo-7wqEp87-.js → TimeAgo-BSzN6rAH.js} +2 -2
  171. package/dashboard/dist/assets/{TimeAgo-7wqEp87-.js.map → TimeAgo-BSzN6rAH.js.map} +1 -1
  172. package/dashboard/dist/assets/{TimestampCell-BBCf8zsN.js → TimestampCell-DL6zMNEQ.js} +2 -2
  173. package/dashboard/dist/assets/{TimestampCell-BBCf8zsN.js.map → TimestampCell-DL6zMNEQ.js.map} +1 -1
  174. package/dashboard/dist/assets/{ToolPill-HcRTggHo.js → ToolPill-1aTqYtzp.js} +2 -2
  175. package/dashboard/dist/assets/{ToolPill-HcRTggHo.js.map → ToolPill-1aTqYtzp.js.map} +1 -1
  176. package/dashboard/dist/assets/{ToolTestPanel-Dosq1cqG.js → ToolTestPanel-fLzNp79U.js} +2 -2
  177. package/dashboard/dist/assets/{ToolTestPanel-Dosq1cqG.js.map → ToolTestPanel-fLzNp79U.js.map} +1 -1
  178. package/dashboard/dist/assets/TopicDetailPage-D7gCsPKB.js +9 -0
  179. package/dashboard/dist/assets/TopicDetailPage-D7gCsPKB.js.map +1 -0
  180. package/dashboard/dist/assets/{TopicsPage-tVPdz-k0.js → TopicsPage-B3Aa8Haz.js} +2 -2
  181. package/dashboard/dist/assets/{TopicsPage-tVPdz-k0.js.map → TopicsPage-B3Aa8Haz.js.map} +1 -1
  182. package/dashboard/dist/assets/{UserName-DX7IBjFn.js → UserName-BjHIJWgh.js} +2 -2
  183. package/dashboard/dist/assets/{UserName-DX7IBjFn.js.map → UserName-BjHIJWgh.js.map} +1 -1
  184. package/dashboard/dist/assets/{WorkflowExecutionPage-BjC0j9_L.js → WorkflowExecutionPage-BQ7AYlQA.js} +2 -2
  185. package/dashboard/dist/assets/{WorkflowExecutionPage-BjC0j9_L.js.map → WorkflowExecutionPage-BQ7AYlQA.js.map} +1 -1
  186. package/dashboard/dist/assets/{WorkflowPill-54px0YiY.js → WorkflowPill-Z-zHRKOK.js} +2 -2
  187. package/dashboard/dist/assets/{WorkflowPill-54px0YiY.js.map → WorkflowPill-Z-zHRKOK.js.map} +1 -1
  188. package/dashboard/dist/assets/WorkflowsDashboard-D-G8Xudz.js +2 -0
  189. package/dashboard/dist/assets/WorkflowsDashboard-D-G8Xudz.js.map +1 -0
  190. package/dashboard/dist/assets/{WorkflowsOverview-DaJRDkNy.js → WorkflowsOverview-B4DUcVxs.js} +2 -2
  191. package/dashboard/dist/assets/{WorkflowsOverview-DaJRDkNy.js.map → WorkflowsOverview-B4DUcVxs.js.map} +1 -1
  192. package/dashboard/dist/assets/{YamlWorkflowsPage-CkpQaUmz.js → YamlWorkflowsPage-CnTNOku0.js} +2 -2
  193. package/dashboard/dist/assets/{YamlWorkflowsPage-CkpQaUmz.js.map → YamlWorkflowsPage-CnTNOku0.js.map} +1 -1
  194. package/dashboard/dist/assets/{agents-B-P5MlEx.js → agents-CkvQDr9b.js} +2 -2
  195. package/dashboard/dist/assets/{agents-B-P5MlEx.js.map → agents-CkvQDr9b.js.map} +1 -1
  196. package/dashboard/dist/assets/{bots-CZz9iVys.js → bots-CzuMCVgU.js} +2 -2
  197. package/dashboard/dist/assets/{bots-CZz9iVys.js.map → bots-CzuMCVgU.js.map} +1 -1
  198. package/dashboard/dist/assets/{capabilities-DrZ8Vw_v.js → capabilities-CbGmS0ty.js} +2 -2
  199. package/dashboard/dist/assets/{capabilities-DrZ8Vw_v.js.map → capabilities-CbGmS0ty.js.map} +1 -1
  200. package/dashboard/dist/assets/{controlplane-cj-1c-1C.js → controlplane-DGvwkuYx.js} +2 -2
  201. package/dashboard/dist/assets/{controlplane-cj-1c-1C.js.map → controlplane-DGvwkuYx.js.map} +1 -1
  202. package/dashboard/dist/assets/{escalation-BEVFyQnE.js → escalation-B7ysVToF.js} +2 -2
  203. package/dashboard/dist/assets/{escalation-BEVFyQnE.js.map → escalation-B7ysVToF.js.map} +1 -1
  204. package/dashboard/dist/assets/{escalation-columns-Beox3TXH.js → escalation-columns-CHQEJU1j.js} +2 -2
  205. package/dashboard/dist/assets/{escalation-columns-Beox3TXH.js.map → escalation-columns-CHQEJU1j.js.map} +1 -1
  206. package/dashboard/dist/assets/{helpers-B4gzNq9h.js → helpers-BFOjXa4r.js} +2 -2
  207. package/dashboard/dist/assets/{helpers-B4gzNq9h.js.map → helpers-BFOjXa4r.js.map} +1 -1
  208. package/dashboard/dist/assets/index-B9_1AZaG.js +2 -0
  209. package/dashboard/dist/assets/{index-3n5VREXN.js.map → index-B9_1AZaG.js.map} +1 -1
  210. package/dashboard/dist/assets/{index-BCQ65lNu.js → index-BFaDxPxA.js} +2 -2
  211. package/dashboard/dist/assets/{index-BCQ65lNu.js.map → index-BFaDxPxA.js.map} +1 -1
  212. package/dashboard/dist/assets/index-BduDiGcw.js +15 -0
  213. package/dashboard/dist/assets/{index-UtAfnStw.js.map → index-BduDiGcw.js.map} +1 -1
  214. package/dashboard/dist/assets/{index-Bh-PnP17.js → index-BeLphL59.js} +2 -2
  215. package/dashboard/dist/assets/{index-Bh-PnP17.js.map → index-BeLphL59.js.map} +1 -1
  216. package/dashboard/dist/assets/index-C--SEsU7.css +1 -0
  217. package/dashboard/dist/assets/{index-_DfbFHXk.js → index-CRiBkHPb.js} +2 -2
  218. package/dashboard/dist/assets/{index-_DfbFHXk.js.map → index-CRiBkHPb.js.map} +1 -1
  219. package/dashboard/dist/assets/{index-DdKbIZNE.js → index-CbrMW-gM.js} +2 -2
  220. package/dashboard/dist/assets/{index-DdKbIZNE.js.map → index-CbrMW-gM.js.map} +1 -1
  221. package/dashboard/dist/assets/{index-aJRDh4zW.js → index-CvOGgvzP.js} +2 -2
  222. package/dashboard/dist/assets/{index-aJRDh4zW.js.map → index-CvOGgvzP.js.map} +1 -1
  223. package/dashboard/dist/assets/{index-D1MywQ2z.js → index-DDlrQeTj.js} +2 -2
  224. package/dashboard/dist/assets/{index-D1MywQ2z.js.map → index-DDlrQeTj.js.map} +1 -1
  225. package/dashboard/dist/assets/{index-BYXiz05a.js → index-DQHmfTPo.js} +2 -2
  226. package/dashboard/dist/assets/{index-BYXiz05a.js.map → index-DQHmfTPo.js.map} +1 -1
  227. package/dashboard/dist/assets/{index-BpN31nuC.js → index-_BRA9uFL.js} +25 -25
  228. package/dashboard/dist/assets/index-_BRA9uFL.js.map +1 -0
  229. package/dashboard/dist/assets/index-a98qWLB-.js +2 -0
  230. package/dashboard/dist/assets/index-a98qWLB-.js.map +1 -0
  231. package/dashboard/dist/assets/index-l_8R6U4r.js +6 -0
  232. package/dashboard/dist/assets/index-l_8R6U4r.js.map +1 -0
  233. package/dashboard/dist/assets/{index-D4KGadbW.js → index-v0OQpgXS.js} +2 -2
  234. package/dashboard/dist/assets/{index-D4KGadbW.js.map → index-v0OQpgXS.js.map} +1 -1
  235. package/dashboard/dist/assets/{knowledge-DhtKWMON.js → knowledge-BlF8UMrk.js} +2 -2
  236. package/dashboard/dist/assets/{knowledge-DhtKWMON.js.map → knowledge-BlF8UMrk.js.map} +1 -1
  237. package/dashboard/dist/assets/{mcp-BXN7-wGF.js → mcp-MtXuky8q.js} +2 -2
  238. package/dashboard/dist/assets/{mcp-BXN7-wGF.js.map → mcp-MtXuky8q.js.map} +1 -1
  239. package/dashboard/dist/assets/{mcp-query-BIJP4mQJ.js → mcp-query-DQ-J1Q0K.js} +2 -2
  240. package/dashboard/dist/assets/{mcp-query-BIJP4mQJ.js.map → mcp-query-DQ-J1Q0K.js.map} +1 -1
  241. package/dashboard/dist/assets/{namespaces-ne_yDQZX.js → namespaces-DtsT_GoV.js} +2 -2
  242. package/dashboard/dist/assets/{namespaces-ne_yDQZX.js.map → namespaces-DtsT_GoV.js.map} +1 -1
  243. package/dashboard/dist/assets/{pipelines-Bcz62DoS.js → pipelines-BjlCm9VH.js} +2 -2
  244. package/dashboard/dist/assets/{pipelines-Bcz62DoS.js.map → pipelines-BjlCm9VH.js.map} +1 -1
  245. package/dashboard/dist/assets/{roles-De2CzGCy.js → roles-D-LhJ82d.js} +2 -2
  246. package/dashboard/dist/assets/{roles-De2CzGCy.js.map → roles-D-LhJ82d.js.map} +1 -1
  247. package/dashboard/dist/assets/{tasks-4yL5EfxI.js → tasks-BrP_8uEN.js} +2 -2
  248. package/dashboard/dist/assets/{tasks-4yL5EfxI.js.map → tasks-BrP_8uEN.js.map} +1 -1
  249. package/dashboard/dist/assets/topics-DUk-zX5D.js +2 -0
  250. package/dashboard/dist/assets/{topics-DDKHpRwP.js.map → topics-DUk-zX5D.js.map} +1 -1
  251. package/dashboard/dist/assets/useEventHooks-XNNzwADV.js +2 -0
  252. package/dashboard/dist/assets/useEventHooks-XNNzwADV.js.map +1 -0
  253. package/dashboard/dist/assets/{useYamlActivityEvents-Dv6GhDkh.js → useYamlActivityEvents-DANQ5jIY.js} +2 -2
  254. package/dashboard/dist/assets/{useYamlActivityEvents-Dv6GhDkh.js.map → useYamlActivityEvents-DANQ5jIY.js.map} +1 -1
  255. package/dashboard/dist/assets/{users-pSMWP58G.js → users-vj0JgOkA.js} +2 -2
  256. package/dashboard/dist/assets/{users-pSMWP58G.js.map → users-vj0JgOkA.js.map} +1 -1
  257. package/dashboard/dist/assets/{vendor-icons-CrrAvF2g.js → vendor-icons-Doy0g69_.js} +116 -111
  258. package/dashboard/dist/assets/vendor-icons-Doy0g69_.js.map +1 -0
  259. package/dashboard/dist/assets/{workflows-COYPOe2I.js → workflows-CmqgGPzI.js} +2 -2
  260. package/dashboard/dist/assets/{workflows-COYPOe2I.js.map → workflows-CmqgGPzI.js.map} +1 -1
  261. package/dashboard/dist/assets/{yaml-workflows-1dF3ig6u.js → yaml-workflows-DNFyjBXH.js} +2 -2
  262. package/dashboard/dist/assets/{yaml-workflows-1dF3ig6u.js.map → yaml-workflows-DNFyjBXH.js.map} +1 -1
  263. package/dashboard/dist/index.html +3 -3
  264. package/docs/api/http/controlplane.md +1 -1
  265. package/docs/api/http/mcp-endpoint.md +133 -0
  266. package/docs/api/http/roles.md +46 -0
  267. package/docs/api/http/service-accounts.md +15 -0
  268. package/docs/api/http/settings.md +6 -0
  269. package/docs/api/mcp/admin.md +1187 -0
  270. package/docs/api/mcp/claude-code.md +47 -0
  271. package/docs/api/mcp/docs.md +54 -0
  272. package/docs/api/mcp/events.md +80 -0
  273. package/docs/api/mcp/file-storage.md +76 -0
  274. package/docs/api/mcp/http-fetch.md +64 -0
  275. package/docs/api/mcp/human-queue.md +101 -0
  276. package/docs/api/mcp/index.md +52 -0
  277. package/docs/api/mcp/knowledge.md +125 -0
  278. package/docs/api/mcp/oauth.md +62 -0
  279. package/docs/api/mcp/schema-exchange.md +56 -0
  280. package/docs/api/mcp/translation.md +28 -0
  281. package/docs/api/mcp/vision.md +46 -0
  282. package/docs/api/sdk/settings.md +3 -1
  283. package/docs/auth.md +109 -0
  284. package/docs/dashboard.md +1 -1
  285. package/package.json +1 -1
  286. package/build/system/mcp-servers/playwright/browser-lifecycle.d.ts +0 -26
  287. package/build/system/mcp-servers/playwright/browser-lifecycle.js +0 -125
  288. package/build/system/mcp-servers/playwright/index.d.ts +0 -25
  289. package/build/system/mcp-servers/playwright/index.js +0 -42
  290. package/build/system/mcp-servers/playwright/schemas.d.ts +0 -394
  291. package/build/system/mcp-servers/playwright/schemas.js +0 -90
  292. package/build/system/mcp-servers/playwright/tools-atomic.d.ts +0 -2
  293. package/build/system/mcp-servers/playwright/tools-atomic.js +0 -9
  294. package/build/system/mcp-servers/playwright/tools-navigation.d.ts +0 -2
  295. package/build/system/mcp-servers/playwright/tools-navigation.js +0 -153
  296. package/build/system/mcp-servers/playwright/tools-page-interaction.d.ts +0 -2
  297. package/build/system/mcp-servers/playwright/tools-page-interaction.js +0 -162
  298. package/build/system/mcp-servers/playwright/tools-run-script.d.ts +0 -2
  299. package/build/system/mcp-servers/playwright/tools-run-script.js +0 -207
  300. package/build/system/mcp-servers/playwright/types.d.ts +0 -8
  301. package/build/system/mcp-servers/playwright/types.js +0 -30
  302. package/build/system/mcp-servers/playwright/vision-helper.d.ts +0 -12
  303. package/build/system/mcp-servers/playwright/vision-helper.js +0 -81
  304. package/build/system/mcp-servers/playwright-cli/helpers.d.ts +0 -11
  305. package/build/system/mcp-servers/playwright-cli/helpers.js +0 -20
  306. package/build/system/mcp-servers/playwright-cli/index.d.ts +0 -4
  307. package/build/system/mcp-servers/playwright-cli/index.js +0 -15
  308. package/build/system/mcp-servers/playwright-cli/schemas.d.ts +0 -219
  309. package/build/system/mcp-servers/playwright-cli/schemas.js +0 -75
  310. package/build/system/mcp-servers/playwright-cli/tools-auth.d.ts +0 -2
  311. package/build/system/mcp-servers/playwright-cli/tools-auth.js +0 -183
  312. package/build/system/mcp-servers/playwright-cli/tools-capture.d.ts +0 -2
  313. package/build/system/mcp-servers/playwright-cli/tools-capture.js +0 -273
  314. package/build/system/seed/tool-manifests-browser.d.ts +0 -577
  315. package/build/system/seed/tool-manifests-browser.js +0 -158
  316. package/dashboard/dist/assets/AgentConfigPage-DBtvb2x5.js +0 -16
  317. package/dashboard/dist/assets/AgentConfigPage-DBtvb2x5.js.map +0 -1
  318. package/dashboard/dist/assets/AgentDetailPage-3mZA7SOb.js.map +0 -1
  319. package/dashboard/dist/assets/AvailableEscalationsPage-CA9x9o5s.js +0 -2
  320. package/dashboard/dist/assets/BotPicker-BQp_Vs73.js +0 -2
  321. package/dashboard/dist/assets/CronLabel-DY8VdTS9.js +0 -2
  322. package/dashboard/dist/assets/CronLabel-DY8VdTS9.js.map +0 -1
  323. package/dashboard/dist/assets/ElapsedCell-BPYm8RA7.js +0 -2
  324. package/dashboard/dist/assets/EventTopicPill-CCWCs07y.js +0 -2
  325. package/dashboard/dist/assets/EventTopicPill-CCWCs07y.js.map +0 -1
  326. package/dashboard/dist/assets/HomePage-CwRebzmO.js +0 -2
  327. package/dashboard/dist/assets/HomePage-CwRebzmO.js.map +0 -1
  328. package/dashboard/dist/assets/ListToolbar-DEef1_-T.js +0 -2
  329. package/dashboard/dist/assets/McpRunDetailPage-X0sfRFTk.js +0 -2
  330. package/dashboard/dist/assets/McpRunDetailPage-X0sfRFTk.js.map +0 -1
  331. package/dashboard/dist/assets/McpRunsPage-aZg057y3.js +0 -2
  332. package/dashboard/dist/assets/OperatorDashboard-iZEHnndU.js +0 -2
  333. package/dashboard/dist/assets/OperatorDashboard-iZEHnndU.js.map +0 -1
  334. package/dashboard/dist/assets/ServerName-Q6okiv4f.js +0 -2
  335. package/dashboard/dist/assets/TopicDetailPage-DW97-YHQ.js +0 -9
  336. package/dashboard/dist/assets/TopicDetailPage-DW97-YHQ.js.map +0 -1
  337. package/dashboard/dist/assets/WorkflowsDashboard-eCH4gpAk.js +0 -2
  338. package/dashboard/dist/assets/WorkflowsDashboard-eCH4gpAk.js.map +0 -1
  339. package/dashboard/dist/assets/index-3n5VREXN.js +0 -2
  340. package/dashboard/dist/assets/index-BAXzN-QB.js +0 -6
  341. package/dashboard/dist/assets/index-BAXzN-QB.js.map +0 -1
  342. package/dashboard/dist/assets/index-BpN31nuC.js.map +0 -1
  343. package/dashboard/dist/assets/index-C37LMzJa.css +0 -1
  344. package/dashboard/dist/assets/index-C5dHozmW.js +0 -2
  345. package/dashboard/dist/assets/index-C5dHozmW.js.map +0 -1
  346. package/dashboard/dist/assets/index-UtAfnStw.js +0 -15
  347. package/dashboard/dist/assets/topics-DDKHpRwP.js +0 -2
  348. package/dashboard/dist/assets/useEventHooks-NzIyvoGY.js +0 -2
  349. package/dashboard/dist/assets/useEventHooks-NzIyvoGY.js.map +0 -1
  350. package/dashboard/dist/assets/vendor-icons-CrrAvF2g.js.map +0 -1
@@ -0,0 +1,133 @@
1
+ # MCP Endpoint
2
+
3
+ Long Tail exposes its full tool surface via the MCP (Model Context Protocol) streamable-http transport at `/mcp`. External MCP clients — Claude Desktop, Cursor, other agents, or custom applications — connect to this endpoint to discover and invoke tools.
4
+
5
+ All requests require authentication via `Authorization: Bearer <token>`.
6
+
7
+ ## Connection
8
+
9
+ ```
10
+ POST /mcp
11
+ Authorization: Bearer <api-key>
12
+ Content-Type: application/json
13
+ Accept: application/json, text/event-stream
14
+ ```
15
+
16
+ The endpoint uses stateless mode — each request is self-contained. No session management required.
17
+
18
+ ### Connecting with the MCP SDK
19
+
20
+ ```typescript
21
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
22
+ import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
23
+
24
+ const transport = new StreamableHTTPClientTransport(
25
+ new URL('http://localhost:3000/mcp'),
26
+ {
27
+ requestInit: {
28
+ headers: { 'Authorization': `Bearer ${apiKey}` },
29
+ },
30
+ },
31
+ );
32
+
33
+ const client = new Client({ name: 'my-app', version: '1.0.0' });
34
+ await client.connect(transport);
35
+
36
+ // Discover tools
37
+ const { tools } = await client.listTools();
38
+ console.log(`${tools.length} tools available`);
39
+
40
+ // Invoke a tool
41
+ const result = await client.callTool({
42
+ name: 'list_roles',
43
+ arguments: {},
44
+ });
45
+ ```
46
+
47
+ ### Connecting with curl
48
+
49
+ ```bash
50
+ # Initialize
51
+ curl -X POST http://localhost:3000/mcp \
52
+ -H "Authorization: Bearer $API_KEY" \
53
+ -H "Content-Type: application/json" \
54
+ -H "Accept: application/json, text/event-stream" \
55
+ -d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}},"id":1}'
56
+
57
+ # List tools
58
+ curl -X POST http://localhost:3000/mcp \
59
+ -H "Authorization: Bearer $API_KEY" \
60
+ -H "Content-Type: application/json" \
61
+ -H "Accept: application/json, text/event-stream" \
62
+ -d '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":2}'
63
+
64
+ # Call a tool
65
+ curl -X POST http://localhost:3000/mcp \
66
+ -H "Authorization: Bearer $API_KEY" \
67
+ -H "Content-Type: application/json" \
68
+ -H "Accept: application/json, text/event-stream" \
69
+ -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_settings","arguments":{}},"id":3}'
70
+ ```
71
+
72
+ ## Authentication
73
+
74
+ Two token types are supported:
75
+
76
+ | Type | Format | Use case |
77
+ |------|--------|----------|
78
+ | JWT | Standard Bearer token from `POST /api/auth/login` | Interactive sessions, testing |
79
+ | API key | `lt_bot_*` prefix | Service accounts, automation |
80
+
81
+ ### Service Account Setup
82
+
83
+ 1. Create a service account: `POST /api/bot-accounts`
84
+ 2. Generate an API key with scopes: `POST /api/bot-accounts/:id/api-keys`
85
+ 3. Use the key as a Bearer token for `/mcp` requests
86
+
87
+ ## Scopes
88
+
89
+ API key scopes control which tools are visible:
90
+
91
+ | Scope | Tools | Description |
92
+ |-------|-------|-------------|
93
+ | `mcp:read` | 57 | Read-safe tools only — queries, listings, discovery |
94
+ | `mcp:read` + `mcp:full` | 110 | All tools — can modify state |
95
+
96
+ A read key cannot invoke write operations (create, update, delete, invoke workflows). Use the read key for monitoring and exploration, the full key for automation.
97
+
98
+ ### Seeded Service Account
99
+
100
+ Long Tail seeds an `mcp-service` account at startup with two pre-configured API keys:
101
+ - **read** — scopes: `["mcp:read"]`
102
+ - **full** — scopes: `["mcp:read", "mcp:full"]`
103
+
104
+ Keys are logged once at startup and cannot be retrieved again. For production, create a new service account and generate keys via the dashboard or API.
105
+
106
+ ## Exposure Control
107
+
108
+ Deployment-wide configuration controls which servers and tools are available on the `/mcp` endpoint. Set via `startConfig.mcp.exposure`:
109
+
110
+ | Option | Type | Default | Description |
111
+ |--------|------|---------|-------------|
112
+ | `readOnly` | boolean | false | Only expose read-safe tools to all callers |
113
+ | `hideAiWhenUnavailable` | boolean | true | Hide AI-dependent servers when no API key configured |
114
+ | `allowServers` | string[] | all shipped | Explicit server allowlist |
115
+ | `denyServers` | string[] | none | Server denylist |
116
+
117
+ Exposure config is deployment-wide. Scopes are per-API-key. Both layers are applied: exposure filters first, then scope filters.
118
+
119
+ ## Error Responses
120
+
121
+ | Status | Meaning |
122
+ |--------|---------|
123
+ | 401 | Missing or invalid Bearer token |
124
+ | 405 | GET or DELETE request (stateless mode — POST only) |
125
+ | 500 | Internal server error |
126
+
127
+ ## Methods
128
+
129
+ | Method | Description |
130
+ |--------|-------------|
131
+ | `GET /mcp` | Returns 405 — stateless mode has no SSE streams |
132
+ | `POST /mcp` | JSON-RPC messages: `initialize`, `tools/list`, `tools/call` |
133
+ | `DELETE /mcp` | Returns 405 — stateless mode has no sessions |
@@ -16,6 +16,52 @@ Every role assignment has a `type` that controls management permissions. All thr
16
16
 
17
17
  A user can hold multiple roles with different types. For example, a user might be a `member` of `reviewer` and an `admin` of `senior-reviewer`.
18
18
 
19
+ ## Special Roles
20
+
21
+ Three role names have fixed types and elevated permissions:
22
+
23
+ | Role | Fixed Type | Dashboard | Escalation Scope | User Management |
24
+ |------|-----------|-----------|-------------------|-----------------|
25
+ | `superadmin` | `superadmin` | Full (builder + admin) | All roles — role filter ignored | Create other superadmins. Manage any user, any role |
26
+ | `engineer` | `admin` | Full (builder) | Engineer role only | Assign users to `engineer` role |
27
+ | `admin` | `admin` | Escalations + user management | All roles — role filter ignored | Assign users to any non-special role. Bulk actions on all escalations |
28
+
29
+ All other role names are dynamic. A dynamic role can have type `member` (claim/resolve escalations) or `admin` (plus manage users within that role and bulk actions).
30
+
31
+ ## Dashboard Access
32
+
33
+ The dashboard adapts to the authenticated user's access tier:
34
+
35
+ | Tier | Condition | Sees |
36
+ |------|-----------|------|
37
+ | **Builder** | `superadmin` or `engineer` role | Full dashboard: workflows, pipelines, MCP, design, storage, admin, all home page sections |
38
+ | **Operations** | Any role with `admin` type | Home page (escalations only), escalation pages, user/role management (scoped to their roles) |
39
+ | **Operator** | Any role with `member` type | Home page (escalations only), escalation pages |
40
+
41
+ Bulk escalation actions (bulk claim, assign, triage, escalate) require `admin` or `superadmin` type. Plain `member` users work on escalations one at a time.
42
+
43
+ ## API Access by Tier
44
+
45
+ Certain API endpoints require builder access (`superadmin` or `engineer` role):
46
+
47
+ | Endpoint | Access |
48
+ |----------|--------|
49
+ | `POST/PUT/DELETE /api/users` | Builder |
50
+ | `POST /api/users/:id/roles` | Admin (scoped — see below) |
51
+ | All `/api/bot-accounts` | Builder |
52
+ | All `/api/roles` mutations | Builder |
53
+ | All `/api/controlplane` | Builder |
54
+
55
+ ### Scoped Role Assignment
56
+
57
+ When assigning roles via `POST /api/users/:id/roles`, the caller's own roles determine what they can assign:
58
+
59
+ | Caller | Can Assign |
60
+ |--------|-----------|
61
+ | `superadmin` | Any role, any type (including `superadmin/superadmin`) |
62
+ | `engineer` | Any role up to `admin` type (never `superadmin` type) |
63
+ | `*/admin` (non-builder) | `member` or `admin` type for roles they themselves hold |
64
+
19
65
  ## List roles for a user
20
66
 
21
67
  ```
@@ -142,6 +142,21 @@ POST /api/bot-accounts/:id/api-keys
142
142
 
143
143
  The `rawKey` is shown **once**. It cannot be retrieved again.
144
144
 
145
+ ### API Key Scopes
146
+
147
+ Scopes control what an API key can access when used with the `/mcp` endpoint:
148
+
149
+ | Scope | Description |
150
+ |-------|-------------|
151
+ | `mcp:read` | Read-safe tools only (57 tools) — discovery, monitoring, queries |
152
+ | `mcp:full` | All tools (110 tools) — can modify state, invoke workflows, manage resources |
153
+
154
+ A key with `mcp:read` only sees tools marked `read_safe: true`. A key with both `mcp:read` and `mcp:full` sees all tools. Keys without MCP scopes have no MCP tool filtering applied.
155
+
156
+ **Recommended keys per service account:**
157
+ - **Read key**: scopes `["mcp:read"]` — safe to hand to monitoring systems
158
+ - **Full key**: scopes `["mcp:read", "mcp:full"]` — for automation and orchestration
159
+
145
160
  ### List keys
146
161
 
147
162
  ```
@@ -23,6 +23,10 @@ GET /api/settings
23
23
  "natsWsUrl": null,
24
24
  "natsToken": null
25
25
  },
26
+ "auth": {
27
+ "sso": false,
28
+ "ssoLogoutUrl": null
29
+ },
26
30
  "ai": {
27
31
  "enabled": true
28
32
  }
@@ -36,4 +40,6 @@ GET /api/settings
36
40
  | `events.transport` | `'socketio' \| 'nats' \| 'none'` | Dashboard event transport. Defaults to `socketio`. Reports `nats` only when `EVENT_TRANSPORT=nats` is set and a NATS adapter is registered. |
37
41
  | `events.natsWsUrl` | `string \| null` | NATS WebSocket URL for browser connections. Only present when a NATS adapter is registered. Read from `NATS_WS_URL`. |
38
42
  | `events.natsToken` | `string \| null` | NATS auth token for browser connections. Only present when a NATS adapter is registered. Read from `NATS_TOKEN`. |
43
+ | `auth.sso` | `boolean` | Whether SSO is configured for embedded deployments. When `true`, the dashboard auto-exchanges host auth for an LT JWT instead of showing the login form. |
44
+ | `auth.ssoLogoutUrl` | `string \| null` | URL to redirect the browser on logout. Set by the host via `sso.logoutUrl` in the startup config. When `null`, the dashboard shows its own login page on logout. |
39
45
  | `ai.enabled` | `boolean` | Whether an LLM API key is configured. When `false`, the dashboard hides AI-specific features (pipelines designer, AI assistant, triage). |