@hotmeshio/long-tail 0.6.0 → 0.7.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/escalations/create.js +45 -0
- package/build/api/escalations/index.d.ts +1 -1
- package/build/api/escalations/index.js +2 -1
- package/build/api/escalations/list.d.ts +3 -0
- package/build/api/escalations/list.js +14 -0
- package/build/api/roles.d.ts +17 -0
- package/build/api/roles.js +46 -0
- package/build/bin/ltc.js +1 -0
- package/build/lib/cli/commands/escalations.d.ts +1 -0
- package/build/lib/cli/commands/escalations.js +2 -0
- package/build/lib/db/migrate.js +22 -2
- package/build/lib/db/schemas/014_roles_v2.sql +19 -0
- package/build/lib/db/schemas/015_role_ops.sql +50 -0
- package/build/lib/db/schemas/016_station_metrics_indexes.sql +13 -0
- package/build/lib/events/system-events.js +3 -0
- package/build/modules/auth.d.ts +9 -0
- package/build/modules/auth.js +38 -1
- package/build/routes/escalations/list.js +10 -0
- package/build/routes/roles.js +16 -5
- package/build/scripts/ortho-populate.d.ts +37 -0
- package/build/scripts/ortho-populate.js +228 -0
- package/build/sdk/index.d.ts +4 -0
- package/build/sdk/index.js +2 -0
- package/build/services/escalation/client.js +93 -2
- package/build/services/escalation/crud.js +18 -9
- package/build/services/escalation/metrics-cache.d.ts +14 -0
- package/build/services/escalation/metrics-cache.js +53 -0
- package/build/services/escalation/queries.d.ts +14 -2
- package/build/services/escalation/queries.js +121 -11
- package/build/services/escalation/sql.d.ts +29 -2
- package/build/services/escalation/sql.js +156 -27
- package/build/services/escalation/types.d.ts +17 -0
- package/build/services/escalation/types.js +1 -0
- package/build/services/mcp/external-server.js +5 -1
- package/build/services/orchestrator/condition.d.ts +20 -0
- package/build/services/orchestrator/condition.js +20 -0
- package/build/services/role/index.d.ts +22 -3
- package/build/services/role/index.js +50 -2
- package/build/services/role/sql.d.ts +11 -1
- package/build/services/role/sql.js +38 -1
- package/build/services/role/types.d.ts +32 -0
- package/build/system/mcp-servers/admin/escalations.js +8 -7
- package/build/system/mcp-servers/admin/index.js +5 -3
- package/build/system/mcp-servers/admin/ortho.d.ts +10 -0
- package/build/system/mcp-servers/admin/ortho.js +242 -0
- package/build/system/mcp-servers/admin/schemas.d.ts +40 -3
- package/build/system/mcp-servers/admin/schemas.js +17 -4
- package/build/system/mcp-servers/admin/users.js +31 -0
- package/build/system/seed/tool-manifests-admin.d.ts +4016 -712
- package/build/system/seed/tool-manifests-admin.js +14 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/escalation.d.ts +3 -1
- package/dashboard/dist/assets/{AdminDashboard-2CZ8py9X.js → AdminDashboard-Bg1HgukI.js} +2 -2
- package/dashboard/dist/assets/{AdminDashboard-2CZ8py9X.js.map → AdminDashboard-Bg1HgukI.js.map} +1 -1
- package/dashboard/dist/assets/{AgentConfigPage-D68sodgo.js → AgentConfigPage-HBe_YDU_.js} +5 -5
- package/dashboard/dist/assets/{AgentConfigPage-D68sodgo.js.map → AgentConfigPage-HBe_YDU_.js.map} +1 -1
- package/dashboard/dist/assets/{AgentDetailPage-BmhuWbKi.js → AgentDetailPage-BsaiYbwL.js} +4 -4
- package/dashboard/dist/assets/AgentDetailPage-BsaiYbwL.js.map +1 -0
- package/dashboard/dist/assets/AgentsPage-DhN2lIBh.js +2 -0
- package/dashboard/dist/assets/{AgentsPage-C4SKQVeU.js.map → AgentsPage-DhN2lIBh.js.map} +1 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-_xcWvlIz.js +2 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-_xcWvlIz.js.map +1 -0
- package/dashboard/dist/assets/{BotPicker-D-FvXJOM.js → BotPicker-DY6iUVC9.js} +2 -2
- package/dashboard/dist/assets/{BotPicker-D-FvXJOM.js.map → BotPicker-DY6iUVC9.js.map} +1 -1
- package/dashboard/dist/assets/CapabilitiesPage-w1owqsmN.js +2 -0
- package/dashboard/dist/assets/CapabilitiesPage-w1owqsmN.js.map +1 -0
- package/dashboard/dist/assets/{CollapsibleSection-BjGNYEvh.js → CollapsibleSection-DIMGjlJ-.js} +2 -2
- package/dashboard/dist/assets/{CollapsibleSection-BjGNYEvh.js.map → CollapsibleSection-DIMGjlJ-.js.map} +1 -1
- package/dashboard/dist/assets/{CredentialsPage-DvCA-wQN.js → CredentialsPage-D1OmMHux.js} +2 -2
- package/dashboard/dist/assets/{CredentialsPage-DvCA-wQN.js.map → CredentialsPage-D1OmMHux.js.map} +1 -1
- package/dashboard/dist/assets/{CronLabel-DBMurd_c.js → CronLabel-CQy3DrUQ.js} +2 -2
- package/dashboard/dist/assets/{CronLabel-DBMurd_c.js.map → CronLabel-CQy3DrUQ.js.map} +1 -1
- package/dashboard/dist/assets/{CustomDurationPicker-DHflFoEa.js → CustomDurationPicker-BoBkl9tw.js} +2 -2
- package/dashboard/dist/assets/{CustomDurationPicker-DHflFoEa.js.map → CustomDurationPicker-BoBkl9tw.js.map} +1 -1
- package/dashboard/dist/assets/{DataTable-D9yuBv0w.js → DataTable-ZWgVQg7F.js} +2 -2
- package/dashboard/dist/assets/DataTable-ZWgVQg7F.js.map +1 -0
- package/dashboard/dist/assets/{DropZone-CUtdp99Z.js → DropZone-QXbiuU0b.js} +2 -2
- package/dashboard/dist/assets/{DropZone-CUtdp99Z.js.map → DropZone-QXbiuU0b.js.map} +1 -1
- package/dashboard/dist/assets/{ElapsedCell-CSjcVOpo.js → ElapsedCell-Donjm9gT.js} +2 -2
- package/dashboard/dist/assets/{ElapsedCell-CSjcVOpo.js.map → ElapsedCell-Donjm9gT.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationsOverview-BUqRNJbK.js → EscalationsOverview-CvHIJ_GG.js} +2 -2
- package/dashboard/dist/assets/{EscalationsOverview-BUqRNJbK.js.map → EscalationsOverview-CvHIJ_GG.js.map} +1 -1
- package/dashboard/dist/assets/{EventTable-Chz-6XPE.js → EventTable-DpAXMmT3.js} +2 -2
- package/dashboard/dist/assets/{EventTable-Chz-6XPE.js.map → EventTable-DpAXMmT3.js.map} +1 -1
- package/dashboard/dist/assets/FilterBar-BQ2JGg8U.js +2 -0
- package/dashboard/dist/assets/FilterBar-BQ2JGg8U.js.map +1 -0
- package/dashboard/dist/assets/GraphInvokePage-De1XVx5d.js +2 -0
- package/dashboard/dist/assets/GraphInvokePage-De1XVx5d.js.map +1 -0
- package/dashboard/dist/assets/HomePage-BYR5VXXw.js +2 -0
- package/dashboard/dist/assets/HomePage-BYR5VXXw.js.map +1 -0
- package/dashboard/dist/assets/{ListToolbar-_73JCdbB.js → ListToolbar-Bx7jGzPA.js} +2 -2
- package/dashboard/dist/assets/{ListToolbar-_73JCdbB.js.map → ListToolbar-Bx7jGzPA.js.map} +1 -1
- package/dashboard/dist/assets/{McpOverview-DfdqxhSz.js → McpOverview-DXRKcJN0.js} +2 -2
- package/dashboard/dist/assets/{McpOverview-DfdqxhSz.js.map → McpOverview-DXRKcJN0.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryDetailPage-DPAljieY.js → McpQueryDetailPage-CmW15w5e.js} +2 -2
- package/dashboard/dist/assets/{McpQueryDetailPage-DPAljieY.js.map → McpQueryDetailPage-CmW15w5e.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryPage-D5cSziYS.js → McpQueryPage-BE6I011z.js} +2 -2
- package/dashboard/dist/assets/{McpQueryPage-D5cSziYS.js.map → McpQueryPage-BE6I011z.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunDetailPage-DwNb9wZg.js → McpRunDetailPage-Dsa3G3XQ.js} +2 -2
- package/dashboard/dist/assets/{McpRunDetailPage-DwNb9wZg.js.map → McpRunDetailPage-Dsa3G3XQ.js.map} +1 -1
- package/dashboard/dist/assets/McpRunsPage-uTbym66Y.js +2 -0
- package/dashboard/dist/assets/McpRunsPage-uTbym66Y.js.map +1 -0
- package/dashboard/dist/assets/{NamespacePill-uW-xOedj.js → NamespacePill-BGf0jHwE.js} +2 -2
- package/dashboard/dist/assets/{NamespacePill-uW-xOedj.js.map → NamespacePill-BGf0jHwE.js.map} +1 -1
- package/dashboard/dist/assets/OperationsPage-CAmiFHI6.js +2 -0
- package/dashboard/dist/assets/OperationsPage-CAmiFHI6.js.map +1 -0
- package/dashboard/dist/assets/{OperatorDashboard-DYw9Ekv5.js → OperatorDashboard-i8cxaDlk.js} +2 -2
- package/dashboard/dist/assets/{OperatorDashboard-DYw9Ekv5.js.map → OperatorDashboard-i8cxaDlk.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeader-DVOZjBfL.js → PageHeader-BZJsEVOC.js} +2 -2
- package/dashboard/dist/assets/{PageHeader-DVOZjBfL.js.map → PageHeader-BZJsEVOC.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeaderWithStats-DtTpDHOd.js → PageHeaderWithStats-BWuD7s9c.js} +2 -2
- package/dashboard/dist/assets/{PageHeaderWithStats-DtTpDHOd.js.map → PageHeaderWithStats-BWuD7s9c.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessDetailPage-B0Dokcx9.js → ProcessDetailPage-CP7GZhgs.js} +2 -2
- package/dashboard/dist/assets/{ProcessDetailPage-B0Dokcx9.js.map → ProcessDetailPage-CP7GZhgs.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessesListPage-Cc87WIjL.js → ProcessesListPage-btsU6hBR.js} +2 -2
- package/dashboard/dist/assets/{ProcessesListPage-Cc87WIjL.js.map → ProcessesListPage-btsU6hBR.js.map} +1 -1
- package/dashboard/dist/assets/RoleDetailPage-BB_e330f.js +16 -0
- package/dashboard/dist/assets/RoleDetailPage-BB_e330f.js.map +1 -0
- package/dashboard/dist/assets/{RolePill-BaW-30TC.js → RolePill-Pb9TKSQN.js} +2 -2
- package/dashboard/dist/assets/{RolePill-BaW-30TC.js.map → RolePill-Pb9TKSQN.js.map} +1 -1
- package/dashboard/dist/assets/RolesPage-1DBoEMsb.js +2 -0
- package/dashboard/dist/assets/RolesPage-1DBoEMsb.js.map +1 -0
- package/dashboard/dist/assets/{RunAsSelector-2LWkjSnO.js → RunAsSelector-Cp6j3FEY.js} +2 -2
- package/dashboard/dist/assets/{RunAsSelector-2LWkjSnO.js.map → RunAsSelector-Cp6j3FEY.js.map} +1 -1
- package/dashboard/dist/assets/StatusBadge-D9MeQHrh.js +2 -0
- package/dashboard/dist/assets/StatusBadge-D9MeQHrh.js.map +1 -0
- package/dashboard/dist/assets/StickyPagination-Pr8kawv8.js +2 -0
- package/dashboard/dist/assets/StickyPagination-Pr8kawv8.js.map +1 -0
- package/dashboard/dist/assets/StreamMessageDetail-BqmQ-N3y.js +2 -0
- package/dashboard/dist/assets/{StreamMessageDetail-BTtw3GjX.js.map → StreamMessageDetail-BqmQ-N3y.js.map} +1 -1
- package/dashboard/dist/assets/{SwimlaneTimeline-DdXxP4fO.js → SwimlaneTimeline-y1YmXrsj.js} +2 -2
- package/dashboard/dist/assets/{SwimlaneTimeline-DdXxP4fO.js.map → SwimlaneTimeline-y1YmXrsj.js.map} +1 -1
- package/dashboard/dist/assets/{TagInput-x9XTuqMb.js → TagInput-Df4myuYF.js} +2 -2
- package/dashboard/dist/assets/{TagInput-x9XTuqMb.js.map → TagInput-Df4myuYF.js.map} +1 -1
- package/dashboard/dist/assets/{TaskDetailPage-B8veYG4X.js → TaskDetailPage-CT5rXHK5.js} +2 -2
- package/dashboard/dist/assets/{TaskDetailPage-B8veYG4X.js.map → TaskDetailPage-CT5rXHK5.js.map} +1 -1
- package/dashboard/dist/assets/{TaskQueuePill-DSEQZ-HT.js → TaskQueuePill-YalYdCNo.js} +2 -2
- package/dashboard/dist/assets/{TaskQueuePill-DSEQZ-HT.js.map → TaskQueuePill-YalYdCNo.js.map} +1 -1
- package/dashboard/dist/assets/{TasksListPage-CsN1gZj5.js → TasksListPage-DOy6JlKS.js} +2 -2
- package/dashboard/dist/assets/{TasksListPage-CsN1gZj5.js.map → TasksListPage-DOy6JlKS.js.map} +1 -1
- package/dashboard/dist/assets/TimeAgo-BAQwZSpq.js +2 -0
- package/dashboard/dist/assets/{TimeAgo-n182EcLx.js.map → TimeAgo-BAQwZSpq.js.map} +1 -1
- package/dashboard/dist/assets/{TimestampCell-2dlcQAfX.js → TimestampCell-BK_jufns.js} +2 -2
- package/dashboard/dist/assets/{TimestampCell-2dlcQAfX.js.map → TimestampCell-BK_jufns.js.map} +1 -1
- package/dashboard/dist/assets/{ToolPill-B_e4eT77.js → ToolPill-VGpT6Quy.js} +2 -2
- package/dashboard/dist/assets/{ToolPill-B_e4eT77.js.map → ToolPill-VGpT6Quy.js.map} +1 -1
- package/dashboard/dist/assets/{ToolTestPanel-Bhnncc6M.js → ToolTestPanel-5PMQyUCe.js} +2 -2
- package/dashboard/dist/assets/{ToolTestPanel-Bhnncc6M.js.map → ToolTestPanel-5PMQyUCe.js.map} +1 -1
- package/dashboard/dist/assets/{TopicDetailPage-29lsNsqI.js → TopicDetailPage-Cn1ShfR8.js} +3 -3
- package/dashboard/dist/assets/TopicDetailPage-Cn1ShfR8.js.map +1 -0
- package/dashboard/dist/assets/TopicsPage-D67tjS8L.js +2 -0
- package/dashboard/dist/assets/TopicsPage-D67tjS8L.js.map +1 -0
- package/dashboard/dist/assets/{UserName-CMoFi9zb.js → UserName-Dsu1Jk4N.js} +2 -2
- package/dashboard/dist/assets/{UserName-CMoFi9zb.js.map → UserName-Dsu1Jk4N.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowExecutionPage-Cymfx-Bp.js → WorkflowExecutionPage-BwQoOmUE.js} +2 -2
- package/dashboard/dist/assets/{WorkflowExecutionPage-Cymfx-Bp.js.map → WorkflowExecutionPage-BwQoOmUE.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowPill-B66_AnaY.js → WorkflowPill-pPUqmx6Q.js} +2 -2
- package/dashboard/dist/assets/{WorkflowPill-B66_AnaY.js.map → WorkflowPill-pPUqmx6Q.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsDashboard-D3z7COgH.js +2 -0
- package/dashboard/dist/assets/WorkflowsDashboard-D3z7COgH.js.map +1 -0
- package/dashboard/dist/assets/{WorkflowsOverview-0Rc2WT6q.js → WorkflowsOverview-C15JcxyY.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsOverview-0Rc2WT6q.js.map → WorkflowsOverview-C15JcxyY.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-CARQ7_LN.js → YamlWorkflowDetailPage-BYq3t7E-.js} +25 -25
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-CARQ7_LN.js.map → YamlWorkflowDetailPage-BYq3t7E-.js.map} +1 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-B44WgwE_.js +2 -0
- package/dashboard/dist/assets/{YamlWorkflowsPage-B-7sz1nf.js.map → YamlWorkflowsPage-B44WgwE_.js.map} +1 -1
- package/dashboard/dist/assets/{agents-zM43d5Yf.js → agents-BRmmK6Y9.js} +2 -2
- package/dashboard/dist/assets/{agents-zM43d5Yf.js.map → agents-BRmmK6Y9.js.map} +1 -1
- package/dashboard/dist/assets/{bots-D5BasOGz.js → bots-BD75mzGG.js} +2 -2
- package/dashboard/dist/assets/{bots-D5BasOGz.js.map → bots-BD75mzGG.js.map} +1 -1
- package/dashboard/dist/assets/{capabilities-BT3PW9CZ.js → capabilities-DDgC_Kds.js} +2 -2
- package/dashboard/dist/assets/{capabilities-BT3PW9CZ.js.map → capabilities-DDgC_Kds.js.map} +1 -1
- package/dashboard/dist/assets/controlplane-BJh12lMv.js +2 -0
- package/dashboard/dist/assets/controlplane-BJh12lMv.js.map +1 -0
- package/dashboard/dist/assets/{escalation-DrzQolPG.js → escalation-DIJt2sgn.js} +2 -2
- package/dashboard/dist/assets/{escalation-DrzQolPG.js.map → escalation-DIJt2sgn.js.map} +1 -1
- package/dashboard/dist/assets/escalation-columns-zl6E94Up.js +2 -0
- package/dashboard/dist/assets/escalation-columns-zl6E94Up.js.map +1 -0
- package/dashboard/dist/assets/{index-C_NwHTMh.js → index-B0kmiSmt.js} +2 -2
- package/dashboard/dist/assets/{index-C_NwHTMh.js.map → index-B0kmiSmt.js.map} +1 -1
- package/dashboard/dist/assets/index-BRtKQtQZ.css +1 -0
- package/dashboard/dist/assets/index-BUbzfEA9.js +6 -0
- package/dashboard/dist/assets/index-BUbzfEA9.js.map +1 -0
- package/dashboard/dist/assets/index-BhznDv-4.js +2 -0
- package/dashboard/dist/assets/index-BhznDv-4.js.map +1 -0
- package/dashboard/dist/assets/index-CDPBXB4e.js +9 -0
- package/dashboard/dist/assets/index-CDPBXB4e.js.map +1 -0
- package/dashboard/dist/assets/{index-qr1fndqM.js → index-CV4lEd4I.js} +2 -2
- package/dashboard/dist/assets/{index-qr1fndqM.js.map → index-CV4lEd4I.js.map} +1 -1
- package/dashboard/dist/assets/{index-y-3ODtEE.js → index-CknKy4RA.js} +2 -2
- package/dashboard/dist/assets/{index-y-3ODtEE.js.map → index-CknKy4RA.js.map} +1 -1
- package/dashboard/dist/assets/{index-DH_CiD0W.js → index-CpgV4Kkp.js} +2 -2
- package/dashboard/dist/assets/{index-DH_CiD0W.js.map → index-CpgV4Kkp.js.map} +1 -1
- package/dashboard/dist/assets/{index-DE0r9SEX.js → index-CtDf8vvQ.js} +24 -24
- package/dashboard/dist/assets/index-CtDf8vvQ.js.map +1 -0
- package/dashboard/dist/assets/{index-C69XvBfg.js → index-DU7YumVJ.js} +2 -2
- package/dashboard/dist/assets/{index-C69XvBfg.js.map → index-DU7YumVJ.js.map} +1 -1
- package/dashboard/dist/assets/{index-y56Ds-LB.js → index-DVVIeBBk.js} +2 -2
- package/dashboard/dist/assets/{index-y56Ds-LB.js.map → index-DVVIeBBk.js.map} +1 -1
- package/dashboard/dist/assets/index-DccCwyZl.js +6 -0
- package/dashboard/dist/assets/{index-B5w4Gjyk.js.map → index-DccCwyZl.js.map} +1 -1
- package/dashboard/dist/assets/index-DrUkTcn-.js +2 -0
- package/dashboard/dist/assets/index-DrUkTcn-.js.map +1 -0
- package/dashboard/dist/assets/{index-Cq0trGqf.js → index-j-C7g_Ej.js} +2 -2
- package/dashboard/dist/assets/{index-Cq0trGqf.js.map → index-j-C7g_Ej.js.map} +1 -1
- package/dashboard/dist/assets/{knowledge-DSSATOTX.js → knowledge-pNDWACXB.js} +2 -2
- package/dashboard/dist/assets/{knowledge-DSSATOTX.js.map → knowledge-pNDWACXB.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-DKVx2Q-X.js → mcp-query-CmNjvxTG.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-DKVx2Q-X.js.map → mcp-query-CmNjvxTG.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-CfJFVo5k.js → mcp-xddLBwUW.js} +2 -2
- package/dashboard/dist/assets/{mcp-CfJFVo5k.js.map → mcp-xddLBwUW.js.map} +1 -1
- package/dashboard/dist/assets/pipelines-B05sd2nB.js +2 -0
- package/dashboard/dist/assets/pipelines-B05sd2nB.js.map +1 -0
- package/dashboard/dist/assets/roles-bRgaMcdy.js +2 -0
- package/dashboard/dist/assets/roles-bRgaMcdy.js.map +1 -0
- package/dashboard/dist/assets/tasks-Bm1OKrJA.js +2 -0
- package/dashboard/dist/assets/{tasks-B7rUihoH.js.map → tasks-Bm1OKrJA.js.map} +1 -1
- package/dashboard/dist/assets/{topics-PC2fEiyD.js → topics-BVIqtmd4.js} +2 -2
- package/dashboard/dist/assets/{topics-PC2fEiyD.js.map → topics-BVIqtmd4.js.map} +1 -1
- package/dashboard/dist/assets/useEventHooks-_qCzU74s.js +2 -0
- package/dashboard/dist/assets/useEventHooks-_qCzU74s.js.map +1 -0
- package/dashboard/dist/assets/{useNamespace-3IjtUtAw.js → useNamespace-CDnCSFpG.js} +2 -2
- package/dashboard/dist/assets/{useNamespace-3IjtUtAw.js.map → useNamespace-CDnCSFpG.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-uxukp3gO.js → useYamlActivityEvents-zrHMhaFM.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-uxukp3gO.js.map → useYamlActivityEvents-zrHMhaFM.js.map} +1 -1
- package/dashboard/dist/assets/{users-CC4B5Fm5.js → users-BPBMZg27.js} +2 -2
- package/dashboard/dist/assets/{users-CC4B5Fm5.js.map → users-BPBMZg27.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-Dy5Jpknf.js → vendor-icons-C1zVP_dv.js} +140 -110
- package/dashboard/dist/assets/vendor-icons-C1zVP_dv.js.map +1 -0
- package/dashboard/dist/assets/workflows-CT6nTL1I.js +2 -0
- package/dashboard/dist/assets/workflows-CT6nTL1I.js.map +1 -0
- package/dashboard/dist/assets/{yaml-workflows-WfdaMHNn.js → yaml-workflows-CdfjkOKU.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-WfdaMHNn.js.map → yaml-workflows-CdfjkOKU.js.map} +1 -1
- package/dashboard/dist/index.html +3 -3
- package/docs/api/http/escalations.md +82 -6
- package/docs/api/http/roles.md +82 -3
- package/docs/api/mcp/admin.md +127 -1
- package/docs/api/sdk/escalations.md +65 -4
- package/docs/api/sdk/roles.md +81 -0
- package/docs/cli.md +2 -0
- package/docs/dashboard.md +17 -2
- package/docs/hitl-guide.md +12 -3
- package/docs/operations.md +113 -0
- package/package.json +3 -2
- package/dashboard/dist/assets/AgentDetailPage-BmhuWbKi.js.map +0 -1
- package/dashboard/dist/assets/AgentsPage-C4SKQVeU.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-9RBEYwkt.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-9RBEYwkt.js.map +0 -1
- package/dashboard/dist/assets/CapabilitiesPage-ByDf6WJr.js +0 -2
- package/dashboard/dist/assets/CapabilitiesPage-ByDf6WJr.js.map +0 -1
- package/dashboard/dist/assets/DataTable-D9yuBv0w.js.map +0 -1
- package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +0 -2
- package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js.map +0 -1
- package/dashboard/dist/assets/GraphInvokePage-BXdgciWg.js +0 -2
- package/dashboard/dist/assets/GraphInvokePage-BXdgciWg.js.map +0 -1
- package/dashboard/dist/assets/HomePage-CEMxnk0r.js +0 -2
- package/dashboard/dist/assets/HomePage-CEMxnk0r.js.map +0 -1
- package/dashboard/dist/assets/McpRunsPage-O5H6yStl.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-O5H6yStl.js.map +0 -1
- package/dashboard/dist/assets/RolesPage-cp6PiF08.js +0 -2
- package/dashboard/dist/assets/RolesPage-cp6PiF08.js.map +0 -1
- package/dashboard/dist/assets/StatusBadge-Bl3FXVmF.js +0 -2
- package/dashboard/dist/assets/StatusBadge-Bl3FXVmF.js.map +0 -1
- package/dashboard/dist/assets/StickyPagination-BQEm--kI.js +0 -2
- package/dashboard/dist/assets/StickyPagination-BQEm--kI.js.map +0 -1
- package/dashboard/dist/assets/StreamMessageDetail-BTtw3GjX.js +0 -2
- package/dashboard/dist/assets/TimeAgo-n182EcLx.js +0 -2
- package/dashboard/dist/assets/TopicDetailPage-29lsNsqI.js.map +0 -1
- package/dashboard/dist/assets/TopicsPage-KJ7_LAvo.js +0 -2
- package/dashboard/dist/assets/TopicsPage-KJ7_LAvo.js.map +0 -1
- package/dashboard/dist/assets/WorkflowsDashboard-CqLN8spd.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-CqLN8spd.js.map +0 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-B-7sz1nf.js +0 -2
- package/dashboard/dist/assets/controlplane-NpJr49rN.js +0 -2
- package/dashboard/dist/assets/controlplane-NpJr49rN.js.map +0 -1
- package/dashboard/dist/assets/escalation-columns-QzwmtD60.js +0 -2
- package/dashboard/dist/assets/escalation-columns-QzwmtD60.js.map +0 -1
- package/dashboard/dist/assets/index-B5w4Gjyk.js +0 -6
- package/dashboard/dist/assets/index-BCT4kqGR.js +0 -9
- package/dashboard/dist/assets/index-BCT4kqGR.js.map +0 -1
- package/dashboard/dist/assets/index-CHw4Fl0t.css +0 -1
- package/dashboard/dist/assets/index-DE0r9SEX.js.map +0 -1
- package/dashboard/dist/assets/index-K23FdS-T.js +0 -6
- package/dashboard/dist/assets/index-K23FdS-T.js.map +0 -1
- package/dashboard/dist/assets/index-f6K1UNrn.js +0 -2
- package/dashboard/dist/assets/index-f6K1UNrn.js.map +0 -1
- package/dashboard/dist/assets/index-vKTvJ_li.js +0 -2
- package/dashboard/dist/assets/index-vKTvJ_li.js.map +0 -1
- package/dashboard/dist/assets/pipelines-BSWzE-6M.js +0 -2
- package/dashboard/dist/assets/pipelines-BSWzE-6M.js.map +0 -1
- package/dashboard/dist/assets/roles-t9HzhI5N.js +0 -2
- package/dashboard/dist/assets/roles-t9HzhI5N.js.map +0 -1
- package/dashboard/dist/assets/tasks-B7rUihoH.js +0 -2
- package/dashboard/dist/assets/useEventHooks-DK9mw1cI.js +0 -2
- package/dashboard/dist/assets/useEventHooks-DK9mw1cI.js.map +0 -1
- package/dashboard/dist/assets/vendor-icons-Dy5Jpknf.js.map +0 -1
- package/dashboard/dist/assets/workflows-S7MF1nNk.js +0 -2
- package/dashboard/dist/assets/workflows-S7MF1nNk.js.map +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{a as f,j as e,b as at}from"./vendor-query-B2UbickB.js";import{z as ue,v as be,b as z,C as nt,J as ae,j as rt,A as it,g as lt,h as ot,B as ct,E as dt,u as xt}from"./index-CtDf8vvQ.js";import{u as ut}from"./useCollapsedSections-BU5HULGs.js";import{u as mt,C as pt,a as ht}from"./CustomDurationPicker-BoBkl9tw.js";import{a as ft,b as gt}from"./roles-bRgaMcdy.js";import{P as jt}from"./PageHeader-BZJsEVOC.js";import{a as Fe,C as ge,i as bt}from"./escalation-DIJt2sgn.js";import{L as yt}from"./ListToolbar-Bx7jGzPA.js";import{u as vt}from"./workflows-CT6nTL1I.js";import{g as wt}from"./useEventHooks-_qCzU74s.js";import{U as je}from"./UserName-Dsu1Jk4N.js";import{S as Re}from"./StatusBadge-D9MeQHrh.js";import{R as Se}from"./RolePill-Pb9TKSQN.js";import{C as S}from"./CopyableId-blg-gZvT.js";import{U as $e,a9 as Nt,a7 as kt,aa as Me}from"./vendor-icons-C1zVP_dv.js";import{C as ie}from"./CollapsibleSection-DIMGjlJ-.js";import{L as Je,e as _t,c as Ct}from"./vendor-react-CXumBFUA.js";import"./Modal-CSrxpXeM.js";import"./constants-BHkpVaqx.js";import"./users-BPBMZg27.js";const Ie="lt_view_mode";function Tt(t){const[n,i]=f.useState(()=>{try{const s=localStorage.getItem(Ie);if(s!==null)return s==="dev"}catch{}return t}),a=f.useCallback(()=>{i(s=>{const l=!s;try{localStorage.setItem(Ie,l?"dev":"user")}catch{}return l})},[]);return{isDevMode:n,toggleMode:a}}const me=4;function Ae({pct:t,place:n,label:i,title:a,emphasis:s}){const l=e.jsx("span",{className:"w-px h-1.5 bg-surface-border","aria-hidden":!0}),x=e.jsx("span",{className:`whitespace-nowrap leading-none ${s?"text-text-secondary":"text-text-tertiary"}`,children:i});return e.jsx("div",{title:a,className:`absolute ${n==="above"?"bottom-0":"top-0"} flex flex-col items-center gap-0.5 -translate-x-1/2 cursor-help`,style:{left:`${t}%`},children:n==="above"?e.jsxs(e.Fragment,{children:[x,l]}):e.jsxs(e.Fragment,{children:[l,x]})})}function Et({esc:t,className:n=""}){const i=new Date(t.created_at).getTime(),a=t.claimed_at?new Date(t.claimed_at).getTime():null,s=t.status==="resolved",l=t.status==="cancelled",x=s||l,d=Fe(t),r=!!a&&(d||x),o=s&&t.resolved_at?new Date(t.resolved_at).getTime():l?new Date(t.updated_at).getTime():Date.now(),c=Math.max(o-i,1),m=r&&a?Math.max(a-i,0):c,h=r&&a?Math.max(o-a,0):0,b=Math.min(100,Math.max(0,m/c*100)),u=r?Math.max(0,100-b):0,j=s?"bg-status-success":l?"bg-status-error":"bg-status-active",g=s?"Worked":l?"Open before cancel":"In progress",p=ue(m),_=ue(c),C=s?`Resolved in ${_} total`:l?`Cancelled after ${_}`:`Open ${_} so far (current age)`,$=`Lifecycle: amber = time spent waiting to be claimed, the colored end = ${g.toLowerCase()} after the claim. Top label is time-to-claim, bottom is total time.`;return e.jsxs("div",{className:n,title:$,children:[e.jsx("div",{className:"relative h-3.5 text-[9px] font-mono",children:r&&e.jsx(Ae,{pct:b,place:"above",label:p,title:`Time to claim: ${p} (created → claimed)`})}),e.jsxs("div",{className:"flex w-full rounded-full overflow-hidden bg-surface-sunken cursor-help",style:{height:me},title:$,children:[e.jsx("div",{style:{width:`${b}%`,minWidth:me},className:"bg-status-pending",title:`Waiting ${p} — created → claimed`}),r&&e.jsx("div",{style:{width:`${u}%`,minWidth:me},className:j,title:`${g} ${ue(h)} — claimed → ${s?"resolved":l?"cancelled":"now"}`})]}),e.jsx("div",{className:"relative h-3.5 text-[9px] font-mono",children:e.jsx(Ae,{pct:100,place:"below",emphasis:!0,label:_,title:C})})]})}function Rt(t){const{mode:n,activeView:i,onActiveViewChange:a,onClaim:s,claimPending:l,workflowType:x,json:d,onResolve:r,resolvePending:o,resolveError:c,requestTriage:m,triageNotes:h,currentRole:b,escalationTargets:u,onEscalate:j,escalatePending:g,escalateError:p,onRelease:_,releasePending:C,onCancel:$,assignedTo:I,assignedUntil:A,onSubmitAttempt:T}=t,E=mt(),[y,N]=f.useState("30"),[w,M]=f.useState(0),[P,W]=f.useState(""),[D,L]=f.useState(""),O=y==="custom",U=f.useCallback(v=>M(v),[]);if(n==="terminal")return null;const oe=()=>{const v=O?w:parseInt(y);!v||v<=0||s(v)},ce=()=>{if(W(""),m){const B={_lt:{needsTriage:!0}};h.trim()&&(B.notes=h.trim()),r(B);return}let v;try{v=JSON.parse(d)}catch{W("Invalid JSON");return}const F=v._form_schema,H=F==null?void 0:F.required;if(H!=null&&H.length){const B=H.filter(q=>{const J=v[q];return J==null||typeof J=="string"&&J.trim()===""});if(B.length>0){T==null||T();const q=B.map(ne=>ne.replace(/[_-]/g," ")),J=q.length<=2?q.join(", "):`${q.slice(0,2).join(", ")}...`;W(`Required: ${J}`);return}}r(v)},X=v=>`text-xs transition-colors ${v?"text-accent font-medium":"text-text-tertiary hover:text-accent"}`;return e.jsxs("div",{className:"sticky bottom-0 h-[80px] bg-surface/95 backdrop-blur-sm border-t border-surface-border -mx-10 px-10 pt-3 pb-5 z-10","data-testid":"escalation-action-bar",children:[n==="available"&&e.jsxs("div",{"data-testid":"claim-bar",children:[e.jsxs("div",{className:"flex items-center gap-4 mb-2",children:[E.map(v=>e.jsx("button",{onClick:()=>{N(v.value),M(0)},className:X(!O&&y===v.value),children:v.label},v.value)),e.jsx("button",{onClick:()=>N("custom"),className:X(O),children:"Other"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("button",{onClick:$,className:"text-xs text-text-tertiary hover:text-status-error transition-colors",children:"Cancel escalation"}),e.jsx("div",{className:"flex-1"}),O&&e.jsx(pt,{onChange:U,compact:!0,autoFocus:!0}),e.jsx("button",{onClick:oe,disabled:l||O&&w<=0,className:"btn-primary text-xs",children:l?"Claiming...":"Claim"})]})]}),n==="claimed_by_other"&&e.jsxs("div",{className:"flex items-center gap-4","data-testid":"claimed-other-bar",children:[e.jsxs("p",{className:"text-sm text-text-secondary",children:["Claimed by ",e.jsx("span",{className:"font-medium text-text-primary",children:I?e.jsx(je,{userId:I}):"unknown"})]}),A&&e.jsx(ge,{until:A})]}),n==="claimed_by_me"&&e.jsxs("div",{"data-testid":"action-bar",children:[e.jsxs("div",{className:"flex items-center gap-4 mb-2",children:[e.jsx("button",{onClick:()=>a("resolve"),className:X(i==="resolve"),children:x?"Resolve":"Acknowledge"}),u.length>0&&e.jsx("button",{onClick:()=>a("escalate"),className:X(i==="escalate"),children:"Escalate"}),e.jsx("button",{onClick:()=>a("release"),className:`text-xs transition-colors ${i==="release"?"text-status-error font-medium":"text-text-tertiary hover:text-status-error"}`,children:"Release"}),e.jsx("button",{onClick:$,className:"text-xs transition-colors text-text-tertiary hover:text-status-error",children:"Cancel"})]}),i==="resolve"&&(x?e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"flex-1"}),P&&e.jsx("span",{className:"text-xs text-status-error",children:P}),c&&e.jsx("span",{className:"text-xs text-status-error",children:c.message}),e.jsx("button",{onClick:ce,disabled:o,className:"btn-primary text-xs",children:o?"Submitting...":m?"Send to Triage":"Submit"})]}):e.jsxs("div",{className:"flex items-center",children:[e.jsx("span",{className:"text-xs text-text-secondary",children:"Notification — acknowledge to resolve"}),e.jsx("div",{className:"flex-1"}),c&&e.jsx("span",{className:"text-xs text-status-error mr-3",children:c.message}),e.jsx("button",{onClick:()=>r({acknowledged:!0}),disabled:o,className:"btn-primary text-xs",children:o?"Acknowledging...":"Acknowledge"})]})),i==="escalate"&&e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"text-xs text-text-secondary",children:["From ",e.jsx("span",{className:"font-medium text-text-primary",children:b})," to"]}),e.jsxs("select",{value:D,onChange:v=>L(v.target.value),className:"select text-xs","data-testid":"escalate-select",children:[e.jsx("option",{value:"",children:"Select role..."}),u.map(v=>e.jsx("option",{value:v,children:v},v))]}),e.jsx("div",{className:"flex-1"}),p&&e.jsx("span",{className:"text-xs text-status-error",children:p.message}),e.jsx("button",{onClick:()=>j(D),disabled:!D||g,className:"btn-primary text-xs",children:g?"Escalating...":"Escalate"})]}),i==="release"&&e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-xs text-text-secondary",children:"Release back to pool?"}),e.jsx("div",{className:"flex-1"}),e.jsx("button",{onClick:()=>a("resolve"),className:"btn-secondary text-xs",children:"Back"}),e.jsx("button",{onClick:_,disabled:C,className:"btn-primary text-xs bg-status-error hover:bg-status-error/80",children:C?"Releasing...":"Yes, Release"})]})]})]})}const St={1:{pad:"px-3 py-2.5",label:"text-[9px] mb-1.5",value:"text-xs",bg:"bg-surface-sunken/60"},2:{pad:"px-3 py-2",label:"text-[8px] mb-1",value:"text-[11px]",bg:"bg-surface-sunken/30"},3:{pad:"px-2.5 py-1.5",label:"text-[8px] mb-0.5",value:"text-[10px]",bg:"bg-surface-sunken/15"}};function R({label:t,children:n,tier:i=1,className:a=""}){const s=St[i];return e.jsxs("div",{className:`flex-1 min-w-0 rounded-lg ${s.bg} ${s.pad} ${a}`,children:[e.jsx("p",{className:`font-semibold uppercase tracking-widest text-text-tertiary leading-none ${s.label}`,children:t}),e.jsx("div",{className:`text-text-secondary leading-tight min-w-0 ${s.value}`,children:n})]})}const We=56;function $t({value:t}){const[n,i]=f.useState(!1),a=typeof t=="object"?JSON.stringify(t):String(t??"");return a.length<=We?e.jsx("span",{className:"font-mono break-all",title:a,children:a}):e.jsx("button",{onClick:()=>i(s=>!s),title:a,className:"font-mono break-all text-left hover:text-accent transition-colors",children:n?a:`${a.slice(0,We)}…`})}function Mt({esc:t,claimedByMe:n,claimed:i,isTerminal:a,traceUrl:s,isDevMode:l,showDetails:x,onToggleDetails:d}){const{isBuilder:r}=be(),o=bt(t);return l?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[o&&e.jsx(kt,{className:"w-5 h-5 text-text-tertiary shrink-0"}),e.jsxs("p",{className:"text-[1.5rem] leading-snug font-light text-text-secondary",children:[t.type,t.subtype?` / ${t.subtype}`:""]})]}),t.description&&e.jsx("p",{className:"text-sm leading-relaxed text-text-tertiary mb-4",children:t.description}),e.jsxs("div",{className:"flex flex-wrap items-end gap-x-6 gap-y-3 mt-4 mb-2",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Status"}),e.jsx("span",{className:"mb-1 inline-block",children:e.jsx(Re,{status:t.status})})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Role"}),e.jsx(Se,{role:t.role,size:"md"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Created"}),e.jsx("span",{className:"inline-flex items-center mb-1 text-xs text-text-secondary",children:e.jsx(z,{date:t.created_at})})]}),(i||a)&&t.assigned_to&&e.jsxs("div",{children:[e.jsx("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Claimed by"}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 text-xs font-medium text-text-primary",children:[e.jsx($e,{className:"w-3 h-3 shrink-0 text-accent/75"}),e.jsx(je,{userId:t.assigned_to})]})]}),i&&!a&&t.assigned_until&&e.jsxs("div",{children:[e.jsx("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Time left"}),e.jsx("span",{className:"inline-flex items-center h-5",children:e.jsx(ge,{until:t.assigned_until})})]}),t.resolved_at&&e.jsxs("div",{children:[e.jsx("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Resolved"}),e.jsx("span",{className:"inline-flex items-center h-5 text-xs text-text-secondary",children:e.jsx(z,{date:t.resolved_at})})]})]})]}):e.jsxs("div",{className:"-mt-6 mb-2",children:[t.description&&e.jsx("p",{className:"text-2xl font-light text-text-primary leading-relaxed mb-5",children:t.description}),e.jsxs("div",{className:"flex gap-1 items-stretch",children:[e.jsx(R,{label:"Status",children:e.jsx(Re,{status:t.status})}),e.jsx(R,{label:"Assigned to Role",children:e.jsx(Se,{role:t.role,size:"md"})}),(i||a)&&t.assigned_to&&e.jsx(R,{label:"Claimed By",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5 font-medium text-text-primary",children:[e.jsx($e,{className:"w-3 h-3 shrink-0 text-accent/75"}),e.jsx(je,{userId:t.assigned_to})]})}),e.jsx(R,{label:"Created",children:e.jsx(z,{date:t.created_at})}),(i||a)&&t.claimed_at&&e.jsx(R,{label:"Claimed",children:e.jsx(z,{date:t.claimed_at})}),i&&!a&&t.assigned_until&&e.jsx(R,{label:"Time Remaining",children:e.jsx(ge,{until:t.assigned_until})}),t.resolved_at&&e.jsx(R,{label:"Completed",children:e.jsx("span",{className:"text-status-success",children:e.jsx(z,{date:t.resolved_at})})}),e.jsxs(R,{label:"Priority",children:["P",t.priority]}),r&&e.jsx("button",{onClick:d,title:x?"Hide details":"Show details",className:"shrink-0 rounded-lg bg-surface-sunken/60 px-3 flex items-center text-text-tertiary/60 hover:text-accent transition-colors",children:e.jsx(Nt,{className:`w-3.5 h-3.5 ${x?"text-accent":""}`})})]}),r&&e.jsxs(nt,{open:x,children:[e.jsxs("div",{className:"flex gap-1 mt-1",children:[e.jsx(R,{tier:2,label:"Escalation ID",children:e.jsx(S,{bare:!0,value:t.id})}),t.task_id&&e.jsx(R,{tier:2,label:"Task ID",children:e.jsx(S,{bare:!0,value:t.task_id,href:`/workflows/tasks/detail/${t.task_id}`})}),t.workflow_type&&e.jsx(R,{tier:2,label:"Workflow Name",children:e.jsx(S,{bare:!0,value:t.workflow_type,href:`/workflows/executions?entity=${encodeURIComponent(t.workflow_type)}`})}),t.workflow_id&&e.jsx(R,{tier:2,label:"Workflow ID",children:e.jsx(S,{bare:!0,value:t.workflow_id,href:`/workflows/executions/${t.workflow_id}`})}),t.task_queue&&e.jsx(R,{tier:2,label:"Task Queue",children:e.jsx(S,{bare:!0,value:t.task_queue,href:`/admin/controlplane?queue=${encodeURIComponent(t.task_queue)}`})}),t.origin_id&&t.origin_id!==t.workflow_id&&e.jsx(R,{tier:2,label:"Origin",children:e.jsx(S,{bare:!0,value:t.origin_id,href:`/processes/detail/${t.origin_id}`})}),t.trace_id&&e.jsx(R,{tier:2,label:"Trace",children:e.jsx(S,{bare:!0,value:t.trace_id,href:s?s.replace("{traceId}",t.trace_id):void 0,external:!0})})]}),t.metadata&&Object.keys(t.metadata).filter(c=>!c.startsWith("_")).length>0&&e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-1 mt-1",children:Object.entries(t.metadata).filter(([c])=>!c.startsWith("_")).map(([c,m])=>e.jsx(R,{tier:3,label:c,children:e.jsx($t,{value:m})},c))})]})]})}function Y(t){return t.replace(/`([^`]+)`/g,'<code class="px-1 py-0.5 bg-surface-sunken rounded text-xs font-mono">$1</code>').replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>").replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" class="text-accent-primary hover:underline" target="_blank" rel="noopener noreferrer">$1</a>')}function pe({content:t,compact:n}){const i=[],a=/^```(\w*)\n([\s\S]*?)^```$/gm;let s=0,l;for(;(l=a.exec(t))!==null;)l.index>s&&i.push({type:"text",text:t.slice(s,l.index)}),i.push({type:"code",lang:l[1],code:l[2].replace(/\n$/,"")}),s=l.index+l[0].length;s<t.length&&i.push({type:"text",text:t.slice(s)});const x=n?{text:"text-xs",heading:"text-xs",list:"text-xs",code:"text-[11px]"}:{text:"text-sm",heading:"text-sm",list:"text-sm",code:"text-xs"},d=[];for(const r of i){if(r.type==="code"){const o=r.code.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");d.push(`<pre class="my-2 p-2.5 bg-surface-sunken rounded-md overflow-x-auto"><code class="${x.code} font-mono text-text-secondary leading-relaxed">${o}</code></pre>`);continue}d.push(...It(r.text,x))}return e.jsx("div",{className:"prose-sm",dangerouslySetInnerHTML:{__html:d.join(`
|
|
2
|
+
`)}})}function It(t,n){const i=t.split(`
|
|
3
|
+
`),a=[];let s=!1,l=!1,x=[];for(const d of i){const r=d.trim();if(r.startsWith("|")&&r.endsWith("|")){const o=r.slice(1,-1).split("|").map(c=>c.trim());if(o.every(c=>/^[-:]+$/.test(c)))continue;l||(l=!0,x=[]),x.push(o);continue}if(l){l=!1;const[o,...c]=x;a.push('<div class="overflow-x-auto my-2"><table class="text-xs w-full"><thead><tr>');for(const m of o)a.push(`<th class="text-left py-1 px-2 border-b border-border text-text-secondary font-medium">${Y(m)}</th>`);a.push("</tr></thead><tbody>");for(const m of c){a.push("<tr>");for(const h of m)a.push(`<td class="py-1 px-2 border-b border-border/50">${Y(h)}</td>`);a.push("</tr>")}a.push("</tbody></table></div>"),x=[]}if(!r){s&&(a.push("</ul>"),s=!1);continue}if(r.startsWith("### ")){s&&(a.push("</ul>"),s=!1),a.push(`<h4 class="${n.heading} font-semibold text-text-primary mt-3 mb-1">${Y(r.slice(4))}</h4>`);continue}if(r.startsWith("## ")){s&&(a.push("</ul>"),s=!1),a.push(`<h3 class="${n.heading} font-semibold text-text-primary mt-3 mb-1">${Y(r.slice(3))}</h3>`);continue}if(/^[-*_]{3,}$/.test(r)){s&&(a.push("</ul>"),s=!1),a.push('<hr class="border-border my-3" />');continue}if(/^[-*] /.test(r)){s||(a.push('<ul class="space-y-1 my-1">'),s=!0),a.push(`<li class="${n.list} text-text-secondary flex gap-2"><span class="text-text-tertiary shrink-0">-</span><span>${Y(r.slice(2))}</span></li>`);continue}s&&(a.push("</ul>"),s=!1),a.push(`<p class="${n.text} text-text-secondary my-1">${Y(r)}</p>`)}if(l&&x.length){const[d,...r]=x;a.push('<div class="overflow-x-auto my-2"><table class="text-xs w-full"><thead><tr>');for(const o of d)a.push(`<th class="text-left py-1 px-2 border-b border-border text-text-secondary font-medium">${Y(o)}</th>`);a.push("</tr></thead><tbody>");for(const o of r){a.push("<tr>");for(const c of o)a.push(`<td class="py-1 px-2 border-b border-border/50">${Y(c)}</td>`);a.push("</tr>")}a.push("</tbody></table></div>")}return s&&a.push("</ul>"),a}function he({children:t}){return e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:t})}function At({payload:t,isTerminal:n,resolverPayload:i,onRetryTriage:a,isRetrying:s}){const l=t.title,x=t.summary,d=t.diagnosis,r=t.tool_calls_made,o=t.result,c=i==null?void 0:i._lt,m=(c==null?void 0:c.triaged)===!0,h=c==null?void 0:c.triageWorkflowId,b=n&&m,[u,j]=f.useState(!1);return b?e.jsxs("div",{className:"rounded-md border border-status-success/30 bg-surface-raised",children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-surface-border",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("svg",{className:"w-4 h-4 text-status-success shrink-0",viewBox:"0 0 16 16",fill:"currentColor",children:e.jsx("path",{d:"M8 1a7 7 0 110 14A7 7 0 018 1zm3.36 4.65a.5.5 0 00-.72 0L7 9.29 5.36 7.65a.5.5 0 10-.72.7l2 2a.5.5 0 00.72 0l4-4a.5.5 0 000-.7z"})}),e.jsx("span",{className:"text-xs font-medium text-status-success",children:"Resolved by AI Triage"})]}),typeof r=="number"&&e.jsxs("span",{className:"text-[10px] font-mono px-2 py-0.5 rounded-full bg-status-success/10 text-status-success",children:[r," tool calls used"]})]}),e.jsxs("div",{className:"px-4 py-4 space-y-4",children:[l&&e.jsx("p",{className:"text-sm font-medium text-text-primary",children:l}),d&&e.jsxs("div",{children:[e.jsx(he,{children:"Triage diagnosis"}),e.jsx("div",{className:"text-xs text-text-primary leading-relaxed",children:e.jsx(pe,{content:d})})]}),e.jsx("div",{className:"flex items-center gap-3",children:h&&e.jsx(Je,{to:`/workflows/executions/${h}`,className:"text-[10px] text-accent hover:underline",children:"View triage execution"})})]})]}):e.jsxs("div",{className:"rounded-md border border-status-warning/30 bg-surface-raised",children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-surface-border",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("svg",{className:"w-4 h-4 text-status-warning shrink-0",viewBox:"0 0 16 16",fill:"currentColor",children:e.jsx("path",{d:"M8 1a7 7 0 110 14A7 7 0 018 1zm0 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 4zm0 7a.75.75 0 100-1.5.75.75 0 000 1.5z"})}),e.jsx("span",{className:"text-xs font-medium text-status-warning",children:"Tool Rounds Exhausted"})]}),typeof r=="number"&&e.jsxs("span",{className:"text-[10px] font-mono px-2 py-0.5 rounded-full bg-status-warning/10 text-status-warning",children:[r," tool calls used"]})]}),e.jsxs("div",{className:"px-4 py-4 space-y-4",children:[l&&e.jsx("p",{className:"text-sm font-medium text-text-primary",children:l}),x&&e.jsxs("div",{children:[e.jsx(he,{children:"What happened"}),e.jsx("div",{className:"text-xs text-text-secondary leading-relaxed",children:e.jsx(pe,{content:x})})]}),d&&e.jsxs("div",{children:[e.jsx(he,{children:"What went wrong"}),e.jsx("div",{className:"text-xs text-text-primary leading-relaxed",children:e.jsx(pe,{content:d})})]}),o!=null&&e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>j(!u),className:"flex items-center gap-1 text-[10px] font-semibold uppercase tracking-widest text-text-tertiary hover:text-text-secondary transition-colors",children:[e.jsx("svg",{className:`w-3 h-3 transition-transform ${u?"rotate-90":""}`,viewBox:"0 0 12 12",fill:"currentColor",children:e.jsx("path",{d:"M4.5 2l4 4-4 4"})}),"Partial results"]}),u&&e.jsx("div",{className:"mt-2",children:e.jsx(ae,{data:o,defaultMode:"tree"})})]}),a&&!n&&e.jsx("div",{className:"pt-2",children:e.jsxs("button",{onClick:a,disabled:s,className:"inline-flex items-center gap-2 px-4 py-2 text-xs font-medium bg-accent text-text-inverse rounded-md hover:bg-accent/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[e.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 14 14",fill:"currentColor",children:e.jsx("path",{d:"M7 1a6 6 0 100 12A6 6 0 007 1zm2.5 6.5l-3.5 2V5.5l3.5 2z"})}),s?"Sending to triage...":"Retry with AI Triage"]})})]})]})}function Wt({triage:t,payload:n}){const i=t.confidence??0,a=i>=.8?"text-status-success":i>=.5?"text-status-pending":"text-status-error",s=Pt(t.originalData,n);return e.jsxs("div",{className:"space-y-5",children:[t.diagnosis&&e.jsx("p",{className:"text-sm text-text-primary leading-relaxed",children:t.diagnosis}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3 text-xs text-text-tertiary",children:[t.tool_calls_made!=null&&e.jsxs("span",{children:[t.tool_calls_made," tool call",t.tool_calls_made!==1?"s":""]}),t.tool_calls_made!=null&&e.jsx("span",{className:"text-text-quaternary",children:"·"}),e.jsxs("span",{className:`font-medium ${a}`,children:[Math.round(i*100),"% confidence"]})]}),t.actions_taken&&t.actions_taken.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1.5",children:t.actions_taken.map((l,x)=>e.jsxs("span",{className:`inline-flex items-center gap-1.5 px-2 py-0.5 text-[11px]
|
|
4
|
+
text-text-secondary`,children:[e.jsx("svg",{className:"w-3 h-3 text-status-success shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}),l]},x))}),t.recommendation&&e.jsx("p",{className:"text-[11px] text-text-tertiary italic",children:t.recommendation}),s.length>0&&e.jsx("div",{className:"space-y-4 pt-2",children:s.map(l=>e.jsx(Dt,{diff:l},l.key))})]})}function Pt(t,n){if(!t)return[];const i=[];for(const a of Object.keys(t)){if(a.startsWith("_"))continue;const s=t[a],l=n[a];l!==void 0&&JSON.stringify(s)!==JSON.stringify(l)&&i.push({key:a,label:a.replace(/[_-]/g," "),original:s,corrected:l})}return i}function Dt({diff:t}){const n=Pe(t.original),i=Pe(t.corrected);return n!==null&&i!==null?e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-x-8 gap-y-3",children:[e.jsxs("div",{children:[e.jsxs("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[t.label," ",e.jsx("span",{className:"normal-case font-normal",children:"(original)"})]}),e.jsx("p",{className:"text-sm text-text-tertiary leading-relaxed line-through decoration-text-tertiary/30",children:n})]}),e.jsxs("div",{children:[e.jsxs("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[t.label," ",e.jsx("span",{className:"normal-case font-normal text-status-success",children:"(corrected)"})]}),e.jsx("p",{className:"text-sm text-text-primary leading-relaxed",children:i})]})]}):e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsxs("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[t.label," ",e.jsx("span",{className:"normal-case font-normal",children:"(original)"})]}),e.jsx("pre",{className:"text-xs text-text-tertiary font-mono whitespace-pre-wrap leading-relaxed",children:typeof t.original=="object"?JSON.stringify(t.original,null,2):String(t.original)})]}),e.jsxs("div",{children:[e.jsxs("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[t.label," ",e.jsx("span",{className:"normal-case font-normal text-status-success",children:"(corrected)"})]}),e.jsx("pre",{className:"text-xs text-text-primary font-mono whitespace-pre-wrap leading-relaxed",children:typeof t.corrected=="object"?JSON.stringify(t.corrected,null,2):String(t.corrected)})]})]})}function Pe(t){return t==null?"null":typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):null}function De({src:t,escalation:n,schema:i,onResolve:a,onEscalate:s,submitAttempted:l}){const x=f.useRef(null),d=f.useRef("");f.useEffect(()=>{try{const o=new URL(t);d.current=o.origin}catch{d.current=""}},[t]);const r=f.useCallback(()=>{const o=x.current;if(!(o!=null&&o.contentWindow)||!d.current)return;const m={type:"lt:init",escalation:{id:n.id,type:n.type,subtype:n.subtype,description:n.description,status:n.status,priority:n.priority,role:n.role,workflow_type:n.workflow_type},schema:i};o.contentWindow.postMessage(m,d.current)},[n,i]);return f.useEffect(()=>{const o=c=>{if(c.origin!==d.current)return;const m=c.data;if(!(!m||typeof m!="object"||typeof m.type!="string"))switch(m.type){case"lt:ready":r();break;case"lt:submit":m.payload&&typeof m.payload=="object"&&a(m.payload);break;case"lt:escalate":typeof m.target=="string"&&m.target&&s(m.target);break;case"lt:resize":{const h=x.current;h&&typeof m.height=="number"&&m.height>0&&(h.style.height=`${Math.min(m.height,2e3)}px`);break}}};return window.addEventListener("message",o),()=>window.removeEventListener("message",o)},[r,a,s]),f.useEffect(()=>{if(!l)return;const o=x.current;o!=null&&o.contentWindow&&d.current&&o.contentWindow.postMessage({type:"lt:validate"},d.current)},[l]),e.jsx("div",{className:"rounded-md border border-surface-border overflow-hidden bg-white",children:e.jsx("iframe",{ref:x,src:t,sandbox:"allow-scripts allow-same-origin allow-forms",className:"w-full border-0",style:{minHeight:"400px"},title:"HITL Viewport",onLoad:r})})}function Lt({fieldKey:t,value:n,onChange:i,schema:a}){const s=f.useRef(null),l=(a==null?void 0:a.accept)??void 0,x=t.replace(/[_-]/g," "),d=a==null?void 0:a.description,r=f.useCallback(c=>{var b;const m=(b=c.target.files)==null?void 0:b[0];if(!m)return;const h=new FileReader;h.onload=()=>{typeof h.result=="string"&&i(h.result)},h.readAsDataURL(m)},[i]),o=n.startsWith("data:");return e.jsxs("div",{children:[e.jsx("label",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:x}),d&&e.jsx("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:d}),e.jsxs("div",{className:"mt-1",children:[e.jsx("input",{ref:s,type:"file",accept:l,onChange:r,className:"hidden"}),e.jsx("button",{type:"button",onClick:()=>{var c;return(c=s.current)==null?void 0:c.click()},className:"btn-secondary text-xs px-3 py-1.5",children:o?"Replace file":"Choose file"}),o&&e.jsx("span",{className:"ml-2 text-xs text-status-success",children:"File attached"})]})]})}function Ot({fieldKey:t,value:n,onChange:i,schema:a}){const s=t.replace(/[_-]/g," "),l=a==null?void 0:a.description,x=(a==null?void 0:a["x-lt-language"])??"",d=f.useCallback(r=>{if(r.key==="Tab"){r.preventDefault();const o=r.currentTarget,c=o.selectionStart,m=o.selectionEnd,h=n.substring(0,c)+" "+n.substring(m);i(h),requestAnimationFrame(()=>{o.selectionStart=o.selectionEnd=c+2})}},[n,i]);return e.jsxs("div",{children:[e.jsxs("label",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:[s,x&&e.jsx("span",{className:"ml-2 text-text-tertiary/60 normal-case font-normal",children:x})]}),l&&e.jsx("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:l}),e.jsx("textarea",{value:n,onChange:r=>i(r.target.value),onKeyDown:d,className:"input w-full mt-1 font-mono text-xs leading-relaxed",rows:10,spellCheck:!1})]})}function Ft({fieldKey:t,value:n,onChange:i,schema:a}){const s=f.useRef(null),[l,x]=f.useState(!1),d=t.replace(/[_-]/g," "),r=a==null?void 0:a.description;f.useEffect(()=>{const u=s.current;if(!u)return;const j=u.getContext("2d");if(j&&(j.lineWidth=2,j.lineCap="round",j.strokeStyle="#1E1535",n&&n.startsWith("data:"))){const g=new Image;g.onload=()=>j.drawImage(g,0,0),g.src=n}},[]);const o=f.useCallback(u=>{const g=s.current.getBoundingClientRect();return"touches"in u?{x:u.touches[0].clientX-g.left,y:u.touches[0].clientY-g.top}:{x:u.clientX-g.left,y:u.clientY-g.top}},[]),c=f.useCallback(u=>{var p;x(!0);const j=(p=s.current)==null?void 0:p.getContext("2d");if(!j)return;const g=o(u);j.beginPath(),j.moveTo(g.x,g.y)},[o]),m=f.useCallback(u=>{var p;if(!l)return;const j=(p=s.current)==null?void 0:p.getContext("2d");if(!j)return;const g=o(u);j.lineTo(g.x,g.y),j.stroke()},[l,o]),h=f.useCallback(()=>{x(!1);const u=s.current;u&&i(u.toDataURL("image/png"))},[i]),b=f.useCallback(()=>{const u=s.current;if(!u)return;const j=u.getContext("2d");j&&(j.clearRect(0,0,u.width,u.height),i(""))},[i]);return e.jsxs("div",{children:[e.jsx("label",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:d}),r&&e.jsx("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:r}),e.jsx("div",{className:"mt-1 border border-surface-border rounded-md overflow-hidden bg-white",children:e.jsx("canvas",{ref:s,width:400,height:150,className:"w-full cursor-crosshair touch-none",onMouseDown:c,onMouseMove:m,onMouseUp:h,onMouseLeave:h,onTouchStart:c,onTouchMove:m,onTouchEnd:h})}),e.jsx("button",{type:"button",onClick:b,className:"mt-1 text-[10px] text-text-tertiary hover:text-accent transition-colors",children:"Clear"})]})}function Jt({fieldKey:t,value:n,onChange:i,schema:a}){const s=t.replace(/[_-]/g," "),l=a==null?void 0:a.description;return e.jsxs("div",{children:[e.jsx("label",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:s}),l&&e.jsx("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:l}),e.jsx("textarea",{value:n,onChange:x=>i(x.target.value),className:"input w-full mt-1 text-sm leading-relaxed",rows:8,placeholder:"Supports plain text. Markdown formatting is preserved."})]})}const Le={"file-upload":Lt,"code-editor":Ot,signature:Ft,"rich-text":Jt};function Ve({value:t,onChange:n,disabled:i,submitAttempted:a}){const[s,l]=f.useState({}),[x,d]=f.useState({}),[r,o]=f.useState(null),[c,m]=f.useState(!1),[h,b]=f.useState(new Set);f.useEffect(()=>{try{const y=JSON.parse(t);if(typeof y=="object"&&y!==null&&!Array.isArray(y)){const N={},w={};for(const[M,P]of Object.entries(y))M.startsWith("_")?w[M]=P:N[M]=P;l(N),d(w),o(w._form_schema&&typeof w._form_schema=="object"?w._form_schema:null),m(!1)}}catch{m(!0)}},[t]);const u=f.useCallback(y=>{l(y),n(JSON.stringify({...y,...x},null,2))},[x,n]),j=f.useCallback((y,N)=>{u({...s,[y]:N})},[s,u]),g=f.useCallback(y=>{b(N=>{if(N.has(y))return N;const w=new Set(N);return w.add(y),w})},[]);if(c)return e.jsx("p",{className:"text-xs text-status-error",children:"Unable to parse resolver data as form. Use the JSON editor below."});const p=Object.entries(s);if(p.length===0)return e.jsx("p",{className:"text-xs text-text-tertiary italic",children:"No resolver fields defined."});const _=r==null?void 0:r["x-lt-order"],C=_?[...p].sort((y,N)=>{const w=_.indexOf(y[0]),M=_.indexOf(N[0]);return(w===-1?1/0:w)-(M===-1?1/0:M)}):p,$=new Set((r==null?void 0:r.required)??[]),I=r==null?void 0:r["x-lt-layout"],A=r==null?void 0:r.title,T=r==null?void 0:r.description,E=C.map(([y,N])=>{var O;const w=(O=r==null?void 0:r.properties)==null?void 0:O[y],M=(w==null?void 0:w.readOnly)===!0,P=(w==null?void 0:w["x-lt-span"])??1,W=$.has(y),D=h.has(y)||!!a;let L;if(W&&D&&(N==null||typeof N=="string"&&N.trim()==="")&&(L="Required"),D&&typeof N=="string"&&N.trim()!==""&&w){const U=w.format;U==="email"&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(N)&&(L="Enter a valid email address"),U==="uri"&&!/^https?:\/\/.+/.test(N)&&(L="Enter a valid URL")}return e.jsx("div",{className:I==="two-column"&&P>=2?"col-span-2":"",children:e.jsx(Ue,{fieldKey:y,value:N,onChange:U=>j(y,U),onBlur:()=>g(y),schema:r,isRequired:W,isReadOnly:M,error:L})},y)});return e.jsxs("div",{className:`pb-8 ${i?"opacity-60 pointer-events-none":""}`,children:[A&&e.jsx("h3",{className:"text-lg font-light text-text-primary mb-1",children:A}),T&&e.jsx("p",{className:"text-sm text-text-secondary leading-relaxed mb-6",children:T}),I==="two-column"?e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-x-14 gap-y-6",children:E}):e.jsx("div",{className:"space-y-6",children:E})]})}function Ue({fieldKey:t,value:n,onChange:i,onBlur:a,schema:s,isRequired:l,isReadOnly:x,error:d}){var m;const r=t.replace(/[_-]/g," "),o=(m=s==null?void 0:s.properties)==null?void 0:m[t];if(x){const h=n===null?"null":typeof n=="object"?JSON.stringify(n,null,2):String(n);return e.jsxs("div",{children:[e.jsx(V,{isRequired:l,children:r}),e.jsx("p",{className:"text-sm text-text-secondary mt-0.5 whitespace-pre-wrap",children:h})]})}const c=o==null?void 0:o["x-lt-widget"];if(c&&c in Le&&typeof n=="string"){const h=Le[c];return e.jsx(h,{fieldKey:t,value:n,onChange:b=>i(b),schema:o})}if(typeof n=="boolean")return e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:n,onChange:h=>{i(h.target.checked),a==null||a()},className:"w-3.5 h-3.5 rounded accent-accent"}),e.jsxs("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-secondary",children:[r,l&&e.jsx("span",{className:"text-status-error ml-0.5",children:"*"})]})]}),e.jsx(G,{error:d})]});if(typeof n=="number")return e.jsxs("div",{children:[e.jsx(V,{isRequired:l,children:r}),e.jsx("input",{type:"number",value:n,onChange:h=>i(parseFloat(h.target.value)||0),onBlur:a,step:"any",className:Z(!!d)}),e.jsx(G,{error:d})]});if(typeof n=="string"){const h=(o==null?void 0:o.format)==="password",b=o==null?void 0:o.enum,u=o==null?void 0:o.description;if(b!=null&&b.length)return e.jsxs("div",{children:[e.jsx(V,{isRequired:l,children:r}),u&&e.jsx("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:u}),e.jsx("select",{value:n,onChange:p=>i(p.target.value),onBlur:a,className:Z(!!d),children:b.map(p=>e.jsx("option",{value:p,children:p},p))}),e.jsx(G,{error:d})]});if(h)return e.jsxs("div",{children:[e.jsx(V,{isRequired:l,children:r}),u&&e.jsx("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:u}),e.jsx("input",{type:"password",value:n,onChange:p=>i(p.target.value),onBlur:a,className:Z(!!d),autoComplete:"off"}),e.jsx(G,{error:d})]});const j=o==null?void 0:o.format,g={date:"date","date-time":"datetime-local",email:"email",uri:"url"};return j&&j in g?e.jsxs("div",{children:[e.jsx(V,{isRequired:l,children:r}),u&&e.jsx("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:u}),e.jsx("input",{type:g[j],value:n,onChange:p=>i(p.target.value),onBlur:a,className:Z(!!d)}),e.jsx(G,{error:d})]}):j==="textarea"||n.length>80?e.jsxs("div",{children:[e.jsx(V,{isRequired:l,children:r}),u&&e.jsx("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:u}),e.jsx("textarea",{value:n,onChange:p=>i(p.target.value),onBlur:a,className:`${Z(!!d)} leading-relaxed`,rows:Math.min(6,Math.max(3,Math.ceil(n.length/60)))}),e.jsx(G,{error:d})]}):e.jsxs("div",{children:[e.jsx(V,{isRequired:l,children:r}),u&&e.jsx("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:u}),e.jsx("input",{type:"text",value:n,onChange:p=>i(p.target.value),onBlur:a,className:Z(!!d)}),e.jsx(G,{error:d})]})}if(n===null)return e.jsxs("div",{children:[e.jsx(V,{isRequired:l,children:r}),e.jsx("p",{className:"text-xs text-text-tertiary italic mt-1",children:"null"})]});if(Array.isArray(n))return e.jsxs("div",{children:[e.jsx(V,{isRequired:l,children:r}),e.jsx("div",{className:"flex flex-wrap gap-1.5 mt-1",children:n.map((h,b)=>e.jsx("span",{className:"px-2 py-0.5 text-[11px] font-mono bg-surface-sunken rounded text-text-secondary",children:String(h)},b))})]});if(typeof n=="object"){const h=Object.entries(n);return e.jsxs("div",{children:[e.jsx(V,{isRequired:l,children:r}),e.jsx("div",{className:"ml-4 mt-2 pl-4 border-l border-accent-faint space-y-3",children:h.map(([b,u])=>e.jsx(Ue,{fieldKey:b,value:u,onChange:j=>i({...n,[b]:j})},b))})]})}return null}function V({children:t,isRequired:n}){return e.jsxs("label",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-secondary",children:[t,n&&e.jsx("span",{className:"text-status-error ml-0.5",children:"*"})]})}function G({error:t}){return t?e.jsx("p",{className:"text-[10px] text-status-error mt-1 animate-[field-error-in_0.3s_ease-out]",children:t}):null}function Z(t){return t?"input text-sm w-full mt-1 border-status-error/50 focus:border-status-error animate-[field-shake_0.4s_ease-in-out]":"input text-sm w-full mt-1"}function Oe({json:t,onJsonChange:n,requestTriage:i,onRequestTriageChange:a,triageNotes:s,onTriageNotesChange:l,isDevMode:x=!0,disabled:d=!1,submitAttempted:r=!1,showTriage:o=!1}){const[c,m]=f.useState("form"),{visibleJson:h,hiddenFields:b}=f.useMemo(()=>{try{const g=JSON.parse(t);if(typeof g=="object"&&g!==null&&!Array.isArray(g)){const p={},_={};for(const[C,$]of Object.entries(g))C.startsWith("_")?p[C]=$:_[C]=$;return{visibleJson:JSON.stringify(_,null,2),hiddenFields:p}}}catch{}return{visibleJson:t,hiddenFields:{}}},[t]),u=f.useCallback(g=>{try{const p=JSON.parse(g);n(JSON.stringify({...p,...b},null,2))}catch{n(g)}},[b,n]),j=Object.keys(b).length>0;return e.jsxs(e.Fragment,{children:[(o||x)&&e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[o?i?e.jsxs("button",{onClick:()=>a(!1),className:"group flex items-center gap-2 text-left","data-testid":"triage-cancel",children:[e.jsx("span",{className:"flex items-center justify-center w-5 h-5 rounded-full bg-accent/10 text-accent shrink-0",children:e.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})}),e.jsxs("span",{className:"text-xs text-text-secondary group-hover:text-text-primary transition-colors",children:["AI Triage active."," ",e.jsx("span",{className:"text-accent group-hover:underline",children:"Cancel"})]})]}):e.jsxs("button",{onClick:()=>a(!0),className:"group flex items-center gap-2.5 text-left my-4","data-testid":"triage-callout",children:[e.jsx("span",{className:"flex items-center justify-center w-6 h-6 rounded-full bg-accent/10 text-accent shrink-0 animate-[triage-glow_6s_ease-in-out_infinite]",children:e.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.663 17h4.674M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"})})}),e.jsxs("span",{className:"text-[13px] text-text-secondary group-hover:text-text-primary transition-colors",children:["This form doesn't capture the issue?"," ",e.jsx("span",{className:"text-accent group-hover:underline",children:"Request AI Triage"})]})]}):e.jsx("span",{}),x&&!i&&e.jsx("button",{onClick:()=>m(c==="form"?"json":"form"),className:"text-[10px] text-text-tertiary hover:text-accent transition-colors",children:c==="form"?"Raw JSON":"Form"})]}),e.jsxs("div",{className:"relative min-h-[200px]",children:[e.jsx("div",{className:i?"pointer-events-none select-none":"",children:c==="form"?e.jsx(Ve,{value:t,onChange:n,disabled:d,submitAttempted:r}):e.jsxs("div",{children:[j&&e.jsx("p",{className:"text-[10px] text-text-quaternary mb-2 italic",children:"Form schema hidden. Edit the resolver values below — they will be merged with the schema on submit."}),e.jsx("textarea",{value:h,onChange:g=>u(g.target.value),className:"input-json w-full",rows:Math.max(8,h.split(`
|
|
5
|
+
`).length+2),spellCheck:!1,"data-testid":"resolve-json"})]})}),i&&e.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col bg-surface/90 backdrop-blur-[2px] rounded-md border border-accent/20 p-5","data-testid":"triage-overlay",children:[e.jsx("p",{className:"text-xs text-text-secondary mb-3 leading-relaxed",children:"The resolution form will not be submitted. Describe the issue so AI triage can diagnose and fix it using available tools. The corrected result will come back as a new escalation for your review."}),e.jsx("textarea",{value:s,onChange:g=>l(g.target.value),placeholder:"e.g. Content is in Spanish — needs translation to English before review...",className:"input text-xs w-full flex-1 min-h-[80px] resize-none",autoFocus:!0,"data-testid":"triage-notes"})]})]})]})}function Q({children:t}){return e.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary",children:t})}function le({children:t}){return e.jsx("p",{className:"text-[12px] text-text-secondary mt-0.5 font-mono",children:t})}function Vt({esc:t}){const{isBuilder:n}=be();return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-accent/60 mb-3",children:"Classification"}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-x-8 gap-y-4",children:[e.jsxs("div",{children:[e.jsx(Q,{children:"Type"}),e.jsx(le,{children:t.type})]}),t.subtype&&e.jsxs("div",{children:[e.jsx(Q,{children:"Subtype"}),e.jsx(le,{children:t.subtype})]}),e.jsxs("div",{children:[e.jsx(Q,{children:"Priority"}),e.jsxs(le,{children:["P",t.priority]})]}),e.jsxs("div",{children:[e.jsx(Q,{children:"Status"}),e.jsx(le,{children:t.status})]})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-accent/60 mb-3",children:"References"}),e.jsxs("div",{className:"flex flex-wrap gap-x-8 gap-y-4",children:[e.jsx(S,{label:"Escalation ID",value:t.id}),t.task_id&&e.jsx(S,{label:"Task ID",value:t.task_id,href:n?`/workflows/tasks/detail/${t.task_id}`:void 0}),t.workflow_type&&e.jsx(S,{label:"Workflow Name",value:t.workflow_type,href:n?`/workflows/executions?entity=${encodeURIComponent(t.workflow_type)}`:void 0}),t.workflow_id&&e.jsx(S,{label:"Workflow ID",value:t.workflow_id,href:n?`/workflows/executions/${t.workflow_id}`:void 0}),t.task_queue&&e.jsx(S,{label:"Task Queue",value:t.task_queue,href:n?`/admin/controlplane?queue=${encodeURIComponent(t.task_queue)}`:void 0}),t.origin_id&&t.origin_id!==t.workflow_id&&e.jsx(S,{label:"Origin ID",value:t.origin_id}),t.parent_id&&e.jsx(S,{label:"Parent ID",value:t.parent_id}),t.trace_id&&e.jsx(S,{label:"Trace ID",value:t.trace_id}),t.span_id&&e.jsx(S,{label:"Span ID",value:t.span_id})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-accent/60 mb-3",children:"Timeline"}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-x-8 gap-y-4",children:[e.jsxs("div",{children:[e.jsx(Q,{children:"Created"}),e.jsx("p",{className:"text-[12px] text-text-secondary mt-0.5",children:e.jsx(z,{date:t.created_at})})]}),t.claimed_at&&e.jsxs("div",{children:[e.jsx(Q,{children:"Claimed"}),e.jsx("p",{className:"text-[12px] text-text-secondary mt-0.5",children:e.jsx(z,{date:t.claimed_at})})]}),t.resolved_at&&e.jsxs("div",{children:[e.jsx(Q,{children:"Resolved"}),e.jsx("p",{className:"text-[12px] text-text-secondary mt-0.5",children:e.jsx(z,{date:t.resolved_at})})]}),e.jsxs("div",{children:[e.jsx(Q,{children:"Updated"}),e.jsx("p",{className:"text-[12px] text-text-secondary mt-0.5",children:e.jsx(z,{date:t.updated_at})})]})]})]}),t.metadata&&Object.keys(t.metadata).length>0&&e.jsx("div",{children:e.jsx(ae,{data:t.metadata,label:"Metadata"})})]})}function Ut({isRoundsExhausted:t,payloadObj:n,isTerminal:i,resolverPayload:a,onRetryTriage:s,isRetrying:l}){return e.jsxs(e.Fragment,{children:[t&&n&&e.jsx("div",{className:"mt-8",children:e.jsx(At,{payload:n,isTerminal:i,resolverPayload:a,onRetryTriage:s,isRetrying:l})}),(n==null?void 0:n.category)==="missing_credential"&&e.jsxs("div",{className:"mt-8 bg-status-warning/10 border border-status-warning/30 rounded-md px-5 py-4 flex items-start gap-3",children:[e.jsx(Me,{size:20,className:"text-status-warning mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-text-primary mb-1",children:"Missing Credential"}),e.jsxs("p",{className:"text-xs text-text-secondary mb-3",children:["This workflow requires a ",e.jsx("span",{className:"font-medium capitalize",children:String(n.provider)})," credential to continue. Register one and then resolve this escalation to retry."]}),e.jsxs(Je,{to:"/credentials",className:"btn-primary text-xs inline-flex items-center gap-1.5",children:[e.jsx(Me,{size:12}),"Go to Credentials"]})]})]})]})}function Bt({isCollapsed:t,toggleSection:n,esc:i,escalationPayload:a,resolverPayload:s,triageData:l,payloadObj:x,isTerminal:d,claimedByMe:r,activeView:o,metadataFormSchema:c,json:m,onJsonChange:h,requestTriage:b,onRequestTriageChange:u,triageNotes:j,onTriageNotesChange:g,isDevMode:p,onResolve:_,onEscalate:C,submitAttempted:$,isCertified:I,hasAI:A}){return e.jsxs("div",{className:"mt-8 space-y-6",children:[p&&e.jsx(ie,{title:"Escalation Record",sectionKey:"record",isCollapsed:t("record"),onToggle:n,contentClassName:"mt-4 ml-9",children:e.jsx(Vt,{esc:i})}),p&&e.jsx(ie,{title:"Input / Output",sectionKey:"context",isCollapsed:t("context"),onToggle:n,contentClassName:"mt-4 ml-9",children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[!!i.envelope&&e.jsx("div",{children:e.jsx(ae,{data:i.envelope,label:"Input Envelope"})}),a!=null&&e.jsx("div",{children:e.jsx(ae,{data:a,label:"Escalation Context"})})]}),s!=null&&e.jsx("div",{className:"max-w-xl",children:e.jsx(ae,{data:s,label:"Resolver Payload"})})]})}),p&&l&&x&&e.jsx(ie,{title:"AI Triage",sectionKey:"triage",isCollapsed:t("triage"),onToggle:n,contentClassName:"mt-4 ml-9",children:e.jsx(Wt,{triage:l,payload:x})}),!p&&d&&s!=null&&(()=>{const T=typeof s=="object"&&s!==null?s:{},E=c,y=E?{...T,_form_schema:E}:T;return e.jsx("div",{className:"pt-6",children:e.jsx(Ve,{value:JSON.stringify(y,null,2),onChange:()=>{},disabled:!0})})})(),!d&&(r||!p)&&o==="resolve"&&!!(i.workflow_type||c)&&(()=>{const T=c,E=T==null?void 0:T["x-lt-viewport"],y=(E==null?void 0:E.type)==="iframe"&&!!E.src&&_&&C;return p?e.jsx(ie,{title:"Submit Your Resolution",sectionKey:"resolver",isCollapsed:t("resolver"),onToggle:n,contentClassName:"mt-4 ml-9",children:y?e.jsx(De,{src:E.src,escalation:i,schema:T,onResolve:_,onEscalate:C}):e.jsx(Oe,{json:m,onJsonChange:h,requestTriage:b,onRequestTriageChange:u,triageNotes:j,onTriageNotesChange:g,isDevMode:p,submitAttempted:$,showTriage:!!I&&!!A})}):e.jsx("div",{className:"pt-6",children:y?e.jsx(De,{src:E.src,escalation:i,schema:T,onResolve:_,onEscalate:C}):e.jsx(Oe,{json:m,onJsonChange:h,requestTriage:b,onRequestTriageChange:u,triageNotes:j,onTriageNotesChange:g,isDevMode:p,disabled:!r,submitAttempted:$,showTriage:!!I&&!!A})})})()]})}function fe(t){if(!t)return null;try{return JSON.parse(t)}catch{return t}}function zt(t){if(!t)return!1;try{const n=JSON.parse(t);return!!(n&&typeof n=="object"&&n._triage)}catch{return!1}}function us(){var ke,_e,Ce,Te;const{id:t}=_t(),{user:n}=rt(),i=Ct(),a=at(),{data:s,isLoading:l,refetch:x,isFetching:d}=it(t);wt(t);const r=lt(),o=ot(),c=ct(),m=dt(),[h,b]=f.useState(!1),{data:u}=ft((s==null?void 0:s.role)??""),{data:j}=vt(),{data:g}=gt(),{data:p}=xt(),{isBuilder:_}=be(),{isDevMode:C,toggleMode:$}=Tt(!1),I=j==null?void 0:j.find(k=>k.workflow_type===(s==null?void 0:s.workflow_type)),A=g==null?void 0:g.roles.find(k=>k.role===(s==null?void 0:s.role)),T=((ke=p==null?void 0:p.telemetry)==null?void 0:ke.traceUrl)??null,[E,y]=f.useState("resolve"),[N,w]=f.useState("{}"),{isCollapsed:M,toggle:P,collapse:W,expand:D}=ut("escalation-detail"),[L,O]=f.useState(!1),[U,oe]=f.useState(""),[ce,X]=f.useState(!1),v=(I==null?void 0:I.resolver_schema)??(A==null?void 0:A.form_schema)??null,F=((_e=s==null?void 0:s.metadata)==null?void 0:_e.form_schema)??null,H=F??v,B=f.useRef(!1);f.useEffect(()=>{if(B.current)return;const k=F??(v!=null&&v.properties?v:null);if(k!=null&&k.properties){B.current=!0;const Ee={_form_schema:k};for(const[et,tt]of Object.entries(k.properties)){const st=tt;Ee[et]=st.default??""}w(JSON.stringify(Ee,null,2))}else H&&(B.current=!0,w(JSON.stringify(H,null,2)))},[H,F,v]);const q=zt(s==null?void 0:s.escalation_payload),J=(s==null?void 0:s.subtype)==="rounds_exhausted",ne=(s==null?void 0:s.subtype)==="wait_for_human";if(f.useEffect(()=>{(q||J)&&W("context"),ne&&F&&(W("context"),D("resolver"))},[q,J,ne,F,W,D]),l)return e.jsxs("div",{className:"animate-pulse space-y-8",children:[e.jsx("div",{className:"h-8 bg-surface-sunken rounded w-64"}),e.jsx("div",{className:"h-32 bg-surface-sunken rounded w-full"})]});if(!s)return e.jsx("p",{className:"text-sm text-text-secondary",children:"Escalation not found."});const de=Fe(s),ee=de&&s.assigned_to===(n==null?void 0:n.userId),Be=de&&!ee,re=s.status==="resolved"||s.status==="cancelled",te=fe(s.escalation_payload),ye=fe(s.resolver_payload),xe=fe(s.envelope),ze=!!((Ce=xe==null?void 0:xe.metadata)!=null&&Ce.certified),He=!!((Te=p==null?void 0:p.ai)!=null&&Te.enabled),K=typeof te=="object"&&te!==null&&!Array.isArray(te)?te:null,qe=K==null?void 0:K._triage,Ke=re?"terminal":ee?"claimed_by_me":Be?"claimed_by_other":"available",Ye=k=>{r.mutate({id:s.id,durationMinutes:k}),W("context"),W("triage"),D("resolver")},se=()=>{a.resetQueries({queryKey:["escalations"]}),a.resetQueries({queryKey:["escalationStats"]}),i(-1)},ve=async k=>{await o.mutateAsync({id:s.id,resolverPayload:k}),se()},we=async k=>{k&&(await c.mutateAsync({id:s.id,targetRole:k}),se())},Qe=async()=>{ee||await r.mutateAsync({id:s.id,durationMinutes:30});const k=(K==null?void 0:K.diagnosis)||s.description||"";await o.mutateAsync({id:s.id,resolverPayload:{_lt:{needsTriage:!0},notes:k}}),se()},Ge=async()=>{await r.mutateAsync({id:s.id,durationMinutes:0}),se()},Xe=async()=>{await m.mutateAsync(s.id),b(!1),se()},Ne=_?e.jsx("button",{onClick:$,className:"text-text-tertiary hover:text-accent transition-colors",title:C?"Switch to user view":"Switch to developer view",children:C?e.jsx("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"})}):e.jsx("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"})})}):void 0,Ze=e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(yt,{onRefresh:()=>x(),isFetching:d,apiPath:`/escalations/${s.id}`}),Ne&&e.jsx("div",{className:"ml-4",children:Ne})]});return e.jsxs("div",{className:"min-h-[calc(100vh-9rem)] flex flex-col",children:[e.jsx(jt,{title:"Escalation",actions:Ze,center:e.jsx(Et,{esc:s,className:"w-[25%] shrink-0"})}),e.jsx(Mt,{esc:s,claimedByMe:ee,claimed:de,isTerminal:re,traceUrl:T,isDevMode:C,showDetails:!M("details"),onToggleDetails:()=>P("details")}),e.jsx(Ut,{isRoundsExhausted:J,payloadObj:K,isTerminal:re,resolverPayload:ye,onRetryTriage:Qe,isRetrying:r.isPending||o.isPending}),e.jsx(Bt,{isCollapsed:M,toggleSection:P,esc:s,escalationPayload:te,resolverPayload:ye,triageData:qe,payloadObj:K,isTerminal:re,claimedByMe:ee,activeView:E,metadataFormSchema:F,json:N,onJsonChange:w,requestTriage:L,onRequestTriageChange:O,triageNotes:U,onTriageNotesChange:oe,isDevMode:C,onResolve:ve,onEscalate:we,submitAttempted:ce,isCertified:ze,hasAI:He}),e.jsx("div",{className:"flex-1"}),e.jsx(Rt,{mode:Ke,activeView:E,onActiveViewChange:y,onClaim:Ye,claimPending:r.isPending,workflowType:s.workflow_type,json:N,onResolve:ve,resolvePending:o.isPending,resolveError:o.error,requestTriage:L,triageNotes:U,currentRole:s.role,escalationTargets:((u==null?void 0:u.targets)??[]).filter(k=>k!==s.role),onEscalate:we,escalatePending:c.isPending,escalateError:c.error,onRelease:Ge,releasePending:r.isPending,onCancel:()=>b(!0),assignedTo:s.assigned_to,assignedUntil:s.assigned_until,onSubmitAttempt:()=>X(!0)}),e.jsx(ht,{open:h,onClose:()=>b(!1),onConfirm:Xe,isPending:m.isPending,error:m.error})]})}export{us as EscalationDetailPage};
|
|
6
|
+
//# sourceMappingURL=index-DccCwyZl.js.map
|