@hotmeshio/long-tail 0.4.17 → 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 (354) hide show
  1. package/README.md +0 -2
  2. package/build/adapters/express.js +4 -0
  3. package/build/api/auth-sso.d.ts +12 -0
  4. package/build/api/auth-sso.js +54 -0
  5. package/build/api/escalations/bulk.js +2 -2
  6. package/build/api/escalations/claim.js +3 -13
  7. package/build/api/escalations/create.js +3 -2
  8. package/build/api/escalations/helpers.d.ts +1 -0
  9. package/build/api/escalations/helpers.js +6 -4
  10. package/build/api/escalations/list.d.ts +1 -0
  11. package/build/api/escalations/list.js +1 -0
  12. package/build/api/escalations/metadata.js +4 -4
  13. package/build/api/escalations/single.js +3 -2
  14. package/build/api/settings.js +6 -1
  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/nats.d.ts +5 -0
  20. package/build/lib/events/nats.js +9 -0
  21. package/build/lib/events/publish.d.ts +12 -9
  22. package/build/lib/events/publish.js +27 -17
  23. package/build/modules/auth.d.ts +7 -0
  24. package/build/modules/auth.js +104 -2
  25. package/build/modules/sso.d.ts +6 -0
  26. package/build/modules/sso.js +20 -0
  27. package/build/routes/auth-sso.d.ts +2 -0
  28. package/build/routes/auth-sso.js +51 -0
  29. package/build/routes/bot-accounts.js +1 -1
  30. package/build/routes/controlplane.js +6 -6
  31. package/build/routes/escalations/list.js +1 -0
  32. package/build/routes/index.js +2 -0
  33. package/build/routes/mcp-endpoint.d.ts +17 -0
  34. package/build/routes/mcp-endpoint.js +70 -0
  35. package/build/routes/nats-credentials.js +1 -1
  36. package/build/routes/roles.js +5 -5
  37. package/build/routes/topics.js +2 -0
  38. package/build/routes/users.js +31 -5
  39. package/build/sdk/index.d.ts +1 -0
  40. package/build/services/agent/input-mapper.js +17 -1
  41. package/build/services/escalation/crud.js +14 -1
  42. package/build/services/escalation/queries.d.ts +1 -0
  43. package/build/services/escalation/queries.js +7 -0
  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 +2 -1
  55. package/build/services/user/rbac.d.ts +11 -0
  56. package/build/services/user/rbac.js +17 -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,47 @@
1
+ # Claude Code
2
+
3
+ Agentic coding assistant via Claude Code CLI. Execute development tasks: code generation, refactoring, file analysis, and multi-step workflows.
4
+
5
+ | Property | Value |
6
+ |----------|-------|
7
+ | Server ID | `long-tail-claude-code` |
8
+ | Category | Development |
9
+ | AI required | Yes |
10
+ | Credential providers | anthropic |
11
+
12
+ ## Compile Hints
13
+
14
+ execute_task runs Claude Code as a subprocess. The `prompt` parameter is ALWAYS a dynamic trigger input. Keep prompts self-contained. For read-only analysis, restrict with allowed_tools: ["Read", "Grep", "Glob"].
15
+
16
+ ## Tools
17
+
18
+ ### execute_task
19
+
20
+ Run a task using Claude Code CLI.
21
+
22
+ | | |
23
+ |---|---|
24
+ | Read-safe | No |
25
+
26
+ **Parameters:**
27
+
28
+ | Field | Type | Required | Description |
29
+ |-------|------|----------|-------------|
30
+ | prompt | string | Yes | The task prompt to execute. |
31
+ | working_directory | string | No | Working directory for the task (default /app). |
32
+ | allowed_tools | string[] | No | Restrict which tools Claude Code may use. |
33
+ | max_turns | number | No | Maximum conversation turns (default 5). |
34
+ | model | string | No | Model to use for the task. |
35
+ | system_prompt | string | No | System prompt override. |
36
+ | timeout_ms | number | No | Timeout in milliseconds (default 120000). |
37
+ | credential_label | string | No | Credential label for API key resolution. |
38
+
39
+ ### check_availability
40
+
41
+ Check if Claude Code CLI is installed and an API key is available.
42
+
43
+ | | |
44
+ |---|---|
45
+ | Read-safe | Yes |
46
+
47
+ **Parameters:** None.
@@ -0,0 +1,54 @@
1
+ # Docs
2
+
3
+ Product documentation search and retrieval. List, search, and read Long Tail documentation.
4
+
5
+ | Property | Value |
6
+ |----------|-------|
7
+ | Server ID | `long-tail-docs` |
8
+ | Category | Reference |
9
+ | AI required | No |
10
+ | Credential providers | — |
11
+
12
+ ## Compile Hints
13
+
14
+ None.
15
+
16
+ ## Tools
17
+
18
+ ### list_docs
19
+
20
+ List all available documentation files with their titles.
21
+
22
+ | | |
23
+ |---|---|
24
+ | Read-safe | Yes |
25
+
26
+ **Parameters:** None.
27
+
28
+ ### search_docs
29
+
30
+ Search across all documentation for a keyword or phrase. Returns matching files with line context.
31
+
32
+ | | |
33
+ |---|---|
34
+ | Read-safe | Yes |
35
+
36
+ **Parameters:**
37
+
38
+ | Field | Type | Required | Description |
39
+ |-------|------|----------|-------------|
40
+ | query | string | Yes | Search term or phrase to find in documentation |
41
+
42
+ ### read_doc
43
+
44
+ Read the full content of a documentation file.
45
+
46
+ | | |
47
+ |---|---|
48
+ | Read-safe | Yes |
49
+
50
+ **Parameters:**
51
+
52
+ | Field | Type | Required | Description |
53
+ |-------|------|----------|-------------|
54
+ | path | string | Yes | Document path relative to docs/ (e.g. "mcp.md" or "api/tasks.md") |
@@ -0,0 +1,80 @@
1
+ # Events
2
+
3
+ Event bus for agent-to-agent communication. Publish custom events that other agents subscribe to and react to.
4
+
5
+ | Property | Value |
6
+ |----------|-------|
7
+ | Server ID | `long-tail-events` |
8
+ | Category | Communication |
9
+ | AI required | No |
10
+ | Credential providers | — |
11
+
12
+ ## Compile Hints
13
+
14
+ publish_event: topic follows app.{namespace}.{entity}.{action} convention. The app. prefix is auto-added if omitted. Events are delivered to all matching subscribers.
15
+
16
+ ## Tools
17
+
18
+ ### publish_event
19
+
20
+ Publish a custom event to the event bus. Other agents and workflows can subscribe to these events and react.
21
+
22
+ | | |
23
+ |---|---|
24
+ | Read-safe | No |
25
+
26
+ **Parameters:**
27
+
28
+ | Field | Type | Required | Description |
29
+ |-------|------|----------|-------------|
30
+ | topic | string | Yes | Event topic using dot-delimited segments (e.g., app.epic.apis.createorder.error). The "app." prefix is auto-added if omitted. |
31
+ | data | object | No | Event payload — any structured data relevant to the event. |
32
+ | source | string | No | Source identifier (agent name, workflow type, or free-form label). |
33
+
34
+ ### list_subscriptions
35
+
36
+ List all active agent event subscriptions, optionally filtered by topic pattern.
37
+
38
+ | | |
39
+ |---|---|
40
+ | Read-safe | Yes |
41
+
42
+ **Parameters:**
43
+
44
+ | Field | Type | Required | Description |
45
+ |-------|------|----------|-------------|
46
+ | topic | string | No | Optional topic pattern to filter subscriptions. |
47
+
48
+ ### list_topics
49
+
50
+ Browse the topic catalog to discover available event topics, their descriptions, payload schemas, and subscriber counts.
51
+
52
+ | | |
53
+ |---|---|
54
+ | Read-safe | Yes |
55
+
56
+ **Parameters:**
57
+
58
+ | Field | Type | Required | Description |
59
+ |-------|------|----------|-------------|
60
+ | category | string | No | Filter by category (task, workflow, escalation, activity, knowledge, agent, app, milestone). |
61
+ | search | string | No | Search topics by name or description. |
62
+ | limit | number | No | Max results (default 50). |
63
+
64
+ ### register_topic
65
+
66
+ Declare a topic in the catalog with its description and payload schema. Use this to pre-register topics before first publish so other agents can discover them.
67
+
68
+ | | |
69
+ |---|---|
70
+ | Read-safe | No |
71
+
72
+ **Parameters:**
73
+
74
+ | Field | Type | Required | Description |
75
+ |-------|------|----------|-------------|
76
+ | topic | string | Yes | Topic name (e.g., app.vendor.orders.created). |
77
+ | description | string | No | Human-readable description of the event. |
78
+ | category | string | No | Category (defaults to first segment or "app"). |
79
+ | payload_schema | object | No | JSON Schema describing the event.data shape. |
80
+ | tags | string[] | No | Tags for filtering. |
@@ -0,0 +1,76 @@
1
+ # File Storage
2
+
3
+ Managed file storage for reading, writing, listing, and deleting files.
4
+
5
+ | Property | Value |
6
+ |----------|-------|
7
+ | Server ID | `long-tail-file-storage` |
8
+ | Category | Data |
9
+ | AI required | No |
10
+ | Credential providers | — |
11
+
12
+ ## Compile Hints
13
+
14
+ None.
15
+
16
+ ## Tools
17
+
18
+ ### read_file
19
+
20
+ Read file content from managed storage. Returns content, size, and detected MIME type. Supports utf8 (text) or base64 encoding.
21
+
22
+ | | |
23
+ |---|---|
24
+ | Read-safe | Yes |
25
+
26
+ **Parameters:**
27
+
28
+ | Field | Type | Required | Description |
29
+ |-------|------|----------|-------------|
30
+ | path | string | Yes | Relative path to the file in managed storage |
31
+ | encoding | string | No | Encoding to use: utf8 or base64 (default: utf8) |
32
+
33
+ ### write_file
34
+
35
+ Write content to a file in managed storage. Creates directories as needed. Returns the storage reference and size.
36
+
37
+ | | |
38
+ |---|---|
39
+ | Read-safe | No |
40
+
41
+ **Parameters:**
42
+
43
+ | Field | Type | Required | Description |
44
+ |-------|------|----------|-------------|
45
+ | path | string | Yes | Relative path for the file in managed storage |
46
+ | content | string | Yes | File content to write |
47
+ | encoding | string | No | Encoding of the content: utf8 or base64 (default: utf8) |
48
+
49
+ ### list_files
50
+
51
+ List files in a storage directory. Returns file paths, sizes, and modification timestamps.
52
+
53
+ | | |
54
+ |---|---|
55
+ | Read-safe | Yes |
56
+
57
+ **Parameters:**
58
+
59
+ | Field | Type | Required | Description |
60
+ |-------|------|----------|-------------|
61
+ | directory | string | No | Directory path to list (default: /) |
62
+ | recursive | boolean | No | Whether to list recursively (default: false) |
63
+
64
+ ### delete_file
65
+
66
+ Remove a file from managed storage.
67
+
68
+ | | |
69
+ |---|---|
70
+ | Read-safe | No |
71
+
72
+ **Parameters:**
73
+
74
+ | Field | Type | Required | Description |
75
+ |-------|------|----------|-------------|
76
+ | path | string | Yes | Relative path to the file to delete |
@@ -0,0 +1,64 @@
1
+ # HTTP Fetch
2
+
3
+ HTTP client tools for making GET, POST, and arbitrary HTTP requests.
4
+
5
+ | Property | Value |
6
+ |----------|-------|
7
+ | Server ID | `long-tail-http-fetch` |
8
+ | Category | Data |
9
+ | AI required | No |
10
+ | Credential providers | — |
11
+
12
+ ## Compile Hints
13
+
14
+ HTTP response bodies may be large. Prefer specific fields from parsed JSON rather than raw body.
15
+
16
+ ## Tools
17
+
18
+ ### http_request
19
+
20
+ Make an HTTP request to any URL. Supports all methods, custom headers, and request bodies. Returns status, headers, and body.
21
+
22
+ | | |
23
+ |---|---|
24
+ | Read-safe | No |
25
+
26
+ **Parameters:**
27
+
28
+ | Field | Type | Required | Description |
29
+ |-------|------|----------|-------------|
30
+ | url | string | Yes | URL to request |
31
+ | method | string | No | HTTP method (default: GET) |
32
+ | headers | object | No | Request headers |
33
+ | body | string | No | Request body |
34
+ | timeout_ms | number | No | Request timeout in milliseconds |
35
+
36
+ ### fetch_json
37
+
38
+ GET a URL and parse the response as JSON. Convenience wrapper around http_request.
39
+
40
+ | | |
41
+ |---|---|
42
+ | Read-safe | Yes |
43
+
44
+ **Parameters:**
45
+
46
+ | Field | Type | Required | Description |
47
+ |-------|------|----------|-------------|
48
+ | url | string | Yes | URL to fetch JSON from |
49
+ | headers | object | No | Request headers |
50
+
51
+ ### fetch_text
52
+
53
+ GET a URL and return the response as text. Returns content, status, and content type.
54
+
55
+ | | |
56
+ |---|---|
57
+ | Read-safe | Yes |
58
+
59
+ **Parameters:**
60
+
61
+ | Field | Type | Required | Description |
62
+ |-------|------|----------|-------------|
63
+ | url | string | Yes | URL to fetch text from |
64
+ | headers | object | No | Request headers |
@@ -0,0 +1,101 @@
1
+ # Human Queue
2
+
3
+ Built-in escalation and human queue management. Exposes the escalation API as MCP tools for AI agents and remediation workflows.
4
+
5
+ | Property | Value |
6
+ |----------|-------|
7
+ | Server ID | `long-tail-human-queue` |
8
+ | Category | Automation |
9
+ | AI required | No |
10
+ | Credential providers | — |
11
+
12
+ ## Compile Hints
13
+
14
+ escalate_and_wait creates a durable pause point. The step AFTER escalate_and_wait is always a signal step (kind: "signal") that receives the human response. Fields from the signal step output (e.g., password) must be wired via data_flow edges to ALL downstream steps that need them.
15
+
16
+ ## Tools
17
+
18
+ ### escalate_to_human
19
+
20
+ Create a new escalation for human review. Returns the escalation ID.
21
+
22
+ | | |
23
+ |---|---|
24
+ | Read-safe | No |
25
+
26
+ **Parameters:**
27
+
28
+ | Field | Type | Required | Description |
29
+ |-------|------|----------|-------------|
30
+ | role | string | Yes | Target role for the escalation (e.g., "reviewer") |
31
+ | message | string | Yes | Description of what needs human review |
32
+ | data | object | No | Contextual data for the reviewer |
33
+ | type | string | No | Escalation type classification (default: "mcp") |
34
+ | subtype | string | No | Escalation subtype (default: "tool_call") |
35
+ | priority | number | No | Priority: 1 (highest) to 4 (lowest) (default: 2) |
36
+
37
+ ### check_resolution
38
+
39
+ Check the status of an escalation. Returns status and resolver payload if resolved.
40
+
41
+ | | |
42
+ |---|---|
43
+ | Read-safe | Yes |
44
+
45
+ **Parameters:**
46
+
47
+ | Field | Type | Required | Description |
48
+ |-------|------|----------|-------------|
49
+ | escalation_id | string | Yes | The escalation ID to check |
50
+
51
+ ### get_available_work
52
+
53
+ List available escalations for a role. Returns pending, unassigned escalations.
54
+
55
+ | | |
56
+ |---|---|
57
+ | Read-safe | Yes |
58
+
59
+ **Parameters:**
60
+
61
+ | Field | Type | Required | Description |
62
+ |-------|------|----------|-------------|
63
+ | role | string | Yes | Role to filter by |
64
+ | limit | number | No | Max results to return (default: 10) |
65
+
66
+ ### claim_and_resolve
67
+
68
+ Claim an escalation and immediately resolve it with a payload. Atomic operation.
69
+
70
+ | | |
71
+ |---|---|
72
+ | Read-safe | No |
73
+
74
+ **Parameters:**
75
+
76
+ | Field | Type | Required | Description |
77
+ |-------|------|----------|-------------|
78
+ | escalation_id | string | Yes | The escalation ID to claim and resolve |
79
+ | resolver_id | string | Yes | Identifier for who/what is resolving |
80
+ | payload | object | Yes | Resolution payload data |
81
+
82
+ ### escalate_and_wait
83
+
84
+ Create an escalation and pause the workflow until a human responds. Returns a signal ID that the workflow uses to wait durably. Preferred over escalate_to_human + check_resolution polling.
85
+
86
+ | | |
87
+ |---|---|
88
+ | Read-safe | No |
89
+
90
+ **Parameters:**
91
+
92
+ | Field | Type | Required | Description |
93
+ |-------|------|----------|-------------|
94
+ | role | string | Yes | Target role for the escalation (e.g., "reviewer") |
95
+ | message | string | Yes | Description of what input is needed from the human |
96
+ | form_schema | object | No | JSON Schema for the resolver form. Use format:"password" for sensitive fields. |
97
+ | data | object | No | Contextual data for the reviewer |
98
+ | assigned_to | string | No | Auto-assign to a specific user |
99
+ | type | string | No | Escalation type classification (default: "mcp") |
100
+ | subtype | string | No | Escalation subtype (default: "wait_for_human") |
101
+ | priority | number | No | Priority: 1 (highest) to 4 (lowest) (default: 1) |
@@ -0,0 +1,52 @@
1
+ # MCP Tools Reference
2
+
3
+ Long Tail exposes its full API surface as MCP (Model Context Protocol) tools. These tools allow AI agents (or Long Tail itself in reflexive mode) to perform any action a human would via the dashboard or REST APIs.
4
+
5
+ **Endpoint**: `POST /mcp` — see [MCP Endpoint](../http/mcp-endpoint.md) for connection examples, authentication, and scope filtering.
6
+
7
+ ## Exposure Control
8
+
9
+ Configure which tools are exposed when Long Tail acts as an MCP server:
10
+
11
+ | Option | Type | Default | Description |
12
+ |--------|------|---------|-------------|
13
+ | `mcp.exposure.readOnly` | boolean | false | Only expose tools marked `read_safe` |
14
+ | `mcp.exposure.hideAiWhenUnavailable` | boolean | true | Hide AI-dependent servers when no API key |
15
+ | `mcp.exposure.allowServers` | string[] | — | Explicit server allowlist |
16
+ | `mcp.exposure.denyServers` | string[] | — | Server denylist |
17
+
18
+ ## Built-in Servers
19
+
20
+ These servers ship with the product and reflect the core API surface:
21
+
22
+ | Server | Category | Tools | Description |
23
+ |--------|----------|-------|-------------|
24
+ | [long-tail-admin](admin.md) | System | 71 | Unified system management — tasks, escalations, agents, workflows, users, etc. |
25
+ | [long-tail-human-queue](human-queue.md) | Automation | 5 | Escalation workflow primitives (durable pause + signal) |
26
+ | [long-tail-file-storage](file-storage.md) | Data | 4 | Managed file storage (MinIO/GCS/S3) |
27
+ | [long-tail-http-fetch](http-fetch.md) | Data | 3 | HTTP client for external requests |
28
+ | [long-tail-schema-exchange](schema-exchange.md) | Data | 2 | Schema-validated HTTP exchange with credential resolution |
29
+ | [long-tail-oauth](oauth.md) | System | 3 | OAuth token management and refresh |
30
+ | [long-tail-knowledge](knowledge.md) | Data | 7 | Persistent JSONB knowledge store |
31
+ | [long-tail-docs](docs.md) | Reference | 3 | Documentation search and retrieval |
32
+ | [long-tail-events](events.md) | Communication | 4 | Event bus pub/sub |
33
+ | [long-tail-vision](vision.md) | Analysis | 2 | Image analysis via LLM vision (AI key required) |
34
+ | [long-tail-translation](translation.md) | Analysis | 1 | Text translation via LLM (AI key required) |
35
+ | [long-tail-claude-code](claude-code.md) | Development | 2 | Agentic code execution (AI key required) |
36
+
37
+ ## Example Servers
38
+
39
+ These servers are included as examples of how to extend Long Tail with additional MCP capabilities. They demonstrate the registration pattern for adding browser automation or other domain-specific tools:
40
+
41
+ | Server | Category | Description |
42
+ |--------|----------|-------------|
43
+ | long-tail-playwright | Automation | Low-level browser automation via Playwright (requires binary) |
44
+ | long-tail-playwright-cli | Automation | High-level browser automation |
45
+ | long-tail-gmail | Communication | Gmail integration (OAuth) |
46
+ | long-tail-image-tools | Media | Image processing via sharp |
47
+
48
+ See `examples/mcp-servers/` for the registration pattern.
49
+
50
+ ## Read-Safe Classification
51
+
52
+ Every tool is classified as either **read-safe** (query-only, no side effects) or **write** (modifies state). When `mcp.exposure.readOnly` is enabled, only read-safe tools are available to external MCP consumers.
@@ -0,0 +1,125 @@
1
+ # Knowledge
2
+
3
+ Persistent knowledge store for autonomous agents. Store, retrieve, search, and accumulate JSONB documents in isolated domains.
4
+
5
+ | Property | Value |
6
+ |----------|-------|
7
+ | Server ID | `long-tail-knowledge` |
8
+ | Category | Data |
9
+ | AI required | No |
10
+ | Credential providers | — |
11
+
12
+ ## Compile Hints
13
+
14
+ store_knowledge: domain (string), key (string), data (object — MUST be JSON object, never string). Upserts by domain+key. search_knowledge uses JSONB containment (@>). append_knowledge adds to arrays without replacing. list_domains returns all domains with counts.
15
+
16
+ ## Tools
17
+
18
+ ### store_knowledge
19
+
20
+ Store a value in a 3-level additive hierarchy: domain > key > field. Upserts by domain+key — fields accumulate across calls. Same domain+key+field overwrites that field.
21
+
22
+ | | |
23
+ |---|---|
24
+ | Read-safe | No |
25
+
26
+ **Parameters:**
27
+
28
+ | Field | Type | Required | Description |
29
+ |-------|------|----------|-------------|
30
+ | domain | string | Yes | Top level — groups entries by namespace (e.g. "screenshots", "config") |
31
+ | key | string | Yes | Second level — unique identifier within domain (e.g. "homepage") |
32
+ | data | any | Yes | The value to store. Any type when field is provided; must be an object when field is omitted. |
33
+ | field | string | No | Third level (leaf) — names a specific field. Different fields accumulate; same field overwrites. |
34
+ | tags | string[] | No | Categorization tags (unioned on upsert) |
35
+
36
+ ### get_knowledge
37
+
38
+ Retrieve a single knowledge entry by domain and key.
39
+
40
+ | | |
41
+ |---|---|
42
+ | Read-safe | Yes |
43
+
44
+ **Parameters:**
45
+
46
+ | Field | Type | Required | Description |
47
+ |-------|------|----------|-------------|
48
+ | domain | string | Yes | Knowledge domain |
49
+ | key | string | Yes | Document key |
50
+
51
+ ### search_knowledge
52
+
53
+ Search knowledge entries using JSONB containment queries. The query object matches entries whose data contains the specified key-value pairs.
54
+
55
+ | | |
56
+ |---|---|
57
+ | Read-safe | Yes |
58
+
59
+ **Parameters:**
60
+
61
+ | Field | Type | Required | Description |
62
+ |-------|------|----------|-------------|
63
+ | domain | string | Yes | Knowledge domain to search |
64
+ | query | object | Yes | JSONB containment query |
65
+ | tags | string[] | No | Filter by tags |
66
+ | limit | number | No | Max results (default 50) |
67
+
68
+ ### list_knowledge
69
+
70
+ List knowledge entries in a domain, optionally filtered by tags. Returns most recently updated first.
71
+
72
+ | | |
73
+ |---|---|
74
+ | Read-safe | Yes |
75
+
76
+ **Parameters:**
77
+
78
+ | Field | Type | Required | Description |
79
+ |-------|------|----------|-------------|
80
+ | domain | string | Yes | Knowledge domain |
81
+ | tags | string[] | No | Filter by tags |
82
+ | limit | number | No | Max results (default 50) |
83
+ | offset | number | No | Pagination offset |
84
+
85
+ ### delete_knowledge
86
+
87
+ Delete a knowledge entry by domain and key.
88
+
89
+ | | |
90
+ |---|---|
91
+ | Read-safe | No |
92
+
93
+ **Parameters:**
94
+
95
+ | Field | Type | Required | Description |
96
+ |-------|------|----------|-------------|
97
+ | domain | string | Yes | Knowledge domain |
98
+ | key | string | Yes | Document key to delete |
99
+
100
+ ### list_domains
101
+
102
+ List all knowledge domains with entry counts and last-updated timestamps.
103
+
104
+ | | |
105
+ |---|---|
106
+ | Read-safe | Yes |
107
+
108
+ **Parameters:** None.
109
+
110
+ ### append_knowledge
111
+
112
+ Append a value to an array field within a knowledge entry. Creates the entry and array if they do not exist.
113
+
114
+ | | |
115
+ |---|---|
116
+ | Read-safe | No |
117
+
118
+ **Parameters:**
119
+
120
+ | Field | Type | Required | Description |
121
+ |-------|------|----------|-------------|
122
+ | domain | string | Yes | Knowledge domain |
123
+ | key | string | Yes | Document key |
124
+ | path | string | Yes | JSONB path to array field |
125
+ | value | any | Yes | Value to append to the array |
@@ -0,0 +1,62 @@
1
+ # OAuth
2
+
3
+ OAuth token management. Get fresh access tokens for external services. Handles automatic token refresh.
4
+
5
+ | Property | Value |
6
+ |----------|-------|
7
+ | Server ID | `long-tail-oauth` |
8
+ | Category | System |
9
+ | AI required | No |
10
+ | Credential providers | — |
11
+
12
+ ## Compile Hints
13
+
14
+ get_access_token returns a short-lived token. Call immediately before authenticated API requests — do not cache across steps.
15
+
16
+ ## Tools
17
+
18
+ ### get_access_token
19
+
20
+ Get a fresh OAuth access token for an external service. Automatically refreshes expired tokens.
21
+
22
+ | | |
23
+ |---|---|
24
+ | Read-safe | Yes |
25
+
26
+ **Parameters:**
27
+
28
+ | Field | Type | Required | Description |
29
+ |-------|------|----------|-------------|
30
+ | provider | string | Yes | OAuth provider name (google, github, microsoft, anthropic, etc.) |
31
+ | user_id | string | Yes | User ID to get token for |
32
+ | label | string | No | Credential label (default: "default"). Select among multiple credentials for the same provider. |
33
+
34
+ ### list_connections
35
+
36
+ List all OAuth providers connected for a user. Returns provider, label, and credential type for each connection.
37
+
38
+ | | |
39
+ |---|---|
40
+ | Read-safe | Yes |
41
+
42
+ **Parameters:**
43
+
44
+ | Field | Type | Required | Description |
45
+ |-------|------|----------|-------------|
46
+ | user_id | string | Yes | User ID to list connections for |
47
+
48
+ ### revoke_connection
49
+
50
+ Disconnect an OAuth provider for a user, removing stored tokens. Use label to target a specific credential.
51
+
52
+ | | |
53
+ |---|---|
54
+ | Read-safe | No |
55
+
56
+ **Parameters:**
57
+
58
+ | Field | Type | Required | Description |
59
+ |-------|------|----------|-------------|
60
+ | provider | string | Yes | OAuth provider name to disconnect |
61
+ | user_id | string | Yes | User ID to revoke connection for |
62
+ | label | string | No | Credential label to revoke (default: "default") |