@hotmeshio/long-tail 0.19.1 → 0.20.0
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/api/workflows/config.d.ts +3 -0
- package/build/api/workflows/config.js +15 -0
- package/build/api/workflows/index.d.ts +1 -0
- package/build/api/workflows/index.js +3 -1
- package/build/api/workflows/input-lookups.d.ts +16 -0
- package/build/api/workflows/input-lookups.js +69 -0
- package/build/api/workflows/input-validation.d.ts +4 -3
- package/build/api/workflows/input-validation.js +7 -4
- package/build/api/workflows/invocable.js +1 -0
- package/build/api/workflows/invocation.js +1 -1
- package/build/lib/db/schemas/035_workflow_input_lookups.sql +9 -0
- package/build/routes/workflows/config.js +10 -0
- package/build/services/config/cache.js +1 -0
- package/build/services/config/read.js +2 -0
- package/build/services/config/sql.d.ts +2 -2
- package/build/services/config/sql.js +6 -5
- package/build/services/config/write.js +10 -1
- package/build/services/knowledge/index.d.ts +1 -0
- package/build/services/knowledge/index.js +1 -0
- package/build/services/knowledge/lookup-refs.d.ts +7 -0
- package/build/services/knowledge/lookup-refs.js +26 -0
- package/build/services/mcp/db-server/schemas.d.ts +2 -2
- package/build/shared/form-validation/field-validator.d.ts +1 -0
- package/build/shared/form-validation/field-validator.js +94 -6
- package/build/shared/form-validation/invoke-context.d.ts +4 -3
- package/build/shared/form-validation/invoke-context.js +5 -4
- package/build/shared/form-validation/x-lt-options.d.ts +3 -3
- package/build/shared/form-validation/x-lt-options.js +19 -5
- package/build/shared/form-validation/x-lt-show-if.d.ts +5 -0
- package/build/shared/form-validation/x-lt-show-if.js +10 -0
- package/build/start/workers.js +10 -0
- package/build/system/mcp-servers/admin/schemas.d.ts +64 -20
- package/build/system/mcp-servers/admin/schemas.js +19 -3
- package/build/system/mcp-servers/admin/workflow-config.js +54 -9
- package/build/system/mcp-servers/admin/workflows.js +9 -7
- package/build/system/mcp-servers/db-query/schemas.d.ts +2 -2
- package/build/system/seed/tool-manifests-admin.d.ts +517 -54
- package/build/system/seed/tool-manifests-admin.js +4 -3
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/config.d.ts +4 -0
- package/build/types/startup.d.ts +6 -0
- package/dashboard/dist/assets/{AdminDashboard-Drs-9TRM.js → AdminDashboard-DplvDBti.js} +2 -2
- package/dashboard/dist/assets/{AdminDashboard-Drs-9TRM.js.map → AdminDashboard-DplvDBti.js.map} +1 -1
- package/dashboard/dist/assets/{AgentConfigPage-BDPDZ7-v.js → AgentConfigPage-D8Bf6YxO.js} +2 -2
- package/dashboard/dist/assets/{AgentConfigPage-BDPDZ7-v.js.map → AgentConfigPage-D8Bf6YxO.js.map} +1 -1
- package/dashboard/dist/assets/{AgentDetailPage-CGBulM4_.js → AgentDetailPage-BN8g0Y2G.js} +2 -2
- package/dashboard/dist/assets/{AgentDetailPage-CGBulM4_.js.map → AgentDetailPage-BN8g0Y2G.js.map} +1 -1
- package/dashboard/dist/assets/{AgentsPage-D77JeViQ.js → AgentsPage-7JJBHku8.js} +2 -2
- package/dashboard/dist/assets/{AgentsPage-D77JeViQ.js.map → AgentsPage-7JJBHku8.js.map} +1 -1
- package/dashboard/dist/assets/{AvailableEscalationsPage-CqM_MOMy.js → AvailableEscalationsPage-lz5qwSjg.js} +2 -2
- package/dashboard/dist/assets/{AvailableEscalationsPage-CqM_MOMy.js.map → AvailableEscalationsPage-lz5qwSjg.js.map} +1 -1
- package/dashboard/dist/assets/{BotPicker-CC5vI_Sv.js → BotPicker-CGCnIz8I.js} +2 -2
- package/dashboard/dist/assets/{BotPicker-CC5vI_Sv.js.map → BotPicker-CGCnIz8I.js.map} +1 -1
- package/dashboard/dist/assets/{BulkAssignModal-BXiJnlqt.js → BulkAssignModal-NJBcoj-f.js} +2 -2
- package/dashboard/dist/assets/{BulkAssignModal-BXiJnlqt.js.map → BulkAssignModal-NJBcoj-f.js.map} +1 -1
- package/dashboard/dist/assets/{CapabilitiesPage-D9TC2iKy.js → CapabilitiesPage-F8dpNn9B.js} +2 -2
- package/dashboard/dist/assets/{CapabilitiesPage-D9TC2iKy.js.map → CapabilitiesPage-F8dpNn9B.js.map} +1 -1
- package/dashboard/dist/assets/{CollapsibleSection-D10lGw_u.js → CollapsibleSection-BZW6VpCU.js} +2 -2
- package/dashboard/dist/assets/{CollapsibleSection-D10lGw_u.js.map → CollapsibleSection-BZW6VpCU.js.map} +1 -1
- package/dashboard/dist/assets/{ConfirmDeleteModal-BJdLN6No.js → ConfirmDeleteModal-64adXLdq.js} +2 -2
- package/dashboard/dist/assets/{ConfirmDeleteModal-BJdLN6No.js.map → ConfirmDeleteModal-64adXLdq.js.map} +1 -1
- package/dashboard/dist/assets/{CountdownTimer-D9B-BjQ7.js → CountdownTimer-BxDub9d2.js} +2 -2
- package/dashboard/dist/assets/{CountdownTimer-D9B-BjQ7.js.map → CountdownTimer-BxDub9d2.js.map} +1 -1
- package/dashboard/dist/assets/{CredentialsPage-hniUAFBK.js → CredentialsPage-CnLzopLL.js} +2 -2
- package/dashboard/dist/assets/{CredentialsPage-hniUAFBK.js.map → CredentialsPage-CnLzopLL.js.map} +1 -1
- package/dashboard/dist/assets/{CronLabel-v9DCD2FX.js → CronLabel-CAD5UYDT.js} +2 -2
- package/dashboard/dist/assets/{CronLabel-v9DCD2FX.js.map → CronLabel-CAD5UYDT.js.map} +1 -1
- package/dashboard/dist/assets/{ElapsedCell-_xvVTK8N.js → ElapsedCell-CwO4ufd0.js} +2 -2
- package/dashboard/dist/assets/{ElapsedCell-_xvVTK8N.js.map → ElapsedCell-CwO4ufd0.js.map} +1 -1
- package/dashboard/dist/assets/{EntityTimelinePanel-1lT3jkCM.js → EntityTimelinePanel-CkF-oW-m.js} +2 -2
- package/dashboard/dist/assets/{EntityTimelinePanel-1lT3jkCM.js.map → EntityTimelinePanel-CkF-oW-m.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationListSchemaPage-BeQUTUEO.js → EscalationListSchemaPage-h9JO_q5f.js} +2 -2
- package/dashboard/dist/assets/{EscalationListSchemaPage-BeQUTUEO.js.map → EscalationListSchemaPage-h9JO_q5f.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationListView-uuZRMSLB.js → EscalationListView-AHW2xtlr.js} +2 -2
- package/dashboard/dist/assets/{EscalationListView-uuZRMSLB.js.map → EscalationListView-AHW2xtlr.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationSchemaPage-D4VlEwyS.js → EscalationSchemaPage-mJFL5_Se.js} +2 -2
- package/dashboard/dist/assets/{EscalationSchemaPage-D4VlEwyS.js.map → EscalationSchemaPage-mJFL5_Se.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationsOverview-Bx6Zrzm-.js → EscalationsOverview-DlXUFqWJ.js} +2 -2
- package/dashboard/dist/assets/{EscalationsOverview-Bx6Zrzm-.js.map → EscalationsOverview-DlXUFqWJ.js.map} +1 -1
- package/dashboard/dist/assets/{EventTable-KEC3YWBf.js → EventTable-Ike2xchn.js} +2 -2
- package/dashboard/dist/assets/{EventTable-KEC3YWBf.js.map → EventTable-Ike2xchn.js.map} +1 -1
- package/dashboard/dist/assets/{FilterBar-xwN_b5fj.js → FilterBar-DMOR-O1c.js} +2 -2
- package/dashboard/dist/assets/{FilterBar-xwN_b5fj.js.map → FilterBar-DMOR-O1c.js.map} +1 -1
- package/dashboard/dist/assets/{GraphInvokePage-DV7Y0fe2.js → GraphInvokePage-CKtvWowP.js} +2 -2
- package/dashboard/dist/assets/{GraphInvokePage-DV7Y0fe2.js.map → GraphInvokePage-CKtvWowP.js.map} +1 -1
- package/dashboard/dist/assets/{HomePage-G785SWcW.js → HomePage-BQ3Q791Q.js} +2 -2
- package/dashboard/dist/assets/{HomePage-G785SWcW.js.map → HomePage-BQ3Q791Q.js.map} +1 -1
- package/dashboard/dist/assets/{ListToolbar-zPVYPg3W.js → ListToolbar-DdJzj472.js} +2 -2
- package/dashboard/dist/assets/{ListToolbar-zPVYPg3W.js.map → ListToolbar-DdJzj472.js.map} +1 -1
- package/dashboard/dist/assets/{McpOverview-CMGUq8hx.js → McpOverview-BbtrduWn.js} +2 -2
- package/dashboard/dist/assets/{McpOverview-CMGUq8hx.js.map → McpOverview-BbtrduWn.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryDetailPage-CdhLhaKn.js → McpQueryDetailPage-C1L4T-Wt.js} +2 -2
- package/dashboard/dist/assets/{McpQueryDetailPage-CdhLhaKn.js.map → McpQueryDetailPage-C1L4T-Wt.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryPage-CNSNMagY.js → McpQueryPage-CfJy7HZ7.js} +2 -2
- package/dashboard/dist/assets/{McpQueryPage-CNSNMagY.js.map → McpQueryPage-CfJy7HZ7.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunDetailPage-DBm8hUaW.js → McpRunDetailPage-CA9yv7he.js} +2 -2
- package/dashboard/dist/assets/{McpRunDetailPage-DBm8hUaW.js.map → McpRunDetailPage-CA9yv7he.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunsPage-B6rb5QBf.js → McpRunsPage-D7QXjW9z.js} +2 -2
- package/dashboard/dist/assets/{McpRunsPage-B6rb5QBf.js.map → McpRunsPage-D7QXjW9z.js.map} +1 -1
- package/dashboard/dist/assets/{OperationsPage-Dxk1fAMg.js → OperationsPage-aLHHAP2X.js} +2 -2
- package/dashboard/dist/assets/{OperationsPage-Dxk1fAMg.js.map → OperationsPage-aLHHAP2X.js.map} +1 -1
- package/dashboard/dist/assets/{OperatorDashboard-DBOscDnf.js → OperatorDashboard-sXNDh1Ph.js} +2 -2
- package/dashboard/dist/assets/{OperatorDashboard-DBOscDnf.js.map → OperatorDashboard-sXNDh1Ph.js.map} +1 -1
- package/dashboard/dist/assets/{PersonaDetailPage-BGRdGpeR.js → PersonaDetailPage-NeHD-Gra.js} +2 -2
- package/dashboard/dist/assets/{PersonaDetailPage-BGRdGpeR.js.map → PersonaDetailPage-NeHD-Gra.js.map} +1 -1
- package/dashboard/dist/assets/{PersonasPage-DRzOZcVa.js → PersonasPage-DavKXRWX.js} +2 -2
- package/dashboard/dist/assets/{PersonasPage-DRzOZcVa.js.map → PersonasPage-DavKXRWX.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessDetailPage-BLGjZXpM.js → ProcessDetailPage-DkdKJGe6.js} +2 -2
- package/dashboard/dist/assets/{ProcessDetailPage-BLGjZXpM.js.map → ProcessDetailPage-DkdKJGe6.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessesListPage-5NnysKFC.js → ProcessesListPage-CjwVKe32.js} +2 -2
- package/dashboard/dist/assets/{ProcessesListPage-5NnysKFC.js.map → ProcessesListPage-CjwVKe32.js.map} +1 -1
- package/dashboard/dist/assets/ResolverForm-Bk-wDkN-.js +3 -0
- package/dashboard/dist/assets/ResolverForm-Bk-wDkN-.js.map +1 -0
- package/dashboard/dist/assets/{RoleDetailPage-C_LIoe1j.js → RoleDetailPage-WQt0y5l7.js} +3 -3
- package/dashboard/dist/assets/{RoleDetailPage-C_LIoe1j.js.map → RoleDetailPage-WQt0y5l7.js.map} +1 -1
- package/dashboard/dist/assets/{RolesPage-BmW1LzkU.js → RolesPage-OM9KM8Pg.js} +2 -2
- package/dashboard/dist/assets/{RolesPage-BmW1LzkU.js.map → RolesPage-OM9KM8Pg.js.map} +1 -1
- package/dashboard/dist/assets/{RunAsSelector-BwZTJ4Yj.js → RunAsSelector-fFMt1bGe.js} +2 -2
- package/dashboard/dist/assets/{RunAsSelector-BwZTJ4Yj.js.map → RunAsSelector-fFMt1bGe.js.map} +1 -1
- package/dashboard/dist/assets/ScanCodesPage-AujH-pPQ.js +2 -0
- package/dashboard/dist/assets/{ScanCodesPage-FiYIYB-m.js.map → ScanCodesPage-AujH-pPQ.js.map} +1 -1
- package/dashboard/dist/assets/{ScanSchemeDetailPage-BiAqtD-a.js → ScanSchemeDetailPage-eKQpmsC_.js} +2 -2
- package/dashboard/dist/assets/{ScanSchemeDetailPage-BiAqtD-a.js.map → ScanSchemeDetailPage-eKQpmsC_.js.map} +1 -1
- package/dashboard/dist/assets/{ScanStationPage-8CdOtbCD.js → ScanStationPage-C1_ppDoZ.js} +2 -2
- package/dashboard/dist/assets/{ScanStationPage-8CdOtbCD.js.map → ScanStationPage-C1_ppDoZ.js.map} +1 -1
- package/dashboard/dist/assets/{StickyPagination-DRuqKhZt.js → StickyPagination-B91Pk9xh.js} +2 -2
- package/dashboard/dist/assets/{StickyPagination-DRuqKhZt.js.map → StickyPagination-B91Pk9xh.js.map} +1 -1
- package/dashboard/dist/assets/{StreamMessageDetail-JwlbRiMn.js → StreamMessageDetail-C7SPqaJt.js} +2 -2
- package/dashboard/dist/assets/{StreamMessageDetail-JwlbRiMn.js.map → StreamMessageDetail-C7SPqaJt.js.map} +1 -1
- package/dashboard/dist/assets/{SwimlaneTimeline-hu3c4bCJ.js → SwimlaneTimeline-BcHR8ylf.js} +2 -2
- package/dashboard/dist/assets/{SwimlaneTimeline-hu3c4bCJ.js.map → SwimlaneTimeline-BcHR8ylf.js.map} +1 -1
- package/dashboard/dist/assets/{TaskDetailPage-NqVZF3jW.js → TaskDetailPage-Bqj0I_I0.js} +2 -2
- package/dashboard/dist/assets/{TaskDetailPage-NqVZF3jW.js.map → TaskDetailPage-Bqj0I_I0.js.map} +1 -1
- package/dashboard/dist/assets/{TasksListPage-BQNaSzCn.js → TasksListPage-BB1f79lL.js} +2 -2
- package/dashboard/dist/assets/{TasksListPage-BQNaSzCn.js.map → TasksListPage-BB1f79lL.js.map} +1 -1
- package/dashboard/dist/assets/{TimeAgo-Cv35DOiI.js → TimeAgo-BFnODmNe.js} +2 -2
- package/dashboard/dist/assets/{TimeAgo-Cv35DOiI.js.map → TimeAgo-BFnODmNe.js.map} +1 -1
- package/dashboard/dist/assets/{TimestampCell-DHUXey9s.js → TimestampCell-BXgLOBsr.js} +2 -2
- package/dashboard/dist/assets/{TimestampCell-DHUXey9s.js.map → TimestampCell-BXgLOBsr.js.map} +1 -1
- package/dashboard/dist/assets/{ToolTestPanel-DvuLFWqQ.js → ToolTestPanel-Bwe3J5lj.js} +2 -2
- package/dashboard/dist/assets/{ToolTestPanel-DvuLFWqQ.js.map → ToolTestPanel-Bwe3J5lj.js.map} +1 -1
- package/dashboard/dist/assets/{TopicDetailPage-TXX3QNSo.js → TopicDetailPage-DAF07vZ9.js} +2 -2
- package/dashboard/dist/assets/{TopicDetailPage-TXX3QNSo.js.map → TopicDetailPage-DAF07vZ9.js.map} +1 -1
- package/dashboard/dist/assets/{TopicsPage-h-oyTeEJ.js → TopicsPage-C1gxBUap.js} +2 -2
- package/dashboard/dist/assets/{TopicsPage-h-oyTeEJ.js.map → TopicsPage-C1gxBUap.js.map} +1 -1
- package/dashboard/dist/assets/{UserName-BceRCeDF.js → UserName-BzXJUE6q.js} +2 -2
- package/dashboard/dist/assets/{UserName-BceRCeDF.js.map → UserName-BzXJUE6q.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowExecutionPage-CmHGcaN9.js → WorkflowExecutionPage-SkRU5cRX.js} +2 -2
- package/dashboard/dist/assets/{WorkflowExecutionPage-CmHGcaN9.js.map → WorkflowExecutionPage-SkRU5cRX.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsDashboard-B0r2lQXk.js → WorkflowsDashboard-CZAqRk1N.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsDashboard-B0r2lQXk.js.map → WorkflowsDashboard-CZAqRk1N.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsOverview-BTMc2PJ_.js → WorkflowsOverview-BoN44VTE.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsOverview-BTMc2PJ_.js.map → WorkflowsOverview-BoN44VTE.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-DUiCVnZp.js → YamlWorkflowDetailPage-CqjhtdJf.js} +2 -2
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-DUiCVnZp.js.map → YamlWorkflowDetailPage-CqjhtdJf.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowsPage-BAuXfwi0.js → YamlWorkflowsPage-CwnJkzyb.js} +2 -2
- package/dashboard/dist/assets/{YamlWorkflowsPage-BAuXfwi0.js.map → YamlWorkflowsPage-CwnJkzyb.js.map} +1 -1
- package/dashboard/dist/assets/{agents-BvmLCk4h.js → agents-gV0Ys-sY.js} +2 -2
- package/dashboard/dist/assets/{agents-BvmLCk4h.js.map → agents-gV0Ys-sY.js.map} +1 -1
- package/dashboard/dist/assets/{bots-f_tyhl4I.js → bots-B97itB3I.js} +2 -2
- package/dashboard/dist/assets/{bots-f_tyhl4I.js.map → bots-B97itB3I.js.map} +1 -1
- package/dashboard/dist/assets/{capabilities-DNo5bqLx.js → capabilities-CR9xZgGd.js} +2 -2
- package/dashboard/dist/assets/{capabilities-DNo5bqLx.js.map → capabilities-CR9xZgGd.js.map} +1 -1
- package/dashboard/dist/assets/{controlplane-Dyyj2Irb.js → controlplane-YxvP1KCa.js} +2 -2
- package/dashboard/dist/assets/{controlplane-Dyyj2Irb.js.map → controlplane-YxvP1KCa.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-columns-DIigeTOK.js → escalation-columns-uq-IV2aj.js} +2 -2
- package/dashboard/dist/assets/{escalation-columns-DIigeTOK.js.map → escalation-columns-uq-IV2aj.js.map} +1 -1
- package/dashboard/dist/assets/index-3ezfWLkE.js +6 -0
- package/dashboard/dist/assets/index-3ezfWLkE.js.map +1 -0
- package/dashboard/dist/assets/{index-CsKiRyhy.js → index-B9BBCqLI.js} +2 -2
- package/dashboard/dist/assets/{index-CsKiRyhy.js.map → index-B9BBCqLI.js.map} +1 -1
- package/dashboard/dist/assets/{index-DL83W7Gu.js → index-BQpV-DTG.js} +2 -2
- package/dashboard/dist/assets/{index-DL83W7Gu.js.map → index-BQpV-DTG.js.map} +1 -1
- package/dashboard/dist/assets/index-Bp9KBLT5.js +2 -0
- package/dashboard/dist/assets/{index-D7ESqn22.js.map → index-Bp9KBLT5.js.map} +1 -1
- package/dashboard/dist/assets/{index-DvxxrFBo.js → index-CFbo9FU9.js} +2 -2
- package/dashboard/dist/assets/{index-DvxxrFBo.js.map → index-CFbo9FU9.js.map} +1 -1
- package/dashboard/dist/assets/{index-e2X-s0EQ.js → index-CIpHj4di.js} +2 -2
- package/dashboard/dist/assets/{index-e2X-s0EQ.js.map → index-CIpHj4di.js.map} +1 -1
- package/dashboard/dist/assets/{index-BMlQYOE1.js → index-CIwlVfvV.js} +10 -10
- package/dashboard/dist/assets/index-CIwlVfvV.js.map +1 -0
- package/dashboard/dist/assets/{index-BNZknxFY.js → index-CUZ6LYye.js} +2 -2
- package/dashboard/dist/assets/{index-BNZknxFY.js.map → index-CUZ6LYye.js.map} +1 -1
- package/dashboard/dist/assets/index-Cfvkl2J0.js +13 -0
- package/dashboard/dist/assets/index-Cfvkl2J0.js.map +1 -0
- package/dashboard/dist/assets/{index-DWse7ERF.js → index-DMeaiKgf.js} +2 -2
- package/dashboard/dist/assets/{index-DWse7ERF.js.map → index-DMeaiKgf.js.map} +1 -1
- package/dashboard/dist/assets/{index-C-Xr2V3F.js → index-DwOnWeu8.js} +2 -2
- package/dashboard/dist/assets/{index-C-Xr2V3F.js.map → index-DwOnWeu8.js.map} +1 -1
- package/dashboard/dist/assets/index-SGyrXGp8.js +3 -0
- package/dashboard/dist/assets/{index-CegPUKpc.js.map → index-SGyrXGp8.js.map} +1 -1
- package/dashboard/dist/assets/{index-PcyGjmBm.js → index-ipqwPavs.js} +2 -2
- package/dashboard/dist/assets/{index-PcyGjmBm.js.map → index-ipqwPavs.js.map} +1 -1
- package/dashboard/dist/assets/invoke-context-DrVyUEfs.js +2 -0
- package/dashboard/dist/assets/invoke-context-DrVyUEfs.js.map +1 -0
- package/dashboard/dist/assets/{knowledge-Coo6CKzo.js → knowledge-XX6cW4Ob.js} +2 -2
- package/dashboard/dist/assets/{knowledge-Coo6CKzo.js.map → knowledge-XX6cW4Ob.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-Cz5eFnP_.js → mcp-CH13hNH2.js} +2 -2
- package/dashboard/dist/assets/{mcp-Cz5eFnP_.js.map → mcp-CH13hNH2.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-BtnuO4LF.js → mcp-query-Duydd3JA.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-BtnuO4LF.js.map → mcp-query-Duydd3JA.js.map} +1 -1
- package/dashboard/dist/assets/{personas-C2-LgpHQ.js → personas-mDk4lLQS.js} +2 -2
- package/dashboard/dist/assets/{personas-C2-LgpHQ.js.map → personas-mDk4lLQS.js.map} +1 -1
- package/dashboard/dist/assets/{pipelines-TuXQvUA-.js → pipelines-B5GcgCeF.js} +2 -2
- package/dashboard/dist/assets/{pipelines-TuXQvUA-.js.map → pipelines-B5GcgCeF.js.map} +1 -1
- package/dashboard/dist/assets/{resolver-payload-C1dXB3n6.js → resolver-payload-m9AGKZ3a.js} +2 -2
- package/dashboard/dist/assets/{resolver-payload-C1dXB3n6.js.map → resolver-payload-m9AGKZ3a.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-OUzpu__z.js → tasks-CItmNsRp.js} +2 -2
- package/dashboard/dist/assets/{tasks-OUzpu__z.js.map → tasks-CItmNsRp.js.map} +1 -1
- package/dashboard/dist/assets/{topics-B8bdrBaW.js → topics-CJYG7BX5.js} +2 -2
- package/dashboard/dist/assets/{topics-B8bdrBaW.js.map → topics-CJYG7BX5.js.map} +1 -1
- package/dashboard/dist/assets/{useDebouncedValue-Cp5ZOtVE.js → useDebouncedValue-BrwgXcp8.js} +2 -2
- package/dashboard/dist/assets/{useDebouncedValue-Cp5ZOtVE.js.map → useDebouncedValue-BrwgXcp8.js.map} +1 -1
- package/dashboard/dist/assets/{useNamespace-DtQe3wZ5.js → useNamespace-CHty0HAS.js} +2 -2
- package/dashboard/dist/assets/{useNamespace-DtQe3wZ5.js.map → useNamespace-CHty0HAS.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-CS22c15X.js → useYamlActivityEvents-CoTsia7t.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-CS22c15X.js.map → useYamlActivityEvents-CoTsia7t.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-HQIki3hI.js → yaml-workflows-CiWwx5rM.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-HQIki3hI.js.map → yaml-workflows-CiWwx5rM.js.map} +1 -1
- package/dashboard/dist/index.html +1 -1
- package/docs/api/http/workflows.md +28 -1
- package/docs/api/mcp/admin.md +40 -4
- package/docs/code-owned-configuration.md +1 -1
- package/docs/dashboard.md +1 -1
- package/docs/design-principles.md +6 -5
- package/docs/hitl/form.md +12 -7
- package/docs/hitl/invoke-form.md +6 -3
- package/docs/hitl/lookups.md +21 -0
- package/docs/hitl/x-lt-validation.md +50 -3
- package/docs/hitl/x-lt-widget.md +21 -0
- package/docs/hitl-guide.md +5 -2
- package/package.json +1 -1
- package/dashboard/dist/assets/ResolverForm-Dy0yirtP.js +0 -2
- package/dashboard/dist/assets/ResolverForm-Dy0yirtP.js.map +0 -1
- package/dashboard/dist/assets/ScanCodesPage-FiYIYB-m.js +0 -2
- package/dashboard/dist/assets/index-BMlQYOE1.js.map +0 -1
- package/dashboard/dist/assets/index-CegPUKpc.js +0 -3
- package/dashboard/dist/assets/index-D7ESqn22.js +0 -2
- package/dashboard/dist/assets/index-DPLssnMW.js +0 -6
- package/dashboard/dist/assets/index-DPLssnMW.js.map +0 -1
- package/dashboard/dist/assets/index-DoETPlJP.js +0 -11
- package/dashboard/dist/assets/index-DoETPlJP.js.map +0 -1
- package/dashboard/dist/assets/seed-form-json-DvPsISxD.js +0 -2
- package/dashboard/dist/assets/seed-form-json-DvPsISxD.js.map +0 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { ResolverValidationContext } from './validate-resolver-payload';
|
|
2
2
|
/**
|
|
3
3
|
* The context an invoke form validates and renders against. The pass itself
|
|
4
|
-
* supplies the live values under `input` and `resolver`; the
|
|
5
|
-
* metadata
|
|
4
|
+
* supplies the live values under `input` and `resolver`; `metadata` is the
|
|
5
|
+
* envelope metadata and `lookup` holds resolved versioned knowledge editions
|
|
6
|
+
* keyed by `as ?? key`. The lookup domain is present only when supplied.
|
|
6
7
|
*/
|
|
7
|
-
export declare function buildInvokeFormContext(metadata: Record<string, unknown> | null | undefined): ResolverValidationContext;
|
|
8
|
+
export declare function buildInvokeFormContext(metadata: Record<string, unknown> | null | undefined, lookup?: Record<string, unknown> | null): ResolverValidationContext;
|
|
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.buildInvokeFormContext = buildInvokeFormContext;
|
|
4
4
|
/**
|
|
5
5
|
* The context an invoke form validates and renders against. The pass itself
|
|
6
|
-
* supplies the live values under `input` and `resolver`; the
|
|
7
|
-
* metadata
|
|
6
|
+
* supplies the live values under `input` and `resolver`; `metadata` is the
|
|
7
|
+
* envelope metadata and `lookup` holds resolved versioned knowledge editions
|
|
8
|
+
* keyed by `as ?? key`. The lookup domain is present only when supplied.
|
|
8
9
|
*/
|
|
9
|
-
function buildInvokeFormContext(metadata) {
|
|
10
|
-
return { metadata: metadata ?? {} };
|
|
10
|
+
function buildInvokeFormContext(metadata, lookup) {
|
|
11
|
+
return { metadata: metadata ?? {}, ...(lookup ? { lookup } : {}) };
|
|
11
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export declare const X_LT_OPTIONS = "x-lt-options";
|
|
2
|
-
export type OptionValue = string | number;
|
|
2
|
+
export type OptionValue = string | number | boolean;
|
|
3
3
|
/** One resolved option: the payload value and the rendered label. */
|
|
4
4
|
export interface ResolvedOption {
|
|
5
5
|
value: OptionValue;
|
|
6
6
|
label: string;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* The field's effective option list: the static `enum` when present, else
|
|
10
|
-
* entries at the token's `"domain.path"`.
|
|
9
|
+
* The field's effective option list: the static `enum` when present, else an
|
|
10
|
+
* inline literal list, else the entries at the token's `"domain.path"`.
|
|
11
11
|
*/
|
|
12
12
|
export declare function resolveFieldOptions(fieldSchema: Record<string, unknown> | null | undefined, ctx: Record<string, unknown> | undefined): ResolvedOption[] | undefined;
|
|
@@ -10,7 +10,9 @@ exports.resolveFieldOptions = resolveFieldOptions;
|
|
|
10
10
|
* offer a different legal set per escalation (e.g. `[1..N]` where N rides the
|
|
11
11
|
* envelope, or a versioned knowledge lookup under the `lookup` domain).
|
|
12
12
|
*
|
|
13
|
-
* x-lt-options "domain.path"
|
|
13
|
+
* x-lt-options "domain.path", an ORDERED array of paths, or an inline
|
|
14
|
+
* literal list (an array with no string entries: `{ value,
|
|
15
|
+
* label }` objects, numbers, or booleans) — e.g.
|
|
14
16
|
* "envelope.left_quantity_options" or
|
|
15
17
|
* ["lookup.reasons.items", "envelope.reject_reason_items"].
|
|
16
18
|
* With an array, the first entry that resolves to options
|
|
@@ -42,7 +44,15 @@ exports.resolveFieldOptions = resolveFieldOptions;
|
|
|
42
44
|
const ctx_path_1 = require("./ctx-path");
|
|
43
45
|
exports.X_LT_OPTIONS = 'x-lt-options';
|
|
44
46
|
function isScalar(v) {
|
|
45
|
-
return typeof v === 'string' || (typeof v === 'number' && Number.isFinite(v));
|
|
47
|
+
return typeof v === 'string' || typeof v === 'boolean' || (typeof v === 'number' && Number.isFinite(v));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* An array token with no string entries is the option list itself, written
|
|
51
|
+
* inline. A bare string is always a context path, so a literal string value
|
|
52
|
+
* is written as `{ value, label }`.
|
|
53
|
+
*/
|
|
54
|
+
function isLiteralList(token) {
|
|
55
|
+
return Array.isArray(token) && token.length > 0 && !token.some((e) => typeof e === 'string');
|
|
46
56
|
}
|
|
47
57
|
/** Normalize one array entry, mixed arrays resolving each entry independently. */
|
|
48
58
|
function toOption(entry) {
|
|
@@ -58,19 +68,23 @@ function toOption(entry) {
|
|
|
58
68
|
return null;
|
|
59
69
|
}
|
|
60
70
|
/**
|
|
61
|
-
* The field's effective option list: the static `enum` when present, else
|
|
62
|
-
* entries at the token's `"domain.path"`.
|
|
71
|
+
* The field's effective option list: the static `enum` when present, else an
|
|
72
|
+
* inline literal list, else the entries at the token's `"domain.path"`.
|
|
63
73
|
*/
|
|
64
74
|
function resolveFieldOptions(fieldSchema, ctx) {
|
|
65
75
|
if (!fieldSchema)
|
|
66
76
|
return undefined;
|
|
67
77
|
// Enum entries pass through verbatim as values (whatever their type), each
|
|
68
|
-
// labeled by its string form
|
|
78
|
+
// labeled by its string form.
|
|
69
79
|
const staticEnum = fieldSchema.enum;
|
|
70
80
|
if (Array.isArray(staticEnum) && staticEnum.length > 0) {
|
|
71
81
|
return staticEnum.map((v) => ({ value: v, label: String(v) }));
|
|
72
82
|
}
|
|
73
83
|
const token = fieldSchema[exports.X_LT_OPTIONS];
|
|
84
|
+
if (isLiteralList(token)) {
|
|
85
|
+
const options = token.map(toOption).filter((o) => o !== null);
|
|
86
|
+
return options.length > 0 ? options : undefined;
|
|
87
|
+
}
|
|
74
88
|
const paths = (typeof token === 'string' ? [token] : Array.isArray(token) ? token : [])
|
|
75
89
|
.filter((p) => typeof p === 'string' && p.length > 0);
|
|
76
90
|
if (paths.length === 0)
|
|
@@ -6,3 +6,8 @@ export type ShowIfContext = HelpTokenContext;
|
|
|
6
6
|
* An array of conditions shows the field only when every one holds.
|
|
7
7
|
*/
|
|
8
8
|
export declare function evaluateShowIf(condition: unknown, ctx: ShowIfContext | null | undefined): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* `x-lt-hide-if-empty`: the field is suppressed while its value is empty
|
|
11
|
+
* (null, undefined, '', false, or 0). Render and validation share this test.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isHiddenIfEmpty(fieldSchema: Record<string, unknown> | undefined, value: unknown): boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.evaluateShowIf = evaluateShowIf;
|
|
4
|
+
exports.isHiddenIfEmpty = isHiddenIfEmpty;
|
|
4
5
|
/**
|
|
5
6
|
* x-lt-showIf — conditional field visibility. A form_schema property may
|
|
6
7
|
* declare `x-lt-showIf: "domain.path"` to show the field only when the value
|
|
@@ -85,3 +86,12 @@ function evaluateShowIf(condition, ctx) {
|
|
|
85
86
|
return true;
|
|
86
87
|
return negate ? !isTruthy(value) : isTruthy(value);
|
|
87
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* `x-lt-hide-if-empty`: the field is suppressed while its value is empty
|
|
91
|
+
* (null, undefined, '', false, or 0). Render and validation share this test.
|
|
92
|
+
*/
|
|
93
|
+
function isHiddenIfEmpty(fieldSchema, value) {
|
|
94
|
+
if (fieldSchema?.['x-lt-hide-if-empty'] !== true)
|
|
95
|
+
return false;
|
|
96
|
+
return value === null || value === undefined || value === '' || value === false || value === 0;
|
|
97
|
+
}
|
package/build/start/workers.js
CHANGED
|
@@ -51,6 +51,8 @@ const mcp_1 = require("../services/mcp");
|
|
|
51
51
|
const yamlWorkflowWorkers = __importStar(require("../services/yaml-workflow/workers"));
|
|
52
52
|
const migrate_1 = require("../lib/db/migrate");
|
|
53
53
|
const apply_report_1 = require("./apply-report");
|
|
54
|
+
const escalation_2 = require("../types/escalation");
|
|
55
|
+
const lookup_refs_1 = require("../services/knowledge/lookup-refs");
|
|
54
56
|
/**
|
|
55
57
|
* Create a named no-op workflow function for readonly/observer workers.
|
|
56
58
|
* The function name is used by `registerWorker` for discovery.
|
|
@@ -221,6 +223,13 @@ async function startWorkers(startConfig, workers, builtinMcpServerFactories) {
|
|
|
221
223
|
for (const w of workersWithConfig) {
|
|
222
224
|
const workflowType = w.workflow.name;
|
|
223
225
|
const c = w.config;
|
|
226
|
+
if (c.inputLookups !== undefined) {
|
|
227
|
+
(0, escalation_2.assertLookupRefs)(c.inputLookups);
|
|
228
|
+
// Editions may be seeded after registration; a missing pin warns here and surfaces on the Invoke Tool page.
|
|
229
|
+
for (const problem of await (0, lookup_refs_1.describeMissingLookupRefs)(c.inputLookups)) {
|
|
230
|
+
logger_1.loggerRegistry.warn(`[long-tail] ${workflowType}: ${problem}`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
224
233
|
const declaration = {
|
|
225
234
|
workflow_type: workflowType,
|
|
226
235
|
task_queue: w.taskQueue,
|
|
@@ -235,6 +244,7 @@ async function startWorkers(startConfig, workers, builtinMcpServerFactories) {
|
|
|
235
244
|
envelope_schema: c.envelopeSchema ?? null,
|
|
236
245
|
input_schema: c.inputSchema ?? null,
|
|
237
246
|
icon: c.icon ?? null,
|
|
247
|
+
input_lookups: c.inputLookups ?? null,
|
|
238
248
|
resolver_schema: c.resolverSchema ?? null,
|
|
239
249
|
cron_schedule: c.cronSchedule ?? null,
|
|
240
250
|
execute_as: c.executeAs ?? null,
|
|
@@ -87,7 +87,7 @@ export declare const findEscalationsSchema: z.ZodObject<{
|
|
|
87
87
|
offset: number;
|
|
88
88
|
role?: string | undefined;
|
|
89
89
|
subtype?: string | undefined;
|
|
90
|
-
status?: "pending" | "
|
|
90
|
+
status?: "pending" | "resolved" | "cancelled" | "expired" | undefined;
|
|
91
91
|
available?: boolean | undefined;
|
|
92
92
|
roles?: string[] | undefined;
|
|
93
93
|
type?: string | undefined;
|
|
@@ -112,7 +112,7 @@ export declare const findEscalationsSchema: z.ZodObject<{
|
|
|
112
112
|
}, {
|
|
113
113
|
role?: string | undefined;
|
|
114
114
|
subtype?: string | undefined;
|
|
115
|
-
status?: "pending" | "
|
|
115
|
+
status?: "pending" | "resolved" | "cancelled" | "expired" | undefined;
|
|
116
116
|
available?: boolean | undefined;
|
|
117
117
|
roles?: string[] | undefined;
|
|
118
118
|
type?: string | undefined;
|
|
@@ -231,6 +231,13 @@ export declare const bulkTriageSchema: z.ZodObject<{
|
|
|
231
231
|
hint?: string | undefined;
|
|
232
232
|
}>;
|
|
233
233
|
export declare const listWorkflowConfigsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
234
|
+
export declare const getWorkflowConfigSchema: z.ZodObject<{
|
|
235
|
+
workflow_type: z.ZodString;
|
|
236
|
+
}, "strip", z.ZodTypeAny, {
|
|
237
|
+
workflow_type: string;
|
|
238
|
+
}, {
|
|
239
|
+
workflow_type: string;
|
|
240
|
+
}>;
|
|
234
241
|
export declare const upsertWorkflowConfigSchema: z.ZodObject<{
|
|
235
242
|
workflow_type: z.ZodString;
|
|
236
243
|
invocable: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -246,6 +253,25 @@ export declare const upsertWorkflowConfigSchema: z.ZodObject<{
|
|
|
246
253
|
envelope_schema: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
|
|
247
254
|
resolver_schema: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
|
|
248
255
|
cron_schedule: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
256
|
+
input_schema: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
|
|
257
|
+
input_lookups: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
258
|
+
domain: z.ZodString;
|
|
259
|
+
key: z.ZodString;
|
|
260
|
+
version: z.ZodNumber;
|
|
261
|
+
as: z.ZodOptional<z.ZodString>;
|
|
262
|
+
}, "strip", z.ZodTypeAny, {
|
|
263
|
+
domain: string;
|
|
264
|
+
key: string;
|
|
265
|
+
version: number;
|
|
266
|
+
as?: string | undefined;
|
|
267
|
+
}, {
|
|
268
|
+
domain: string;
|
|
269
|
+
key: string;
|
|
270
|
+
version: number;
|
|
271
|
+
as?: string | undefined;
|
|
272
|
+
}>, "many">>>>;
|
|
273
|
+
icon: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
274
|
+
read_safe: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
249
275
|
}, "strip", z.ZodTypeAny, {
|
|
250
276
|
workflow_type: string;
|
|
251
277
|
invocable: boolean;
|
|
@@ -257,9 +283,18 @@ export declare const upsertWorkflowConfigSchema: z.ZodObject<{
|
|
|
257
283
|
consumes: string[];
|
|
258
284
|
tool_tags: string[];
|
|
259
285
|
envelope_schema: Record<string, any> | null;
|
|
286
|
+
input_schema: Record<string, any> | null;
|
|
287
|
+
icon: string | null;
|
|
288
|
+
input_lookups: {
|
|
289
|
+
domain: string;
|
|
290
|
+
key: string;
|
|
291
|
+
version: number;
|
|
292
|
+
as?: string | undefined;
|
|
293
|
+
}[] | null;
|
|
260
294
|
resolver_schema: Record<string, any> | null;
|
|
261
295
|
cron_schedule: string | null;
|
|
262
296
|
execute_as: string | null;
|
|
297
|
+
read_safe: boolean;
|
|
263
298
|
certified?: boolean | undefined;
|
|
264
299
|
}, {
|
|
265
300
|
workflow_type: string;
|
|
@@ -273,9 +308,18 @@ export declare const upsertWorkflowConfigSchema: z.ZodObject<{
|
|
|
273
308
|
consumes?: string[] | undefined;
|
|
274
309
|
tool_tags?: string[] | undefined;
|
|
275
310
|
envelope_schema?: Record<string, any> | null | undefined;
|
|
311
|
+
input_schema?: Record<string, any> | null | undefined;
|
|
312
|
+
icon?: string | null | undefined;
|
|
313
|
+
input_lookups?: {
|
|
314
|
+
domain: string;
|
|
315
|
+
key: string;
|
|
316
|
+
version: number;
|
|
317
|
+
as?: string | undefined;
|
|
318
|
+
}[] | null | undefined;
|
|
276
319
|
resolver_schema?: Record<string, any> | null | undefined;
|
|
277
320
|
cron_schedule?: string | null | undefined;
|
|
278
321
|
execute_as?: string | null | undefined;
|
|
322
|
+
read_safe?: boolean | undefined;
|
|
279
323
|
}>;
|
|
280
324
|
export declare const deleteWorkflowConfigSchema: z.ZodObject<{
|
|
281
325
|
workflow_type: z.ZodString;
|
|
@@ -1253,14 +1297,14 @@ export declare const findByMetadataSchema: z.ZodObject<{
|
|
|
1253
1297
|
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1254
1298
|
offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1255
1299
|
}, "strip", z.ZodTypeAny, {
|
|
1256
|
-
value: string;
|
|
1257
1300
|
key: string;
|
|
1301
|
+
value: string;
|
|
1258
1302
|
limit: number;
|
|
1259
1303
|
offset: number;
|
|
1260
1304
|
status?: string | undefined;
|
|
1261
1305
|
}, {
|
|
1262
|
-
value: string;
|
|
1263
1306
|
key: string;
|
|
1307
|
+
value: string;
|
|
1264
1308
|
status?: string | undefined;
|
|
1265
1309
|
limit?: number | undefined;
|
|
1266
1310
|
offset?: number | undefined;
|
|
@@ -1272,14 +1316,14 @@ export declare const claimByMetadataSchema: z.ZodObject<{
|
|
|
1272
1316
|
assignee: z.ZodOptional<z.ZodString>;
|
|
1273
1317
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
1274
1318
|
}, "strip", z.ZodTypeAny, {
|
|
1275
|
-
value: string;
|
|
1276
1319
|
key: string;
|
|
1320
|
+
value: string;
|
|
1277
1321
|
metadata?: Record<string, any> | undefined;
|
|
1278
1322
|
durationMinutes?: number | undefined;
|
|
1279
1323
|
assignee?: string | undefined;
|
|
1280
1324
|
}, {
|
|
1281
|
-
value: string;
|
|
1282
1325
|
key: string;
|
|
1326
|
+
value: string;
|
|
1283
1327
|
metadata?: Record<string, any> | undefined;
|
|
1284
1328
|
durationMinutes?: number | undefined;
|
|
1285
1329
|
assignee?: string | undefined;
|
|
@@ -1291,14 +1335,14 @@ export declare const resolveByMetadataSchema: z.ZodObject<{
|
|
|
1291
1335
|
assignee: z.ZodOptional<z.ZodString>;
|
|
1292
1336
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
1293
1337
|
}, "strip", z.ZodTypeAny, {
|
|
1294
|
-
value: string;
|
|
1295
1338
|
key: string;
|
|
1339
|
+
value: string;
|
|
1296
1340
|
resolverPayload: Record<string, any>;
|
|
1297
1341
|
metadata?: Record<string, any> | undefined;
|
|
1298
1342
|
assignee?: string | undefined;
|
|
1299
1343
|
}, {
|
|
1300
|
-
value: string;
|
|
1301
1344
|
key: string;
|
|
1345
|
+
value: string;
|
|
1302
1346
|
resolverPayload: Record<string, any>;
|
|
1303
1347
|
metadata?: Record<string, any> | undefined;
|
|
1304
1348
|
assignee?: string | undefined;
|
|
@@ -1996,11 +2040,11 @@ export declare const timelineByFacetSchema: z.ZodObject<{
|
|
|
1996
2040
|
key: z.ZodString;
|
|
1997
2041
|
value: z.ZodString;
|
|
1998
2042
|
}, "strip", z.ZodTypeAny, {
|
|
1999
|
-
value: string;
|
|
2000
2043
|
key: string;
|
|
2001
|
-
}, {
|
|
2002
2044
|
value: string;
|
|
2045
|
+
}, {
|
|
2003
2046
|
key: string;
|
|
2047
|
+
value: string;
|
|
2004
2048
|
}>;
|
|
2005
2049
|
query: z.ZodOptional<z.ZodObject<{
|
|
2006
2050
|
role: z.ZodOptional<z.ZodString>;
|
|
@@ -2079,8 +2123,8 @@ export declare const timelineByFacetSchema: z.ZodObject<{
|
|
|
2079
2123
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
2080
2124
|
}, "strip", z.ZodTypeAny, {
|
|
2081
2125
|
facet: {
|
|
2082
|
-
value: string;
|
|
2083
2126
|
key: string;
|
|
2127
|
+
value: string;
|
|
2084
2128
|
};
|
|
2085
2129
|
query?: {
|
|
2086
2130
|
entity?: string | undefined;
|
|
@@ -2111,8 +2155,8 @@ export declare const timelineByFacetSchema: z.ZodObject<{
|
|
|
2111
2155
|
liveStatuses?: string[] | undefined;
|
|
2112
2156
|
}, {
|
|
2113
2157
|
facet: {
|
|
2114
|
-
value: string;
|
|
2115
2158
|
key: string;
|
|
2159
|
+
value: string;
|
|
2116
2160
|
};
|
|
2117
2161
|
query?: {
|
|
2118
2162
|
entity?: string | undefined;
|
|
@@ -2191,8 +2235,8 @@ export declare const upsertScanSchemeSchema: z.ZodObject<{
|
|
|
2191
2235
|
grant_max_uses: z.ZodOptional<z.ZodNumber>;
|
|
2192
2236
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
2193
2237
|
}, "strip", z.ZodTypeAny, {
|
|
2194
|
-
name: string;
|
|
2195
2238
|
version: number;
|
|
2239
|
+
name: string;
|
|
2196
2240
|
target_facet: string;
|
|
2197
2241
|
description?: string | undefined;
|
|
2198
2242
|
enabled?: boolean | undefined;
|
|
@@ -2203,8 +2247,8 @@ export declare const upsertScanSchemeSchema: z.ZodObject<{
|
|
|
2203
2247
|
grant_ttl_seconds?: number | undefined;
|
|
2204
2248
|
grant_max_uses?: number | undefined;
|
|
2205
2249
|
}, {
|
|
2206
|
-
name: string;
|
|
2207
2250
|
version: number;
|
|
2251
|
+
name: string;
|
|
2208
2252
|
target_facet: string;
|
|
2209
2253
|
description?: string | undefined;
|
|
2210
2254
|
enabled?: boolean | undefined;
|
|
@@ -2226,12 +2270,12 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2226
2270
|
availability: z.ZodOptional<z.ZodEnum<["available", "claimed", "mine", "any"]>>;
|
|
2227
2271
|
facets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
2228
2272
|
}, "strip", z.ZodTypeAny, {
|
|
2229
|
-
status?: "pending" | "
|
|
2273
|
+
status?: "pending" | "resolved" | "cancelled" | undefined;
|
|
2230
2274
|
roles?: string[] | undefined;
|
|
2231
2275
|
facets?: Record<string, any> | undefined;
|
|
2232
2276
|
availability?: "available" | "claimed" | "mine" | "any" | undefined;
|
|
2233
2277
|
}, {
|
|
2234
|
-
status?: "pending" | "
|
|
2278
|
+
status?: "pending" | "resolved" | "cancelled" | undefined;
|
|
2235
2279
|
roles?: string[] | undefined;
|
|
2236
2280
|
facets?: Record<string, any> | undefined;
|
|
2237
2281
|
availability?: "available" | "claimed" | "mine" | "any" | undefined;
|
|
@@ -2346,7 +2390,7 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2346
2390
|
autoSelectSingle: z.ZodOptional<z.ZodBoolean>;
|
|
2347
2391
|
}, "strip", z.ZodTypeAny, {
|
|
2348
2392
|
query: {
|
|
2349
|
-
status?: "pending" | "
|
|
2393
|
+
status?: "pending" | "resolved" | "cancelled" | undefined;
|
|
2350
2394
|
roles?: string[] | undefined;
|
|
2351
2395
|
facets?: Record<string, any> | undefined;
|
|
2352
2396
|
availability?: "available" | "claimed" | "mine" | "any" | undefined;
|
|
@@ -2387,7 +2431,7 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2387
2431
|
autoSelectSingle?: boolean | undefined;
|
|
2388
2432
|
}, {
|
|
2389
2433
|
query: {
|
|
2390
|
-
status?: "pending" | "
|
|
2434
|
+
status?: "pending" | "resolved" | "cancelled" | undefined;
|
|
2391
2435
|
roles?: string[] | undefined;
|
|
2392
2436
|
facets?: Record<string, any> | undefined;
|
|
2393
2437
|
availability?: "available" | "claimed" | "mine" | "any" | undefined;
|
|
@@ -2454,7 +2498,7 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2454
2498
|
scheme_version: number;
|
|
2455
2499
|
steps: {
|
|
2456
2500
|
query: {
|
|
2457
|
-
status?: "pending" | "
|
|
2501
|
+
status?: "pending" | "resolved" | "cancelled" | undefined;
|
|
2458
2502
|
roles?: string[] | undefined;
|
|
2459
2503
|
facets?: Record<string, any> | undefined;
|
|
2460
2504
|
availability?: "available" | "claimed" | "mine" | "any" | undefined;
|
|
@@ -2509,7 +2553,7 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2509
2553
|
scheme_version: number;
|
|
2510
2554
|
steps: {
|
|
2511
2555
|
query: {
|
|
2512
|
-
status?: "pending" | "
|
|
2556
|
+
status?: "pending" | "resolved" | "cancelled" | undefined;
|
|
2513
2557
|
roles?: string[] | undefined;
|
|
2514
2558
|
facets?: Record<string, any> | undefined;
|
|
2515
2559
|
availability?: "available" | "claimed" | "mine" | "any" | undefined;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.deleteScanRuleSchema = exports.upsertScanRuleSchema = exports.upsertScanSchemeSchema = exports.listScanSchemesSchema = exports.executeScanChoiceSchema = exports.executeScanCodeSchema = exports.timelineByFacetSchema = exports.aggregateByFacetsSchema = exports.claimByFacetsSchema = exports.claimGroupsSchema = exports.searchByFacetsSchema = exports.resolveByIdsSchema = exports.facetQuerySchema = void 0;
|
|
3
|
+
exports.linkPersonaRoleSchema = exports.deletePersonaSchema = exports.updatePersonaSchema = exports.createPersonaSchema = exports.getPersonaSchema = exports.listPersonasSchema = exports.listRoleSchemaVersionsSchema = exports.getRoleSchemaSchema = exports.updateRoleSchema = exports.addEscalationChainSchema = exports.createRoleSchema = exports.listRolesSchema = exports.patchUserPropertiesSchema = exports.removeUserRoleSchema = exports.addUserRoleSchema = exports.createUserSchema = exports.listUsersSchema = exports.invokeYamlWorkflowSchema = exports.deployYamlWorkflowSchema = exports.createYamlWorkflowSchema = exports.getYamlWorkflowSchema = exports.listYamlWorkflowsSchema = exports.disconnectMcpServerSchema = exports.connectMcpServerSchema = exports.updateMcpServerSchema = exports.listMcpServersSchema = exports.getDomainContextSchema = exports.terminateWorkflowSchema = exports.getWorkflowStatusSchema = exports.invokeWorkflowSchema = exports.listDiscoveredWorkflowsSchema = exports.deleteWorkflowConfigSchema = exports.upsertWorkflowConfigSchema = exports.getWorkflowConfigSchema = exports.listWorkflowConfigsSchema = exports.bulkTriageSchema = exports.releaseExpiredClaimsSchema = exports.bulkCancelSchema = exports.cancelEscalationSchema = exports.escalateEscalationSchema = exports.resolveBySignalKeySchema = exports.resolveEscalationSchema = exports.releaseEscalationSchema = exports.claimEscalationSchema = exports.getEscalationStatsSchema = exports.getEscalationsByWorkflowSchema = exports.getEscalationSchema = exports.findEscalationsSchema = exports.getProcessDetailSchema = exports.findTasksSchema = void 0;
|
|
4
|
+
exports.findStalledJobsSchema = exports.diagnoseJobSchema = exports.getWorkflowEnvelopesSchema = exports.getExportStatusSchema = exports.exportWorkflowExecutionSchema = exports.exportWorkflowStateSchema = exports.listExportJobsSchema = exports.getSettingsSchema = exports.updatePrioritySchema = exports.bulkEscalateSchema = exports.bulkUnassignSchema = exports.bulkAssignSchema = exports.bulkClaimSchema = exports.resolveByMetadataSchema = exports.claimByMetadataSchema = exports.findByMetadataSchema = exports.deleteTopicSchema = exports.updateTopicSchema = exports.createTopicSchema = exports.getTopicSchema = exports.listTopicsSchema = exports.interruptJobSchema = exports.getJobExecutionSchema = exports.listPipelineJobsSchema = exports.listPipelineEntitiesSchema = exports.listStreamMessagesSchema = exports.getStreamStatsSchema = exports.applyThrottleSchema = exports.rollCallSchema = exports.listAppsSchema = exports.revokeBotKeySchema = exports.createBotApiKeySchema = exports.deleteBotSchema = exports.updateBotSchema = exports.createBotSchema = exports.getBotSchema = exports.listBotsSchema = exports.deleteAgentSubscriptionSchema = exports.createAgentSubscriptionSchema = exports.listAgentSubscriptionsSchema = exports.deleteAgentSchema = exports.updateAgentSchema = exports.createAgentSchema = exports.getAgentSchema = exports.listAgentsSchema = exports.pruneSchema = exports.getUserPersonasSchema = exports.unassignPersonaSchema = exports.assignPersonaSchema = exports.unlinkPersonaRoleSchema = void 0;
|
|
5
|
+
exports.deleteScanRuleSchema = exports.upsertScanRuleSchema = exports.upsertScanSchemeSchema = exports.listScanSchemesSchema = exports.executeScanChoiceSchema = exports.executeScanCodeSchema = exports.timelineByFacetSchema = exports.aggregateByFacetsSchema = exports.claimByFacetsSchema = exports.claimGroupsSchema = exports.searchByFacetsSchema = exports.resolveByIdsSchema = exports.facetQuerySchema = exports.findOrphanedSignalsSchema = void 0;
|
|
6
6
|
/**
|
|
7
7
|
* Zod schemas for the admin MCP server tools.
|
|
8
8
|
*
|
|
@@ -101,6 +101,9 @@ exports.bulkTriageSchema = zod_1.z.object({
|
|
|
101
101
|
});
|
|
102
102
|
// ── workflow config (routes/workflows/config.ts) ────────────────────────────
|
|
103
103
|
exports.listWorkflowConfigsSchema = zod_1.z.object({});
|
|
104
|
+
exports.getWorkflowConfigSchema = zod_1.z.object({
|
|
105
|
+
workflow_type: zod_1.z.string().describe('Registered workflow type name'),
|
|
106
|
+
});
|
|
104
107
|
exports.upsertWorkflowConfigSchema = zod_1.z.object({
|
|
105
108
|
workflow_type: zod_1.z.string().describe('Workflow function name'),
|
|
106
109
|
invocable: zod_1.z.boolean().optional().default(false),
|
|
@@ -120,6 +123,19 @@ exports.upsertWorkflowConfigSchema = zod_1.z.object({
|
|
|
120
123
|
.describe('DEPRECATED: the escalation form is a versioned schema owned by the target role. Legacy fallback only.')
|
|
121
124
|
.default(null),
|
|
122
125
|
cron_schedule: zod_1.z.string().nullable().optional().default(null),
|
|
126
|
+
input_schema: zod_1.z.record(zod_1.z.any()).nullable().optional().default(null)
|
|
127
|
+
.describe('x-lt-* JSON Schema for the invoke form; invoke validates data against it'),
|
|
128
|
+
input_lookups: zod_1.z.array(zod_1.z.object({
|
|
129
|
+
domain: zod_1.z.string(),
|
|
130
|
+
key: zod_1.z.string(),
|
|
131
|
+
version: zod_1.z.number().int().min(1),
|
|
132
|
+
as: zod_1.z.string().optional(),
|
|
133
|
+
})).nullable().optional().default(null)
|
|
134
|
+
.describe('Versioned knowledge refs the invoke form reads as lookup.<as ?? key>'),
|
|
135
|
+
icon: zod_1.z.string().nullable().optional().default(null)
|
|
136
|
+
.describe('Curated icon name (WORKFLOW_ICONS); unknown names are refused'),
|
|
137
|
+
read_safe: zod_1.z.boolean().optional().default(false)
|
|
138
|
+
.describe('Side-effect-free; eligible for invoke_workflow_read_safe'),
|
|
123
139
|
});
|
|
124
140
|
exports.deleteWorkflowConfigSchema = zod_1.z.object({
|
|
125
141
|
workflow_type: zod_1.z.string().describe('Workflow type to unregister (deletes the registration row)'),
|
|
@@ -35,15 +35,25 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.registerWorkflowConfigTools = registerWorkflowConfigTools;
|
|
37
37
|
const configService = __importStar(require("../../../services/config"));
|
|
38
|
+
const lookup_cache_1 = require("../../../services/knowledge/lookup-cache");
|
|
39
|
+
const lookup_refs_1 = require("../../../services/knowledge/lookup-refs");
|
|
38
40
|
const ltconfig_1 = require("../../../modules/ltconfig");
|
|
39
41
|
const cron_1 = require("../../../services/cron");
|
|
42
|
+
const invocable_1 = require("../../../api/workflows/invocable");
|
|
43
|
+
const workflow_icons_1 = require("../../../types/workflow-icons");
|
|
44
|
+
const escalation_1 = require("../../../types/escalation");
|
|
40
45
|
const schemas_1 = require("./schemas");
|
|
46
|
+
const errorResult = (error) => ({
|
|
47
|
+
content: [{ type: 'text', text: JSON.stringify({ error }) }],
|
|
48
|
+
isError: true,
|
|
49
|
+
});
|
|
41
50
|
function registerWorkflowConfigTools(server) {
|
|
42
51
|
// mirrors GET /api/workflows/config
|
|
43
52
|
server.registerTool('list_workflow_configs', {
|
|
44
53
|
title: 'List Workflow Configs',
|
|
45
54
|
description: 'List all certified workflow configurations. Shows workflow type, ' +
|
|
46
|
-
'task queue, roles, invocable flag, and description.'
|
|
55
|
+
'task queue, roles, invocable flag, and description. Call ' +
|
|
56
|
+
'get_workflow_config for the full row including input_schema.',
|
|
47
57
|
inputSchema: schemas_1.listWorkflowConfigsSchema,
|
|
48
58
|
}, async (_args) => {
|
|
49
59
|
const configs = await configService.listWorkflowConfigs();
|
|
@@ -64,15 +74,49 @@ function registerWorkflowConfigTools(server) {
|
|
|
64
74
|
}],
|
|
65
75
|
};
|
|
66
76
|
});
|
|
77
|
+
// mirrors GET /api/workflows/:type/config, plus the resolved lookup data the form reads
|
|
78
|
+
server.registerTool('get_workflow_config', {
|
|
79
|
+
title: 'Get Workflow Config',
|
|
80
|
+
description: 'The full configuration row for one workflow: input_schema (the x-lt-* form ' +
|
|
81
|
+
'an invoke payload must satisfy), envelope_schema (its metadata is the base ' +
|
|
82
|
+
'of every run), input_lookups, roles, and tier. input_lookup_data carries the ' +
|
|
83
|
+
'resolved knowledge editions keyed as the form reads them (lookup.<as ?? key>).',
|
|
84
|
+
inputSchema: schemas_1.getWorkflowConfigSchema,
|
|
85
|
+
}, async (args) => {
|
|
86
|
+
const config = await configService.getWorkflowConfig(args.workflow_type);
|
|
87
|
+
if (!config)
|
|
88
|
+
return errorResult('Workflow config not found');
|
|
89
|
+
const tier = config.certified ? invocable_1.WORKFLOW_TIERS.CERTIFIED : invocable_1.WORKFLOW_TIERS.REGISTERED;
|
|
90
|
+
const input_lookup_data = await (0, lookup_cache_1.resolveLookupContext)(config.input_lookups);
|
|
91
|
+
return {
|
|
92
|
+
content: [{ type: 'text', text: JSON.stringify({ ...config, tier, input_lookup_data }) }],
|
|
93
|
+
};
|
|
94
|
+
});
|
|
67
95
|
// mirrors PUT /api/workflows/:type/config
|
|
68
96
|
server.registerTool('upsert_workflow_config', {
|
|
69
97
|
title: 'Upsert Workflow Config',
|
|
70
98
|
description: 'Create or replace a workflow configuration (certify). Activates the ' +
|
|
71
99
|
'interceptor for task tracking, escalation chains, and invocation controls. ' +
|
|
100
|
+
'Full replace, matching PUT /api/workflows/:type/config: omitted fields clear ' +
|
|
101
|
+
'to their defaults, so send the whole profile (start from get_workflow_config). ' +
|
|
72
102
|
'Invalidates the config cache and restarts cron if schedule changes.',
|
|
73
103
|
inputSchema: schemas_1.upsertWorkflowConfigSchema,
|
|
74
104
|
}, async (args) => {
|
|
75
|
-
|
|
105
|
+
if (args.icon && !(0, workflow_icons_1.isWorkflowIcon)(args.icon)) {
|
|
106
|
+
return errorResult(`Unknown workflow icon "${args.icon}"; choose one of WORKFLOW_ICONS`);
|
|
107
|
+
}
|
|
108
|
+
if (args.input_lookups != null) {
|
|
109
|
+
try {
|
|
110
|
+
(0, escalation_1.assertLookupRefs)(args.input_lookups);
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
return errorResult(err.message);
|
|
114
|
+
}
|
|
115
|
+
const missing = await (0, lookup_refs_1.describeMissingLookupRefs)(args.input_lookups);
|
|
116
|
+
if (missing.length)
|
|
117
|
+
return errorResult(missing.join('; '));
|
|
118
|
+
}
|
|
119
|
+
const declaration = {
|
|
76
120
|
workflow_type: args.workflow_type,
|
|
77
121
|
invocable: args.invocable,
|
|
78
122
|
certified: args.certified,
|
|
@@ -85,9 +129,14 @@ function registerWorkflowConfigTools(server) {
|
|
|
85
129
|
consumes: args.consumes,
|
|
86
130
|
tool_tags: args.tool_tags,
|
|
87
131
|
envelope_schema: args.envelope_schema,
|
|
132
|
+
input_schema: args.input_schema,
|
|
133
|
+
input_lookups: args.input_lookups,
|
|
134
|
+
icon: args.icon,
|
|
135
|
+
read_safe: args.read_safe,
|
|
88
136
|
resolver_schema: args.resolver_schema,
|
|
89
137
|
cron_schedule: args.cron_schedule,
|
|
90
|
-
}
|
|
138
|
+
};
|
|
139
|
+
const config = await configService.upsertWorkflowConfig(declaration);
|
|
91
140
|
ltconfig_1.ltConfig.invalidate();
|
|
92
141
|
await cron_1.cronRegistry.restartCron(config);
|
|
93
142
|
return {
|
|
@@ -102,12 +151,8 @@ function registerWorkflowConfigTools(server) {
|
|
|
102
151
|
inputSchema: schemas_1.deleteWorkflowConfigSchema,
|
|
103
152
|
}, async (args) => {
|
|
104
153
|
const deleted = await configService.deleteWorkflowConfig(args.workflow_type);
|
|
105
|
-
if (!deleted)
|
|
106
|
-
return
|
|
107
|
-
content: [{ type: 'text', text: JSON.stringify({ error: 'Workflow config not found' }) }],
|
|
108
|
-
isError: true,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
154
|
+
if (!deleted)
|
|
155
|
+
return errorResult('Workflow config not found');
|
|
111
156
|
ltconfig_1.ltConfig.invalidate();
|
|
112
157
|
return {
|
|
113
158
|
content: [{
|
|
@@ -85,9 +85,8 @@ function registerWorkflowTools(server) {
|
|
|
85
85
|
};
|
|
86
86
|
});
|
|
87
87
|
// The invoke input gate: data is validated against input_schema when declared.
|
|
88
|
-
const inputSchemaRejection = async (args) => {
|
|
89
|
-
const
|
|
90
|
-
const body = workflowApi.checkInvokeInput(config, args.data ?? {}, args.metadata);
|
|
88
|
+
const inputSchemaRejection = async (config, args) => {
|
|
89
|
+
const body = await workflowApi.checkInvokeInput(config, args.data ?? {}, args.metadata);
|
|
91
90
|
return body ? { content: [{ type: 'text', text: JSON.stringify(body) }], isError: true } : null;
|
|
92
91
|
};
|
|
93
92
|
// mirrors POST /api/workflows/:type/invoke
|
|
@@ -95,11 +94,13 @@ function registerWorkflowTools(server) {
|
|
|
95
94
|
title: 'Invoke Workflow',
|
|
96
95
|
description: 'Start a certified workflow by type. The workflow must have invocable=true ' +
|
|
97
96
|
'in its config. Data is validated against the config input_schema when one ' +
|
|
98
|
-
'is declared (422-shaped error).
|
|
97
|
+
'is declared (422-shaped error). Call get_workflow_config for the input_schema ' +
|
|
98
|
+
'the payload must satisfy. Returns the workflow ID immediately; the ' +
|
|
99
99
|
'workflow runs durably in the background.',
|
|
100
100
|
inputSchema: schemas_1.invokeWorkflowSchema,
|
|
101
101
|
}, async (args) => {
|
|
102
|
-
const
|
|
102
|
+
const config = await configService.getWorkflowConfig(args.workflow_type);
|
|
103
|
+
const rejected = await inputSchemaRejection(config, args);
|
|
103
104
|
if (rejected)
|
|
104
105
|
return rejected;
|
|
105
106
|
const result = await (0, workflow_invocation_1.invokeWorkflow)({
|
|
@@ -127,7 +128,8 @@ function registerWorkflowTools(server) {
|
|
|
127
128
|
description: 'Start a workflow registered read-safe (side-effect-free). Same contract ' +
|
|
128
129
|
'as invoke_workflow, gated to configs carrying read_safe=true — the ' +
|
|
129
130
|
'variant exposed to read-scoped MCP callers. A workflow without the ' +
|
|
130
|
-
'flag fails with a clear error.'
|
|
131
|
+
'flag fails with a clear error. Call get_workflow_config for the ' +
|
|
132
|
+
'input_schema the payload must satisfy.',
|
|
131
133
|
inputSchema: schemas_1.invokeWorkflowSchema,
|
|
132
134
|
}, async (args) => {
|
|
133
135
|
const config = await configService.getWorkflowConfig(args.workflow_type);
|
|
@@ -149,7 +151,7 @@ function registerWorkflowTools(server) {
|
|
|
149
151
|
isError: true,
|
|
150
152
|
};
|
|
151
153
|
}
|
|
152
|
-
const rejected = await inputSchemaRejection(args);
|
|
154
|
+
const rejected = await inputSchemaRejection(config, args);
|
|
153
155
|
if (rejected)
|
|
154
156
|
return rejected;
|
|
155
157
|
const result = await (0, workflow_invocation_1.invokeWorkflow)({
|
|
@@ -7,12 +7,12 @@ export declare const findTasksSchema: z.ZodObject<{
|
|
|
7
7
|
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
8
8
|
}, "strip", z.ZodTypeAny, {
|
|
9
9
|
limit: number;
|
|
10
|
-
status?: "
|
|
10
|
+
status?: "completed" | "pending" | "in_progress" | "needs_intervention" | "failed" | undefined;
|
|
11
11
|
workflow_type?: string | undefined;
|
|
12
12
|
workflow_id?: string | undefined;
|
|
13
13
|
origin_id?: string | undefined;
|
|
14
14
|
}, {
|
|
15
|
-
status?: "
|
|
15
|
+
status?: "completed" | "pending" | "in_progress" | "needs_intervention" | "failed" | undefined;
|
|
16
16
|
workflow_type?: string | undefined;
|
|
17
17
|
workflow_id?: string | undefined;
|
|
18
18
|
origin_id?: string | undefined;
|