@hotmeshio/long-tail 0.11.0 → 0.11.1
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.
- package/build/routes/mcp-endpoint.js +4 -1
- package/build/services/escalation/aggregate-validate.js +6 -0
- package/build/services/escalation/facet-sql.js +10 -0
- package/build/services/mcp/external-server.js +34 -26
- package/build/system/index.js +17 -0
- package/build/system/mcp-servers/admin/index.js +2 -4
- package/build/system/seed/tool-manifests-admin.d.ts +0 -1137
- package/build/system/seed/tool-manifests-admin.js +0 -5
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/facets.d.ts +8 -0
- package/dashboard/dist/assets/{AdminDashboard-DJ3LJQ09.js → AdminDashboard-D4ebrcNR.js} +2 -2
- package/dashboard/dist/assets/{AdminDashboard-DJ3LJQ09.js.map → AdminDashboard-D4ebrcNR.js.map} +1 -1
- package/dashboard/dist/assets/{AgentConfigPage-BMMvaD0z.js → AgentConfigPage-DP4KUuCX.js} +2 -2
- package/dashboard/dist/assets/{AgentConfigPage-BMMvaD0z.js.map → AgentConfigPage-DP4KUuCX.js.map} +1 -1
- package/dashboard/dist/assets/{AgentDetailPage-C6wfsnRe.js → AgentDetailPage-ktYiR1kq.js} +2 -2
- package/dashboard/dist/assets/{AgentDetailPage-C6wfsnRe.js.map → AgentDetailPage-ktYiR1kq.js.map} +1 -1
- package/dashboard/dist/assets/{AgentsPage-Cwqka7nE.js → AgentsPage-B4iqm4-h.js} +2 -2
- package/dashboard/dist/assets/{AgentsPage-Cwqka7nE.js.map → AgentsPage-B4iqm4-h.js.map} +1 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-tL3mM1RG.js +2 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-tL3mM1RG.js.map +1 -0
- package/dashboard/dist/assets/{BotPicker-BBkJBXZB.js → BotPicker-CLrJuHnW.js} +2 -2
- package/dashboard/dist/assets/{BotPicker-BBkJBXZB.js.map → BotPicker-CLrJuHnW.js.map} +1 -1
- package/dashboard/dist/assets/CapabilitiesPage-DG5V0tMT.js +2 -0
- package/dashboard/dist/assets/CapabilitiesPage-DG5V0tMT.js.map +1 -0
- package/dashboard/dist/assets/{CollapsibleSection-B3FsrHwH.js → CollapsibleSection-CvLHvVfU.js} +2 -2
- package/dashboard/dist/assets/{CollapsibleSection-B3FsrHwH.js.map → CollapsibleSection-CvLHvVfU.js.map} +1 -1
- package/dashboard/dist/assets/{CountdownTimer-B3nCqJdC.js → CountdownTimer-Co57-iLY.js} +2 -2
- package/dashboard/dist/assets/{CountdownTimer-B3nCqJdC.js.map → CountdownTimer-Co57-iLY.js.map} +1 -1
- package/dashboard/dist/assets/{CredentialsPage-Bv875IHe.js → CredentialsPage-qCJZ3rdi.js} +2 -2
- package/dashboard/dist/assets/{CredentialsPage-Bv875IHe.js.map → CredentialsPage-qCJZ3rdi.js.map} +1 -1
- package/dashboard/dist/assets/{CronLabel-CSzjWuwj.js → CronLabel-C3iKifDN.js} +2 -2
- package/dashboard/dist/assets/{CronLabel-CSzjWuwj.js.map → CronLabel-C3iKifDN.js.map} +1 -1
- package/dashboard/dist/assets/{CustomDurationPicker-CCpqf3e4.js → CustomDurationPicker-C-Szl4rU.js} +2 -2
- package/dashboard/dist/assets/{CustomDurationPicker-CCpqf3e4.js.map → CustomDurationPicker-C-Szl4rU.js.map} +1 -1
- package/dashboard/dist/assets/{DropZone-CJkk-U3o.js → DropZone-BWD9aGOz.js} +2 -2
- package/dashboard/dist/assets/{DropZone-CJkk-U3o.js.map → DropZone-BWD9aGOz.js.map} +1 -1
- package/dashboard/dist/assets/{ElapsedCell-WV6pUaKo.js → ElapsedCell-CamZk5o1.js} +2 -2
- package/dashboard/dist/assets/{ElapsedCell-WV6pUaKo.js.map → ElapsedCell-CamZk5o1.js.map} +1 -1
- package/dashboard/dist/assets/EntityTimelinePanel-CABCW2dS.js +2 -0
- package/dashboard/dist/assets/EntityTimelinePanel-CABCW2dS.js.map +1 -0
- package/dashboard/dist/assets/{EscalationListSchemaPage-CTQCALw4.js → EscalationListSchemaPage-BddDSfjl.js} +2 -2
- package/dashboard/dist/assets/{EscalationListSchemaPage-CTQCALw4.js.map → EscalationListSchemaPage-BddDSfjl.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationSchemaPage-D_UgP0pv.js → EscalationSchemaPage-BRyCtw9R.js} +2 -2
- package/dashboard/dist/assets/{EscalationSchemaPage-D_UgP0pv.js.map → EscalationSchemaPage-BRyCtw9R.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationsOverview-DuIUyxr0.js → EscalationsOverview-DUWYxJyD.js} +2 -2
- package/dashboard/dist/assets/{EscalationsOverview-DuIUyxr0.js.map → EscalationsOverview-DUWYxJyD.js.map} +1 -1
- package/dashboard/dist/assets/{EventTable-BV6unphX.js → EventTable-CtVuCgq6.js} +2 -2
- package/dashboard/dist/assets/{EventTable-BV6unphX.js.map → EventTable-CtVuCgq6.js.map} +1 -1
- package/dashboard/dist/assets/{FilterBar-DYFgzXNB.js → FilterBar-BYsBgOiE.js} +2 -2
- package/dashboard/dist/assets/{FilterBar-DYFgzXNB.js.map → FilterBar-BYsBgOiE.js.map} +1 -1
- package/dashboard/dist/assets/{GraphInvokePage-BGHVUipJ.js → GraphInvokePage-CA4skPN2.js} +2 -2
- package/dashboard/dist/assets/{GraphInvokePage-BGHVUipJ.js.map → GraphInvokePage-CA4skPN2.js.map} +1 -1
- package/dashboard/dist/assets/{HomePage-B-S2cK3E.js → HomePage-DwG-AnjQ.js} +2 -2
- package/dashboard/dist/assets/{HomePage-B-S2cK3E.js.map → HomePage-DwG-AnjQ.js.map} +1 -1
- package/dashboard/dist/assets/{ListToolbar-Bl7F3A28.js → ListToolbar-D86IN_hQ.js} +2 -2
- package/dashboard/dist/assets/{ListToolbar-Bl7F3A28.js.map → ListToolbar-D86IN_hQ.js.map} +1 -1
- package/dashboard/dist/assets/{McpOverview-_T9IsCD_.js → McpOverview-CoEHGseD.js} +2 -2
- package/dashboard/dist/assets/{McpOverview-_T9IsCD_.js.map → McpOverview-CoEHGseD.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryDetailPage-DtsVqKPw.js → McpQueryDetailPage-C9hMgJe1.js} +2 -2
- package/dashboard/dist/assets/{McpQueryDetailPage-DtsVqKPw.js.map → McpQueryDetailPage-C9hMgJe1.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryPage-DX5u-1bx.js → McpQueryPage-B20Zn4QX.js} +2 -2
- package/dashboard/dist/assets/{McpQueryPage-DX5u-1bx.js.map → McpQueryPage-B20Zn4QX.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunDetailPage-BhcqqtYS.js → McpRunDetailPage-DDKHf-3R.js} +2 -2
- package/dashboard/dist/assets/{McpRunDetailPage-BhcqqtYS.js.map → McpRunDetailPage-DDKHf-3R.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunsPage-L-1y8wnX.js → McpRunsPage-Puyn3iJr.js} +2 -2
- package/dashboard/dist/assets/{McpRunsPage-L-1y8wnX.js.map → McpRunsPage-Puyn3iJr.js.map} +1 -1
- package/dashboard/dist/assets/{NamespacePill-in1SLd0W.js → NamespacePill-C09QuOEz.js} +2 -2
- package/dashboard/dist/assets/{NamespacePill-in1SLd0W.js.map → NamespacePill-C09QuOEz.js.map} +1 -1
- package/dashboard/dist/assets/OperationsPage-Bsrt4XTL.js +3 -0
- package/dashboard/dist/assets/OperationsPage-Bsrt4XTL.js.map +1 -0
- package/dashboard/dist/assets/{OperatorDashboard-CIbDzOlh.js → OperatorDashboard-CXBbFLAL.js} +2 -2
- package/dashboard/dist/assets/{OperatorDashboard-CIbDzOlh.js.map → OperatorDashboard-CXBbFLAL.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeader-BJgWMZtw.js → PageHeader-B7YJxa4o.js} +2 -2
- package/dashboard/dist/assets/{PageHeader-BJgWMZtw.js.map → PageHeader-B7YJxa4o.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeaderWithStats-Ccio4vyG.js → PageHeaderWithStats-gT-5ovJh.js} +2 -2
- package/dashboard/dist/assets/{PageHeaderWithStats-Ccio4vyG.js.map → PageHeaderWithStats-gT-5ovJh.js.map} +1 -1
- package/dashboard/dist/assets/{PersonaDetailPage-BOaf0TW1.js → PersonaDetailPage-BN5xNDDX.js} +2 -2
- package/dashboard/dist/assets/{PersonaDetailPage-BOaf0TW1.js.map → PersonaDetailPage-BN5xNDDX.js.map} +1 -1
- package/dashboard/dist/assets/PersonasPage-Bdtv6HPZ.js +2 -0
- package/dashboard/dist/assets/PersonasPage-Bdtv6HPZ.js.map +1 -0
- package/dashboard/dist/assets/{ProcessDetailPage-DN9NqfeP.js → ProcessDetailPage-BMg70ZAJ.js} +2 -2
- package/dashboard/dist/assets/{ProcessDetailPage-DN9NqfeP.js.map → ProcessDetailPage-BMg70ZAJ.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessesListPage-CfQEWaD4.js → ProcessesListPage-_KvdxGhL.js} +2 -2
- package/dashboard/dist/assets/{ProcessesListPage-CfQEWaD4.js.map → ProcessesListPage-_KvdxGhL.js.map} +1 -1
- package/dashboard/dist/assets/{RoleDetailPage-BC5HL7ls.js → RoleDetailPage-BM5BXc7j.js} +2 -2
- package/dashboard/dist/assets/{RoleDetailPage-BC5HL7ls.js.map → RoleDetailPage-BM5BXc7j.js.map} +1 -1
- package/dashboard/dist/assets/{RolePill-BNAP-uK6.js → RolePill-CtYI1_k1.js} +2 -2
- package/dashboard/dist/assets/{RolePill-BNAP-uK6.js.map → RolePill-CtYI1_k1.js.map} +1 -1
- package/dashboard/dist/assets/RolesPage-Bv23VmUi.js +2 -0
- package/dashboard/dist/assets/RolesPage-Bv23VmUi.js.map +1 -0
- package/dashboard/dist/assets/{RunAsSelector-twbuX7fB.js → RunAsSelector-D-Sjr7uB.js} +2 -2
- package/dashboard/dist/assets/{RunAsSelector-twbuX7fB.js.map → RunAsSelector-D-Sjr7uB.js.map} +1 -1
- package/dashboard/dist/assets/{ScanCodesPage-CPNg6K--.js → ScanCodesPage-s3OEMJno.js} +2 -2
- package/dashboard/dist/assets/{ScanCodesPage-CPNg6K--.js.map → ScanCodesPage-s3OEMJno.js.map} +1 -1
- package/dashboard/dist/assets/ScanSchemeDetailPage-D8WQkZmw.js +2 -0
- package/dashboard/dist/assets/ScanSchemeDetailPage-D8WQkZmw.js.map +1 -0
- package/dashboard/dist/assets/ScanStationPage-CkRQaH5G.js +2 -0
- package/dashboard/dist/assets/ScanStationPage-CkRQaH5G.js.map +1 -0
- package/dashboard/dist/assets/{ScopeBadge-BG7KkZ8Q.js → ScopeBadge-B76rOtA0.js} +2 -2
- package/dashboard/dist/assets/{ScopeBadge-BG7KkZ8Q.js.map → ScopeBadge-B76rOtA0.js.map} +1 -1
- package/dashboard/dist/assets/{StickyPagination-DIeYMPPd.js → StickyPagination-BpTIMOL5.js} +2 -2
- package/dashboard/dist/assets/{StickyPagination-DIeYMPPd.js.map → StickyPagination-BpTIMOL5.js.map} +1 -1
- package/dashboard/dist/assets/{StreamMessageDetail-gU4CUeQI.js → StreamMessageDetail-ChoWrZzO.js} +2 -2
- package/dashboard/dist/assets/{StreamMessageDetail-gU4CUeQI.js.map → StreamMessageDetail-ChoWrZzO.js.map} +1 -1
- package/dashboard/dist/assets/{SwimlaneTimeline-Br-nBA4l.js → SwimlaneTimeline-nmIqEuEH.js} +2 -2
- package/dashboard/dist/assets/{SwimlaneTimeline-Br-nBA4l.js.map → SwimlaneTimeline-nmIqEuEH.js.map} +1 -1
- package/dashboard/dist/assets/{TagInput-CvM5n6ww.js → TagInput-BQAPOp17.js} +2 -2
- package/dashboard/dist/assets/{TagInput-CvM5n6ww.js.map → TagInput-BQAPOp17.js.map} +1 -1
- package/dashboard/dist/assets/{TaskDetailPage-_9cr_R0u.js → TaskDetailPage-KajZD2Cp.js} +2 -2
- package/dashboard/dist/assets/{TaskDetailPage-_9cr_R0u.js.map → TaskDetailPage-KajZD2Cp.js.map} +1 -1
- package/dashboard/dist/assets/{TaskQueuePill-D4JPHXOq.js → TaskQueuePill-C2NImrwl.js} +2 -2
- package/dashboard/dist/assets/{TaskQueuePill-D4JPHXOq.js.map → TaskQueuePill-C2NImrwl.js.map} +1 -1
- package/dashboard/dist/assets/{TasksListPage-DVENC9Jp.js → TasksListPage-CiqSfapP.js} +2 -2
- package/dashboard/dist/assets/{TasksListPage-DVENC9Jp.js.map → TasksListPage-CiqSfapP.js.map} +1 -1
- package/dashboard/dist/assets/{TimeAgo-C9yYnOui.js → TimeAgo-ClauexJj.js} +2 -2
- package/dashboard/dist/assets/{TimeAgo-C9yYnOui.js.map → TimeAgo-ClauexJj.js.map} +1 -1
- package/dashboard/dist/assets/{TimestampCell-DoB8cYgw.js → TimestampCell-CXmbCnAJ.js} +2 -2
- package/dashboard/dist/assets/{TimestampCell-DoB8cYgw.js.map → TimestampCell-CXmbCnAJ.js.map} +1 -1
- package/dashboard/dist/assets/{ToolPill-BUjbC-Tj.js → ToolPill-FOZm67TS.js} +2 -2
- package/dashboard/dist/assets/{ToolPill-BUjbC-Tj.js.map → ToolPill-FOZm67TS.js.map} +1 -1
- package/dashboard/dist/assets/{ToolTestPanel-CBtsIP8K.js → ToolTestPanel-DFUU0zGv.js} +2 -2
- package/dashboard/dist/assets/{ToolTestPanel-CBtsIP8K.js.map → ToolTestPanel-DFUU0zGv.js.map} +1 -1
- package/dashboard/dist/assets/{TopicDetailPage-mR4Jaz83.js → TopicDetailPage-DuN5BrsI.js} +2 -2
- package/dashboard/dist/assets/{TopicDetailPage-mR4Jaz83.js.map → TopicDetailPage-DuN5BrsI.js.map} +1 -1
- package/dashboard/dist/assets/{TopicsPage-CP7HFxIC.js → TopicsPage-DZ1NQdYG.js} +2 -2
- package/dashboard/dist/assets/{TopicsPage-CP7HFxIC.js.map → TopicsPage-DZ1NQdYG.js.map} +1 -1
- package/dashboard/dist/assets/{UserName-BnLF6yhz.js → UserName-BPHG_MQs.js} +2 -2
- package/dashboard/dist/assets/{UserName-BnLF6yhz.js.map → UserName-BPHG_MQs.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowExecutionPage-xL956RZi.js → WorkflowExecutionPage-D_Z-tIjR.js} +2 -2
- package/dashboard/dist/assets/{WorkflowExecutionPage-xL956RZi.js.map → WorkflowExecutionPage-D_Z-tIjR.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowPill-tXU0-eXu.js → WorkflowPill-C5TEWlfO.js} +2 -2
- package/dashboard/dist/assets/{WorkflowPill-tXU0-eXu.js.map → WorkflowPill-C5TEWlfO.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsDashboard-B-u7zFKM.js → WorkflowsDashboard-VMBW1WuR.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsDashboard-B-u7zFKM.js.map → WorkflowsDashboard-VMBW1WuR.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsOverview-CqZVarK-.js → WorkflowsOverview-CUOXXcpg.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsOverview-CqZVarK-.js.map → WorkflowsOverview-CUOXXcpg.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-DiFLavW0.js → YamlWorkflowDetailPage-CsfzbboC.js} +2 -2
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-DiFLavW0.js.map → YamlWorkflowDetailPage-CsfzbboC.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowsPage-BuQM6uZA.js → YamlWorkflowsPage-BpgKLSGT.js} +2 -2
- package/dashboard/dist/assets/{YamlWorkflowsPage-BuQM6uZA.js.map → YamlWorkflowsPage-BpgKLSGT.js.map} +1 -1
- package/dashboard/dist/assets/{agents-DU9GPovp.js → agents-Cg2FVYQP.js} +2 -2
- package/dashboard/dist/assets/{agents-DU9GPovp.js.map → agents-Cg2FVYQP.js.map} +1 -1
- package/dashboard/dist/assets/{bots-Cy-Hmg7w.js → bots-vtVLRKGt.js} +2 -2
- package/dashboard/dist/assets/{bots-Cy-Hmg7w.js.map → bots-vtVLRKGt.js.map} +1 -1
- package/dashboard/dist/assets/{capabilities-sSJJqrp-.js → capabilities-DLsXhwlD.js} +2 -2
- package/dashboard/dist/assets/{capabilities-sSJJqrp-.js.map → capabilities-DLsXhwlD.js.map} +1 -1
- package/dashboard/dist/assets/{controlplane-TVCjDHQ-.js → controlplane-Js7dxpX4.js} +2 -2
- package/dashboard/dist/assets/{controlplane-TVCjDHQ-.js.map → controlplane-Js7dxpX4.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-columns-BpkjKYGd.js → escalation-columns-h0NLAJss.js} +2 -2
- package/dashboard/dist/assets/{escalation-columns-BpkjKYGd.js.map → escalation-columns-h0NLAJss.js.map} +1 -1
- package/dashboard/dist/assets/{index-DOai950R.js → index-7c7FEe5S.js} +2 -2
- package/dashboard/dist/assets/{index-DOai950R.js.map → index-7c7FEe5S.js.map} +1 -1
- package/dashboard/dist/assets/{index-7BP6FaCZ.js → index-BTzhV9ST.js} +2 -2
- package/dashboard/dist/assets/{index-7BP6FaCZ.js.map → index-BTzhV9ST.js.map} +1 -1
- package/dashboard/dist/assets/{index-fgBDhnI6.js → index-Bcv5k8Dw.js} +2 -2
- package/dashboard/dist/assets/{index-fgBDhnI6.js.map → index-Bcv5k8Dw.js.map} +1 -1
- package/dashboard/dist/assets/{index-BE0phFw0.js → index-BjfoWzJL.js} +2 -2
- package/dashboard/dist/assets/{index-BE0phFw0.js.map → index-BjfoWzJL.js.map} +1 -1
- package/dashboard/dist/assets/{index-BYNN9N1T.js → index-BvVJ538E.js} +2 -2
- package/dashboard/dist/assets/{index-BYNN9N1T.js.map → index-BvVJ538E.js.map} +1 -1
- package/dashboard/dist/assets/{index-Cfv86_L9.js → index-CSpTj5DB.js} +2 -2
- package/dashboard/dist/assets/{index-Cfv86_L9.js.map → index-CSpTj5DB.js.map} +1 -1
- package/dashboard/dist/assets/{index-errgQT5x.js → index-CcjdA7jA.js} +23 -23
- package/dashboard/dist/assets/index-CcjdA7jA.js.map +1 -0
- package/dashboard/dist/assets/{index-CLPVqbVY.js → index-DQi6CjqF.js} +2 -2
- package/dashboard/dist/assets/{index-CLPVqbVY.js.map → index-DQi6CjqF.js.map} +1 -1
- package/dashboard/dist/assets/index-DglcqBHn.js +6 -0
- package/dashboard/dist/assets/index-DglcqBHn.js.map +1 -0
- package/dashboard/dist/assets/{index-Dy-MMYti.js → index-DlO3bCfu.js} +2 -2
- package/dashboard/dist/assets/{index-Dy-MMYti.js.map → index-DlO3bCfu.js.map} +1 -1
- package/dashboard/dist/assets/{index-CtwbQ_-m.js → index-FYQ9yPhO.js} +2 -2
- package/dashboard/dist/assets/{index-CtwbQ_-m.js.map → index-FYQ9yPhO.js.map} +1 -1
- package/dashboard/dist/assets/{index-DTtHNC-D.js → index-KcaVfpWn.js} +2 -2
- package/dashboard/dist/assets/{index-DTtHNC-D.js.map → index-KcaVfpWn.js.map} +1 -1
- package/dashboard/dist/assets/index-cFHoANSG.css +1 -0
- package/dashboard/dist/assets/{index-DsWnVyVN.js → index-vAkZ5dZe.js} +2 -2
- package/dashboard/dist/assets/{index-DsWnVyVN.js.map → index-vAkZ5dZe.js.map} +1 -1
- package/dashboard/dist/assets/{knowledge-arh4NfmL.js → knowledge-Bkvl3cIz.js} +2 -2
- package/dashboard/dist/assets/{knowledge-arh4NfmL.js.map → knowledge-Bkvl3cIz.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-QGf5jHCo.js → mcp-DEtDLeIQ.js} +2 -2
- package/dashboard/dist/assets/{mcp-QGf5jHCo.js.map → mcp-DEtDLeIQ.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-BEJN1nMZ.js → mcp-query-BCRgnt0K.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-BEJN1nMZ.js.map → mcp-query-BCRgnt0K.js.map} +1 -1
- package/dashboard/dist/assets/{personas-DYtw1COf.js → personas-CABKq-0L.js} +2 -2
- package/dashboard/dist/assets/{personas-DYtw1COf.js.map → personas-CABKq-0L.js.map} +1 -1
- package/dashboard/dist/assets/{pipelines-Byi6PnbE.js → pipelines-fuN8dVNl.js} +2 -2
- package/dashboard/dist/assets/{pipelines-Byi6PnbE.js.map → pipelines-fuN8dVNl.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-D0SQdENz.js → tasks-u3YPNJBo.js} +2 -2
- package/dashboard/dist/assets/{tasks-D0SQdENz.js.map → tasks-u3YPNJBo.js.map} +1 -1
- package/dashboard/dist/assets/{topics-DgDv5ZXP.js → topics-D37_RAIT.js} +2 -2
- package/dashboard/dist/assets/{topics-DgDv5ZXP.js.map → topics-D37_RAIT.js.map} +1 -1
- package/dashboard/dist/assets/{useEventHooks-DZaYzE7s.js → useEventHooks-BbXfrFbq.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-DZaYzE7s.js.map → useEventHooks-BbXfrFbq.js.map} +1 -1
- package/dashboard/dist/assets/{useNamespace-C1OqiNXN.js → useNamespace-DvuoFTda.js} +2 -2
- package/dashboard/dist/assets/{useNamespace-C1OqiNXN.js.map → useNamespace-DvuoFTda.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-CkmXDm-Z.js → useYamlActivityEvents-CL-Uf2cb.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-CkmXDm-Z.js.map → useYamlActivityEvents-CL-Uf2cb.js.map} +1 -1
- package/dashboard/dist/assets/{users-D4DCFPH1.js → users-CMxw_HzK.js} +2 -2
- package/dashboard/dist/assets/{users-D4DCFPH1.js.map → users-CMxw_HzK.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-BxuyFxH2.js → vendor-icons-Aw7bzBxa.js} +142 -137
- package/dashboard/dist/assets/vendor-icons-Aw7bzBxa.js.map +1 -0
- package/dashboard/dist/assets/{workflows-qyc0ku_5.js → workflows-Bez-o6fu.js} +2 -2
- package/dashboard/dist/assets/{workflows-qyc0ku_5.js.map → workflows-Bez-o6fu.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-DWFww9Xn.js → yaml-workflows-NrXcLsNm.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-DWFww9Xn.js.map → yaml-workflows-NrXcLsNm.js.map} +1 -1
- package/dashboard/dist/index.html +3 -3
- package/package.json +1 -1
- package/build/system/mcp-servers/admin/ortho.d.ts +0 -10
- package/build/system/mcp-servers/admin/ortho.js +0 -242
- package/dashboard/dist/assets/AvailableEscalationsPage-CVlG_AVC.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-CVlG_AVC.js.map +0 -1
- package/dashboard/dist/assets/CapabilitiesPage-wxmE4917.js +0 -2
- package/dashboard/dist/assets/CapabilitiesPage-wxmE4917.js.map +0 -1
- package/dashboard/dist/assets/EntityTimelinePanel-DrL86Yrf.js +0 -2
- package/dashboard/dist/assets/EntityTimelinePanel-DrL86Yrf.js.map +0 -1
- package/dashboard/dist/assets/OperationsPage-i8KcDpKo.js +0 -3
- package/dashboard/dist/assets/OperationsPage-i8KcDpKo.js.map +0 -1
- package/dashboard/dist/assets/PersonasPage-DSdRb90f.js +0 -2
- package/dashboard/dist/assets/PersonasPage-DSdRb90f.js.map +0 -1
- package/dashboard/dist/assets/RolesPage-DCnW0VmD.js +0 -2
- package/dashboard/dist/assets/RolesPage-DCnW0VmD.js.map +0 -1
- package/dashboard/dist/assets/ScanSchemeDetailPage-DyLmCamO.js +0 -2
- package/dashboard/dist/assets/ScanSchemeDetailPage-DyLmCamO.js.map +0 -1
- package/dashboard/dist/assets/ScanStationPage-DoZccU5B.js +0 -2
- package/dashboard/dist/assets/ScanStationPage-DoZccU5B.js.map +0 -1
- package/dashboard/dist/assets/index-5TblaCXQ.css +0 -1
- package/dashboard/dist/assets/index-B7IaBPBg.js +0 -6
- package/dashboard/dist/assets/index-B7IaBPBg.js.map +0 -1
- package/dashboard/dist/assets/index-errgQT5x.js.map +0 -1
- package/dashboard/dist/assets/vendor-icons-BxuyFxH2.js.map +0 -1
|
@@ -39,7 +39,10 @@ router.post('/', auth_1.requireAuth, async (req, res) => {
|
|
|
39
39
|
await transport.handleRequest(req, res, req.body);
|
|
40
40
|
}
|
|
41
41
|
catch (err) {
|
|
42
|
-
|
|
42
|
+
// Log the full stack, not just the message — otherwise a 500 here is
|
|
43
|
+
// undiagnosable from the deployment logs (the caller only sees a generic
|
|
44
|
+
// "Internal server error").
|
|
45
|
+
logger_1.loggerRegistry.error(`[lt-mcp:endpoint] error: ${err?.stack || err?.message || err}`);
|
|
43
46
|
if (!res.headersSent) {
|
|
44
47
|
res.status(500).json({
|
|
45
48
|
jsonrpc: '2.0',
|
|
@@ -102,6 +102,12 @@ function requireCleanFilter(query, label = 'query') {
|
|
|
102
102
|
throw new AnalyticsInputError(`${label}.prefix["${key}"] must be a non-empty string`);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
+
for (const [key, value] of Object.entries(q.equals ?? {})) {
|
|
106
|
+
requireFacetKey(key, `${label}.equals key`);
|
|
107
|
+
if (typeof value !== 'string' || value.length === 0) {
|
|
108
|
+
throw new AnalyticsInputError(`${label}.equals["${key}"] must be a non-empty string`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
105
111
|
if (q.anyOf !== undefined) {
|
|
106
112
|
if (!Array.isArray(q.anyOf) || q.anyOf.length === 0) {
|
|
107
113
|
throw new AnalyticsInputError(`${label}.anyOf must be a non-empty array of facet sets`);
|
|
@@ -72,6 +72,16 @@ function buildFacetWhere(q, params, opts = {}) {
|
|
|
72
72
|
params.push(`${escapeLikePrefix(value)}%`);
|
|
73
73
|
clauses.push(`${metaExpr(key)} ILIKE $${params.length}`);
|
|
74
74
|
}
|
|
75
|
+
// Exact match on facet VALUES via the text projection — the same projection
|
|
76
|
+
// groupBy uses, so a categorical value the aggregate returned (bool/enum/
|
|
77
|
+
// number, all surfaced as text) round-trips as a filter. Rides the same
|
|
78
|
+
// bounded scans as `prefix`.
|
|
79
|
+
for (const [key, value] of Object.entries(q.equals ?? {})) {
|
|
80
|
+
if (!exports.FACET_KEY.test(key) || typeof value !== 'string' || !value)
|
|
81
|
+
continue;
|
|
82
|
+
params.push(value);
|
|
83
|
+
clauses.push(`${metaExpr(key)} = $${params.length}`);
|
|
84
|
+
}
|
|
75
85
|
for (const r of q.range ?? []) {
|
|
76
86
|
if (!exports.FACET_KEY.test(r.facet) || !RANGE_OPS.has(r.op))
|
|
77
87
|
continue;
|
|
@@ -91,37 +91,45 @@ function isToolAllowed(toolName, serverName, exposure, callerScopes) {
|
|
|
91
91
|
async function createUnifiedMcpServer(exposure, callerScopes) {
|
|
92
92
|
const unified = new mcp_js_1.McpServer({ name: 'long-tail', version: '1.0.0' });
|
|
93
93
|
const registered = new Set();
|
|
94
|
-
for (const [name
|
|
94
|
+
for (const [name] of Object.entries(system_1.builtinMcpServerFactories)) {
|
|
95
95
|
if (!isServerAllowed(name, exposure))
|
|
96
96
|
continue;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
for (const [toolName, tool] of Object.entries(tools)) {
|
|
104
|
-
if (!tool?.handler || !tool.enabled)
|
|
97
|
+
// Isolate each shipped server: a factory or registration that throws
|
|
98
|
+
// (e.g. a backend/credential missing in one environment) must not deny
|
|
99
|
+
// every other server's tools by taking down the whole /mcp endpoint.
|
|
100
|
+
try {
|
|
101
|
+
const server = await getOrCreateServer(name);
|
|
102
|
+
if (!server)
|
|
105
103
|
continue;
|
|
106
|
-
|
|
104
|
+
const tools = server._registeredTools;
|
|
105
|
+
if (!tools)
|
|
107
106
|
continue;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
107
|
+
for (const [toolName, tool] of Object.entries(tools)) {
|
|
108
|
+
if (!tool?.handler || !tool.enabled)
|
|
109
|
+
continue;
|
|
110
|
+
if (!isToolAllowed(toolName, name, exposure, callerScopes))
|
|
111
|
+
continue;
|
|
112
|
+
// Deduplicate: prefix with server short name on collision
|
|
113
|
+
let finalName = toolName;
|
|
114
|
+
if (registered.has(toolName)) {
|
|
115
|
+
const prefix = name.replace('long-tail-', '').replace(/-/g, '_');
|
|
116
|
+
finalName = `${prefix}_${toolName}`;
|
|
117
|
+
if (registered.has(finalName))
|
|
118
|
+
continue; // still a collision — skip
|
|
119
|
+
}
|
|
120
|
+
registered.add(finalName);
|
|
121
|
+
// Re-register the tool handler on the unified server.
|
|
122
|
+
// Use the low-level `tool()` API since we already have the parsed handler.
|
|
123
|
+
unified.registerTool(finalName, {
|
|
124
|
+
title: tool.title,
|
|
125
|
+
description: tool.description,
|
|
126
|
+
inputSchema: tool.inputSchema,
|
|
127
|
+
annotations: tool.annotations,
|
|
128
|
+
}, tool.handler);
|
|
115
129
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
unified.registerTool(finalName, {
|
|
120
|
-
title: tool.title,
|
|
121
|
-
description: tool.description,
|
|
122
|
-
inputSchema: tool.inputSchema,
|
|
123
|
-
annotations: tool.annotations,
|
|
124
|
-
}, tool.handler);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
logger_1.loggerRegistry.error(`[lt-mcp:endpoint] server "${name}" failed to load, skipping its tools: ${err?.stack || err?.message || err}`);
|
|
125
133
|
}
|
|
126
134
|
}
|
|
127
135
|
logger_1.loggerRegistry.info(`[lt-mcp:endpoint] unified server ready (${registered.size} tools)`);
|
package/build/system/index.js
CHANGED
|
@@ -71,6 +71,11 @@ try {
|
|
|
71
71
|
IMAGE_TOOLS = require('../examples/mcp-servers/tool-manifests-image').IMAGE_TOOLS;
|
|
72
72
|
}
|
|
73
73
|
catch { /* not available */ }
|
|
74
|
+
let ORTHO_TOOLS = [];
|
|
75
|
+
try {
|
|
76
|
+
ORTHO_TOOLS = require('../examples/seed/tool-manifests-ortho').ORTHO_TOOLS;
|
|
77
|
+
}
|
|
78
|
+
catch { /* not available */ }
|
|
74
79
|
// ── Role constants ──────────────────────────────────────────────────────────
|
|
75
80
|
const SYSTEM_ROLES = ['reviewer', 'engineer', 'admin'];
|
|
76
81
|
const ENGINEER = 'engineer';
|
|
@@ -364,6 +369,18 @@ if (IMAGE_TOOLS.length > 0) {
|
|
|
364
369
|
},
|
|
365
370
|
};
|
|
366
371
|
}
|
|
372
|
+
// Ortho pipeline — example connector for the ortho-pipeline example workflow
|
|
373
|
+
if (ORTHO_TOOLS.length > 0) {
|
|
374
|
+
exports.builtinMcpServerFactories['long-tail-ortho'] = {
|
|
375
|
+
factory: () => Promise.resolve().then(() => __importStar(require('../examples/mcp-servers/ortho'))).then((m) => m.createOrthoServer()),
|
|
376
|
+
config: {
|
|
377
|
+
description: 'AI-operable interface for the 8-stage ortho manufacturing pipeline example — submit orders, list and complete pending stage escalations, and track workflow status.',
|
|
378
|
+
tags: ['ortho', 'pipeline', 'manufacturing', 'example'],
|
|
379
|
+
category: 'Automation',
|
|
380
|
+
toolManifest: ORTHO_TOOLS,
|
|
381
|
+
},
|
|
382
|
+
};
|
|
383
|
+
}
|
|
367
384
|
// ── System agents ──────────────────────────────────────────────────────────
|
|
368
385
|
function getSystemAgents() {
|
|
369
386
|
return [
|
|
@@ -58,9 +58,8 @@ const settings_1 = require("./settings");
|
|
|
58
58
|
const exports_1 = require("./exports");
|
|
59
59
|
const overview_1 = require("./overview");
|
|
60
60
|
const diagnostics_1 = require("./diagnostics");
|
|
61
|
-
const ortho_1 = require("./ortho");
|
|
62
61
|
const scan_codes_1 = require("./scan-codes");
|
|
63
|
-
const TOOL_COUNT =
|
|
62
|
+
const TOOL_COUNT = 101;
|
|
64
63
|
let server = null;
|
|
65
64
|
async function createAdminServer(options) {
|
|
66
65
|
if (server && !options?.fresh)
|
|
@@ -89,9 +88,8 @@ async function createAdminServer(options) {
|
|
|
89
88
|
(0, exports_1.registerExportTools)(instance); // 4 tools
|
|
90
89
|
(0, overview_1.registerOverviewTools)(instance); // 1 tool
|
|
91
90
|
(0, diagnostics_1.registerDiagnosticsTools)(instance); // 3 tools
|
|
92
|
-
(0, ortho_1.registerOrthoTools)(instance); // 4 tools
|
|
93
91
|
(0, scan_codes_1.registerScanCodeTools)(instance); // 5 tools (scan schemes + rules + execute)
|
|
94
|
-
// Total:
|
|
92
|
+
// Total: 101
|
|
95
93
|
logger_1.loggerRegistry.info(`[lt-mcp:admin] ${name} ready (${TOOL_COUNT} tools registered)`);
|
|
96
94
|
return instance;
|
|
97
95
|
}
|