@hotmeshio/long-tail 0.20.0 → 0.21.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/README.md +4 -4
- package/build/api/escalations/accumulate.d.ts +96 -0
- package/build/api/escalations/accumulate.js +516 -0
- package/build/api/escalations/index.d.ts +1 -0
- package/build/api/escalations/index.js +10 -1
- package/build/api/roles.d.ts +4 -5
- package/build/api/roles.js +53 -4
- package/build/api/scan-codes/execute.js +2 -0
- package/build/api/scan-codes/verbs.d.ts +15 -0
- package/build/api/scan-codes/verbs.js +65 -0
- package/build/index.js +60 -0
- package/build/lib/db/schemas/036_role_portals.sql +12 -0
- package/build/routes/escalations/accumulate.d.ts +7 -0
- package/build/routes/escalations/accumulate.js +150 -0
- package/build/routes/escalations/index.js +5 -0
- package/build/sdk/index.d.ts +25 -0
- package/build/sdk/index.js +8 -0
- package/build/services/escalation/accumulate.d.ts +81 -0
- package/build/services/escalation/accumulate.js +154 -0
- package/build/services/escalation/index.d.ts +1 -0
- package/build/services/escalation/index.js +1 -0
- package/build/services/mcp/playwright-server/schemas.d.ts +2 -2
- package/build/services/orchestrator/condition.d.ts +40 -3
- package/build/services/orchestrator/condition.js +42 -2
- package/build/services/role/index.js +1 -0
- package/build/services/role/seed.js +6 -1
- package/build/services/role/sql.d.ts +6 -3
- package/build/services/role/sql.js +7 -2
- package/build/services/role/types.d.ts +38 -10
- package/build/services/role/types.js +10 -1
- package/build/services/scan-code/validate.js +16 -0
- package/build/shared/form-validation/display-only-widgets.d.ts +16 -0
- package/build/shared/form-validation/display-only-widgets.js +25 -0
- package/build/shared/form-validation/index.d.ts +2 -0
- package/build/shared/form-validation/index.js +2 -0
- package/build/shared/form-validation/x-lt-bind.d.ts +2 -14
- package/build/shared/form-validation/x-lt-bind.js +12 -8
- package/build/shared/form-validation/x-lt-invoke.d.ts +38 -0
- package/build/shared/form-validation/x-lt-invoke.js +103 -0
- package/build/system/mcp-servers/admin/escalations.js +39 -0
- package/build/system/mcp-servers/admin/schemas.d.ts +192 -13
- package/build/system/mcp-servers/admin/schemas.js +39 -3
- package/build/system/mcp-servers/admin/users.js +1 -0
- package/build/system/mcp-servers/docs.js +4 -0
- package/build/system/mcp-servers/human-queue-schemas.d.ts +85 -0
- package/build/system/mcp-servers/human-queue-schemas.js +19 -1
- package/build/system/mcp-servers/human-queue.d.ts +2 -0
- package/build/system/mcp-servers/human-queue.js +77 -0
- package/build/system/seed/tool-manifests-admin.d.ts +922 -103
- package/build/system/seed/tool-manifests-admin.js +4 -1
- package/build/system/seed/tool-manifests-escalation.d.ts +174 -0
- package/build/system/seed/tool-manifests-escalation.js +56 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/escalation.d.ts +52 -0
- package/build/types/escalation.js +29 -1
- package/build/types/index.d.ts +2 -2
- package/build/types/index.js +3 -1
- package/build/types/scan-code.d.ts +24 -0
- package/build/types/scan-code.js +9 -0
- package/build/types/startup.d.ts +20 -0
- package/dashboard/dist/assets/{AdminDashboard-DplvDBti.js → AdminDashboard-uarpHB88.js} +2 -2
- package/dashboard/dist/assets/{AdminDashboard-DplvDBti.js.map → AdminDashboard-uarpHB88.js.map} +1 -1
- package/dashboard/dist/assets/{AgentConfigPage-D8Bf6YxO.js → AgentConfigPage-BcUaDD5E.js} +6 -6
- package/dashboard/dist/assets/{AgentConfigPage-D8Bf6YxO.js.map → AgentConfigPage-BcUaDD5E.js.map} +1 -1
- package/dashboard/dist/assets/{AgentDetailPage-BN8g0Y2G.js → AgentDetailPage-BaZBhK6i.js} +3 -3
- package/dashboard/dist/assets/{AgentDetailPage-BN8g0Y2G.js.map → AgentDetailPage-BaZBhK6i.js.map} +1 -1
- package/dashboard/dist/assets/AgentsPage-CuVFSDc4.js +2 -0
- package/dashboard/dist/assets/{AgentsPage-7JJBHku8.js.map → AgentsPage-CuVFSDc4.js.map} +1 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-iO5NyyIK.js +2 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-iO5NyyIK.js.map +1 -0
- package/dashboard/dist/assets/{BotPicker-CGCnIz8I.js → BotPicker-CClMby6B.js} +2 -2
- package/dashboard/dist/assets/{BotPicker-CGCnIz8I.js.map → BotPicker-CClMby6B.js.map} +1 -1
- package/dashboard/dist/assets/BulkAssignModal-BL8FRgkN.js +2 -0
- package/dashboard/dist/assets/{BulkAssignModal-NJBcoj-f.js.map → BulkAssignModal-BL8FRgkN.js.map} +1 -1
- package/dashboard/dist/assets/CapabilitiesPage-D53ogPor.js +2 -0
- package/dashboard/dist/assets/{CapabilitiesPage-F8dpNn9B.js.map → CapabilitiesPage-D53ogPor.js.map} +1 -1
- package/dashboard/dist/assets/{CollapsibleSection-BZW6VpCU.js → CollapsibleSection-ow8jpbtD.js} +2 -2
- package/dashboard/dist/assets/{CollapsibleSection-BZW6VpCU.js.map → CollapsibleSection-ow8jpbtD.js.map} +1 -1
- package/dashboard/dist/assets/{ConfirmDeleteModal-64adXLdq.js → ConfirmDeleteModal-CeEDt9iJ.js} +2 -2
- package/dashboard/dist/assets/{ConfirmDeleteModal-64adXLdq.js.map → ConfirmDeleteModal-CeEDt9iJ.js.map} +1 -1
- package/dashboard/dist/assets/{CountdownTimer-BxDub9d2.js → CountdownTimer-CSqyZMCG.js} +2 -2
- package/dashboard/dist/assets/{CountdownTimer-BxDub9d2.js.map → CountdownTimer-CSqyZMCG.js.map} +1 -1
- package/dashboard/dist/assets/{CredentialsPage-CnLzopLL.js → CredentialsPage-Dx7SxA23.js} +2 -2
- package/dashboard/dist/assets/{CredentialsPage-CnLzopLL.js.map → CredentialsPage-Dx7SxA23.js.map} +1 -1
- package/dashboard/dist/assets/{CronLabel-CAD5UYDT.js → CronLabel-LYPxpvNN.js} +2 -2
- package/dashboard/dist/assets/{CronLabel-CAD5UYDT.js.map → CronLabel-LYPxpvNN.js.map} +1 -1
- package/dashboard/dist/assets/DataTable-spX1dFyb.js +2 -0
- package/dashboard/dist/assets/DataTable-spX1dFyb.js.map +1 -0
- package/dashboard/dist/assets/{DropZone-XlcY8hEH.js → DropZone-f1o-GLM8.js} +2 -2
- package/dashboard/dist/assets/{DropZone-XlcY8hEH.js.map → DropZone-f1o-GLM8.js.map} +1 -1
- package/dashboard/dist/assets/{ElapsedCell-CwO4ufd0.js → ElapsedCell-BZJTSm9N.js} +2 -2
- package/dashboard/dist/assets/{ElapsedCell-CwO4ufd0.js.map → ElapsedCell-BZJTSm9N.js.map} +1 -1
- package/dashboard/dist/assets/EntityTimelinePanel-0wIIW2en.js +2 -0
- package/dashboard/dist/assets/{EntityTimelinePanel-CkF-oW-m.js.map → EntityTimelinePanel-0wIIW2en.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationListSchemaPage-h9JO_q5f.js → EscalationListSchemaPage-CoYvtMzj.js} +3 -3
- package/dashboard/dist/assets/{EscalationListSchemaPage-h9JO_q5f.js.map → EscalationListSchemaPage-CoYvtMzj.js.map} +1 -1
- package/dashboard/dist/assets/EscalationListView-DWFHPufv.js +2 -0
- package/dashboard/dist/assets/EscalationListView-DWFHPufv.js.map +1 -0
- package/dashboard/dist/assets/{EscalationSchemaPage-mJFL5_Se.js → EscalationSchemaPage-C9Xu_A25.js} +3 -3
- package/dashboard/dist/assets/{EscalationSchemaPage-mJFL5_Se.js.map → EscalationSchemaPage-C9Xu_A25.js.map} +1 -1
- package/dashboard/dist/assets/EscalationTimeline-D8W2LNNk.js +2 -0
- package/dashboard/dist/assets/EscalationTimeline-D8W2LNNk.js.map +1 -0
- package/dashboard/dist/assets/EscalationTitleSelect-DLK8NWMp.js +2 -0
- package/dashboard/dist/assets/EscalationTitleSelect-DLK8NWMp.js.map +1 -0
- package/dashboard/dist/assets/{EscalationsOverview-DlXUFqWJ.js → EscalationsOverview-CW57FaP9.js} +2 -2
- package/dashboard/dist/assets/{EscalationsOverview-DlXUFqWJ.js.map → EscalationsOverview-CW57FaP9.js.map} +1 -1
- package/dashboard/dist/assets/{EventTable-Ike2xchn.js → EventTable-D1ctWhKf.js} +2 -2
- package/dashboard/dist/assets/{EventTable-Ike2xchn.js.map → EventTable-D1ctWhKf.js.map} +1 -1
- package/dashboard/dist/assets/{FilterBar-DMOR-O1c.js → FilterBar-C-iur-Nj.js} +2 -2
- package/dashboard/dist/assets/{FilterBar-DMOR-O1c.js.map → FilterBar-C-iur-Nj.js.map} +1 -1
- package/dashboard/dist/assets/GraphInvokePage-CcA_44M4.js +2 -0
- package/dashboard/dist/assets/{GraphInvokePage-CKtvWowP.js.map → GraphInvokePage-CcA_44M4.js.map} +1 -1
- package/dashboard/dist/assets/HomePage-Dc085ghJ.js +2 -0
- package/dashboard/dist/assets/{HomePage-BQ3Q791Q.js.map → HomePage-Dc085ghJ.js.map} +1 -1
- package/dashboard/dist/assets/ListToolbar-h_ziBt4O.js +2 -0
- package/dashboard/dist/assets/{ListToolbar-DdJzj472.js.map → ListToolbar-h_ziBt4O.js.map} +1 -1
- package/dashboard/dist/assets/{McpOverview-BbtrduWn.js → McpOverview-qXXhbNWV.js} +2 -2
- package/dashboard/dist/assets/{McpOverview-BbtrduWn.js.map → McpOverview-qXXhbNWV.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryDetailPage-C1L4T-Wt.js → McpQueryDetailPage-SEzSbZrd.js} +2 -2
- package/dashboard/dist/assets/{McpQueryDetailPage-C1L4T-Wt.js.map → McpQueryDetailPage-SEzSbZrd.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryPage-Cy0V0kv9.js +2 -0
- package/dashboard/dist/assets/{McpQueryPage-CfJy7HZ7.js.map → McpQueryPage-Cy0V0kv9.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunDetailPage-CA9yv7he.js → McpRunDetailPage-DjJO5vSb.js} +2 -2
- package/dashboard/dist/assets/{McpRunDetailPage-CA9yv7he.js.map → McpRunDetailPage-DjJO5vSb.js.map} +1 -1
- package/dashboard/dist/assets/McpRunsPage-BfjiJ8mM.js +2 -0
- package/dashboard/dist/assets/{McpRunsPage-D7QXjW9z.js.map → McpRunsPage-BfjiJ8mM.js.map} +1 -1
- package/dashboard/dist/assets/{NamespacePill-Bb3revqD.js → NamespacePill-DADRJOUl.js} +2 -2
- package/dashboard/dist/assets/{NamespacePill-Bb3revqD.js.map → NamespacePill-DADRJOUl.js.map} +1 -1
- package/dashboard/dist/assets/OperationsPage-dJcER0T_.js +3 -0
- package/dashboard/dist/assets/OperationsPage-dJcER0T_.js.map +1 -0
- package/dashboard/dist/assets/OperatorDashboard-zCkW4eqk.js +2 -0
- package/dashboard/dist/assets/{OperatorDashboard-sXNDh1Ph.js.map → OperatorDashboard-zCkW4eqk.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeader-Di5Sz3an.js → PageHeader-Csq434-v.js} +2 -2
- package/dashboard/dist/assets/{PageHeader-Di5Sz3an.js.map → PageHeader-Csq434-v.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeaderWithStats-DutKJ-h2.js → PageHeaderWithStats-CSnk1p5A.js} +2 -2
- package/dashboard/dist/assets/{PageHeaderWithStats-DutKJ-h2.js.map → PageHeaderWithStats-CSnk1p5A.js.map} +1 -1
- package/dashboard/dist/assets/{PersonaDetailPage-NeHD-Gra.js → PersonaDetailPage-Cx6L3Jvu.js} +2 -2
- package/dashboard/dist/assets/{PersonaDetailPage-NeHD-Gra.js.map → PersonaDetailPage-Cx6L3Jvu.js.map} +1 -1
- package/dashboard/dist/assets/{PersonasPage-DavKXRWX.js → PersonasPage-DOgGUlJl.js} +2 -2
- package/dashboard/dist/assets/{PersonasPage-DavKXRWX.js.map → PersonasPage-DOgGUlJl.js.map} +1 -1
- package/dashboard/dist/assets/PortalPage-BKuL1BeJ.js +2 -0
- package/dashboard/dist/assets/PortalPage-BKuL1BeJ.js.map +1 -0
- package/dashboard/dist/assets/{ProcessDetailPage-DkdKJGe6.js → ProcessDetailPage-BFcFSDUv.js} +2 -2
- package/dashboard/dist/assets/{ProcessDetailPage-DkdKJGe6.js.map → ProcessDetailPage-BFcFSDUv.js.map} +1 -1
- package/dashboard/dist/assets/ProcessesListPage-BaHV2cXp.js +2 -0
- package/dashboard/dist/assets/{ProcessesListPage-CjwVKe32.js.map → ProcessesListPage-BaHV2cXp.js.map} +1 -1
- package/dashboard/dist/assets/ResolverForm-Bgc0Zrya.js +7 -0
- package/dashboard/dist/assets/ResolverForm-Bgc0Zrya.js.map +1 -0
- package/dashboard/dist/assets/RoleDetailPage-BPY6i3CU.js +8 -0
- package/dashboard/dist/assets/RoleDetailPage-BPY6i3CU.js.map +1 -0
- package/dashboard/dist/assets/{RolePill-DhnVPK4q.js → RolePill-BafrASDX.js} +2 -2
- package/dashboard/dist/assets/{RolePill-DhnVPK4q.js.map → RolePill-BafrASDX.js.map} +1 -1
- package/dashboard/dist/assets/{RolesPage-OM9KM8Pg.js → RolesPage-DSqqKPbv.js} +2 -2
- package/dashboard/dist/assets/{RolesPage-OM9KM8Pg.js.map → RolesPage-DSqqKPbv.js.map} +1 -1
- package/dashboard/dist/assets/RunAsSelector-B29iWwel.js +2 -0
- package/dashboard/dist/assets/{RunAsSelector-fFMt1bGe.js.map → RunAsSelector-B29iWwel.js.map} +1 -1
- package/dashboard/dist/assets/{ScanCodesPage-AujH-pPQ.js → ScanCodesPage-S8aAJfnC.js} +2 -2
- package/dashboard/dist/assets/{ScanCodesPage-AujH-pPQ.js.map → ScanCodesPage-S8aAJfnC.js.map} +1 -1
- package/dashboard/dist/assets/{ScanSchemeDetailPage-eKQpmsC_.js → ScanSchemeDetailPage-CUBRAtmJ.js} +2 -2
- package/dashboard/dist/assets/{ScanSchemeDetailPage-eKQpmsC_.js.map → ScanSchemeDetailPage-CUBRAtmJ.js.map} +1 -1
- package/dashboard/dist/assets/ScanStationPage-R9t1-CeQ.js +2 -0
- package/dashboard/dist/assets/{ScanStationPage-C1_ppDoZ.js.map → ScanStationPage-R9t1-CeQ.js.map} +1 -1
- package/dashboard/dist/assets/{ScopeBadge-CXUg0FHo.js → ScopeBadge-b6MIBiYD.js} +2 -2
- package/dashboard/dist/assets/{ScopeBadge-CXUg0FHo.js.map → ScopeBadge-b6MIBiYD.js.map} +1 -1
- package/dashboard/dist/assets/{StickyPagination-B91Pk9xh.js → StickyPagination-CkW_A507.js} +2 -2
- package/dashboard/dist/assets/{StickyPagination-B91Pk9xh.js.map → StickyPagination-CkW_A507.js.map} +1 -1
- package/dashboard/dist/assets/{StreamMessageDetail-C7SPqaJt.js → StreamMessageDetail-yzWX0wac.js} +2 -2
- package/dashboard/dist/assets/{StreamMessageDetail-C7SPqaJt.js.map → StreamMessageDetail-yzWX0wac.js.map} +1 -1
- package/dashboard/dist/assets/{SwimlaneTimeline-BcHR8ylf.js → SwimlaneTimeline-Cf4DXFxj.js} +2 -2
- package/dashboard/dist/assets/{SwimlaneTimeline-BcHR8ylf.js.map → SwimlaneTimeline-Cf4DXFxj.js.map} +1 -1
- package/dashboard/dist/assets/{TagInput-BZ8vb2oW.js → TagInput-ZrIIrEUP.js} +2 -2
- package/dashboard/dist/assets/{TagInput-BZ8vb2oW.js.map → TagInput-ZrIIrEUP.js.map} +1 -1
- package/dashboard/dist/assets/{TaskDetailPage-Bqj0I_I0.js → TaskDetailPage-DCDcEps9.js} +2 -2
- package/dashboard/dist/assets/{TaskDetailPage-Bqj0I_I0.js.map → TaskDetailPage-DCDcEps9.js.map} +1 -1
- package/dashboard/dist/assets/{TaskQueuePill-Bxir8WRl.js → TaskQueuePill-DkQ1uc6y.js} +2 -2
- package/dashboard/dist/assets/{TaskQueuePill-Bxir8WRl.js.map → TaskQueuePill-DkQ1uc6y.js.map} +1 -1
- package/dashboard/dist/assets/TasksListPage-BBATgpf7.js +2 -0
- package/dashboard/dist/assets/{TasksListPage-BB1f79lL.js.map → TasksListPage-BBATgpf7.js.map} +1 -1
- package/dashboard/dist/assets/{TimeAgo-BFnODmNe.js → TimeAgo-CSNVEjch.js} +2 -2
- package/dashboard/dist/assets/{TimeAgo-BFnODmNe.js.map → TimeAgo-CSNVEjch.js.map} +1 -1
- package/dashboard/dist/assets/{TimestampCell-BXgLOBsr.js → TimestampCell-Du1nBrPn.js} +2 -2
- package/dashboard/dist/assets/{TimestampCell-BXgLOBsr.js.map → TimestampCell-Du1nBrPn.js.map} +1 -1
- package/dashboard/dist/assets/{ToolPill-FkgTXIhq.js → ToolPill-Baxm02L6.js} +2 -2
- package/dashboard/dist/assets/{ToolPill-FkgTXIhq.js.map → ToolPill-Baxm02L6.js.map} +1 -1
- package/dashboard/dist/assets/ToolTestPanel-CF-h_5Rg.js +2 -0
- package/dashboard/dist/assets/{ToolTestPanel-Bwe3J5lj.js.map → ToolTestPanel-CF-h_5Rg.js.map} +1 -1
- package/dashboard/dist/assets/{TopicDetailPage-DAF07vZ9.js → TopicDetailPage-Dr1UmWcp.js} +3 -3
- package/dashboard/dist/assets/{TopicDetailPage-DAF07vZ9.js.map → TopicDetailPage-Dr1UmWcp.js.map} +1 -1
- package/dashboard/dist/assets/TopicsPage-CUUo-Ylf.js +2 -0
- package/dashboard/dist/assets/{TopicsPage-C1gxBUap.js.map → TopicsPage-CUUo-Ylf.js.map} +1 -1
- package/dashboard/dist/assets/{UserName-BzXJUE6q.js → UserName-kBh1dc39.js} +2 -2
- package/dashboard/dist/assets/{UserName-BzXJUE6q.js.map → UserName-kBh1dc39.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowExecutionPage-SkRU5cRX.js → WorkflowExecutionPage-CCRSbnDx.js} +2 -2
- package/dashboard/dist/assets/{WorkflowExecutionPage-SkRU5cRX.js.map → WorkflowExecutionPage-CCRSbnDx.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowPill--AYMW7u_.js → WorkflowPill-ZepbO_ny.js} +2 -2
- package/dashboard/dist/assets/{WorkflowPill--AYMW7u_.js.map → WorkflowPill-ZepbO_ny.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsDashboard-BNQVvyek.js +2 -0
- package/dashboard/dist/assets/{WorkflowsDashboard-CZAqRk1N.js.map → WorkflowsDashboard-BNQVvyek.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsOverview-BoN44VTE.js → WorkflowsOverview-DswubNJN.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsOverview-BoN44VTE.js.map → WorkflowsOverview-DswubNJN.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-CqjhtdJf.js → YamlWorkflowDetailPage-Cw9Dlmup.js} +11 -11
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-CqjhtdJf.js.map → YamlWorkflowDetailPage-Cw9Dlmup.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowsPage-CwnJkzyb.js → YamlWorkflowsPage-DB8xnIXy.js} +2 -2
- package/dashboard/dist/assets/{YamlWorkflowsPage-CwnJkzyb.js.map → YamlWorkflowsPage-DB8xnIXy.js.map} +1 -1
- package/dashboard/dist/assets/{agents-gV0Ys-sY.js → agents-BwEnf6N9.js} +2 -2
- package/dashboard/dist/assets/{agents-gV0Ys-sY.js.map → agents-BwEnf6N9.js.map} +1 -1
- package/dashboard/dist/assets/{bots-B97itB3I.js → bots-CCmJTT2u.js} +2 -2
- package/dashboard/dist/assets/{bots-B97itB3I.js.map → bots-CCmJTT2u.js.map} +1 -1
- package/dashboard/dist/assets/{capabilities-CR9xZgGd.js → capabilities-BZHgp_nh.js} +2 -2
- package/dashboard/dist/assets/{capabilities-CR9xZgGd.js.map → capabilities-BZHgp_nh.js.map} +1 -1
- package/dashboard/dist/assets/{constants-BHkpVaqx.js → constants-CeBBTzf5.js} +2 -2
- package/dashboard/dist/assets/{constants-BHkpVaqx.js.map → constants-CeBBTzf5.js.map} +1 -1
- package/dashboard/dist/assets/{controlplane-YxvP1KCa.js → controlplane-CyfwUlFA.js} +2 -2
- package/dashboard/dist/assets/{controlplane-YxvP1KCa.js.map → controlplane-CyfwUlFA.js.map} +1 -1
- package/dashboard/dist/assets/escalation-columns-BJPTNmLW.js +2 -0
- package/dashboard/dist/assets/escalation-columns-BJPTNmLW.js.map +1 -0
- package/dashboard/dist/assets/index-3gbd5neL.js +67 -0
- package/dashboard/dist/assets/index-3gbd5neL.js.map +1 -0
- package/dashboard/dist/assets/index-BAAVTyZ-.js +2 -0
- package/dashboard/dist/assets/{index-BQpV-DTG.js.map → index-BAAVTyZ-.js.map} +1 -1
- package/dashboard/dist/assets/{index-B9BBCqLI.js → index-BC6Jenlo.js} +2 -2
- package/dashboard/dist/assets/{index-B9BBCqLI.js.map → index-BC6Jenlo.js.map} +1 -1
- package/dashboard/dist/assets/index-C7KHqOTQ.js +2 -0
- package/dashboard/dist/assets/{index-Bp9KBLT5.js.map → index-C7KHqOTQ.js.map} +1 -1
- package/dashboard/dist/assets/index-CDrqqbSR.js +3 -0
- package/dashboard/dist/assets/index-CDrqqbSR.js.map +1 -0
- package/dashboard/dist/assets/index-CVwzCZ43.js +2 -0
- package/dashboard/dist/assets/{index-CFbo9FU9.js.map → index-CVwzCZ43.js.map} +1 -1
- package/dashboard/dist/assets/index-CaGF6TCC.js +2 -0
- package/dashboard/dist/assets/index-CaGF6TCC.js.map +1 -0
- package/dashboard/dist/assets/index-ClVbfe4z.js +13 -0
- package/dashboard/dist/assets/{index-Cfvkl2J0.js.map → index-ClVbfe4z.js.map} +1 -1
- package/dashboard/dist/assets/{index-DMeaiKgf.js → index-CuVkSmj5.js} +2 -2
- package/dashboard/dist/assets/{index-DMeaiKgf.js.map → index-CuVkSmj5.js.map} +1 -1
- package/dashboard/dist/assets/{index-ipqwPavs.js → index-DAuX_PlL.js} +2 -2
- package/dashboard/dist/assets/{index-ipqwPavs.js.map → index-DAuX_PlL.js.map} +1 -1
- package/dashboard/dist/assets/{index-CIpHj4di.js → index-DBWS5QL8.js} +2 -2
- package/dashboard/dist/assets/{index-CIpHj4di.js.map → index-DBWS5QL8.js.map} +1 -1
- package/dashboard/dist/assets/index-DIWCI6HC.js +2 -0
- package/dashboard/dist/assets/{index-CUZ6LYye.js.map → index-DIWCI6HC.js.map} +1 -1
- package/dashboard/dist/assets/{index-DwOnWeu8.js → index-DZ8X_Gp4.js} +2 -2
- package/dashboard/dist/assets/{index-DwOnWeu8.js.map → index-DZ8X_Gp4.js.map} +1 -1
- package/dashboard/dist/assets/index-Dh8MJl3L.css +1 -0
- package/dashboard/dist/assets/{knowledge-XX6cW4Ob.js → knowledge-CqyLhUMg.js} +2 -2
- package/dashboard/dist/assets/{knowledge-XX6cW4Ob.js.map → knowledge-CqyLhUMg.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-CH13hNH2.js → mcp-Cvu6bFYH.js} +2 -2
- package/dashboard/dist/assets/{mcp-CH13hNH2.js.map → mcp-Cvu6bFYH.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-Duydd3JA.js → mcp-query-qC6A3e9l.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-Duydd3JA.js.map → mcp-query-qC6A3e9l.js.map} +1 -1
- package/dashboard/dist/assets/metadata-display-COo3mMCr.js +2 -0
- package/dashboard/dist/assets/metadata-display-COo3mMCr.js.map +1 -0
- package/dashboard/dist/assets/{personas-mDk4lLQS.js → personas-BKN_lJuV.js} +2 -2
- package/dashboard/dist/assets/{personas-mDk4lLQS.js.map → personas-BKN_lJuV.js.map} +1 -1
- package/dashboard/dist/assets/{pipelines-B5GcgCeF.js → pipelines-BldIfv85.js} +2 -2
- package/dashboard/dist/assets/{pipelines-B5GcgCeF.js.map → pipelines-BldIfv85.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-CItmNsRp.js → tasks-B-Uay8uL.js} +2 -2
- package/dashboard/dist/assets/{tasks-CItmNsRp.js.map → tasks-B-Uay8uL.js.map} +1 -1
- package/dashboard/dist/assets/{topics-CJYG7BX5.js → topics-438EQogt.js} +2 -2
- package/dashboard/dist/assets/{topics-CJYG7BX5.js.map → topics-438EQogt.js.map} +1 -1
- package/dashboard/dist/assets/useContainerWidth-DSLp1gEm.js +2 -0
- package/dashboard/dist/assets/useContainerWidth-DSLp1gEm.js.map +1 -0
- package/dashboard/dist/assets/{useDebouncedValue-BrwgXcp8.js → useDebouncedValue-Cw8hYZ8y.js} +2 -2
- package/dashboard/dist/assets/{useDebouncedValue-BrwgXcp8.js.map → useDebouncedValue-Cw8hYZ8y.js.map} +1 -1
- package/dashboard/dist/assets/{useNamespace-CHty0HAS.js → useNamespace-D1218GQ8.js} +2 -2
- package/dashboard/dist/assets/{useNamespace-CHty0HAS.js.map → useNamespace-D1218GQ8.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-CoTsia7t.js → useYamlActivityEvents-BAQf_y_U.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-CoTsia7t.js.map → useYamlActivityEvents-BAQf_y_U.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-DeBdvyKJ.js → vendor-icons-B7OcUM6b.js} +2 -2
- package/dashboard/dist/assets/{vendor-icons-DeBdvyKJ.js.map → vendor-icons-B7OcUM6b.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-CiWwx5rM.js → yaml-workflows-CN01gEB0.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-CiWwx5rM.js.map → yaml-workflows-CN01gEB0.js.map} +1 -1
- package/dashboard/dist/index.html +3 -3
- package/docs/accumulator.md +113 -0
- package/docs/api/http/escalations.md +89 -0
- package/docs/api/http/roles.md +1 -0
- package/docs/api/sdk/escalations.md +91 -0
- package/docs/api/sdk/roles.md +2 -0
- package/docs/architecture.md +1 -1
- package/docs/code-owned-configuration.md +2 -1
- package/docs/dashboard.md +10 -4
- package/docs/hitl/design.md +1 -1
- package/docs/hitl/escalation.md +37 -1
- package/docs/hitl/invoke-form.md +4 -0
- package/docs/hitl/pinned-views.md +4 -0
- package/docs/hitl/portal.md +97 -0
- package/docs/hitl/resolution.md +41 -0
- package/docs/hitl/x-lt-embed.md +1 -1
- package/docs/hitl/x-lt-invoke.md +95 -0
- package/docs/hitl/x-lt-list-schema.md +3 -1
- package/docs/hitl/x-lt-widget.md +1 -0
- package/docs/hitl-guide.md +8 -1
- package/docs/scan-codes.md +15 -2
- package/docs/sdk.md +1 -1
- package/docs/workflows.md +2 -2
- package/package.json +4 -2
- package/dashboard/dist/assets/AgentsPage-7JJBHku8.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-lz5qwSjg.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-lz5qwSjg.js.map +0 -1
- package/dashboard/dist/assets/BulkAssignModal-NJBcoj-f.js +0 -2
- package/dashboard/dist/assets/CapabilitiesPage-F8dpNn9B.js +0 -2
- package/dashboard/dist/assets/DataTable-7C7riavf.js +0 -2
- package/dashboard/dist/assets/DataTable-7C7riavf.js.map +0 -1
- package/dashboard/dist/assets/EntityTimelinePanel-CkF-oW-m.js +0 -2
- package/dashboard/dist/assets/EscalationListView-AHW2xtlr.js +0 -2
- package/dashboard/dist/assets/EscalationListView-AHW2xtlr.js.map +0 -1
- package/dashboard/dist/assets/GraphInvokePage-CKtvWowP.js +0 -2
- package/dashboard/dist/assets/HomePage-BQ3Q791Q.js +0 -2
- package/dashboard/dist/assets/ListToolbar-DdJzj472.js +0 -2
- package/dashboard/dist/assets/McpQueryPage-CfJy7HZ7.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-D7QXjW9z.js +0 -2
- package/dashboard/dist/assets/OperationsPage-aLHHAP2X.js +0 -3
- package/dashboard/dist/assets/OperationsPage-aLHHAP2X.js.map +0 -1
- package/dashboard/dist/assets/OperatorDashboard-sXNDh1Ph.js +0 -2
- package/dashboard/dist/assets/ProcessesListPage-CjwVKe32.js +0 -2
- package/dashboard/dist/assets/ResolverForm-Bk-wDkN-.js +0 -3
- package/dashboard/dist/assets/ResolverForm-Bk-wDkN-.js.map +0 -1
- package/dashboard/dist/assets/RoleDetailPage-WQt0y5l7.js +0 -8
- package/dashboard/dist/assets/RoleDetailPage-WQt0y5l7.js.map +0 -1
- package/dashboard/dist/assets/RunAsSelector-fFMt1bGe.js +0 -2
- package/dashboard/dist/assets/ScanStationPage-C1_ppDoZ.js +0 -2
- package/dashboard/dist/assets/TasksListPage-BB1f79lL.js +0 -2
- package/dashboard/dist/assets/ToolTestPanel-Bwe3J5lj.js +0 -2
- package/dashboard/dist/assets/TopicsPage-C1gxBUap.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-CZAqRk1N.js +0 -2
- package/dashboard/dist/assets/escalation-columns-uq-IV2aj.js +0 -2
- package/dashboard/dist/assets/escalation-columns-uq-IV2aj.js.map +0 -1
- package/dashboard/dist/assets/index-3ezfWLkE.js +0 -6
- package/dashboard/dist/assets/index-3ezfWLkE.js.map +0 -1
- package/dashboard/dist/assets/index-BQpV-DTG.js +0 -2
- package/dashboard/dist/assets/index-Bp9KBLT5.js +0 -2
- package/dashboard/dist/assets/index-Bpvfr4OW.css +0 -1
- package/dashboard/dist/assets/index-CFbo9FU9.js +0 -2
- package/dashboard/dist/assets/index-CIwlVfvV.js +0 -67
- package/dashboard/dist/assets/index-CIwlVfvV.js.map +0 -1
- package/dashboard/dist/assets/index-CUZ6LYye.js +0 -2
- package/dashboard/dist/assets/index-Cfvkl2J0.js +0 -13
- package/dashboard/dist/assets/index-SGyrXGp8.js +0 -3
- package/dashboard/dist/assets/index-SGyrXGp8.js.map +0 -1
- package/dashboard/dist/assets/invoke-context-DrVyUEfs.js +0 -2
- package/dashboard/dist/assets/invoke-context-DrVyUEfs.js.map +0 -1
- package/dashboard/dist/assets/metadata-display--TzK0REC.js +0 -2
- package/dashboard/dist/assets/metadata-display--TzK0REC.js.map +0 -1
- package/dashboard/dist/assets/resolver-payload-m9AGKZ3a.js +0 -2
- package/dashboard/dist/assets/resolver-payload-m9AGKZ3a.js.map +0 -1
- package/docs/compilation.md +0 -152
- package/docs/compiler.md +0 -311
- package/docs/contributing.md +0 -56
- package/docs/design-principles.md +0 -245
- package/docs/schema-exchange.md +0 -173
- package/docs/self-test.md +0 -106
- package/docs/story.md +0 -184
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* x-lt-bind — maps the escalation FORM (flat field values the user edits) to and
|
|
3
|
-
* from the PAYLOAD (the nested JSON the workflow consumes). A form_schema property
|
|
4
|
-
* may declare `x-lt-bind: "a.b[0].c"`, the path its value occupies in the payload;
|
|
5
|
-
* a property with no bind sits at its own name at the root (1:1). This module is
|
|
6
|
-
* isomorphic — the dashboard renders forms with it, and the API layer inverts a
|
|
7
|
-
* submitted payload through it to validate against the form contract. One
|
|
8
|
-
* implementation, both sides.
|
|
9
|
-
*
|
|
10
|
-
* mapPayloadToForm — payload → flat form values, to PREFILL/display the form
|
|
11
|
-
* (server-side: to validate a submitted payload)
|
|
12
|
-
* mapFormToPayload — flat form values → payload, the shape submitted/stored
|
|
13
|
-
*/
|
|
14
1
|
type PathSeg = {
|
|
15
2
|
key: string;
|
|
16
3
|
} | {
|
|
@@ -27,7 +14,8 @@ export declare function bindPathFor(propName: string, propDef: Record<string, an
|
|
|
27
14
|
/**
|
|
28
15
|
* Assemble the payload from the form's flat values. A field absent from
|
|
29
16
|
* `formValues` is omitted (so clearing/deleting a field drops it from the
|
|
30
|
-
* payload). Unknown keys not declared in the schema are dropped
|
|
17
|
+
* payload). Unknown keys not declared in the schema are dropped, and so are
|
|
18
|
+
* display-only widget fields, which carry no answer. With no schema
|
|
31
19
|
* properties, values pass through unchanged.
|
|
32
20
|
*/
|
|
33
21
|
export declare function mapFormToPayload(formValues: Record<string, any>, formSchema: Record<string, any> | null | undefined): Record<string, any>;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parsePath = parsePath;
|
|
4
|
+
exports.setDeep = setDeep;
|
|
5
|
+
exports.getDeep = getDeep;
|
|
6
|
+
exports.bindPathFor = bindPathFor;
|
|
7
|
+
exports.mapFormToPayload = mapFormToPayload;
|
|
8
|
+
exports.mapPayloadToForm = mapPayloadToForm;
|
|
2
9
|
/**
|
|
3
10
|
* x-lt-bind — maps the escalation FORM (flat field values the user edits) to and
|
|
4
11
|
* from the PAYLOAD (the nested JSON the workflow consumes). A form_schema property
|
|
@@ -12,13 +19,7 @@
|
|
|
12
19
|
* (server-side: to validate a submitted payload)
|
|
13
20
|
* mapFormToPayload — flat form values → payload, the shape submitted/stored
|
|
14
21
|
*/
|
|
15
|
-
|
|
16
|
-
exports.parsePath = parsePath;
|
|
17
|
-
exports.setDeep = setDeep;
|
|
18
|
-
exports.getDeep = getDeep;
|
|
19
|
-
exports.bindPathFor = bindPathFor;
|
|
20
|
-
exports.mapFormToPayload = mapFormToPayload;
|
|
21
|
-
exports.mapPayloadToForm = mapPayloadToForm;
|
|
22
|
+
const display_only_widgets_1 = require("./display-only-widgets");
|
|
22
23
|
const BLOCKED_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
|
|
23
24
|
/** Parse a bind path — dot keys with optional `[n]` indices. Rejects pollution keys. */
|
|
24
25
|
function parsePath(path) {
|
|
@@ -75,7 +76,8 @@ function bindPathFor(propName, propDef) {
|
|
|
75
76
|
/**
|
|
76
77
|
* Assemble the payload from the form's flat values. A field absent from
|
|
77
78
|
* `formValues` is omitted (so clearing/deleting a field drops it from the
|
|
78
|
-
* payload). Unknown keys not declared in the schema are dropped
|
|
79
|
+
* payload). Unknown keys not declared in the schema are dropped, and so are
|
|
80
|
+
* display-only widget fields, which carry no answer. With no schema
|
|
79
81
|
* properties, values pass through unchanged.
|
|
80
82
|
*/
|
|
81
83
|
function mapFormToPayload(formValues, formSchema) {
|
|
@@ -86,6 +88,8 @@ function mapFormToPayload(formValues, formSchema) {
|
|
|
86
88
|
for (const [name, def] of Object.entries(props)) {
|
|
87
89
|
if (!(name in formValues))
|
|
88
90
|
continue;
|
|
91
|
+
if ((0, display_only_widgets_1.isDisplayOnlyField)(def))
|
|
92
|
+
continue;
|
|
89
93
|
setDeep(payload, bindPathFor(name, def), formValues[name]);
|
|
90
94
|
}
|
|
91
95
|
return payload;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const X_LT_INVOKE = "x-lt-invoke";
|
|
2
|
+
export declare const INVOKE_WIDGET: "invoke";
|
|
3
|
+
export declare const INVOKE_VARIANTS: {
|
|
4
|
+
readonly LINK: "link";
|
|
5
|
+
readonly BUTTON: "button";
|
|
6
|
+
};
|
|
7
|
+
export type InvokeVariant = (typeof INVOKE_VARIANTS)[keyof typeof INVOKE_VARIANTS];
|
|
8
|
+
export interface InvokeConfig {
|
|
9
|
+
/** The workflow_type to start. */
|
|
10
|
+
workflow: string;
|
|
11
|
+
/** Nested invoke `data` template; leaves interpolate against the context. */
|
|
12
|
+
data: Record<string, unknown>;
|
|
13
|
+
/** Extra run metadata template, merged over the workflow's declared metadata. */
|
|
14
|
+
metadata: Record<string, unknown>;
|
|
15
|
+
/** Open the workflow's input form prefilled instead of posting directly. */
|
|
16
|
+
modal: boolean;
|
|
17
|
+
/** Direct mode only: a prompt to confirm before posting; tokens interpolate. */
|
|
18
|
+
confirm: string | null;
|
|
19
|
+
variant: InvokeVariant;
|
|
20
|
+
/** Lead the label with the workflow's registered icon. */
|
|
21
|
+
icon: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface InvokePayload {
|
|
24
|
+
data: Record<string, unknown>;
|
|
25
|
+
metadata: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
type Ctx = Record<string, unknown> | null | undefined;
|
|
28
|
+
/** The field's invoke declaration, or null when it names no workflow. */
|
|
29
|
+
export declare function readInvokeConfig(fieldSchema: Record<string, unknown> | null | undefined): InvokeConfig | null;
|
|
30
|
+
/**
|
|
31
|
+
* Resolve one template value against the context, keeping the type of a
|
|
32
|
+
* whole-token leaf. Returns undefined for a token with no value so the
|
|
33
|
+
* caller omits the key.
|
|
34
|
+
*/
|
|
35
|
+
export declare function interpolateInvokeValue(value: unknown, ctx: Ctx): unknown;
|
|
36
|
+
/** The invoke payload for one context: `data` and `metadata` fully resolved. */
|
|
37
|
+
export declare function resolveInvokePayload(config: InvokeConfig, ctx: Ctx): InvokePayload;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INVOKE_VARIANTS = exports.INVOKE_WIDGET = exports.X_LT_INVOKE = void 0;
|
|
4
|
+
exports.readInvokeConfig = readInvokeConfig;
|
|
5
|
+
exports.interpolateInvokeValue = interpolateInvokeValue;
|
|
6
|
+
exports.resolveInvokePayload = resolveInvokePayload;
|
|
7
|
+
/**
|
|
8
|
+
* x-lt-invoke: start a workflow from inside a form. A display-only field
|
|
9
|
+
* declares the target workflow and how the form's context maps into the
|
|
10
|
+
* invoke payload:
|
|
11
|
+
*
|
|
12
|
+
* "x-lt-widget": "invoke",
|
|
13
|
+
* "x-lt-invoke": {
|
|
14
|
+
* "workflow": "printPamphlet",
|
|
15
|
+
* "data": { "order": { "id": "{{metadata.orderId}}" }, "copies": 1 },
|
|
16
|
+
* "metadata": { "escalationId": "{{escalation.id}}" },
|
|
17
|
+
* "modal": true,
|
|
18
|
+
* "confirm": "Print a pamphlet for {{metadata.orderId}}?",
|
|
19
|
+
* "variant": "link",
|
|
20
|
+
* "icon": true
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* `data` is the nested payload the invoke API receives. In direct mode it is
|
|
24
|
+
* posted as resolved; in modal mode it prefills the workflow's own input form
|
|
25
|
+
* through the x-lt-bind inversion. One declaration serves both.
|
|
26
|
+
*
|
|
27
|
+
* Interpolation keeps types: a leaf that is exactly one `{{domain.path}}`
|
|
28
|
+
* token becomes the raw context value (a number stays a number); a leaf that
|
|
29
|
+
* mixes text and tokens becomes a string; a token with no value drops its key
|
|
30
|
+
* so the target's own defaults apply. Objects and arrays recurse; every other
|
|
31
|
+
* leaf passes through unchanged.
|
|
32
|
+
*/
|
|
33
|
+
const display_only_widgets_1 = require("./display-only-widgets");
|
|
34
|
+
const ctx_path_1 = require("./ctx-path");
|
|
35
|
+
exports.X_LT_INVOKE = 'x-lt-invoke';
|
|
36
|
+
exports.INVOKE_WIDGET = display_only_widgets_1.DISPLAY_ONLY_WIDGET_NAMES.INVOKE;
|
|
37
|
+
exports.INVOKE_VARIANTS = {
|
|
38
|
+
LINK: 'link',
|
|
39
|
+
BUTTON: 'button',
|
|
40
|
+
};
|
|
41
|
+
const WHOLE_TOKEN_PATTERN = /^\{\{\s*([^{}]+?)\s*\}\}$/;
|
|
42
|
+
function isPlainObject(value) {
|
|
43
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
44
|
+
}
|
|
45
|
+
function isVariant(value) {
|
|
46
|
+
return value === exports.INVOKE_VARIANTS.LINK || value === exports.INVOKE_VARIANTS.BUTTON;
|
|
47
|
+
}
|
|
48
|
+
/** The field's invoke declaration, or null when it names no workflow. */
|
|
49
|
+
function readInvokeConfig(fieldSchema) {
|
|
50
|
+
const raw = fieldSchema?.[exports.X_LT_INVOKE];
|
|
51
|
+
if (!isPlainObject(raw))
|
|
52
|
+
return null;
|
|
53
|
+
const workflow = raw.workflow;
|
|
54
|
+
if (typeof workflow !== 'string' || workflow.trim().length === 0)
|
|
55
|
+
return null;
|
|
56
|
+
const confirm = raw.confirm;
|
|
57
|
+
return {
|
|
58
|
+
workflow: workflow.trim(),
|
|
59
|
+
data: isPlainObject(raw.data) ? raw.data : {},
|
|
60
|
+
metadata: isPlainObject(raw.metadata) ? raw.metadata : {},
|
|
61
|
+
modal: raw.modal === true,
|
|
62
|
+
confirm: typeof confirm === 'string' && confirm.trim().length > 0 ? confirm : null,
|
|
63
|
+
variant: isVariant(raw.variant) ? raw.variant : exports.INVOKE_VARIANTS.LINK,
|
|
64
|
+
icon: raw.icon !== false,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Resolve one template value against the context, keeping the type of a
|
|
69
|
+
* whole-token leaf. Returns undefined for a token with no value so the
|
|
70
|
+
* caller omits the key.
|
|
71
|
+
*/
|
|
72
|
+
function interpolateInvokeValue(value, ctx) {
|
|
73
|
+
if (typeof value === 'string') {
|
|
74
|
+
const whole = WHOLE_TOKEN_PATTERN.exec(value);
|
|
75
|
+
if (whole) {
|
|
76
|
+
const resolved = (0, ctx_path_1.resolveCtxPath)(whole[1], ctx ?? undefined);
|
|
77
|
+
return resolved === null ? undefined : resolved;
|
|
78
|
+
}
|
|
79
|
+
if ((0, ctx_path_1.hasInterpolation)(value))
|
|
80
|
+
return (0, ctx_path_1.interpolatePath)(value, ctx ?? undefined) ?? undefined;
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
83
|
+
if (Array.isArray(value)) {
|
|
84
|
+
return value.map((v) => interpolateInvokeValue(v, ctx)).filter((v) => v !== undefined);
|
|
85
|
+
}
|
|
86
|
+
if (isPlainObject(value)) {
|
|
87
|
+
const out = {};
|
|
88
|
+
for (const [key, v] of Object.entries(value)) {
|
|
89
|
+
const resolved = interpolateInvokeValue(v, ctx);
|
|
90
|
+
if (resolved !== undefined)
|
|
91
|
+
out[key] = resolved;
|
|
92
|
+
}
|
|
93
|
+
return out;
|
|
94
|
+
}
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
/** The invoke payload for one context: `data` and `metadata` fully resolved. */
|
|
98
|
+
function resolveInvokePayload(config, ctx) {
|
|
99
|
+
return {
|
|
100
|
+
data: interpolateInvokeValue(config.data, ctx),
|
|
101
|
+
metadata: interpolateInvokeValue(config.metadata, ctx),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
@@ -218,6 +218,45 @@ function registerEscalationTools(server) {
|
|
|
218
218
|
}
|
|
219
219
|
return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
|
|
220
220
|
});
|
|
221
|
+
// mirrors POST /api/escalations/:id/accumulate
|
|
222
|
+
server.registerTool('accumulate_item', {
|
|
223
|
+
title: 'Accumulate Item',
|
|
224
|
+
description: 'Add ONE item to an open accumulator escalation. Interim adds answer outcome "accepted" with the ' +
|
|
225
|
+
'count held and remaining slots; the add that reaches max completes the row and wakes the waiting ' +
|
|
226
|
+
'workflow with the ordered collection. A reciprocal row is written in the same statement, both or neither.',
|
|
227
|
+
inputSchema: schemas_1.accumulateItemSchema,
|
|
228
|
+
}, async (args) => {
|
|
229
|
+
const result = await escalationApi.accumulateItem({ id: args.id, itemKey: args.itemKey, payload: args.payload, metadata: args.metadata, reciprocal: args.reciprocal }, await systemAuth());
|
|
230
|
+
if (result.error) {
|
|
231
|
+
return { content: [{ type: 'text', text: JSON.stringify({ error: result.error, ...(result.data ?? {}) }) }], isError: true };
|
|
232
|
+
}
|
|
233
|
+
return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
|
|
234
|
+
});
|
|
235
|
+
// mirrors POST /api/escalations/:id/remove-item
|
|
236
|
+
server.registerTool('remove_item', {
|
|
237
|
+
title: 'Remove Item',
|
|
238
|
+
description: 'Remove ONE held item from a pending open accumulator escalation. The row stays pending and the ' +
|
|
239
|
+
'waiting workflow is never woken.',
|
|
240
|
+
inputSchema: schemas_1.removeItemSchema,
|
|
241
|
+
}, async (args) => {
|
|
242
|
+
const result = await escalationApi.removeItem({ id: args.id, itemKey: args.itemKey, reciprocal: args.reciprocal }, await systemAuth());
|
|
243
|
+
if (result.error) {
|
|
244
|
+
return { content: [{ type: 'text', text: JSON.stringify({ error: result.error, ...(result.data ?? {}) }) }], isError: true };
|
|
245
|
+
}
|
|
246
|
+
return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
|
|
247
|
+
});
|
|
248
|
+
// mirrors GET /api/escalations/:id/items
|
|
249
|
+
server.registerTool('get_escalation_items', {
|
|
250
|
+
title: 'Get Escalation Items',
|
|
251
|
+
description: 'The held items of an accumulator or batch escalation in arrival order, with the count and max.',
|
|
252
|
+
inputSchema: schemas_1.getEscalationItemsSchema,
|
|
253
|
+
}, async (args) => {
|
|
254
|
+
const result = await escalationApi.getEscalationItems({ id: args.id }, await systemAuth());
|
|
255
|
+
if (result.error) {
|
|
256
|
+
return { content: [{ type: 'text', text: JSON.stringify({ error: result.error }) }], isError: true };
|
|
257
|
+
}
|
|
258
|
+
return { content: [{ type: 'text', text: JSON.stringify(result.data) }] };
|
|
259
|
+
});
|
|
221
260
|
// mirrors POST /api/escalations/resolve-by-signal-key
|
|
222
261
|
server.registerTool('resolve_by_signal_key', {
|
|
223
262
|
title: 'Resolve by Signal Key',
|
|
@@ -195,6 +195,101 @@ export declare const resolveBySignalKeySchema: z.ZodObject<{
|
|
|
195
195
|
signalKey: string;
|
|
196
196
|
resolverPayload: Record<string, any>;
|
|
197
197
|
}>;
|
|
198
|
+
export declare const accumulateItemSchema: z.ZodObject<{
|
|
199
|
+
id: z.ZodString;
|
|
200
|
+
itemKey: z.ZodString;
|
|
201
|
+
payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
202
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
203
|
+
reciprocal: z.ZodOptional<z.ZodObject<{
|
|
204
|
+
id: z.ZodOptional<z.ZodString>;
|
|
205
|
+
signalKey: z.ZodOptional<z.ZodString>;
|
|
206
|
+
key: z.ZodOptional<z.ZodString>;
|
|
207
|
+
value: z.ZodOptional<z.ZodString>;
|
|
208
|
+
payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
209
|
+
}, "strip", z.ZodTypeAny, {
|
|
210
|
+
key?: string | undefined;
|
|
211
|
+
value?: string | undefined;
|
|
212
|
+
id?: string | undefined;
|
|
213
|
+
signalKey?: string | undefined;
|
|
214
|
+
payload?: Record<string, any> | undefined;
|
|
215
|
+
}, {
|
|
216
|
+
key?: string | undefined;
|
|
217
|
+
value?: string | undefined;
|
|
218
|
+
id?: string | undefined;
|
|
219
|
+
signalKey?: string | undefined;
|
|
220
|
+
payload?: Record<string, any> | undefined;
|
|
221
|
+
}>>;
|
|
222
|
+
}, "strip", z.ZodTypeAny, {
|
|
223
|
+
id: string;
|
|
224
|
+
itemKey: string;
|
|
225
|
+
metadata?: Record<string, any> | undefined;
|
|
226
|
+
payload?: Record<string, any> | undefined;
|
|
227
|
+
reciprocal?: {
|
|
228
|
+
key?: string | undefined;
|
|
229
|
+
value?: string | undefined;
|
|
230
|
+
id?: string | undefined;
|
|
231
|
+
signalKey?: string | undefined;
|
|
232
|
+
payload?: Record<string, any> | undefined;
|
|
233
|
+
} | undefined;
|
|
234
|
+
}, {
|
|
235
|
+
id: string;
|
|
236
|
+
itemKey: string;
|
|
237
|
+
metadata?: Record<string, any> | undefined;
|
|
238
|
+
payload?: Record<string, any> | undefined;
|
|
239
|
+
reciprocal?: {
|
|
240
|
+
key?: string | undefined;
|
|
241
|
+
value?: string | undefined;
|
|
242
|
+
id?: string | undefined;
|
|
243
|
+
signalKey?: string | undefined;
|
|
244
|
+
payload?: Record<string, any> | undefined;
|
|
245
|
+
} | undefined;
|
|
246
|
+
}>;
|
|
247
|
+
export declare const removeItemSchema: z.ZodObject<{
|
|
248
|
+
id: z.ZodString;
|
|
249
|
+
itemKey: z.ZodString;
|
|
250
|
+
reciprocal: z.ZodOptional<z.ZodObject<Omit<{
|
|
251
|
+
id: z.ZodOptional<z.ZodString>;
|
|
252
|
+
signalKey: z.ZodOptional<z.ZodString>;
|
|
253
|
+
key: z.ZodOptional<z.ZodString>;
|
|
254
|
+
value: z.ZodOptional<z.ZodString>;
|
|
255
|
+
payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
256
|
+
}, "payload">, "strip", z.ZodTypeAny, {
|
|
257
|
+
key?: string | undefined;
|
|
258
|
+
value?: string | undefined;
|
|
259
|
+
id?: string | undefined;
|
|
260
|
+
signalKey?: string | undefined;
|
|
261
|
+
}, {
|
|
262
|
+
key?: string | undefined;
|
|
263
|
+
value?: string | undefined;
|
|
264
|
+
id?: string | undefined;
|
|
265
|
+
signalKey?: string | undefined;
|
|
266
|
+
}>>;
|
|
267
|
+
}, "strip", z.ZodTypeAny, {
|
|
268
|
+
id: string;
|
|
269
|
+
itemKey: string;
|
|
270
|
+
reciprocal?: {
|
|
271
|
+
key?: string | undefined;
|
|
272
|
+
value?: string | undefined;
|
|
273
|
+
id?: string | undefined;
|
|
274
|
+
signalKey?: string | undefined;
|
|
275
|
+
} | undefined;
|
|
276
|
+
}, {
|
|
277
|
+
id: string;
|
|
278
|
+
itemKey: string;
|
|
279
|
+
reciprocal?: {
|
|
280
|
+
key?: string | undefined;
|
|
281
|
+
value?: string | undefined;
|
|
282
|
+
id?: string | undefined;
|
|
283
|
+
signalKey?: string | undefined;
|
|
284
|
+
} | undefined;
|
|
285
|
+
}>;
|
|
286
|
+
export declare const getEscalationItemsSchema: z.ZodObject<{
|
|
287
|
+
id: z.ZodString;
|
|
288
|
+
}, "strip", z.ZodTypeAny, {
|
|
289
|
+
id: string;
|
|
290
|
+
}, {
|
|
291
|
+
id: string;
|
|
292
|
+
}>;
|
|
198
293
|
export declare const escalateEscalationSchema: z.ZodObject<{
|
|
199
294
|
id: z.ZodString;
|
|
200
295
|
targetRole: z.ZodString;
|
|
@@ -509,8 +604,8 @@ export declare const invokeYamlWorkflowSchema: z.ZodObject<{
|
|
|
509
604
|
timeout?: number | undefined;
|
|
510
605
|
}, {
|
|
511
606
|
id: string;
|
|
512
|
-
data?: Record<string, any> | undefined;
|
|
513
607
|
timeout?: number | undefined;
|
|
608
|
+
data?: Record<string, any> | undefined;
|
|
514
609
|
sync?: boolean | undefined;
|
|
515
610
|
}>;
|
|
516
611
|
export declare const listUsersSchema: z.ZodObject<{
|
|
@@ -666,6 +761,62 @@ export declare const updateRoleSchema: z.ZodObject<{
|
|
|
666
761
|
label: string;
|
|
667
762
|
badge?: boolean | undefined;
|
|
668
763
|
}>, "many">>>;
|
|
764
|
+
portals: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
765
|
+
key: z.ZodString;
|
|
766
|
+
label: z.ZodString;
|
|
767
|
+
rows: z.ZodArray<z.ZodArray<z.ZodObject<{
|
|
768
|
+
label: z.ZodString;
|
|
769
|
+
url: z.ZodString;
|
|
770
|
+
badge: z.ZodOptional<z.ZodBoolean>;
|
|
771
|
+
}, "strip", z.ZodTypeAny, {
|
|
772
|
+
url: string;
|
|
773
|
+
label: string;
|
|
774
|
+
badge?: boolean | undefined;
|
|
775
|
+
}, {
|
|
776
|
+
url: string;
|
|
777
|
+
label: string;
|
|
778
|
+
badge?: boolean | undefined;
|
|
779
|
+
}>, "many">, "many">;
|
|
780
|
+
counts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
781
|
+
label: z.ZodString;
|
|
782
|
+
url: z.ZodString;
|
|
783
|
+
blurb: z.ZodOptional<z.ZodString>;
|
|
784
|
+
}, "strip", z.ZodTypeAny, {
|
|
785
|
+
url: string;
|
|
786
|
+
label: string;
|
|
787
|
+
blurb?: string | undefined;
|
|
788
|
+
}, {
|
|
789
|
+
url: string;
|
|
790
|
+
label: string;
|
|
791
|
+
blurb?: string | undefined;
|
|
792
|
+
}>, "many">>;
|
|
793
|
+
}, "strip", z.ZodTypeAny, {
|
|
794
|
+
key: string;
|
|
795
|
+
rows: {
|
|
796
|
+
url: string;
|
|
797
|
+
label: string;
|
|
798
|
+
badge?: boolean | undefined;
|
|
799
|
+
}[][];
|
|
800
|
+
label: string;
|
|
801
|
+
counts?: {
|
|
802
|
+
url: string;
|
|
803
|
+
label: string;
|
|
804
|
+
blurb?: string | undefined;
|
|
805
|
+
}[] | undefined;
|
|
806
|
+
}, {
|
|
807
|
+
key: string;
|
|
808
|
+
rows: {
|
|
809
|
+
url: string;
|
|
810
|
+
label: string;
|
|
811
|
+
badge?: boolean | undefined;
|
|
812
|
+
}[][];
|
|
813
|
+
label: string;
|
|
814
|
+
counts?: {
|
|
815
|
+
url: string;
|
|
816
|
+
label: string;
|
|
817
|
+
blurb?: string | undefined;
|
|
818
|
+
}[] | undefined;
|
|
819
|
+
}>, "many">>>;
|
|
669
820
|
change_summary: z.ZodOptional<z.ZodString>;
|
|
670
821
|
}, "strip", z.ZodTypeAny, {
|
|
671
822
|
role: string;
|
|
@@ -680,6 +831,20 @@ export declare const updateRoleSchema: z.ZodObject<{
|
|
|
680
831
|
label: string;
|
|
681
832
|
badge?: boolean | undefined;
|
|
682
833
|
}[] | null | undefined;
|
|
834
|
+
portals?: {
|
|
835
|
+
key: string;
|
|
836
|
+
rows: {
|
|
837
|
+
url: string;
|
|
838
|
+
label: string;
|
|
839
|
+
badge?: boolean | undefined;
|
|
840
|
+
}[][];
|
|
841
|
+
label: string;
|
|
842
|
+
counts?: {
|
|
843
|
+
url: string;
|
|
844
|
+
label: string;
|
|
845
|
+
blurb?: string | undefined;
|
|
846
|
+
}[] | undefined;
|
|
847
|
+
}[] | null | undefined;
|
|
683
848
|
ops_visible?: boolean | undefined;
|
|
684
849
|
ops_home_default?: boolean | undefined;
|
|
685
850
|
parent_role?: string | null | undefined;
|
|
@@ -706,6 +871,20 @@ export declare const updateRoleSchema: z.ZodObject<{
|
|
|
706
871
|
label: string;
|
|
707
872
|
badge?: boolean | undefined;
|
|
708
873
|
}[] | null | undefined;
|
|
874
|
+
portals?: {
|
|
875
|
+
key: string;
|
|
876
|
+
rows: {
|
|
877
|
+
url: string;
|
|
878
|
+
label: string;
|
|
879
|
+
badge?: boolean | undefined;
|
|
880
|
+
}[][];
|
|
881
|
+
label: string;
|
|
882
|
+
counts?: {
|
|
883
|
+
url: string;
|
|
884
|
+
label: string;
|
|
885
|
+
blurb?: string | undefined;
|
|
886
|
+
}[] | undefined;
|
|
887
|
+
}[] | null | undefined;
|
|
709
888
|
ops_visible?: boolean | undefined;
|
|
710
889
|
ops_home_default?: boolean | undefined;
|
|
711
890
|
parent_role?: string | null | undefined;
|
|
@@ -1498,13 +1677,13 @@ export declare const diagnoseJobSchema: z.ZodObject<{
|
|
|
1498
1677
|
workflow_id: string;
|
|
1499
1678
|
max_events: number;
|
|
1500
1679
|
include?: ("streams" | "events")[] | undefined;
|
|
1501
|
-
verbosity?: "
|
|
1680
|
+
verbosity?: "full" | "summary" | undefined;
|
|
1502
1681
|
}, {
|
|
1503
1682
|
workflow_id: string;
|
|
1504
1683
|
app_id?: string | undefined;
|
|
1505
1684
|
max_events?: number | undefined;
|
|
1506
1685
|
include?: ("streams" | "events")[] | undefined;
|
|
1507
|
-
verbosity?: "
|
|
1686
|
+
verbosity?: "full" | "summary" | undefined;
|
|
1508
1687
|
}>;
|
|
1509
1688
|
export declare const findStalledJobsSchema: z.ZodObject<{
|
|
1510
1689
|
app_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
@@ -2354,7 +2533,7 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2354
2533
|
code: z.ZodOptional<z.ZodString>;
|
|
2355
2534
|
}, "strip", z.ZodTypeAny, {
|
|
2356
2535
|
label: string;
|
|
2357
|
-
verb: "show-detail" | "claim" | "claim-show-detail" | "release" | "
|
|
2536
|
+
verb: "resolve" | "show-detail" | "claim" | "claim-show-detail" | "release" | "escalate" | "cancel";
|
|
2358
2537
|
code?: string | undefined;
|
|
2359
2538
|
params?: {
|
|
2360
2539
|
description?: string | undefined;
|
|
@@ -2371,7 +2550,7 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2371
2550
|
requireActingIdentity?: boolean | undefined;
|
|
2372
2551
|
}, {
|
|
2373
2552
|
label: string;
|
|
2374
|
-
verb: "show-detail" | "claim" | "claim-show-detail" | "release" | "
|
|
2553
|
+
verb: "resolve" | "show-detail" | "claim" | "claim-show-detail" | "release" | "escalate" | "cancel";
|
|
2375
2554
|
code?: string | undefined;
|
|
2376
2555
|
params?: {
|
|
2377
2556
|
description?: string | undefined;
|
|
@@ -2395,10 +2574,10 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2395
2574
|
facets?: Record<string, any> | undefined;
|
|
2396
2575
|
availability?: "available" | "claimed" | "mine" | "any" | undefined;
|
|
2397
2576
|
};
|
|
2398
|
-
verb: "show-detail" | "show-list" | "claim" | "claim-show-detail" | "release" | "
|
|
2577
|
+
verb: "resolve" | "show-detail" | "show-list" | "claim" | "claim-show-detail" | "release" | "escalate" | "cancel" | "present";
|
|
2399
2578
|
choices?: {
|
|
2400
2579
|
label: string;
|
|
2401
|
-
verb: "show-detail" | "claim" | "claim-show-detail" | "release" | "
|
|
2580
|
+
verb: "resolve" | "show-detail" | "claim" | "claim-show-detail" | "release" | "escalate" | "cancel";
|
|
2402
2581
|
code?: string | undefined;
|
|
2403
2582
|
params?: {
|
|
2404
2583
|
description?: string | undefined;
|
|
@@ -2436,10 +2615,10 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2436
2615
|
facets?: Record<string, any> | undefined;
|
|
2437
2616
|
availability?: "available" | "claimed" | "mine" | "any" | undefined;
|
|
2438
2617
|
};
|
|
2439
|
-
verb: "show-detail" | "show-list" | "claim" | "claim-show-detail" | "release" | "
|
|
2618
|
+
verb: "resolve" | "show-detail" | "show-list" | "claim" | "claim-show-detail" | "release" | "escalate" | "cancel" | "present";
|
|
2440
2619
|
choices?: {
|
|
2441
2620
|
label: string;
|
|
2442
|
-
verb: "show-detail" | "claim" | "claim-show-detail" | "release" | "
|
|
2621
|
+
verb: "resolve" | "show-detail" | "claim" | "claim-show-detail" | "release" | "escalate" | "cancel";
|
|
2443
2622
|
code?: string | undefined;
|
|
2444
2623
|
params?: {
|
|
2445
2624
|
description?: string | undefined;
|
|
@@ -2503,10 +2682,10 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2503
2682
|
facets?: Record<string, any> | undefined;
|
|
2504
2683
|
availability?: "available" | "claimed" | "mine" | "any" | undefined;
|
|
2505
2684
|
};
|
|
2506
|
-
verb: "show-detail" | "show-list" | "claim" | "claim-show-detail" | "release" | "
|
|
2685
|
+
verb: "resolve" | "show-detail" | "show-list" | "claim" | "claim-show-detail" | "release" | "escalate" | "cancel" | "present";
|
|
2507
2686
|
choices?: {
|
|
2508
2687
|
label: string;
|
|
2509
|
-
verb: "show-detail" | "claim" | "claim-show-detail" | "release" | "
|
|
2688
|
+
verb: "resolve" | "show-detail" | "claim" | "claim-show-detail" | "release" | "escalate" | "cancel";
|
|
2510
2689
|
code?: string | undefined;
|
|
2511
2690
|
params?: {
|
|
2512
2691
|
description?: string | undefined;
|
|
@@ -2558,10 +2737,10 @@ export declare const upsertScanRuleSchema: z.ZodObject<{
|
|
|
2558
2737
|
facets?: Record<string, any> | undefined;
|
|
2559
2738
|
availability?: "available" | "claimed" | "mine" | "any" | undefined;
|
|
2560
2739
|
};
|
|
2561
|
-
verb: "show-detail" | "show-list" | "claim" | "claim-show-detail" | "release" | "
|
|
2740
|
+
verb: "resolve" | "show-detail" | "show-list" | "claim" | "claim-show-detail" | "release" | "escalate" | "cancel" | "present";
|
|
2562
2741
|
choices?: {
|
|
2563
2742
|
label: string;
|
|
2564
|
-
verb: "show-detail" | "claim" | "claim-show-detail" | "release" | "
|
|
2743
|
+
verb: "resolve" | "show-detail" | "claim" | "claim-show-detail" | "release" | "escalate" | "cancel";
|
|
2565
2744
|
code?: string | undefined;
|
|
2566
2745
|
params?: {
|
|
2567
2746
|
description?: string | 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 = exports.findOrphanedSignalsSchema = void 0;
|
|
3
|
+
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.getEscalationItemsSchema = exports.removeItemSchema = exports.accumulateItemSchema = exports.resolveBySignalKeySchema = exports.resolveEscalationSchema = exports.releaseEscalationSchema = exports.claimEscalationSchema = exports.getEscalationStatsSchema = exports.getEscalationsByWorkflowSchema = exports.getEscalationSchema = exports.findEscalationsSchema = exports.getProcessDetailSchema = exports.findTasksSchema = void 0;
|
|
4
|
+
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 = exports.linkPersonaRoleSchema = exports.deletePersonaSchema = exports.updatePersonaSchema = 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 = exports.findStalledJobsSchema = exports.diagnoseJobSchema = exports.getWorkflowEnvelopesSchema = void 0;
|
|
6
6
|
/**
|
|
7
7
|
* Zod schemas for the admin MCP server tools.
|
|
8
8
|
*
|
|
@@ -84,6 +84,28 @@ exports.resolveBySignalKeySchema = zod_1.z.object({
|
|
|
84
84
|
signalKey: zod_1.z.string().describe('Deterministic signal_key of an efficient escalation'),
|
|
85
85
|
resolverPayload: zod_1.z.record(zod_1.z.any()).describe('Resolution payload'),
|
|
86
86
|
});
|
|
87
|
+
const adminReciprocalSchema = zod_1.z.object({
|
|
88
|
+
id: zod_1.z.string().optional(),
|
|
89
|
+
signalKey: zod_1.z.string().optional(),
|
|
90
|
+
key: zod_1.z.string().optional(),
|
|
91
|
+
value: zod_1.z.string().optional(),
|
|
92
|
+
payload: zod_1.z.record(zod_1.z.any()).optional(),
|
|
93
|
+
}).describe('A second accumulator row written in the same statement, both or neither. Exactly one of id, signalKey, or key/value.');
|
|
94
|
+
exports.accumulateItemSchema = zod_1.z.object({
|
|
95
|
+
id: zod_1.z.string().describe('Accumulator escalation UUID (the container)'),
|
|
96
|
+
itemKey: zod_1.z.string().describe('The key this item is held under'),
|
|
97
|
+
payload: zod_1.z.record(zod_1.z.any()).optional().describe('Optional item payload, delivered inside $accumulated'),
|
|
98
|
+
metadata: zod_1.z.record(zod_1.z.any()).optional().describe('Merge patch for the container metadata, same statement'),
|
|
99
|
+
reciprocal: adminReciprocalSchema.optional(),
|
|
100
|
+
});
|
|
101
|
+
exports.removeItemSchema = zod_1.z.object({
|
|
102
|
+
id: zod_1.z.string().describe('Accumulator escalation UUID'),
|
|
103
|
+
itemKey: zod_1.z.string().describe('The held item key to remove'),
|
|
104
|
+
reciprocal: adminReciprocalSchema.omit({ payload: true }).optional(),
|
|
105
|
+
});
|
|
106
|
+
exports.getEscalationItemsSchema = zod_1.z.object({
|
|
107
|
+
id: zod_1.z.string().describe('Accumulator or batch escalation UUID'),
|
|
108
|
+
});
|
|
87
109
|
exports.escalateEscalationSchema = zod_1.z.object({
|
|
88
110
|
id: zod_1.z.string().describe('Escalation UUID'),
|
|
89
111
|
targetRole: zod_1.z.string().describe('Role to route the escalation to'),
|
|
@@ -296,6 +318,20 @@ exports.updateRoleSchema = zod_1.z.object({
|
|
|
296
318
|
url: zod_1.z.string().describe('Dashboard-relative deep link (must start with /)'),
|
|
297
319
|
badge: zod_1.z.boolean().optional().describe('Render a live count beside the label (escalations-list URLs)'),
|
|
298
320
|
})).nullable().optional().describe('Pinned-view seeds handed to every member of this role. Members promote, hide, or reorder them via their own preferences. Null clears.'),
|
|
321
|
+
portals: zod_1.z.array(zod_1.z.object({
|
|
322
|
+
key: zod_1.z.string().describe('Slug, unique within the role; the portal\'s address segment'),
|
|
323
|
+
label: zod_1.z.string().describe('Portal name shown in the global menu and the nav'),
|
|
324
|
+
rows: zod_1.z.array(zod_1.z.array(zod_1.z.object({
|
|
325
|
+
label: zod_1.z.string().describe('Panel title'),
|
|
326
|
+
url: zod_1.z.string().describe('Dashboard-relative escalations-list deep link (must start with /)'),
|
|
327
|
+
badge: zod_1.z.boolean().optional(),
|
|
328
|
+
})).min(1).max(6)).min(1).max(4).describe('Rows of pin cells; up to 4 rows of up to 6 cells'),
|
|
329
|
+
counts: zod_1.z.array(zod_1.z.object({
|
|
330
|
+
label: zod_1.z.string().describe('Tile title'),
|
|
331
|
+
url: zod_1.z.string().describe('Dashboard-relative escalations-list deep link whose total the tile shows'),
|
|
332
|
+
blurb: zod_1.z.string().optional().describe('One line under the number'),
|
|
333
|
+
})).max(8).optional().describe('Count tiles above the panels'),
|
|
334
|
+
})).min(1).max(12).nullable().optional().describe('The role\'s named portal views, each a matrix of pin cells rendered as one page of live list panels at /portal/:role/:key. Null clears.'),
|
|
299
335
|
change_summary: zod_1.z.string().optional().describe('Recorded on the schema version snapshot when this update changes form_schema or metadata_schema'),
|
|
300
336
|
});
|
|
301
337
|
exports.getRoleSchemaSchema = zod_1.z.object({
|
|
@@ -52,12 +52,16 @@ function docsDir() {
|
|
|
52
52
|
}
|
|
53
53
|
return candidates[0];
|
|
54
54
|
}
|
|
55
|
+
/** Folders kept out of the published package; the served set matches it. */
|
|
56
|
+
const UNPUBLISHED_DOC_DIRS = new Set(['donotcommit', 'donotpublish', 'img']);
|
|
55
57
|
function listMarkdownFiles(dir, prefix = '') {
|
|
56
58
|
if (!fs.existsSync(dir))
|
|
57
59
|
return [];
|
|
58
60
|
const results = [];
|
|
59
61
|
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
60
62
|
const rel = prefix ? `${prefix}/${entry.name}` : entry.name;
|
|
63
|
+
if (entry.isDirectory() && !prefix && UNPUBLISHED_DOC_DIRS.has(entry.name))
|
|
64
|
+
continue;
|
|
61
65
|
if (entry.isDirectory()) {
|
|
62
66
|
results.push(...listMarkdownFiles(path.join(dir, entry.name), rel));
|
|
63
67
|
}
|