@hotmeshio/long-tail 0.1.15 → 0.1.17
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/resolve.js +1 -0
- package/build/api/files.d.ts +4 -0
- package/build/api/files.js +14 -0
- package/build/api/settings.js +0 -3
- package/build/api/workflows/config.js +5 -0
- package/build/api/yaml-workflows/crud.js +25 -5
- package/build/index.d.ts +1 -2
- package/build/index.js +1 -4
- package/build/lib/db/schemas/002_seed.sql +3 -81
- package/build/lib/events/socketio.d.ts +12 -0
- package/build/lib/events/socketio.js +24 -1
- package/build/lib/storage/mime.js +20 -0
- package/build/routes/file-browser.js +30 -0
- package/build/routes/files.js +20 -18
- package/build/routes/index.js +2 -0
- package/build/routes/nats-credentials.d.ts +2 -0
- package/build/routes/nats-credentials.js +22 -0
- package/build/services/config/sql.d.ts +3 -0
- package/build/services/config/sql.js +15 -1
- package/build/services/config/write.d.ts +6 -0
- package/build/services/config/write.js +64 -0
- package/build/services/cron/index.d.ts +5 -0
- package/build/services/cron/index.js +30 -0
- package/build/services/insight/index.js +3 -0
- package/build/services/interceptor/activities/task.d.ts +1 -0
- package/build/services/interceptor/activities/task.js +2 -1
- package/build/services/interceptor/activities/workflow.js +1 -0
- package/build/services/interceptor/index.js +4 -4
- package/build/services/interceptor/lifecycle.js +1 -1
- package/build/services/mcp/db.d.ts +17 -0
- package/build/services/mcp/db.js +50 -0
- package/build/services/mcp/sql.d.ts +4 -1
- package/build/services/mcp/sql.js +9 -2
- package/build/services/oauth/index.js +4 -1
- package/build/services/oauth/providers/google.js +7 -2
- package/build/services/orchestrator/index.js +5 -0
- package/build/services/task/crud.js +1 -0
- package/build/services/task/sql.d.ts +1 -1
- package/build/services/task/sql.js +2 -2
- package/build/services/task/types.d.ts +2 -0
- package/build/services/workers/registry.js +3 -1
- package/build/services/workflow-invocation.js +8 -1
- package/build/services/yaml-workflow/workers/register.js +4 -2
- package/build/start/adapters.js +4 -1
- package/build/start/socket-auth.d.ts +13 -0
- package/build/start/socket-auth.js +32 -0
- package/build/start/workers.d.ts +2 -1
- package/build/start/workers.js +66 -6
- package/build/system/index.d.ts +12 -10
- package/build/system/index.js +240 -67
- package/build/system/mcp-servers/playwright/schemas.d.ts +12 -12
- package/build/system/seed/index.d.ts +0 -7
- package/build/system/seed/index.js +5 -46
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/index.d.ts +1 -1
- package/build/types/startup.d.ts +59 -2
- package/dashboard/dist/assets/AdminDashboard-CsTOErp1.js +2 -0
- package/dashboard/dist/assets/{AdminDashboard-NLryl1_B.js.map → AdminDashboard-CsTOErp1.js.map} +1 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-BqQA3IJp.js +2 -0
- package/dashboard/dist/assets/{AvailableEscalationsPage-6vexlrk3.js.map → AvailableEscalationsPage-BqQA3IJp.js.map} +1 -1
- package/dashboard/dist/assets/BotPicker-C2xR1xay.js +2 -0
- package/dashboard/dist/assets/{BotPicker-DWhn0tr1.js.map → BotPicker-C2xR1xay.js.map} +1 -1
- package/dashboard/dist/assets/CollapsibleSection-CRtHQsAv.js +2 -0
- package/dashboard/dist/assets/{CollapsibleSection-CgYgQiOc.js.map → CollapsibleSection-CRtHQsAv.js.map} +1 -1
- package/dashboard/dist/assets/ConfirmDeleteModal-dOxidrSR.js +2 -0
- package/dashboard/dist/assets/{ConfirmDeleteModal-DCKAPXD3.js.map → ConfirmDeleteModal-dOxidrSR.js.map} +1 -1
- package/dashboard/dist/assets/CopyableId-DmLF-RqZ.js +2 -0
- package/dashboard/dist/assets/{CopyableId-DXkaAOYk.js.map → CopyableId-DmLF-RqZ.js.map} +1 -1
- package/dashboard/dist/assets/CredentialsPage-C7XT1bnO.js +2 -0
- package/dashboard/dist/assets/CredentialsPage-C7XT1bnO.js.map +1 -0
- package/dashboard/dist/assets/CustomDurationPicker-BABUv1V2.js +2 -0
- package/dashboard/dist/assets/{CustomDurationPicker-D2G1ldiF.js.map → CustomDurationPicker-BABUv1V2.js.map} +1 -1
- package/dashboard/dist/assets/DataTable-D3-wSEf0.js +2 -0
- package/dashboard/dist/assets/{DataTable-DXSUbA26.js.map → DataTable-D3-wSEf0.js.map} +1 -1
- package/dashboard/dist/assets/DropZone-DHKmMqRA.js +2 -0
- package/dashboard/dist/assets/DropZone-DHKmMqRA.js.map +1 -0
- package/dashboard/dist/assets/ElapsedCell-DrJif03B.js +2 -0
- package/dashboard/dist/assets/{ElapsedCell-CQGqkXP_.js.map → ElapsedCell-DrJif03B.js.map} +1 -1
- package/dashboard/dist/assets/EmptyState-BcsfPq9T.js +2 -0
- package/dashboard/dist/assets/EmptyState-BcsfPq9T.js.map +1 -0
- package/dashboard/dist/assets/EscalationsOverview-H6CwfeR-.js +2 -0
- package/dashboard/dist/assets/EscalationsOverview-H6CwfeR-.js.map +1 -0
- package/dashboard/dist/assets/EventTable-Dh3_9DAY.js +2 -0
- package/dashboard/dist/assets/{EventTable-BMJAPkMi.js.map → EventTable-Dh3_9DAY.js.map} +1 -1
- package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +2 -0
- package/dashboard/dist/assets/{FilterBar-DbVbCzH2.js.map → FilterBar-Ck4K4rzu.js.map} +1 -1
- package/dashboard/dist/assets/ListToolbar-CyEkulVR.js +2 -0
- package/dashboard/dist/assets/{ListToolbar-0XNuXj0M.js.map → ListToolbar-CyEkulVR.js.map} +1 -1
- package/dashboard/dist/assets/McpOverview-ChLa6Gl7.js +2 -0
- package/dashboard/dist/assets/{McpOverview-CeYnCzBN.js.map → McpOverview-ChLa6Gl7.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryDetailPage-5Dsj6PlL.js +5 -0
- package/dashboard/dist/assets/McpQueryDetailPage-5Dsj6PlL.js.map +1 -0
- package/dashboard/dist/assets/McpQueryPage-D2DmDFPu.js +2 -0
- package/dashboard/dist/assets/McpQueryPage-D2DmDFPu.js.map +1 -0
- package/dashboard/dist/assets/McpRunDetailPage-ERVuNEEK.js +2 -0
- package/dashboard/dist/assets/{McpRunDetailPage-CZtodW_Z.js.map → McpRunDetailPage-ERVuNEEK.js.map} +1 -1
- package/dashboard/dist/assets/McpRunsPage-BKba-3Wl.js +2 -0
- package/dashboard/dist/assets/McpRunsPage-BKba-3Wl.js.map +1 -0
- package/dashboard/dist/assets/Modal-DEODGeqx.js +2 -0
- package/dashboard/dist/assets/{Modal-yyhUeKoA.js.map → Modal-DEODGeqx.js.map} +1 -1
- package/dashboard/dist/assets/OperatorDashboard-CJm_BTPU.js +2 -0
- package/dashboard/dist/assets/{OperatorDashboard-Ceh7OQtZ.js.map → OperatorDashboard-CJm_BTPU.js.map} +1 -1
- package/dashboard/dist/assets/PageHeader-B-SN5GZ2.js +2 -0
- package/dashboard/dist/assets/PageHeader-B-SN5GZ2.js.map +1 -0
- package/dashboard/dist/assets/PageHeaderWithStats-BZ3AGT5s.js +2 -0
- package/dashboard/dist/assets/PageHeaderWithStats-BZ3AGT5s.js.map +1 -0
- package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +2 -0
- package/dashboard/dist/assets/{PriorityBadge-BrPikMFy.js.map → PriorityBadge-DfQY9St9.js.map} +1 -1
- package/dashboard/dist/assets/ProcessDetailPage-vfnCDyQK.js +2 -0
- package/dashboard/dist/assets/{ProcessDetailPage-2miaYd8G.js.map → ProcessDetailPage-vfnCDyQK.js.map} +1 -1
- package/dashboard/dist/assets/ProcessesListPage-DcAN6AJK.js +2 -0
- package/dashboard/dist/assets/ProcessesListPage-DcAN6AJK.js.map +1 -0
- package/dashboard/dist/assets/RolePill-BhVC0cc3.js +2 -0
- package/dashboard/dist/assets/{RolePill-DxbJMfJu.js.map → RolePill-BhVC0cc3.js.map} +1 -1
- package/dashboard/dist/assets/RolesPage-DYSt2aAr.js +2 -0
- package/dashboard/dist/assets/RolesPage-DYSt2aAr.js.map +1 -0
- package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +2 -0
- package/dashboard/dist/assets/{RowActions-DurFwIwe.js.map → RowActions-Dg-Fsm5O.js.map} +1 -1
- package/dashboard/dist/assets/RunAsSelector-CD7_Dmb0.js +2 -0
- package/dashboard/dist/assets/{RunAsSelector-CNKraP6u.js.map → RunAsSelector-CD7_Dmb0.js.map} +1 -1
- package/dashboard/dist/assets/StatCard-DlgF0CJC.js +2 -0
- package/dashboard/dist/assets/{StatCard-CKplpK3w.js.map → StatCard-DlgF0CJC.js.map} +1 -1
- package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js +2 -0
- package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js.map +1 -0
- package/dashboard/dist/assets/StepIndicator-CuUIGxKk.js +2 -0
- package/dashboard/dist/assets/{StepIndicator-Dicx0WTZ.js.map → StepIndicator-CuUIGxKk.js.map} +1 -1
- package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +2 -0
- package/dashboard/dist/assets/{StickyPagination-B2jYvU3-.js.map → StickyPagination-F9FZsRy9.js.map} +1 -1
- package/dashboard/dist/assets/SwimlaneTimeline-CUl5RdXU.js +2 -0
- package/dashboard/dist/assets/SwimlaneTimeline-CUl5RdXU.js.map +1 -0
- package/dashboard/dist/assets/TagInput-DftaRHDV.js +2 -0
- package/dashboard/dist/assets/{TagInput-CypDZ6Kl.js.map → TagInput-DftaRHDV.js.map} +1 -1
- package/dashboard/dist/assets/TaskDetailPage-BoA-cfwW.js +2 -0
- package/dashboard/dist/assets/TaskDetailPage-BoA-cfwW.js.map +1 -0
- package/dashboard/dist/assets/TaskQueuePill-Ce8KlXtR.js +2 -0
- package/dashboard/dist/assets/TaskQueuePill-Ce8KlXtR.js.map +1 -0
- package/dashboard/dist/assets/TasksListPage-g6XIbhju.js +2 -0
- package/dashboard/dist/assets/{TasksListPage-D7CdkAeg.js.map → TasksListPage-g6XIbhju.js.map} +1 -1
- package/dashboard/dist/assets/TimeAgo-BihIwEbB.js +2 -0
- package/dashboard/dist/assets/{TimeAgo-B5LXB2aj.js.map → TimeAgo-BihIwEbB.js.map} +1 -1
- package/dashboard/dist/assets/TimestampCell-GOFcvE-i.js +2 -0
- package/dashboard/dist/assets/{TimestampCell-Crb9b0Gw.js.map → TimestampCell-GOFcvE-i.js.map} +1 -1
- package/dashboard/dist/assets/UserName-CmMVt4vS.js +2 -0
- package/dashboard/dist/assets/{UserName-OPg-nkRa.js.map → UserName-CmMVt4vS.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowExecutionPage-soRFz_30.js +2 -0
- package/dashboard/dist/assets/{WorkflowExecutionPage-CcLVrs9b.js.map → WorkflowExecutionPage-soRFz_30.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowPill-DUDDyBsj.js +2 -0
- package/dashboard/dist/assets/{WorkflowPill-CCV4MMj7.js.map → WorkflowPill-DUDDyBsj.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsDashboard-Be1A1zAT.js +2 -0
- package/dashboard/dist/assets/WorkflowsDashboard-Be1A1zAT.js.map +1 -0
- package/dashboard/dist/assets/WorkflowsOverview-z3Ztiz1y.js +2 -0
- package/dashboard/dist/assets/{WorkflowsOverview-DvShiYJV.js.map → WorkflowsOverview-z3Ztiz1y.js.map} +1 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-C6qzcQcJ.js +2 -0
- package/dashboard/dist/assets/YamlWorkflowsPage-C6qzcQcJ.js.map +1 -0
- package/dashboard/dist/assets/{bots-Dqos20NE.js → bots-BZPXDh_y.js} +2 -2
- package/dashboard/dist/assets/{bots-Dqos20NE.js.map → bots-BZPXDh_y.js.map} +1 -1
- package/dashboard/dist/assets/escalation-DBUIq1Z4.js +2 -0
- package/dashboard/dist/assets/{escalation-A0CsbvNV.js.map → escalation-DBUIq1Z4.js.map} +1 -1
- package/dashboard/dist/assets/escalation-columns-DL4zsR8Y.js +2 -0
- package/dashboard/dist/assets/{escalation-columns-BpBJN6k4.js.map → escalation-columns-DL4zsR8Y.js.map} +1 -1
- package/dashboard/dist/assets/helpers-D50KFFkI.js +2 -0
- package/dashboard/dist/assets/{helpers-CmznCuAx.js.map → helpers-D50KFFkI.js.map} +1 -1
- package/dashboard/dist/assets/index-B-ioA6yv.js +2 -0
- package/dashboard/dist/assets/index-B-ioA6yv.js.map +1 -0
- package/dashboard/dist/assets/index-B-jzKfuv.js +2 -0
- package/dashboard/dist/assets/index-B-jzKfuv.js.map +1 -0
- package/dashboard/dist/assets/index-BMpoMc4A.js +2 -0
- package/dashboard/dist/assets/{index-Cr0Rqsj7.js.map → index-BMpoMc4A.js.map} +1 -1
- package/dashboard/dist/assets/index-BU04qgJt.js +15 -0
- package/dashboard/dist/assets/index-BU04qgJt.js.map +1 -0
- package/dashboard/dist/assets/index-BUjxYyxc.js +63 -0
- package/dashboard/dist/assets/index-BUjxYyxc.js.map +1 -0
- package/dashboard/dist/assets/index-BpoHVMV7.js +2 -0
- package/dashboard/dist/assets/index-BpoHVMV7.js.map +1 -0
- package/dashboard/dist/assets/index-CEnDYJOO.js +2 -0
- package/dashboard/dist/assets/index-CEnDYJOO.js.map +1 -0
- package/dashboard/dist/assets/index-CbuH92vk.js +6 -0
- package/dashboard/dist/assets/index-CbuH92vk.js.map +1 -0
- package/dashboard/dist/assets/index-D9_hZmsW.js +5 -0
- package/dashboard/dist/assets/{index-BYwD3kHN.js.map → index-D9_hZmsW.js.map} +1 -1
- package/dashboard/dist/assets/index-DrouIN-M.js +2 -0
- package/dashboard/dist/assets/{index-VnYkWW8r.js.map → index-DrouIN-M.js.map} +1 -1
- package/dashboard/dist/assets/index-DzICLMI7.js +2 -0
- package/dashboard/dist/assets/{index-XGOmZ117.js.map → index-DzICLMI7.js.map} +1 -1
- package/dashboard/dist/assets/index-efS5gKpv.css +1 -0
- package/dashboard/dist/assets/index-qT78AZDq.js +2 -0
- package/dashboard/dist/assets/index-qT78AZDq.js.map +1 -0
- package/dashboard/dist/assets/mcp-D0GrHRFe.js +2 -0
- package/dashboard/dist/assets/{mcp-DrWymhSu.js.map → mcp-D0GrHRFe.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-BhUxVEMS.js → mcp-query-DC5woQn5.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-BhUxVEMS.js.map → mcp-query-DC5woQn5.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-runs-DUfz4mLd.js → mcp-runs-CsoVQoPB.js} +2 -2
- package/dashboard/dist/assets/{mcp-runs-DUfz4mLd.js.map → mcp-runs-CsoVQoPB.js.map} +1 -1
- package/dashboard/dist/assets/namespaces-unpIb4gX.js +2 -0
- package/dashboard/dist/assets/{namespaces-Cm6AY5sh.js.map → namespaces-unpIb4gX.js.map} +1 -1
- package/dashboard/dist/assets/{roles-2v1Kc7BJ.js → roles--kBaFljg.js} +2 -2
- package/dashboard/dist/assets/{roles-2v1Kc7BJ.js.map → roles--kBaFljg.js.map} +1 -1
- package/dashboard/dist/assets/settings-B96YkawY.js +2 -0
- package/dashboard/dist/assets/{settings-DTQNp6tH.js.map → settings-B96YkawY.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-CS1rgG1s.js → tasks-D_1NCfOZ.js} +2 -2
- package/dashboard/dist/assets/{tasks-CS1rgG1s.js.map → tasks-D_1NCfOZ.js.map} +1 -1
- package/dashboard/dist/assets/{useEventHooks-BjXX8x3a.js → useEventHooks-BPjEkCpD.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-BjXX8x3a.js.map → useEventHooks-BPjEkCpD.js.map} +1 -1
- package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js → useExpandedRows-CkcEntB-.js} +2 -2
- package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js.map → useExpandedRows-CkcEntB-.js.map} +1 -1
- package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js → useFilterParams-DZCAaBC7.js} +2 -2
- package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js.map → useFilterParams-DZCAaBC7.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-BeR-nVWQ.js → useYamlActivityEvents-D3RQjfzo.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-BeR-nVWQ.js.map → useYamlActivityEvents-D3RQjfzo.js.map} +1 -1
- package/dashboard/dist/assets/{users-DYsdQ7Md.js → users-e2oatvoj.js} +2 -2
- package/dashboard/dist/assets/{users-DYsdQ7Md.js.map → users-e2oatvoj.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-CWl44VA6.js → vendor-icons-BkK55L-1.js} +103 -88
- package/dashboard/dist/assets/vendor-icons-BkK55L-1.js.map +1 -0
- package/dashboard/dist/assets/vendor-query-B2UbickB.js +18 -0
- package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +1 -0
- package/dashboard/dist/assets/vendor-react-CX88sFS5.js +22 -0
- package/dashboard/dist/assets/vendor-react-CX88sFS5.js.map +1 -0
- package/dashboard/dist/assets/{workflows-2QAXh3UD.js → workflows-D6diL54s.js} +2 -2
- package/dashboard/dist/assets/{workflows-2QAXh3UD.js.map → workflows-D6diL54s.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-sx8-UEE3.js → yaml-workflows-CAKU7LUu.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-sx8-UEE3.js.map → yaml-workflows-CAKU7LUu.js.map} +1 -1
- package/dashboard/dist/index.html +5 -5
- package/docs/dashboard.md +233 -65
- package/package.json +3 -2
- package/build/examples/external-mcp-server/server.d.ts +0 -17
- package/build/examples/external-mcp-server/server.js +0 -116
- package/build/examples/index.d.ts +0 -2
- package/build/examples/index.js +0 -7
- package/build/examples/seed-data.d.ts +0 -55
- package/build/examples/seed-data.js +0 -161
- package/build/examples/seed.d.ts +0 -5
- package/build/examples/seed.js +0 -132
- package/build/examples/types/envelopes.d.ts +0 -69
- package/build/examples/types/envelopes.js +0 -8
- package/build/examples/types/index.d.ts +0 -10
- package/build/examples/types/index.js +0 -9
- package/build/examples/types/resolvers.d.ts +0 -27
- package/build/examples/types/resolvers.js +0 -9
- package/build/examples/workers.d.ts +0 -10
- package/build/examples/workers.js +0 -59
- package/build/examples/workflows/assembly-line/activities.d.ts +0 -28
- package/build/examples/workflows/assembly-line/activities.js +0 -53
- package/build/examples/workflows/assembly-line/index.d.ts +0 -17
- package/build/examples/workflows/assembly-line/index.js +0 -60
- package/build/examples/workflows/assembly-line/iterator.d.ts +0 -12
- package/build/examples/workflows/assembly-line/iterator.js +0 -54
- package/build/examples/workflows/assembly-line/reverter.d.ts +0 -18
- package/build/examples/workflows/assembly-line/reverter.js +0 -89
- package/build/examples/workflows/assembly-line/types.d.ts +0 -25
- package/build/examples/workflows/assembly-line/types.js +0 -8
- package/build/examples/workflows/assembly-line/worker.d.ts +0 -13
- package/build/examples/workflows/assembly-line/worker.js +0 -81
- package/build/examples/workflows/basic-echo/activities.d.ts +0 -20
- package/build/examples/workflows/basic-echo/activities.js +0 -55
- package/build/examples/workflows/basic-echo/index.d.ts +0 -14
- package/build/examples/workflows/basic-echo/index.js +0 -66
- package/build/examples/workflows/basic-signal/activities.d.ts +0 -17
- package/build/examples/workflows/basic-signal/activities.js +0 -18
- package/build/examples/workflows/basic-signal/index.d.ts +0 -17
- package/build/examples/workflows/basic-signal/index.js +0 -116
- package/build/examples/workflows/kitchen-sink/activities.d.ts +0 -40
- package/build/examples/workflows/kitchen-sink/activities.js +0 -46
- package/build/examples/workflows/kitchen-sink/index.d.ts +0 -22
- package/build/examples/workflows/kitchen-sink/index.js +0 -123
- package/build/examples/workflows/review-content/activities.d.ts +0 -10
- package/build/examples/workflows/review-content/activities.js +0 -44
- package/build/examples/workflows/review-content/index.d.ts +0 -10
- package/build/examples/workflows/review-content/index.js +0 -95
- package/build/examples/workflows/review-content/types.d.ts +0 -28
- package/build/examples/workflows/review-content/types.js +0 -2
- package/build/system/seed/server-definitions.d.ts +0 -3210
- package/build/system/seed/server-definitions.js +0 -232
- package/dashboard/dist/assets/AdminDashboard-NLryl1_B.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-6vexlrk3.js +0 -2
- package/dashboard/dist/assets/BotPicker-DWhn0tr1.js +0 -2
- package/dashboard/dist/assets/CollapsibleSection-CgYgQiOc.js +0 -2
- package/dashboard/dist/assets/ConfirmDeleteModal-DCKAPXD3.js +0 -2
- package/dashboard/dist/assets/CopyableId-DXkaAOYk.js +0 -2
- package/dashboard/dist/assets/CredentialsPage-B361BOfU.js +0 -2
- package/dashboard/dist/assets/CredentialsPage-B361BOfU.js.map +0 -1
- package/dashboard/dist/assets/CustomDurationPicker-D2G1ldiF.js +0 -2
- package/dashboard/dist/assets/DataTable-DXSUbA26.js +0 -2
- package/dashboard/dist/assets/ElapsedCell-CQGqkXP_.js +0 -2
- package/dashboard/dist/assets/EmptyState-Dep92Wkg.js +0 -2
- package/dashboard/dist/assets/EmptyState-Dep92Wkg.js.map +0 -1
- package/dashboard/dist/assets/EscalationsOverview-DVEFVjs7.js +0 -2
- package/dashboard/dist/assets/EscalationsOverview-DVEFVjs7.js.map +0 -1
- package/dashboard/dist/assets/EventTable-BMJAPkMi.js +0 -2
- package/dashboard/dist/assets/FilterBar-DbVbCzH2.js +0 -2
- package/dashboard/dist/assets/ListToolbar-0XNuXj0M.js +0 -2
- package/dashboard/dist/assets/McpOverview-CeYnCzBN.js +0 -2
- package/dashboard/dist/assets/McpQueryDetailPage-t3qW3QNa.js +0 -5
- package/dashboard/dist/assets/McpQueryDetailPage-t3qW3QNa.js.map +0 -1
- package/dashboard/dist/assets/McpQueryPage-CfUcdzaj.js +0 -2
- package/dashboard/dist/assets/McpQueryPage-CfUcdzaj.js.map +0 -1
- package/dashboard/dist/assets/McpRunDetailPage-CZtodW_Z.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-Dzgq7HGt.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-Dzgq7HGt.js.map +0 -1
- package/dashboard/dist/assets/Modal-yyhUeKoA.js +0 -2
- package/dashboard/dist/assets/OperatorDashboard-Ceh7OQtZ.js +0 -2
- package/dashboard/dist/assets/PageHeader-CZ9a8cpr.js +0 -2
- package/dashboard/dist/assets/PageHeader-CZ9a8cpr.js.map +0 -1
- package/dashboard/dist/assets/PageHeaderWithStats-BJuNs5NM.js +0 -2
- package/dashboard/dist/assets/PageHeaderWithStats-BJuNs5NM.js.map +0 -1
- package/dashboard/dist/assets/PriorityBadge-BrPikMFy.js +0 -2
- package/dashboard/dist/assets/ProcessDetailPage-2miaYd8G.js +0 -2
- package/dashboard/dist/assets/ProcessesListPage-DqpRDqjk.js +0 -2
- package/dashboard/dist/assets/ProcessesListPage-DqpRDqjk.js.map +0 -1
- package/dashboard/dist/assets/RolePill-DxbJMfJu.js +0 -2
- package/dashboard/dist/assets/RolesPage-CYHRo21-.js +0 -2
- package/dashboard/dist/assets/RolesPage-CYHRo21-.js.map +0 -1
- package/dashboard/dist/assets/RowActions-DurFwIwe.js +0 -2
- package/dashboard/dist/assets/RunAsSelector-CNKraP6u.js +0 -2
- package/dashboard/dist/assets/StatCard-CKplpK3w.js +0 -2
- package/dashboard/dist/assets/StatusBadge-Dm0V1dNN.js +0 -2
- package/dashboard/dist/assets/StatusBadge-Dm0V1dNN.js.map +0 -1
- package/dashboard/dist/assets/StepIndicator-Dicx0WTZ.js +0 -2
- package/dashboard/dist/assets/StickyPagination-B2jYvU3-.js +0 -2
- package/dashboard/dist/assets/SwimlaneTimeline-ClwumkT1.js +0 -2
- package/dashboard/dist/assets/SwimlaneTimeline-ClwumkT1.js.map +0 -1
- package/dashboard/dist/assets/TagInput-CypDZ6Kl.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-DooDNJGT.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-DooDNJGT.js.map +0 -1
- package/dashboard/dist/assets/TaskQueuePill-C1hZ-j31.js +0 -2
- package/dashboard/dist/assets/TaskQueuePill-C1hZ-j31.js.map +0 -1
- package/dashboard/dist/assets/TasksListPage-D7CdkAeg.js +0 -2
- package/dashboard/dist/assets/TimeAgo-B5LXB2aj.js +0 -2
- package/dashboard/dist/assets/TimestampCell-Crb9b0Gw.js +0 -2
- package/dashboard/dist/assets/UserName-OPg-nkRa.js +0 -2
- package/dashboard/dist/assets/WorkflowExecutionPage-CcLVrs9b.js +0 -2
- package/dashboard/dist/assets/WorkflowPill-CCV4MMj7.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-DB1SncBi.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-DB1SncBi.js.map +0 -1
- package/dashboard/dist/assets/WorkflowsOverview-DvShiYJV.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-DCBoMeGI.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-DCBoMeGI.js.map +0 -1
- package/dashboard/dist/assets/escalation-A0CsbvNV.js +0 -2
- package/dashboard/dist/assets/escalation-columns-BpBJN6k4.js +0 -2
- package/dashboard/dist/assets/helpers-CmznCuAx.js +0 -2
- package/dashboard/dist/assets/index-BIeYV5QK.js +0 -2
- package/dashboard/dist/assets/index-BIeYV5QK.js.map +0 -1
- package/dashboard/dist/assets/index-BYwD3kHN.js +0 -5
- package/dashboard/dist/assets/index-C5TUqJu0.css +0 -1
- package/dashboard/dist/assets/index-C8-UaN4N.js +0 -2
- package/dashboard/dist/assets/index-C8-UaN4N.js.map +0 -1
- package/dashboard/dist/assets/index-CAj5LT9H.js +0 -15
- package/dashboard/dist/assets/index-CAj5LT9H.js.map +0 -1
- package/dashboard/dist/assets/index-CjxHCVxl.js +0 -2
- package/dashboard/dist/assets/index-CjxHCVxl.js.map +0 -1
- package/dashboard/dist/assets/index-Cr0Rqsj7.js +0 -2
- package/dashboard/dist/assets/index-DZHNte4o.js +0 -2
- package/dashboard/dist/assets/index-DZHNte4o.js.map +0 -1
- package/dashboard/dist/assets/index-VnYkWW8r.js +0 -2
- package/dashboard/dist/assets/index-XGOmZ117.js +0 -2
- package/dashboard/dist/assets/index-ZjOUzWhc.js +0 -2
- package/dashboard/dist/assets/index-ZjOUzWhc.js.map +0 -1
- package/dashboard/dist/assets/index-puKKZ5l8.js +0 -281
- package/dashboard/dist/assets/index-puKKZ5l8.js.map +0 -1
- package/dashboard/dist/assets/index-t5frSddy.js +0 -6
- package/dashboard/dist/assets/index-t5frSddy.js.map +0 -1
- package/dashboard/dist/assets/mcp-DrWymhSu.js +0 -2
- package/dashboard/dist/assets/namespaces-Cm6AY5sh.js +0 -2
- package/dashboard/dist/assets/settings-DTQNp6tH.js +0 -2
- package/dashboard/dist/assets/vendor-icons-CWl44VA6.js.map +0 -1
- package/dashboard/dist/assets/vendor-query-DLp59M9_.js +0 -35
- package/dashboard/dist/assets/vendor-query-DLp59M9_.js.map +0 -1
- package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js +0 -26
- package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js.map +0 -1
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{j as e,c as X,C as be,J as O,i as Ne,s as he,e as fe,g as ve,t as ge}from"./index-puKKZ5l8.js";import{a as b}from"./vendor-query-DLp59M9_.js";import{a as Ee}from"./roles-2v1Kc7BJ.js";import{P as De}from"./PageHeader-CZ9a8cpr.js";import{C as se,i as je,a as Ve}from"./escalation-A0CsbvNV.js";import{u as ye}from"./workflows-2QAXh3UD.js";import{u as Ce}from"./settings-DTQNp6tH.js";import{g as we}from"./useEventHooks-BjXX8x3a.js";import{U as te}from"./UserName-OPg-nkRa.js";import{u as Re,C as ke}from"./CustomDurationPicker-D2G1ldiF.js";import{S as Se}from"./StatusBadge-Dm0V1dNN.js";import{R as _e}from"./RolePill-DxbJMfJu.js";import{C as k}from"./CopyableId-DXkaAOYk.js";import{a0 as Ae,U as Te,a2 as Z}from"./vendor-icons-CWl44VA6.js";import{C as K}from"./CollapsibleSection-CgYgQiOc.js";import{L as oe,e as Be,c as Fe}from"./vendor-react-Co3Y8ikm.js";import"./users-DYsdQ7Md.js";import"./constants-BHkpVaqx.js";function He(a){const{mode:t,activeView:i,onActiveViewChange:s,onClaim:r,claimPending:o,workflowType:d,json:m,onResolve:l,resolvePending:c,resolveError:n,requestTriage:h,triageNotes:v,currentRole:x,escalationTargets:N,onEscalate:f,escalatePending:g,escalateError:C,onRelease:S,releasePending:I,assignedTo:F,assignedUntil:L}=a,W=Re(),[H,D]=b.useState("30"),[j,_]=b.useState(0),[P,A]=b.useState(""),[T,$]=b.useState(""),E=H==="custom",U=b.useCallback(u=>_(u),[]);if(t==="terminal")return null;const B=()=>{const u=E?j:parseInt(H);!u||u<=0||r(u)},w=()=>{if(A(""),h){const J={_lt:{needsTriage:!0}};v.trim()&&(J.notes=v.trim()),l(J);return}let u;try{u=JSON.parse(m)}catch{A("Invalid JSON");return}l(u)},R=u=>`text-xs transition-colors ${u?"text-accent font-medium":"text-text-tertiary hover:text-accent"}`;return e.jsxDEV("div",{className:"sticky h-[80px] bg-surface/95 backdrop-blur-sm border-t border-surface-border -mx-10 px-10 pt-3 pb-5 z-10",style:{bottom:"calc(var(--feed-height, 0px) - 8px)"},"data-testid":"escalation-action-bar",children:[t==="available"&&e.jsxDEV("div",{"data-testid":"claim-bar",children:[e.jsxDEV("div",{className:"flex items-center gap-4 mb-2",children:[W.map(u=>e.jsxDEV("button",{onClick:()=>{D(u.value),_(0)},className:R(!E&&H===u.value),children:u.label},u.value,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:120,columnNumber:17},this)),e.jsxDEV("button",{onClick:()=>D("custom"),className:R(E),children:"Other"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:128,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:118,columnNumber:13},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:137,columnNumber:15},this),E&&e.jsxDEV(ke,{onChange:U,compact:!0,autoFocus:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:139,columnNumber:17},this),e.jsxDEV("button",{onClick:B,disabled:o||E&&j<=0,className:"btn-primary text-xs",children:o?"Claiming...":"Claim"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:141,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:136,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:116,columnNumber:11},this),t==="claimed_by_other"&&e.jsxDEV("div",{className:"flex items-center gap-4","data-testid":"claimed-other-bar",children:[e.jsxDEV("p",{className:"text-sm text-text-secondary",children:["Claimed by ",e.jsxDEV("span",{className:"font-medium text-text-primary",children:F?e.jsxDEV(te,{userId:F},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:156,columnNumber:88},this):"unknown"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:156,columnNumber:26},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:155,columnNumber:13},this),L&&e.jsxDEV(se,{until:L},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:158,columnNumber:31},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:154,columnNumber:11},this),t==="claimed_by_me"&&e.jsxDEV("div",{"data-testid":"action-bar",children:[e.jsxDEV("div",{className:"flex items-center gap-4 mb-2",children:[e.jsxDEV("button",{onClick:()=>s("resolve"),className:R(i==="resolve"),children:d?"Resolve":"Acknowledge"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:167,columnNumber:15},this),N.length>0&&e.jsxDEV("button",{onClick:()=>s("escalate"),className:R(i==="escalate"),children:"Escalate"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:174,columnNumber:17},this),e.jsxDEV("button",{onClick:()=>s("release"),className:`text-xs transition-colors ${i==="release"?"text-status-error font-medium":"text-text-tertiary hover:text-status-error"}`,children:"Release"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:181,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:166,columnNumber:13},this),i==="resolve"&&(d?e.jsxDEV("div",{className:"flex items-center gap-4",children:[e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:193,columnNumber:19},this),P&&e.jsxDEV("span",{className:"text-xs text-status-error",children:P},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:195,columnNumber:34},this),n&&e.jsxDEV("span",{className:"text-xs text-status-error",children:n.message},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:196,columnNumber:36},this),e.jsxDEV("button",{onClick:w,disabled:c,className:"btn-primary text-xs",children:c?"Submitting...":h?"Send to Triage":"Submit"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:198,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:192,columnNumber:17},this):e.jsxDEV("div",{className:"flex items-center",children:[e.jsxDEV("span",{className:"text-xs text-text-secondary",children:"Notification — acknowledge to resolve"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:208,columnNumber:19},this),e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:209,columnNumber:19},this),n&&e.jsxDEV("span",{className:"text-xs text-status-error mr-3",children:n.message},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:210,columnNumber:36},this),e.jsxDEV("button",{onClick:()=>l({acknowledged:!0}),disabled:c,className:"btn-primary text-xs",children:c?"Acknowledging...":"Acknowledge"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:211,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:207,columnNumber:17},this)),i==="escalate"&&e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("span",{className:"text-xs text-text-secondary",children:["From ",e.jsxDEV("span",{className:"font-medium text-text-primary",children:x},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:226,columnNumber:24},this)," to"]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:225,columnNumber:17},this),e.jsxDEV("select",{value:T,onChange:u=>$(u.target.value),className:"select text-xs","data-testid":"escalate-select",children:[e.jsxDEV("option",{value:"",children:"Select role..."},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:234,columnNumber:19},this),N.map(u=>e.jsxDEV("option",{value:u,children:u},u,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:236,columnNumber:21},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:228,columnNumber:17},this),e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:239,columnNumber:17},this),C&&e.jsxDEV("span",{className:"text-xs text-status-error",children:C.message},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:240,columnNumber:35},this),e.jsxDEV("button",{onClick:()=>f(T),disabled:!T||g,className:"btn-primary text-xs",children:g?"Escalating...":"Escalate"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:241,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:224,columnNumber:15},this),i==="release"&&e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("span",{className:"text-xs text-text-secondary",children:"Release back to pool?"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:254,columnNumber:17},this),e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:255,columnNumber:17},this),e.jsxDEV("button",{onClick:()=>s("resolve"),className:"btn-secondary text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:256,columnNumber:17},this),e.jsxDEV("button",{onClick:S,disabled:I,className:"btn-primary text-xs bg-status-error hover:bg-status-error/80",children:I?"Releasing...":"Yes, Release"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:259,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:253,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:164,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationActionBar.tsx",lineNumber:112,columnNumber:5},this)}function Pe({esc:a,claimedByMe:t,claimed:i,isTerminal:s,traceUrl:r}){const[o,d]=b.useState(!1),m=je(a);return e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"flex items-center gap-3 mb-2",children:[m&&e.jsxDEV(Ae,{className:"w-5 h-5 text-text-tertiary shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:33,columnNumber:19},this),e.jsxDEV("p",{className:"text-[1.5rem] leading-snug font-light text-text-secondary",children:[a.type,a.subtype?` / ${a.subtype}`:""]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:34,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:32,columnNumber:7},this),a.description&&e.jsxDEV("p",{className:"text-sm leading-relaxed text-text-tertiary mb-4",children:a.description},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:41,columnNumber:9},this),e.jsxDEV("div",{className:"flex flex-wrap items-end gap-x-6 gap-y-3 mt-4 mb-2",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Status"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:50,columnNumber:11},this),e.jsxDEV("span",{className:"mb-1 inline-block",children:e.jsxDEV(Se,{status:a.status},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:51,columnNumber:47},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:51,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:49,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Role"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:56,columnNumber:11},this),e.jsxDEV(_e,{role:a.role,size:"md"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:57,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:55,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Created"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:62,columnNumber:11},this),e.jsxDEV("span",{className:"inline-flex items-center mb-1 text-xs text-text-secondary",children:e.jsxDEV(X,{date:a.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:64,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:63,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:61,columnNumber:9},this),a.assigned_to&&e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Claimed by"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:71,columnNumber:13},this),e.jsxDEV("span",{className:"inline-flex items-center gap-1.5 text-xs font-medium text-text-primary",children:[e.jsxDEV(Te,{className:"w-3 h-3 shrink-0 text-accent/75"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:73,columnNumber:15},this),e.jsxDEV(te,{userId:a.assigned_to},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:74,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:72,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:70,columnNumber:11},this),i&&!s&&a.assigned_until&&e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Time left"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:82,columnNumber:13},this),e.jsxDEV("span",{className:"inline-flex items-center h-5",children:e.jsxDEV(se,{until:a.assigned_until},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:83,columnNumber:60},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:83,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:81,columnNumber:11},this),a.resolved_at&&e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:"Resolved"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:90,columnNumber:13},this),e.jsxDEV("span",{className:"inline-flex items-center h-5 text-xs text-text-secondary",children:e.jsxDEV(X,{date:a.resolved_at},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:92,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:91,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:89,columnNumber:11},this),e.jsxDEV("div",{children:e.jsxDEV("button",{onClick:()=>d(!o),className:"inline-flex items-center gap-1 h-5 text-xs text-text-tertiary hover:text-accent transition-colors",children:["Details",e.jsxDEV("svg",{className:`w-3 h-3 transition-transform duration-200 ${o?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:108,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:104,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:99,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:98,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:47,columnNumber:7},this),e.jsxDEV(be,{open:o,children:e.jsxDEV("div",{className:"mt-4 bg-surface-raised border border-surface-border rounded-md p-4 flex flex-wrap gap-x-8 gap-y-4",children:[e.jsxDEV("div",{className:"text-left",children:[e.jsxDEV("span",{className:"text-[11px] font-medium text-text-secondary uppercase tracking-wide",children:"Priority"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:117,columnNumber:13},this),e.jsxDEV("p",{className:"text-[12px] text-text-primary mt-0.5",children:["P",a.priority]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:118,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:116,columnNumber:11},this),e.jsxDEV(k,{label:"Escalation ID",value:a.id},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:120,columnNumber:11},this),a.task_id&&e.jsxDEV(k,{label:"Task",value:a.task_id,href:`/workflows/tasks/detail/${a.task_id}`},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:122,columnNumber:13},this),e.jsxDEV(k,{label:"Workflow",value:a.workflow_type},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:124,columnNumber:11},this),e.jsxDEV(k,{label:"Workflow ID",value:a.workflow_id},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:125,columnNumber:11},this),e.jsxDEV(k,{label:"Task Queue",value:a.task_queue},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:126,columnNumber:11},this),a.origin_id&&a.origin_id!==a.workflow_id&&e.jsxDEV(k,{label:"Origin",value:a.origin_id},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:128,columnNumber:13},this),a.trace_id&&e.jsxDEV(k,{label:"Trace",value:a.trace_id,href:r?r.replace("{traceId}",a.trace_id):void 0,external:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:131,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:115,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:114,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationHero.tsx",lineNumber:30,columnNumber:5},this)}function V(a){return a.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 q({content:a,compact:t}){const i=[],s=/^```(\w*)\n([\s\S]*?)^```$/gm;let r=0,o;for(;(o=s.exec(a))!==null;)o.index>r&&i.push({type:"text",text:a.slice(r,o.index)}),i.push({type:"code",lang:o[1],code:o[2].replace(/\n$/,"")}),r=o.index+o[0].length;r<a.length&&i.push({type:"text",text:a.slice(r)});const d=t?{text:"text-xs",heading:"text-xs",list:"text-xs",code:"text-[11px]"}:{text:"text-sm",heading:"text-sm",list:"text-sm",code:"text-xs"},m=[];for(const l of i){if(l.type==="code"){const c=l.code.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");m.push(`<pre class="my-2 p-2.5 bg-surface-sunken rounded-md overflow-x-auto"><code class="${d.code} font-mono text-text-secondary leading-relaxed">${c}</code></pre>`);continue}m.push(...$e(l.text,d))}return e.jsxDEV("div",{className:"prose-sm",dangerouslySetInnerHTML:{__html:m.join(`
|
|
2
|
-
`)}},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/SimpleMarkdown.tsx",lineNumber:54,columnNumber:5},this)}function $e(a,t){const i=a.split(`
|
|
3
|
-
`),s=[];let r=!1,o=!1,d=[];for(const m of i){const l=m.trim();if(l.startsWith("|")&&l.endsWith("|")){const c=l.slice(1,-1).split("|").map(n=>n.trim());if(c.every(n=>/^[-:]+$/.test(n)))continue;o||(o=!0,d=[]),d.push(c);continue}if(o){o=!1;const[c,...n]=d;s.push('<div class="overflow-x-auto my-2"><table class="text-xs w-full"><thead><tr>');for(const h of c)s.push(`<th class="text-left py-1 px-2 border-b border-border text-text-secondary font-medium">${V(h)}</th>`);s.push("</tr></thead><tbody>");for(const h of n){s.push("<tr>");for(const v of h)s.push(`<td class="py-1 px-2 border-b border-border/50">${V(v)}</td>`);s.push("</tr>")}s.push("</tbody></table></div>"),d=[]}if(!l){r&&(s.push("</ul>"),r=!1);continue}if(l.startsWith("### ")){r&&(s.push("</ul>"),r=!1),s.push(`<h4 class="${t.heading} font-semibold text-text-primary mt-3 mb-1">${V(l.slice(4))}</h4>`);continue}if(l.startsWith("## ")){r&&(s.push("</ul>"),r=!1),s.push(`<h3 class="${t.heading} font-semibold text-text-primary mt-3 mb-1">${V(l.slice(3))}</h3>`);continue}if(/^[-*_]{3,}$/.test(l)){r&&(s.push("</ul>"),r=!1),s.push('<hr class="border-border my-3" />');continue}if(/^[-*] /.test(l)){r||(s.push('<ul class="space-y-1 my-1">'),r=!0),s.push(`<li class="${t.list} text-text-secondary flex gap-2"><span class="text-text-tertiary shrink-0">-</span><span>${V(l.slice(2))}</span></li>`);continue}r&&(s.push("</ul>"),r=!1),s.push(`<p class="${t.text} text-text-secondary my-1">${V(l)}</p>`)}if(o&&d.length){const[m,...l]=d;s.push('<div class="overflow-x-auto my-2"><table class="text-xs w-full"><thead><tr>');for(const c of m)s.push(`<th class="text-left py-1 px-2 border-b border-border text-text-secondary font-medium">${V(c)}</th>`);s.push("</tr></thead><tbody>");for(const c of l){s.push("<tr>");for(const n of c)s.push(`<td class="py-1 px-2 border-b border-border/50">${V(n)}</td>`);s.push("</tr>")}s.push("</tbody></table></div>")}return r&&s.push("</ul>"),s}function Y({children:a}){return e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1.5",children:a},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:17,columnNumber:5},this)}function Me({payload:a,isTerminal:t,resolverPayload:i,onRetryTriage:s,isRetrying:r}){const o=a.title,d=a.summary,m=a.diagnosis,l=a.tool_calls_made,c=a.result,n=i==null?void 0:i._lt,h=(n==null?void 0:n.triaged)===!0,v=n==null?void 0:n.triageWorkflowId,x=t&&h,[N,f]=b.useState(!1);return x?e.jsxDEV("div",{className:"rounded-md border border-status-success/30 bg-surface-raised",children:[e.jsxDEV("div",{className:"flex items-center justify-between px-4 py-3 border-b border-surface-border",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("svg",{className:"w-4 h-4 text-status-success shrink-0",viewBox:"0 0 16 16",fill:"currentColor",children:e.jsxDEV("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"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:44,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:43,columnNumber:13},this),e.jsxDEV("span",{className:"text-xs font-medium text-status-success",children:"Resolved by AI Triage"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:46,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:42,columnNumber:11},this),typeof l=="number"&&e.jsxDEV("span",{className:"text-[10px] font-mono px-2 py-0.5 rounded-full bg-status-success/10 text-status-success",children:[l," tool calls used"]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:49,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:41,columnNumber:9},this),e.jsxDEV("div",{className:"px-4 py-4 space-y-4",children:[o&&e.jsxDEV("p",{className:"text-sm font-medium text-text-primary",children:o},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:58,columnNumber:13},this),m&&e.jsxDEV("div",{children:[e.jsxDEV(Y,{children:"Triage diagnosis"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:63,columnNumber:15},this),e.jsxDEV("div",{className:"text-xs text-text-primary leading-relaxed",children:e.jsxDEV(q,{content:m},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:65,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:64,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:62,columnNumber:13},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:v&&e.jsxDEV(oe,{to:`/workflows/executions/${v}`,className:"text-[10px] text-accent hover:underline",children:"View triage execution"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:72,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:70,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:56,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:39,columnNumber:7},this):e.jsxDEV("div",{className:"rounded-md border border-status-warning/30 bg-surface-raised",children:[e.jsxDEV("div",{className:"flex items-center justify-between px-4 py-3 border-b border-surface-border",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("svg",{className:"w-4 h-4 text-status-warning shrink-0",viewBox:"0 0 16 16",fill:"currentColor",children:e.jsxDEV("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"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:92,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:91,columnNumber:11},this),e.jsxDEV("span",{className:"text-xs font-medium text-status-warning",children:"Tool Rounds Exhausted"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:94,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:90,columnNumber:9},this),typeof l=="number"&&e.jsxDEV("span",{className:"text-[10px] font-mono px-2 py-0.5 rounded-full bg-status-warning/10 text-status-warning",children:[l," tool calls used"]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:97,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:89,columnNumber:7},this),e.jsxDEV("div",{className:"px-4 py-4 space-y-4",children:[o&&e.jsxDEV("p",{className:"text-sm font-medium text-text-primary",children:o},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:106,columnNumber:11},this),d&&e.jsxDEV("div",{children:[e.jsxDEV(Y,{children:"What happened"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:111,columnNumber:13},this),e.jsxDEV("div",{className:"text-xs text-text-secondary leading-relaxed",children:e.jsxDEV(q,{content:d},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:113,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:112,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:110,columnNumber:11},this),m&&e.jsxDEV("div",{children:[e.jsxDEV(Y,{children:"What went wrong"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:120,columnNumber:13},this),e.jsxDEV("div",{className:"text-xs text-text-primary leading-relaxed",children:e.jsxDEV(q,{content:m},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:122,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:121,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:119,columnNumber:11},this),c!=null&&e.jsxDEV("div",{children:[e.jsxDEV("button",{onClick:()=>f(!N),className:"flex items-center gap-1 text-[10px] font-semibold uppercase tracking-widest text-text-tertiary hover:text-text-secondary transition-colors",children:[e.jsxDEV("svg",{className:`w-3 h-3 transition-transform ${N?"rotate-90":""}`,viewBox:"0 0 12 12",fill:"currentColor",children:e.jsxDEV("path",{d:"M4.5 2l4 4-4 4"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:134,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:133,columnNumber:15},this),"Partial results"]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:129,columnNumber:13},this),N&&e.jsxDEV("div",{className:"mt-2",children:e.jsxDEV(O,{data:c,defaultMode:"tree"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:140,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:139,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:128,columnNumber:11},this),s&&!t&&e.jsxDEV("div",{className:"pt-2",children:e.jsxDEV("button",{onClick:s,disabled:r,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.jsxDEV("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 14 14",fill:"currentColor",children:e.jsxDEV("path",{d:"M7 1a6 6 0 100 12A6 6 0 007 1zm2.5 6.5l-3.5 2V5.5l3.5 2z"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:154,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:153,columnNumber:15},this),r?"Sending to triage...":"Retry with AI Triage"]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:148,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:147,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:104,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/RoundsExhaustedContext.tsx",lineNumber:87,columnNumber:5},this)}function Ie({triage:a,payload:t}){const i=a.confidence??0,s=i>=.8?"text-status-success":i>=.5?"text-status-pending":"text-status-error",r=Le(a.originalData,t);return e.jsxDEV("div",{className:"space-y-5",children:[a.diagnosis&&e.jsxDEV("p",{className:"text-sm text-text-primary leading-relaxed",children:a.diagnosis},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:37,columnNumber:9},this),e.jsxDEV("div",{className:"flex flex-wrap items-center gap-3 text-xs text-text-tertiary",children:[a.tool_calls_made!=null&&e.jsxDEV("span",{children:[a.tool_calls_made," tool call",a.tool_calls_made!==1?"s":""]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:44,columnNumber:11},this),a.tool_calls_made!=null&&e.jsxDEV("span",{className:"text-text-quaternary",children:"·"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:46,columnNumber:44},this),e.jsxDEV("span",{className:`font-medium ${s}`,children:[Math.round(i*100),"% confidence"]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:47,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:42,columnNumber:7},this),a.actions_taken&&a.actions_taken.length>0&&e.jsxDEV("div",{className:"flex flex-wrap gap-1.5",children:a.actions_taken.map((o,d)=>e.jsxDEV("span",{className:`inline-flex items-center gap-1.5 px-2 py-0.5 text-[11px]
|
|
4
|
-
text-text-secondary`,children:[e.jsxDEV("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.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:61,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:60,columnNumber:15},this),o]},d,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:55,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:53,columnNumber:9},this),a.recommendation&&e.jsxDEV("p",{className:"text-[11px] text-text-tertiary italic",children:a.recommendation},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:70,columnNumber:9},this),r.length>0&&e.jsxDEV("div",{className:"space-y-4 pt-2",children:r.map(o=>e.jsxDEV(We,{diff:o},o.key,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:79,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:34,columnNumber:5},this)}function Le(a,t){if(!a)return[];const i=[];for(const s of Object.keys(a)){if(s.startsWith("_"))continue;const r=a[s],o=t[s];o!==void 0&&JSON.stringify(r)!==JSON.stringify(o)&&i.push({key:s,label:s.replace(/[_-]/g," "),original:r,corrected:o})}return i}function We({diff:a}){const t=ee(a.original),i=ee(a.corrected);return t!==null&&i!==null?e.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-x-8 gap-y-3",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[a.label," ",e.jsxDEV("span",{className:"normal-case font-normal",children:"(original)"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:130,columnNumber:26},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:129,columnNumber:11},this),e.jsxDEV("p",{className:"text-sm text-text-tertiary leading-relaxed line-through decoration-text-tertiary/30",children:t},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:132,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:128,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[a.label," ",e.jsxDEV("span",{className:"normal-case font-normal text-status-success",children:"(corrected)"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:138,columnNumber:26},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:137,columnNumber:11},this),e.jsxDEV("p",{className:"text-sm text-text-primary leading-relaxed",children:i},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:140,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:136,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:127,columnNumber:7},this):e.jsxDEV("div",{className:"space-y-3",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[a.label," ",e.jsxDEV("span",{className:"normal-case font-normal",children:"(original)"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:153,columnNumber:24},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:152,columnNumber:9},this),e.jsxDEV("pre",{className:"text-xs text-text-tertiary font-mono whitespace-pre-wrap leading-relaxed",children:typeof a.original=="object"?JSON.stringify(a.original,null,2):String(a.original)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:155,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:151,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[a.label," ",e.jsxDEV("span",{className:"normal-case font-normal text-status-success",children:"(corrected)"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:161,columnNumber:24},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:160,columnNumber:9},this),e.jsxDEV("pre",{className:"text-xs text-text-primary font-mono whitespace-pre-wrap leading-relaxed",children:typeof a.corrected=="object"?JSON.stringify(a.corrected,null,2):String(a.corrected)},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:163,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:159,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/TriageContext.tsx",lineNumber:150,columnNumber:5},this)}function ee(a){return a==null?"null":typeof a=="string"?a:typeof a=="number"||typeof a=="boolean"?String(a):null}function Je({value:a,onChange:t}){const[i,s]=b.useState({}),[r,o]=b.useState({}),[d,m]=b.useState(null),[l,c]=b.useState(!1);b.useEffect(()=>{try{const x=JSON.parse(a);if(typeof x=="object"&&x!==null&&!Array.isArray(x)){const N={},f={};for(const[g,C]of Object.entries(x))g.startsWith("_")?f[g]=C:N[g]=C;s(N),o(f),m(f._form_schema&&typeof f._form_schema=="object"?f._form_schema:null),c(!1)}}catch{c(!0)}},[a]);const n=b.useCallback(x=>{s(x),t(JSON.stringify({...x,...r},null,2))},[r,t]),h=b.useCallback((x,N)=>{n({...i,[x]:N})},[i,n]);if(l)return e.jsxDEV("p",{className:"text-xs text-status-error",children:"Unable to parse resolver data as form. Use the JSON editor below."},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:66,columnNumber:7},this);const v=Object.entries(i);return v.length===0?e.jsxDEV("p",{className:"text-xs text-text-tertiary italic",children:"No resolver fields defined."},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:75,columnNumber:7},this):e.jsxDEV("div",{className:"space-y-4",children:v.map(([x,N])=>e.jsxDEV(re,{fieldKey:x,value:N,onChange:f=>h(x,f),schema:d},x,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:84,columnNumber:9},this))},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:82,columnNumber:5},this)}function re({fieldKey:a,value:t,onChange:i,schema:s}){var d;const r=a.replace(/[_-]/g," "),o=(d=s==null?void 0:s.properties)==null?void 0:d[a];if(typeof t=="boolean")return e.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsxDEV("input",{type:"checkbox",checked:t,onChange:m=>i(m.target.checked),className:"w-3.5 h-3.5 rounded accent-accent"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:113,columnNumber:9},this),e.jsxDEV("span",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:r},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:119,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:112,columnNumber:7},this);if(typeof t=="number")return e.jsxDEV("div",{children:[e.jsxDEV(y,{children:r},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:130,columnNumber:9},this),e.jsxDEV("input",{type:"number",value:t,onChange:m=>i(parseFloat(m.target.value)||0),step:"any",className:"input text-sm w-full mt-1"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:131,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:129,columnNumber:7},this);if(typeof t=="string"){const m=(o==null?void 0:o.format)==="password",l=o==null?void 0:o.enum,c=o==null?void 0:o.description;return l!=null&&l.length?e.jsxDEV("div",{children:[e.jsxDEV(y,{children:r},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:151,columnNumber:11},this),c&&e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:c},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:152,columnNumber:26},this),e.jsxDEV("select",{value:t,onChange:n=>i(n.target.value),className:"input text-sm w-full mt-1",children:l.map(n=>e.jsxDEV("option",{value:n,children:n},n,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:159,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:153,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:150,columnNumber:9},this):m?e.jsxDEV("div",{children:[e.jsxDEV(y,{children:r},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:169,columnNumber:11},this),c&&e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:c},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:170,columnNumber:26},this),e.jsxDEV("input",{type:"password",value:t,onChange:n=>i(n.target.value),className:"input text-sm w-full mt-1",autoComplete:"off"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:171,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:168,columnNumber:9},this):t.length>80?e.jsxDEV("div",{children:[e.jsxDEV(y,{children:r},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:185,columnNumber:11},this),c&&e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:c},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:186,columnNumber:26},this),e.jsxDEV("textarea",{value:t,onChange:n=>i(n.target.value),className:"input text-sm w-full mt-1 leading-relaxed",rows:Math.min(6,Math.ceil(t.length/60))},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:187,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:184,columnNumber:9},this):e.jsxDEV("div",{children:[e.jsxDEV(y,{children:r},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:198,columnNumber:9},this),c&&e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:c},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:199,columnNumber:24},this),e.jsxDEV("input",{type:"text",value:t,onChange:n=>i(n.target.value),className:"input text-sm w-full mt-1"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:200,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:197,columnNumber:7},this)}if(t===null)return e.jsxDEV("div",{children:[e.jsxDEV(y,{children:r},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:214,columnNumber:9},this),e.jsxDEV("p",{className:"text-xs text-text-tertiary italic mt-1",children:"null"},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:215,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:213,columnNumber:7},this);if(Array.isArray(t))return e.jsxDEV("div",{children:[e.jsxDEV(y,{children:r},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:224,columnNumber:9},this),e.jsxDEV("div",{className:"flex flex-wrap gap-1.5 mt-1",children:t.map((m,l)=>e.jsxDEV("span",{className:"px-2 py-0.5 text-[11px] font-mono bg-surface-sunken rounded text-text-secondary",children:String(m)},l,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:227,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:225,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:223,columnNumber:7},this);if(typeof t=="object"){const m=Object.entries(t);return e.jsxDEV("div",{children:[e.jsxDEV(y,{children:r},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:244,columnNumber:9},this),e.jsxDEV("div",{className:"ml-4 mt-2 pl-4 border-l border-accent-faint space-y-3",children:m.map(([l,c])=>e.jsxDEV(re,{fieldKey:l,value:c,onChange:n=>i({...t,[l]:n})},l,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:247,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:245,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:243,columnNumber:7},this)}return null}function y({children:a}){return e.jsxDEV("label",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:a},void 0,!1,{fileName:"/app/dashboard/src/components/escalation/ResolverForm.tsx",lineNumber:264,columnNumber:5},this)}function ze({json:a,onJsonChange:t,requestTriage:i,onRequestTriageChange:s,triageNotes:r,onTriageNotesChange:o}){const[d,m]=b.useState("form");return e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"flex items-center justify-between mb-3",children:[i?e.jsxDEV("button",{onClick:()=>s(!1),className:"group flex items-center gap-2 text-left","data-testid":"triage-cancel",children:[e.jsxDEV("span",{className:"flex items-center justify-center w-5 h-5 rounded-full bg-accent/10 text-accent shrink-0",children:e.jsxDEV("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:33,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:32,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:31,columnNumber:13},this),e.jsxDEV("span",{className:"text-xs text-text-secondary group-hover:text-text-primary transition-colors",children:["AI Triage active."," ",e.jsxDEV("span",{className:"text-accent group-hover:underline",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:38,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:36,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:26,columnNumber:11},this):e.jsxDEV("button",{onClick:()=>s(!0),className:"group flex items-center gap-2.5 text-left my-4","data-testid":"triage-callout",children:[e.jsxDEV("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.jsxDEV("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsxDEV("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"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:49,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:48,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:47,columnNumber:13},this),e.jsxDEV("span",{className:"text-[13px] text-text-secondary group-hover:text-text-primary transition-colors",children:["This form doesn't capture the issue?"," ",e.jsxDEV("span",{className:"text-accent group-hover:underline",children:"Request AI Triage"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:54,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:52,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:42,columnNumber:11},this),!i&&e.jsxDEV("button",{onClick:()=>m(d==="form"?"json":"form"),className:"text-[10px] text-text-tertiary hover:text-accent transition-colors",children:d==="form"?"Raw JSON":"Form"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:60,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:24,columnNumber:7},this),e.jsxDEV("div",{className:"relative min-h-[200px]",children:[e.jsxDEV("div",{className:i?"pointer-events-none select-none":"",children:d==="form"?e.jsxDEV(Je,{value:a,onChange:t},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:73,columnNumber:13},this):e.jsxDEV("textarea",{value:a,onChange:l=>t(l.target.value),className:"input font-mono text-xs w-full",rows:8,spellCheck:!1,"data-testid":"resolve-json"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:75,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:71,columnNumber:9},this),i&&e.jsxDEV("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.jsxDEV("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."},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:92,columnNumber:13},this),e.jsxDEV("textarea",{value:r,onChange:l=>o(l.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"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:98,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:88,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:69,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/ResolverSection.tsx",lineNumber:22,columnNumber:5},this)}function Oe({isRoundsExhausted:a,payloadObj:t,isTerminal:i,resolverPayload:s,onRetryTriage:r,isRetrying:o}){return e.jsxDEV(e.Fragment,{children:[a&&t&&e.jsxDEV("div",{className:"mt-8",children:e.jsxDEV(Me,{payload:t,isTerminal:i,resolverPayload:s,onRetryTriage:r,isRetrying:o},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:32,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:31,columnNumber:9},this),(t==null?void 0:t.category)==="missing_credential"&&e.jsxDEV("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.jsxDEV(Z,{size:20,className:"text-status-warning mt-0.5 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:45,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-sm font-medium text-text-primary mb-1",children:"Missing Credential"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:47,columnNumber:13},this),e.jsxDEV("p",{className:"text-xs text-text-secondary mb-3",children:["This workflow requires a ",e.jsxDEV("span",{className:"font-medium capitalize",children:String(t.provider)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:49,columnNumber:40},this)," credential to continue. Register one and then resolve this escalation to retry."]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:48,columnNumber:13},this),e.jsxDEV(oe,{to:"/credentials",className:"btn-primary text-xs inline-flex items-center gap-1.5",children:[e.jsxDEV(Z,{size:12},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:56,columnNumber:15},this),"Go to Credentials"]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:52,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:46,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:44,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:28,columnNumber:5},this)}function Ue({collapsed:a,toggleSection:t,esc:i,escalationPayload:s,resolverPayload:r,triageData:o,payloadObj:d,isTerminal:m,claimedByMe:l,activeView:c,metadataFormSchema:n,json:h,onJsonChange:v,requestTriage:x,onRequestTriageChange:N,triageNotes:f,onTriageNotesChange:g}){return e.jsxDEV("div",{className:"mt-8 space-y-6",children:[e.jsxDEV(K,{title:"Input / Output",sectionKey:"context",isCollapsed:a.context??!0,onToggle:t,contentClassName:"mt-4 ml-9",children:e.jsxDEV("div",{className:"space-y-6",children:[e.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[!!i.envelope&&e.jsxDEV("div",{children:e.jsxDEV(O,{data:i.envelope,label:"Input Envelope"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:123,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:122,columnNumber:15},this),s!=null&&e.jsxDEV("div",{children:e.jsxDEV(O,{data:s,label:"Escalation Context"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:128,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:127,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:120,columnNumber:11},this),r!=null&&e.jsxDEV("div",{className:"max-w-xl",children:e.jsxDEV(O,{data:r,label:"Resolver Payload"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:135,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:134,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:119,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:112,columnNumber:7},this),o&&d&&e.jsxDEV(K,{title:"AI Triage",sectionKey:"triage",isCollapsed:!!a.triage,onToggle:t,contentClassName:"mt-4 ml-9",children:e.jsxDEV(Ie,{triage:o,payload:d},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:150,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:143,columnNumber:9},this),!m&&l&&c==="resolve"&&!!(i.workflow_type||n)&&e.jsxDEV(K,{title:"Submit Your Resolution",sectionKey:"resolver",isCollapsed:!!a.resolver,onToggle:t,contentClassName:"mt-4 ml-9",children:e.jsxDEV(ze,{json:h,onJsonChange:v,requestTriage:x,onRequestTriageChange:N,triageNotes:f,onTriageNotesChange:g},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:163,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:156,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailSections.tsx",lineNumber:110,columnNumber:5},this)}function ae(a){if(!a)return null;try{return JSON.parse(a)}catch{return a}}function Ke(a){if(!a)return!1;try{const t=JSON.parse(a);return!!(t&&typeof t=="object"&&t._triage)}catch{return!1}}function ua(){var G,Q;const{id:a}=Be(),{user:t}=Ne(),i=Fe(),{data:s,isLoading:r}=he(a);we(a);const o=fe(),d=ve(),m=ge(),{data:l}=Ee((s==null?void 0:s.role)??""),{data:c}=ye(),{data:n}=Ce(),h=c==null?void 0:c.find(p=>p.workflow_type===(s==null?void 0:s.workflow_type)),v=((G=n==null?void 0:n.telemetry)==null?void 0:G.traceUrl)??null,[x,N]=b.useState("resolve"),[f,g]=b.useState("{}"),[C,S]=b.useState({context:!1}),I=p=>S(M=>({...M,[p]:!M[p]})),[F,L]=b.useState(!1),[W,H]=b.useState(""),D=(h==null?void 0:h.resolver_schema)??null,j=((Q=s==null?void 0:s.metadata)==null?void 0:Q.form_schema)??null,_=j??D;b.useEffect(()=>{const p=j??(D!=null&&D.properties?D:null);if(p!=null&&p.properties){const M={_form_schema:p};for(const[ue,pe]of Object.entries(p.properties)){const xe=pe;M[ue]=xe.default??""}g(JSON.stringify(M,null,2))}else g(_?JSON.stringify(_,null,2):"{}")},[_,j,D]);const P=Ke(s==null?void 0:s.escalation_payload),A=(s==null?void 0:s.subtype)==="rounds_exhausted",T=(s==null?void 0:s.subtype)==="wait_for_human";if(b.useEffect(()=>{(P||A)&&S(p=>({...p,context:!0})),T&&j&&S(p=>({...p,context:!0,resolver:!1}))},[P,A,T,j]),r)return e.jsxDEV("div",{className:"animate-pulse space-y-8",children:[e.jsxDEV("div",{className:"h-8 bg-surface-sunken rounded w-64"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:103,columnNumber:9},this),e.jsxDEV("div",{className:"h-32 bg-surface-sunken rounded w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:104,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:102,columnNumber:7},this);if(!s)return e.jsxDEV("p",{className:"text-sm text-text-secondary",children:"Escalation not found."},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:110,columnNumber:12},this);const $=Ve(s),E=$&&s.assigned_to===(t==null?void 0:t.userId),U=$&&!E,B=s.status==="resolved"||s.status==="cancelled",w=ae(s.escalation_payload),R=ae(s.resolver_payload),u=typeof w=="object"&&w!==null&&!Array.isArray(w)?w:null,J=u==null?void 0:u._triage,ie=B?"terminal":E?"claimed_by_me":U?"claimed_by_other":"available",le=p=>{o.mutate({id:s.id,durationMinutes:p}),S({context:!0,triage:!0,resolver:!1})},z=()=>i(-1),ne=async p=>{await d.mutateAsync({id:s.id,resolverPayload:p}),z()},ce=async p=>{p&&(await m.mutateAsync({id:s.id,targetRole:p}),z())},de=async()=>{E||await o.mutateAsync({id:s.id,durationMinutes:30});const p=(u==null?void 0:u.diagnosis)||s.description||"";await d.mutateAsync({id:s.id,resolverPayload:{_lt:{needsTriage:!0},notes:p}}),z()},me=async()=>{await o.mutateAsync({id:s.id,durationMinutes:0}),z()};return e.jsxDEV("div",{className:"min-h-[calc(100vh-9rem)] flex flex-col",children:[e.jsxDEV(De,{title:"Escalation"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:171,columnNumber:7},this),e.jsxDEV(Pe,{esc:s,claimedByMe:E,claimed:$,isTerminal:B,traceUrl:v},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:173,columnNumber:7},this),e.jsxDEV(Oe,{isRoundsExhausted:A,payloadObj:u,isTerminal:B,resolverPayload:R,onRetryTriage:de,isRetrying:o.isPending||d.isPending},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:181,columnNumber:7},this),e.jsxDEV(Ue,{collapsed:C,toggleSection:I,esc:s,escalationPayload:w,resolverPayload:R,triageData:J,payloadObj:u,isTerminal:B,claimedByMe:E,activeView:x,metadataFormSchema:j,json:f,onJsonChange:g,requestTriage:F,onRequestTriageChange:L,triageNotes:W,onTriageNotesChange:H},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:190,columnNumber:7},this),e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:210,columnNumber:7},this),e.jsxDEV(He,{mode:ie,activeView:x,onActiveViewChange:N,onClaim:le,claimPending:o.isPending,workflowType:s.workflow_type,json:f,onResolve:ne,resolvePending:d.isPending,resolveError:d.error,requestTriage:F,triageNotes:W,currentRole:s.role,escalationTargets:(l==null?void 0:l.targets)??[],onEscalate:ce,escalatePending:m.isPending,escalateError:m.error,onRelease:me,releasePending:o.isPending,assignedTo:s.assigned_to,assignedUntil:s.assigned_until},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:212,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-detail/EscalationDetailPage.tsx",lineNumber:170,columnNumber:5},this)}export{ua as EscalationDetailPage};
|
|
5
|
-
//# sourceMappingURL=index-BYwD3kHN.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 21 53 / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{--tw-border-opacity: 1;border-color:rgb(224 218 240 / var(--tw-border-opacity, 1))}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.btn-primary{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(108 71 255 / var(--tw-bg-opacity, 1));padding:.625rem 1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(88 53 219 / var(--tw-bg-opacity, 1))}.btn-secondary{border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(224 218 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.625rem 1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(30 21 53 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(247 244 255 / var(--tw-bg-opacity, 1))}.btn-ghost{border-radius:.375rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(91 81 115 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-ghost:hover{--tw-bg-opacity: 1;background-color:rgb(247 244 255 / var(--tw-bg-opacity, 1))}.row-hover{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}.row-hover:hover{--tw-bg-opacity: 1;background-color:rgb(247 244 255 / var(--tw-bg-opacity, 1))}.\!input{width:100%;border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(224 218 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.625rem .875rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(30 21 53 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\!input::-moz-placeholder{--tw-text-opacity: 1;color:rgb(145 138 171 / var(--tw-text-opacity, 1))}.\!input::placeholder{--tw-text-opacity: 1;color:rgb(145 138 171 / var(--tw-text-opacity, 1))}.\!input:focus{--tw-border-opacity: 1;border-color:rgb(108 71 255 / var(--tw-border-opacity, 1));outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(108 71 255 / .3)}.input{width:100%;border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(224 218 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.625rem .875rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(30 21 53 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.input::-moz-placeholder{--tw-text-opacity: 1;color:rgb(145 138 171 / var(--tw-text-opacity, 1))}.input::placeholder{--tw-text-opacity: 1;color:rgb(145 138 171 / var(--tw-text-opacity, 1))}.input:focus{--tw-border-opacity: 1;border-color:rgb(108 71 255 / var(--tw-border-opacity, 1));outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(108 71 255 / .3)}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(224 218 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.625rem .875rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(30 21 53 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(108 71 255 / .3)}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.inset-y-0{top:0;bottom:0}.-left-\[3px\]{left:-3px}.-right-1{right:-.25rem}.-right-3{right:-.75rem}.-top-1{top:-.25rem}.-top-2\.5{top:-.625rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-3{bottom:.75rem}.left-0{left:0}.left-2\.5{left:.625rem}.left-56{left:14rem}.left-\[7px\]{left:7px}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-14{top:3.5rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-6{top:1.5rem}.top-\[2\.75rem\]{top:2.75rem}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[45\]{z-index:45}.z-\[5\]{z-index:5}.z-\[9999\]{z-index:9999}.col-span-2{grid-column:span 2 / span 2}.float-right{float:right}.-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-10{margin-left:-2.5rem}.-ml-8{margin-left:-2rem}.-ml-\[12\.5rem\]{margin-left:-12.5rem}.-ml-\[9\.75rem\]{margin-left:-9.75rem}.-mt-1{margin-top:-.25rem}.-mt-6{margin-top:-1.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-8{margin-left:2rem}.ml-9{margin-left:2.25rem}.ml-\[19px\]{margin-left:19px}.ml-auto{margin-left:auto}.mr-16{margin-right:4rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-8{height:2rem}.h-\[12\.5rem\]{height:12.5rem}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[16rem\]{height:16rem}.h-\[18px\]{height:18px}.h-\[7px\]{height:7px}.h-\[80px\]{height:80px}.h-\[9px\]{height:9px}.h-\[calc\(100vh-12rem\)\]{height:calc(100vh - 12rem)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-80{max-height:20rem}.max-h-\[200px\]{max-height:200px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[calc\(100vh-220px\)\]{max-height:calc(100vh - 220px)}.max-h-\[calc\(100vh-8rem\)\]{max-height:calc(100vh - 8rem)}.max-h-none{max-height:none}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[160px\]{min-height:160px}.min-h-\[200px\]{min-height:200px}.min-h-\[28px\]{min-height:28px}.min-h-\[300px\]{min-height:300px}.min-h-\[34px\]{min-height:34px}.min-h-\[360px\]{min-height:360px}.min-h-\[60px\]{min-height:60px}.min-h-\[80px\]{min-height:80px}.min-h-\[calc\(100vh-12rem\)\]{min-height:calc(100vh - 12rem)}.min-h-\[calc\(100vh-80px\)\]{min-height:calc(100vh - 80px)}.min-h-\[calc\(100vh-9rem\)\]{min-height:calc(100vh - 9rem)}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-8{width:2rem}.w-\[12\.5rem\]{width:12.5rem}.w-\[120px\]{width:120px}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[16rem\]{width:16rem}.w-\[18px\]{width:18px}.w-\[200px\]{width:200px}.w-\[22rem\]{width:22rem}.w-\[28rem\]{width:28rem}.w-\[30\%\]{width:30%}.w-\[36rem\]{width:36rem}.w-\[380px\]{width:380px}.w-\[40vw\]{width:40vw}.w-\[48rem\]{width:48rem}.w-\[7px\]{width:7px}.w-\[9px\]{width:9px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-4{min-width:1rem}.min-w-\[120px\]{min-width:120px}.min-w-\[180px\]{min-width:180px}.min-w-\[800px\]{min-width:800px}.min-w-\[80px\]{min-width:80px}.max-w-0{max-width:0px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[160px\]{max-width:160px}.max-w-\[280px\]{max-width:280px}.max-w-\[85\%\]{max-width:85%}.max-w-\[90vw\]{max-width:90vw}.max-w-dashboard{max-width:1440px}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[60vh\]{--tw-translate-y: -60vh;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[120vw\]{--tw-translate-x: 120vw;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-\[120deg\]{--tw-rotate: -120deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[3\]{--tw-scale-x: 3;--tw-scale-y: 3;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[triage-glow_6s_ease-in-out_infinite\]{animation:triage-glow 6s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[1fr_240px\]{grid-template-columns:1fr 240px}.grid-cols-\[300px_1fr\]{grid-template-columns:300px 1fr}.grid-cols-\[3fr_1fr\]{grid-template-columns:3fr 1fr}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-surface-border>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(224 218 240 / var(--tw-divide-opacity, 1))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-clip{overflow-x:clip}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-accent{--tw-border-opacity: 1;border-color:rgb(108 71 255 / var(--tw-border-opacity, 1))}.border-accent-faint{--tw-border-opacity: 1;border-color:rgb(232 226 248 / var(--tw-border-opacity, 1))}.border-accent-muted{--tw-border-opacity: 1;border-color:rgb(200 190 240 / var(--tw-border-opacity, 1))}.border-accent-muted\/40{border-color:#c8bef066}.border-accent\/10{border-color:#6c47ff1a}.border-accent\/20{border-color:#6c47ff33}.border-accent\/30{border-color:#6c47ff4d}.border-accent\/40{border-color:#6c47ff66}.border-amber-600{--tw-border-opacity: 1;border-color:rgb(217 119 6 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-purple-500\/20{border-color:#a855f733}.border-status-draft{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.border-status-error{--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))}.border-status-error\/20{border-color:#dc262633}.border-status-error\/30{border-color:#dc26264d}.border-status-pending\/30{border-color:#f59e0b4d}.border-status-success{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.border-status-success\/30{border-color:#16a34a4d}.border-status-warning{--tw-border-opacity: 1;border-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-status-warning\/20{border-color:#f59e0b33}.border-status-warning\/30{border-color:#f59e0b4d}.border-surface-border{--tw-border-opacity: 1;border-color:rgb(224 218 240 / var(--tw-border-opacity, 1))}.border-surface-border\/30{border-color:#e0daf04d}.border-surface-border\/50{border-color:#e0daf080}.border-text-tertiary{--tw-border-opacity: 1;border-color:rgb(145 138 171 / var(--tw-border-opacity, 1))}.border-violet-500{--tw-border-opacity: 1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}.border-white\/70{border-color:#ffffffb3}.border-l-accent{--tw-border-opacity: 1;border-left-color:rgb(108 71 255 / var(--tw-border-opacity, 1))}.border-r-surface-border{--tw-border-opacity: 1;border-right-color:rgb(224 218 240 / var(--tw-border-opacity, 1))}.border-r-transparent{border-right-color:transparent}.\!bg-status-error{--tw-bg-opacity: 1 !important;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))!important}.bg-\[\#6C47FF\]{--tw-bg-opacity: 1;background-color:rgb(108 71 255 / var(--tw-bg-opacity, 1))}.bg-\[a-z\]{background-color:a-z}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(108 71 255 / var(--tw-bg-opacity, 1))}.bg-accent-faint{--tw-bg-opacity: 1;background-color:rgb(232 226 248 / var(--tw-bg-opacity, 1))}.bg-accent-faint\/50{background-color:#e8e2f880}.bg-accent-muted{--tw-bg-opacity: 1;background-color:rgb(200 190 240 / var(--tw-bg-opacity, 1))}.bg-accent-muted\/20{background-color:#c8bef033}.bg-accent\/10{background-color:#6c47ff1a}.bg-accent\/15{background-color:#6c47ff26}.bg-accent\/20{background-color:#6c47ff33}.bg-accent\/5{background-color:#6c47ff0d}.bg-accent\/60{background-color:#6c47ff99}.bg-accent\/\[0\.06\]{background-color:#6c47ff0f}.bg-accent\/\[0\.08\]{background-color:#6c47ff14}.bg-amber-300\/\[0\.08\]{background-color:#fcd34d14}.bg-amber-400\/\[0\.08\]{background-color:#fbbf2414}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-blue-400\/\[0\.08\]{background-color:#60a5fa14}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/70{background-color:#3b82f6b3}.bg-cyan-400\/\[0\.08\]{background-color:#22d3ee14}.bg-emerald-400\/\[0\.08\]{background-color:#34d39914}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-fuchsia-400\/\[0\.08\]{background-color:#e879f914}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-green-400\/\[0\.08\]{background-color:#4ade8014}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-400\/\[0\.08\]{background-color:#818cf814}.bg-lime-400\/\[0\.08\]{background-color:#a3e63514}.bg-orange-400\/\[0\.08\]{background-color:#fb923c14}.bg-pink-300\/\[0\.08\]{background-color:#f9a8d414}.bg-pink-400\/\[0\.08\]{background-color:#f472b614}.bg-purple-400\/\[0\.08\]{background-color:#c084fc14}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-400\/\[0\.08\]{background-color:#f8717114}.bg-rose-300\/\[0\.08\]{background-color:#fda4af14}.bg-rose-400\/\[0\.08\]{background-color:#fb718514}.bg-sky-300\/\[0\.08\]{background-color:#7dd3fc14}.bg-sky-400\/\[0\.08\]{background-color:#38bdf814}.bg-status-active{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-status-draft{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-status-draft\/30{background-color:#f973164d}.bg-status-error{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-status-error\/10{background-color:#dc26261a}.bg-status-error\/5{background-color:#dc26260d}.bg-status-error\/\[0\.04\]{background-color:#dc26260a}.bg-status-pending{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-status-pending\/10{background-color:#f59e0b1a}.bg-status-success{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-status-success\/10{background-color:#16a34a1a}.bg-status-success\/20{background-color:#16a34a33}.bg-status-success\/30{background-color:#16a34a4d}.bg-status-warning{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-status-warning\/10{background-color:#f59e0b1a}.bg-status-warning\/15{background-color:#f59e0b26}.bg-status-warning\/5{background-color:#f59e0b0d}.bg-stone-400\/\[0\.08\]{background-color:#a8a29e14}.bg-surface{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-surface-border{--tw-bg-opacity: 1;background-color:rgb(224 218 240 / var(--tw-bg-opacity, 1))}.bg-surface-border\/60{background-color:#e0daf099}.bg-surface-hover{--tw-bg-opacity: 1;background-color:rgb(247 244 255 / var(--tw-bg-opacity, 1))}.bg-surface-hover\/30{background-color:#f7f4ff4d}.bg-surface-raised{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-surface-raised\/50{background-color:#ffffff80}.bg-surface-raised\/\[0\.03\]{background-color:#ffffff08}.bg-surface-sunken{--tw-bg-opacity: 1;background-color:rgb(245 245 247 / var(--tw-bg-opacity, 1))}.bg-surface-sunken\/20{background-color:#f5f5f733}.bg-surface-sunken\/30{background-color:#f5f5f74d}.bg-surface-sunken\/40{background-color:#f5f5f766}.bg-surface-sunken\/50{background-color:#f5f5f780}.bg-surface-sunken\/80{background-color:#f5f5f7cc}.bg-surface-sunken\/90{background-color:#f5f5f7e6}.bg-surface\/90{background-color:#ffffffe6}.bg-surface\/95{background-color:#fffffff2}.bg-teal-300\/\[0\.08\]{background-color:#5eead414}.bg-teal-400\/\[0\.08\]{background-color:#2dd4bf14}.bg-text-primary\/30{background-color:#1e15354d}.bg-text-secondary{--tw-bg-opacity: 1;background-color:rgb(91 81 115 / var(--tw-bg-opacity, 1))}.bg-text-tertiary{--tw-bg-opacity: 1;background-color:rgb(145 138 171 / var(--tw-bg-opacity, 1))}.bg-text-tertiary\/30{background-color:#918aab4d}.bg-text-tertiary\/40{background-color:#918aab66}.bg-transparent{background-color:transparent}.bg-violet-300\/\[0\.08\]{background-color:#c4b5fd14}.bg-violet-400\/\[0\.08\]{background-color:#a78bfa14}.bg-violet-500{--tw-bg-opacity: 1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-400\/\[0\.08\]{background-color:#facc1514}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-accent\/\[0\.04\]{--tw-gradient-from: rgb(108 71 255 / .04) var(--tw-gradient-from-position);--tw-gradient-to: rgb(108 71 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.fill-status-active{fill:#2563eb}.fill-status-error{fill:#dc2626}.fill-status-success{fill:#16a34a}.fill-status-warning{fill:#f59e0b}.fill-text-tertiary{fill:#918aab}.stroke-current{stroke:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.\!px-2{padding-left:.5rem!important;padding-right:.5rem!important}.\!px-2\.5{padding-left:.625rem!important;padding-right:.625rem!important}.\!py-0\.5{padding-top:.125rem!important;padding-bottom:.125rem!important}.\!py-1\.5{padding-top:.375rem!important;padding-bottom:.375rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-60{padding-bottom:15rem}.pl-0{padding-left:0}.pl-11{padding-left:2.75rem}.pl-14{padding-left:3.5rem}.pl-16{padding-left:4rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-52{padding-left:13rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-28{padding-right:7rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-\[36px\]{padding-top:36px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:JetBrains Mono,Fira Code,ui-monospace,monospace}.font-sans{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif}.\!text-\[9px\]{font-size:9px!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[1\.5rem\]{font-size:1.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[36px\]{font-size:36px}.text-\[44px\]{font-size:44px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[a-z\]{color:a-z}.text-accent{--tw-text-opacity: 1;color:rgb(108 71 255 / var(--tw-text-opacity, 1))}.text-accent-muted{--tw-text-opacity: 1;color:rgb(200 190 240 / var(--tw-text-opacity, 1))}.text-accent\/40{color:#6c47ff66}.text-accent\/60{color:#6c47ff99}.text-accent\/70{color:#6c47ffb3}.text-accent\/75{color:#6c47ffbf}.text-accent\/80{color:#6c47ffcc}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-500\/70{color:#3b82f6b3}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-fuchsia-400{--tw-text-opacity: 1;color:rgb(232 121 249 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-pink-300{--tw-text-opacity: 1;color:rgb(249 168 212 / var(--tw-text-opacity, 1))}.text-pink-400{--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-rose-300{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.text-rose-400{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.text-status-active{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-status-error{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-status-error\/50{color:#dc262680}.text-status-error\/70{color:#dc2626b3}.text-status-error\/80{color:#dc2626cc}.text-status-pending{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-status-success{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-status-success\/70{color:#16a34ab3}.text-status-success\/80{color:#16a34acc}.text-status-warning{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-stone-400{--tw-text-opacity: 1;color:rgb(168 162 158 / var(--tw-text-opacity, 1))}.text-surface-border{--tw-text-opacity: 1;color:rgb(224 218 240 / var(--tw-text-opacity, 1))}.text-teal-300{--tw-text-opacity: 1;color:rgb(94 234 212 / var(--tw-text-opacity, 1))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity, 1))}.text-text-inverse{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-text-primary{--tw-text-opacity: 1;color:rgb(30 21 53 / var(--tw-text-opacity, 1))}.text-text-secondary{--tw-text-opacity: 1;color:rgb(91 81 115 / var(--tw-text-opacity, 1))}.text-text-tertiary{--tw-text-opacity: 1;color:rgb(145 138 171 / var(--tw-text-opacity, 1))}.text-text-tertiary\/30{color:#918aab4d}.text-text-tertiary\/40{color:#918aab66}.text-text-tertiary\/50{color:#918aab80}.text-text-tertiary\/60{color:#918aab99}.text-text-tertiary\/70{color:#918aabb3}.text-violet-300{--tw-text-opacity: 1;color:rgb(196 181 253 / var(--tw-text-opacity, 1))}.text-violet-400{--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.text-violet-500{--tw-text-opacity: 1;color:rgb(139 92 246 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.line-through{text-decoration-line:line-through}.decoration-text-tertiary\/30{text-decoration-color:#918aab4d}.accent-accent{accent-color:#6C47FF}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/5{--tw-shadow-color: rgb(0 0 0 / .05);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-accent{--tw-ring-opacity: 1;--tw-ring-color: rgb(108 71 255 / var(--tw-ring-opacity, 1))}.ring-accent\/40{--tw-ring-color: rgb(108 71 255 / .4)}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-surface{--tw-ring-offset-color: #FFFFFF}.brightness-150{--tw-brightness: brightness(1.5);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-\[1500ms\]{transition-duration:1.5s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes triage-glow{0%{box-shadow:0 0 3px #6c47ff26}8.3%{box-shadow:0 0 10px 2px #6c47ff66}16.7%,to{box-shadow:0 0 3px #6c47ff26}}.animate-page-enter{animation:fadeIn .15s ease-out both}@keyframes pageFade{0%{opacity:0}to{opacity:1}}.animate-page-in{animation:pageFade .2s ease-out both}.bg-stripes{background-image:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(255,255,255,.15) 3px,rgba(255,255,255,.15) 6px);background-color:var(--color-status-warning, #f59e0b)}.placeholder\:italic::-moz-placeholder{font-style:italic}.placeholder\:italic::placeholder{font-style:italic}.placeholder\:text-text-tertiary::-moz-placeholder{--tw-text-opacity: 1;color:rgb(145 138 171 / var(--tw-text-opacity, 1))}.placeholder\:text-text-tertiary::placeholder{--tw-text-opacity: 1;color:rgb(145 138 171 / var(--tw-text-opacity, 1))}.placeholder\:text-text-tertiary\/40::-moz-placeholder{color:#918aab66}.placeholder\:text-text-tertiary\/40::placeholder{color:#918aab66}.placeholder\:text-text-tertiary\/50::-moz-placeholder{color:#918aab80}.placeholder\:text-text-tertiary\/50::placeholder{color:#918aab80}.last\:border-b-0:last-child{border-bottom-width:0px}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-accent\/40:hover{border-color:#6c47ff66}.hover\:border-accent\/50:hover{border-color:#6c47ff80}.hover\:border-text-tertiary:hover{--tw-border-opacity: 1;border-color:rgb(145 138 171 / var(--tw-border-opacity, 1))}.hover\:\!bg-status-error\/90:hover{background-color:#dc2626e6!important}.hover\:bg-accent-muted:hover{--tw-bg-opacity: 1;background-color:rgb(200 190 240 / var(--tw-bg-opacity, 1))}.hover\:bg-accent\/10:hover{background-color:#6c47ff1a}.hover\:bg-accent\/20:hover{background-color:#6c47ff33}.hover\:bg-accent\/30:hover{background-color:#6c47ff4d}.hover\:bg-accent\/90:hover{background-color:#6c47ffe6}.hover\:bg-accent\/\[0\.04\]:hover{background-color:#6c47ff0a}.hover\:bg-status-error\/10:hover{background-color:#dc26261a}.hover\:bg-status-error\/20:hover{background-color:#dc262633}.hover\:bg-status-error\/80:hover{background-color:#dc2626cc}.hover\:bg-status-error\/90:hover{background-color:#dc2626e6}.hover\:bg-status-success\/10:hover{background-color:#16a34a1a}.hover\:bg-status-success\/20:hover{background-color:#16a34a33}.hover\:bg-surface-hover:hover{--tw-bg-opacity: 1;background-color:rgb(247 244 255 / var(--tw-bg-opacity, 1))}.hover\:bg-surface-hover\/30:hover{background-color:#f7f4ff4d}.hover\:bg-surface-hover\/50:hover{background-color:#f7f4ff80}.hover\:bg-surface-raised:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:bg-surface-raised\/30:hover{background-color:#ffffff4d}.hover\:bg-surface-raised\/60:hover{background-color:#fff9}.hover\:bg-surface-sunken:hover{--tw-bg-opacity: 1;background-color:rgb(245 245 247 / var(--tw-bg-opacity, 1))}.hover\:bg-surface-sunken\/40:hover{background-color:#f5f5f766}.hover\:text-accent:hover{--tw-text-opacity: 1;color:rgb(108 71 255 / var(--tw-text-opacity, 1))}.hover\:text-accent-hover:hover{--tw-text-opacity: 1;color:rgb(88 53 219 / var(--tw-text-opacity, 1))}.hover\:text-accent\/80:hover{color:#6c47ffcc}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-status-error:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-status-error\/80:hover{color:#dc2626cc}.hover\:text-status-success:hover{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.hover\:text-status-success\/80:hover{color:#16a34acc}.hover\:text-status-warning:hover{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.hover\:text-status-warning\/80:hover{color:#f59e0bcc}.hover\:text-text-primary:hover{--tw-text-opacity: 1;color:rgb(30 21 53 / var(--tw-text-opacity, 1))}.hover\:text-text-secondary:hover{--tw-text-opacity: 1;color:rgb(91 81 115 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-accent:focus{--tw-border-opacity: 1;border-color:rgb(108 71 255 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-inset:focus{--tw-ring-inset: inset}.focus\:ring-accent:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(108 71 255 / var(--tw-ring-opacity, 1))}.focus\:ring-accent\/40:focus{--tw-ring-color: rgb(108 71 255 / .4)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:no-underline:disabled{text-decoration-line:none}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group\/section:hover .group-hover\/section\:text-text-tertiary{--tw-text-opacity: 1;color:rgb(145 138 171 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-accent{--tw-text-opacity: 1;color:rgb(108 71 255 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-accent-hover{--tw-text-opacity: 1;color:rgb(88 53 219 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-text-primary{--tw-text-opacity: 1;color:rgb(30 21 53 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-text-tertiary{--tw-text-opacity: 1;color:rgb(145 138 171 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group\/key:hover .group-hover\/key\:opacity-100,.group\/row:hover .group-hover\/row\:opacity-100{opacity:1}.group\/sorthead:hover .group-hover\/sorthead\:opacity-40{opacity:.4}.group\/task:hover .group-hover\/task\:opacity-100,.group\/trace:hover .group-hover\/trace\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:w-72{width:18rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[1fr_240px\]{grid-template-columns:1fr 240px}.lg\:grid-cols-\[1fr_320px\]{grid-template-columns:1fr 320px}.lg\:grid-cols-\[1fr_340px\]{grid-template-columns:1fr 340px}.lg\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.lg\:grid-cols-\[1fr_400px\]{grid-template-columns:1fr 400px}.lg\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.lg\:border-l{border-left-width:1px}.lg\:border-surface-border{--tw-border-opacity: 1;border-color:rgb(224 218 240 / var(--tw-border-opacity, 1))}.lg\:pl-12{padding-left:3rem}}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as r}from"./index-puKKZ5l8.js";import{a as l}from"./vendor-query-DLp59M9_.js";import{h as b}from"./workflows-2QAXh3UD.js";import{D as N}from"./DataTable-DXSUbA26.js";import{F as g,b as x}from"./FilterBar-DbVbCzH2.js";import{R as v,a as m}from"./RowActions-DurFwIwe.js";import{u as P}from"./useFilterParams-CGRYFw_A.js";import{P as W}from"./PageHeader-CZ9a8cpr.js";import{T as y}from"./TaskQueuePill-C1hZ-j31.js";import{W as D}from"./WorkflowPill-CCV4MMj7.js";import{a3 as E,a7 as j,N as C}from"./vendor-icons-CWl44VA6.js";import{c as q}from"./vendor-react-Co3Y8ikm.js";import"./EmptyState-Dep92Wkg.js";function B(){const a=q(),{data:u,isLoading:c}=b(),{filters:s,setFilter:i}=P({filters:{search:"",queue:""}}),[o,p]=l.useState(s.search);l.useEffect(()=>{if(o===s.search)return;const e=setTimeout(()=>i("search",o),300);return()=>clearTimeout(e)},[o,i,s.search]);const t=u??[],f=l.useMemo(()=>[...new Set(t.map(e=>e.task_queue).filter(Boolean))].sort(),[t]),k=l.useMemo(()=>{let e=t;if(s.search){const n=s.search.toLowerCase();e=e.filter(h=>h.name.toLowerCase().includes(n))}return s.queue&&(e=e.filter(n=>n.task_queue===s.queue)),e},[t,s]),d=[{key:"name",label:"Workflow",render:e=>r.jsxDEV(D,{type:e.name},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:52,columnNumber:24},this)},{key:"task_queue",label:"Queue",render:e=>r.jsxDEV(y,{queue:e.task_queue},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:57,columnNumber:24},this),className:"whitespace-nowrap"},{key:"registered",label:"Status",render:e=>e.registered?r.jsxDEV("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-medium bg-accent/10 text-accent",children:[r.jsxDEV(E,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:64,columnNumber:131},this),"Certified"]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:64,columnNumber:11},this):r.jsxDEV("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-surface-sunken text-text-tertiary",children:"Durable"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:65,columnNumber:11},this),className:"whitespace-nowrap"},{key:"actions",label:"",render:e=>r.jsxDEV(v,{children:e.registered?r.jsxDEV(m,{icon:j,title:"View config",onClick:()=>a(`/workflows/registry/${encodeURIComponent(e.name)}`)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:74,columnNumber:13},this):r.jsxDEV(m,{icon:C,title:"Register workflow",onClick:()=>a(`/workflows/registry/new?workflow_type=${encodeURIComponent(e.name)}&task_queue=${encodeURIComponent(e.task_queue)}`)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:80,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:72,columnNumber:9},this),className:"w-16 text-right"}],w=e=>{e.registered?a(`/workflows/registry/${encodeURIComponent(e.name)}`):a(`/workflows/registry/new?workflow_type=${encodeURIComponent(e.name)}&task_queue=${encodeURIComponent(e.task_queue)}`)};return r.jsxDEV("div",{children:[r.jsxDEV(W,{title:"Workers"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:102,columnNumber:7},this),r.jsxDEV(g,{children:[r.jsxDEV("input",{type:"text",placeholder:"Search workers...",value:o,onChange:e=>p(e.target.value),className:"input text-[11px] py-1 px-2 w-56"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:105,columnNumber:9},this),r.jsxDEV(x,{label:"Queue",value:s.queue,onChange:e=>i("queue",e),options:f.map(e=>({value:e,label:e}))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:112,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:104,columnNumber:7},this),r.jsxDEV(N,{columns:d,data:k,keyFn:e=>e.name,onRowClick:w,isLoading:c,emptyMessage:"No active workers"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:120,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/workers/WorkersPage.tsx",lineNumber:101,columnNumber:5},this)}export{B as WorkersPage};
|
|
2
|
-
//# sourceMappingURL=index-C8-UaN4N.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-C8-UaN4N.js","sources":["../../src/pages/workflows/workers/WorkersPage.tsx"],"sourcesContent":["import { useState, useEffect, useMemo } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { Plus, Eye, ShieldCheck } from 'lucide-react';\nimport { useActiveWorkers } from '../../../api/workflows';\nimport { DataTable, type Column } from '../../../components/common/data/DataTable';\nimport { FilterBar, FilterSelect } from '../../../components/common/data/FilterBar';\nimport { RowAction, RowActionGroup } from '../../../components/common/layout/RowActions';\nimport { useFilterParams } from '../../../hooks/useFilterParams';\nimport type { ActiveWorker } from '../../../api/types';\nimport { PageHeader } from '../../../components/common/layout/PageHeader';\nimport { TaskQueuePill } from '../../../components/common/display/TaskQueuePill';\nimport { WorkflowPill } from '../../../components/common/display/WorkflowPill';\n\n// ── Page ──────────────────────────────────────────────────────────────────────\n\nexport function WorkersPage() {\n const navigate = useNavigate();\n const { data, isLoading } = useActiveWorkers();\n const { filters, setFilter } = useFilterParams({\n filters: { search: '', queue: '' },\n });\n\n const [searchInput, setSearchInput] = useState(filters.search);\n\n useEffect(() => {\n if (searchInput === filters.search) return;\n const timer = setTimeout(() => setFilter('search', searchInput), 300);\n return () => clearTimeout(timer);\n }, [searchInput, setFilter, filters.search]);\n\n const allWorkers = data ?? [];\n\n const queues = useMemo(\n () => [...new Set(allWorkers.map((w) => w.task_queue).filter(Boolean))].sort(),\n [allWorkers],\n );\n\n const workers = useMemo(() => {\n let result = allWorkers;\n if (filters.search) {\n const q = filters.search.toLowerCase();\n result = result.filter((w) => w.name.toLowerCase().includes(q));\n }\n if (filters.queue) result = result.filter((w) => w.task_queue === filters.queue);\n return result;\n }, [allWorkers, filters]);\n\n const columns: Column<ActiveWorker>[] = [\n {\n key: 'name',\n label: 'Workflow',\n render: (row) => <WorkflowPill type={row.name} />,\n },\n {\n key: 'task_queue',\n label: 'Queue',\n render: (row) => <TaskQueuePill queue={row.task_queue} />,\n className: 'whitespace-nowrap',\n },\n {\n key: 'registered',\n label: 'Status',\n render: (row) => row.registered\n ? <span className=\"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-medium bg-accent/10 text-accent\"><ShieldCheck className=\"w-3 h-3\" />Certified</span>\n : <span className=\"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-surface-sunken text-text-tertiary\">Durable</span>,\n className: 'whitespace-nowrap',\n },\n {\n key: 'actions',\n label: '',\n render: (row) => (\n <RowActionGroup>\n {row.registered ? (\n <RowAction\n icon={Eye}\n title=\"View config\"\n onClick={() => navigate(`/workflows/registry/${encodeURIComponent(row.name)}`)}\n />\n ) : (\n <RowAction\n icon={Plus}\n title=\"Register workflow\"\n onClick={() => navigate(`/workflows/registry/new?workflow_type=${encodeURIComponent(row.name)}&task_queue=${encodeURIComponent(row.task_queue)}`)}\n />\n )}\n </RowActionGroup>\n ),\n className: 'w-16 text-right',\n },\n ];\n\n const handleRowClick = (row: ActiveWorker) => {\n if (row.registered) {\n navigate(`/workflows/registry/${encodeURIComponent(row.name)}`);\n } else {\n navigate(`/workflows/registry/new?workflow_type=${encodeURIComponent(row.name)}&task_queue=${encodeURIComponent(row.task_queue)}`);\n }\n };\n\n return (\n <div>\n <PageHeader title=\"Workers\" />\n\n <FilterBar>\n <input\n type=\"text\"\n placeholder=\"Search workers...\"\n value={searchInput}\n onChange={(e) => setSearchInput(e.target.value)}\n className=\"input text-[11px] py-1 px-2 w-56\"\n />\n <FilterSelect\n label=\"Queue\"\n value={filters.queue}\n onChange={(v) => setFilter('queue', v)}\n options={queues.map((q) => ({ value: q, label: q }))}\n />\n </FilterBar>\n\n <DataTable\n columns={columns}\n data={workers}\n keyFn={(row) => row.name}\n onRowClick={handleRowClick}\n isLoading={isLoading}\n emptyMessage=\"No active workers\"\n />\n </div>\n );\n}\n"],"names":["WorkersPage","navigate","useNavigate","data","isLoading","useActiveWorkers","filters","setFilter","useFilterParams","searchInput","setSearchInput","useState","useEffect","timer","allWorkers","queues","useMemo","w","workers","result","q","columns","row","WorkflowPill","TaskQueuePill","jsxDEV","ShieldCheck","RowActionGroup","RowAction","Eye","Plus","handleRowClick","PageHeader","FilterBar","FilterSelect","v","DataTable"],"mappings":"mmBAeO,SAASA,GAAc,CAC5B,MAAMC,EAAWC,EAAA,EACX,CAAE,KAAAC,EAAM,UAAAC,CAAA,EAAcC,EAAA,EACtB,CAAE,QAAAC,EAAS,UAAAC,CAAA,EAAcC,EAAgB,CAC7C,QAAS,CAAE,OAAQ,GAAI,MAAO,EAAA,CAAG,CAClC,EAEK,CAACC,EAAaC,CAAc,EAAIC,EAAAA,SAASL,EAAQ,MAAM,EAE7DM,EAAAA,UAAU,IAAM,CACd,GAAIH,IAAgBH,EAAQ,OAAQ,OACpC,MAAMO,EAAQ,WAAW,IAAMN,EAAU,SAAUE,CAAW,EAAG,GAAG,EACpE,MAAO,IAAM,aAAaI,CAAK,CACjC,EAAG,CAACJ,EAAaF,EAAWD,EAAQ,MAAM,CAAC,EAE3C,MAAMQ,EAAaX,GAAQ,CAAA,EAErBY,EAASC,EAAAA,QACb,IAAM,CAAC,GAAG,IAAI,IAAIF,EAAW,IAAKG,GAAMA,EAAE,UAAU,EAAE,OAAO,OAAO,CAAC,CAAC,EAAE,KAAA,EACxE,CAACH,CAAU,CAAA,EAGPI,EAAUF,EAAAA,QAAQ,IAAM,CAC5B,IAAIG,EAASL,EACb,GAAIR,EAAQ,OAAQ,CAClB,MAAMc,EAAId,EAAQ,OAAO,YAAA,EACzBa,EAASA,EAAO,OAAQF,GAAMA,EAAE,KAAK,YAAA,EAAc,SAASG,CAAC,CAAC,CAChE,CACA,OAAId,EAAQ,QAAOa,EAASA,EAAO,OAAQF,GAAMA,EAAE,aAAeX,EAAQ,KAAK,GACxEa,CACT,EAAG,CAACL,EAAYR,CAAO,CAAC,EAElBe,EAAkC,CACtC,CACE,IAAK,OACL,MAAO,WACP,OAASC,YAASC,EAAA,CAAa,KAAMD,EAAI,IAAA,EAAxB,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAA8B,CAAA,EAEjD,CACE,IAAK,aACL,MAAO,QACP,OAASA,YAASE,EAAA,CAAc,MAAOF,EAAI,UAAA,EAA1B,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAsC,EACvD,UAAW,mBAAA,EAEb,CACE,IAAK,aACL,MAAO,SACP,OAASA,GAAQA,EAAI,WACjBG,SAAC,OAAA,CAAK,UAAU,wGAAwG,SAAA,CAAAA,EAAAA,OAACC,EAAA,CAAY,UAAU,SAAA,EAAvB,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,GAAA,aAAA,GAAA,EAAA,IAAiC,EAAE,WAAA,CAAA,EAA3J,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAoK,EACpKD,SAAC,OAAA,CAAK,UAAU,8GAA8G,SAAA,WAA9H,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAqI,EACzI,UAAW,mBAAA,EAEb,CACE,IAAK,UACL,MAAO,GACP,OAASH,GACPG,SAACE,EAAA,CACE,WAAI,WACHF,EAAAA,OAACG,EAAA,CACC,KAAMC,EACN,MAAM,cACN,QAAS,IAAM5B,EAAS,uBAAuB,mBAAmBqB,EAAI,IAAI,CAAC,EAAE,CAAA,EAH/E,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAA,EAMAG,EAAAA,OAACG,EAAA,CACC,KAAME,EACN,MAAM,oBACN,QAAS,IAAM7B,EAAS,yCAAyC,mBAAmBqB,EAAI,IAAI,CAAC,eAAe,mBAAmBA,EAAI,UAAU,CAAC,EAAE,CAAA,EAHlJ,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,GAAA,aAAA,EAAA,EAAA,IAAA,CAIA,EAZJ,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,GAAA,aAAA,CAAA,EAAA,IAcA,EAEF,UAAW,iBAAA,CACb,EAGIS,EAAkBT,GAAsB,CACxCA,EAAI,WACNrB,EAAS,uBAAuB,mBAAmBqB,EAAI,IAAI,CAAC,EAAE,EAE9DrB,EAAS,yCAAyC,mBAAmBqB,EAAI,IAAI,CAAC,eAAe,mBAAmBA,EAAI,UAAU,CAAC,EAAE,CAErI,EAEA,gBACG,MAAA,CACC,SAAA,CAAAG,EAAAA,OAACO,EAAA,CAAW,MAAM,SAAA,EAAlB,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,IAAA,aAAA,CAAA,EAAA,IAA4B,WAE3BC,EAAA,CACC,SAAA,CAAAR,EAAAA,OAAC,QAAA,CACC,KAAK,OACL,YAAY,oBACZ,MAAOhB,EACP,SAAW,GAAMC,EAAe,EAAE,OAAO,KAAK,EAC9C,UAAU,kCAAA,EALZ,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,IAAA,aAAA,CAAA,EAAA,IAAA,EAOAe,EAAAA,OAACS,EAAA,CACC,MAAM,QACN,MAAO5B,EAAQ,MACf,SAAW6B,GAAM5B,EAAU,QAAS4B,CAAC,EACrC,QAASpB,EAAO,IAAKK,IAAO,CAAE,MAAOA,EAAG,MAAOA,GAAI,CAAA,EAJrD,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,IAAA,aAAA,CAAA,EAAA,IAAA,CAKA,CAAA,EAbF,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,IAAA,aAAA,CAAA,EAAA,IAcA,EAEAK,EAAAA,OAACW,EAAA,CACC,QAAAf,EACA,KAAMH,EACN,MAAQI,GAAQA,EAAI,KACpB,WAAYS,EACZ,UAAA3B,EACA,aAAa,mBAAA,EANf,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,IAAA,aAAA,CAAA,EAAA,IAAA,CAOA,CAAA,EA1BF,OAAA,GAAA,CAAA,SAAA,6DAAA,WAAA,IAAA,aAAA,CAAA,EAAA,IA2BA,CAEJ"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./index-puKKZ5l8.js";import{a as u}from"./vendor-query-DLp59M9_.js";import{e as G,i as K,u as F,j as X,b as Z}from"./workflows-2QAXh3UD.js";import{D as ee}from"./DataTable-DXSUbA26.js";import{C as se}from"./ConfirmDeleteModal-DCKAPXD3.js";import{F as re,b as P}from"./FilterBar-DbVbCzH2.js";import{R as oe,a as _}from"./RowActions-DurFwIwe.js";import{u as ae}from"./useFilterParams-CGRYFw_A.js";import{P as U}from"./PageHeader-CZ9a8cpr.js";import{R as te}from"./RolePill-DxbJMfJu.js";import{T as ie}from"./TaskQueuePill-C1hZ-j31.js";import{W as le}from"./WorkflowPill-CCV4MMj7.js";import{a3 as ne,S as ce,W as me,a8 as de,a9 as ue,U as I,X as $,g as J,D as M,d as q}from"./vendor-icons-CWl44VA6.js";import{c as B,e as fe,f as pe}from"./vendor-react-Co3Y8ikm.js";import{S as he}from"./StepIndicator-Dicx0WTZ.js";import{u as be}from"./roles-2v1Kc7BJ.js";import{B as Ne}from"./BotPicker-DWhn0tr1.js";import"./EmptyState-Dep92Wkg.js";import"./Modal-yyhUeKoA.js";import"./bots-Dqos20NE.js";function ge(s,o){const l=o.toLowerCase();return s.workflow_type.toLowerCase().includes(l)||(s.description??"").toLowerCase().includes(l)}function Be(){const s=B(),{data:o,isLoading:l}=G(),d=K(),{filters:a,setFilter:n}=ae({filters:{search:"",queue:"",role:"",tier:""}}),[m,v]=u.useState(a.search),[p,y]=u.useState(null);u.useEffect(()=>{if(m===a.search)return;const r=setTimeout(()=>n("search",m),300);return()=>clearTimeout(r)},[m,n,a.search]);const i=o??[],f=u.useMemo(()=>[...new Set(i.map(r=>r.task_queue).filter(Boolean))].sort(),[i]),c=u.useMemo(()=>[...new Set(i.flatMap(r=>r.roles??[]))].sort(),[i]),t=u.useMemo(()=>{let r=i;return a.search&&(r=r.filter(b=>ge(b,a.search))),a.queue&&(r=r.filter(b=>b.task_queue===a.queue)),a.role&&(r=r.filter(b=>(b.roles??[]).includes(a.role))),a.tier&&(r=r.filter(b=>b.tier===a.tier)),r},[i,a]),D=[{key:"workflow_type",label:"Workflow",render:r=>e.jsxDEV("div",{className:"min-w-0",children:[e.jsxDEV(le,{type:r.workflow_type},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:77,columnNumber:11},this),r.description&&e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-0.5 truncate",children:r.description},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:79,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:76,columnNumber:9},this)},{key:"task_queue",label:"Queue",render:r=>r.task_queue?e.jsxDEV(ie,{queue:r.task_queue},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:87,columnNumber:41},this):e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:87,columnNumber:84},this),className:"whitespace-nowrap"},{key:"tier",label:"Tier",render:r=>r.tier==="certified"?e.jsxDEV("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-medium bg-accent/10 text-accent",children:[e.jsxDEV(ne,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:94,columnNumber:166},this),"Certified"]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:94,columnNumber:46},this):r.tier==="configured"?e.jsxDEV("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-medium bg-status-info/10 text-status-info",children:[e.jsxDEV(ce,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:95,columnNumber:177},this),"Configured"]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:95,columnNumber:47},this):e.jsxDEV("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-surface-sunken text-text-tertiary",children:"Durable"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:96,columnNumber:16},this),className:"whitespace-nowrap"},{key:"roles",label:"Roles",render:r=>r.registered?e.jsxDEV("div",{className:"flex gap-1 flex-wrap",children:[(r.roles??[]).map(b=>e.jsxDEV(te,{role:b},b,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:106,columnNumber:13},this)),(!r.roles||r.roles.length===0)&&e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:108,columnNumber:54},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:104,columnNumber:9},this):e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:111,columnNumber:9},this)},{key:"actions",label:"",render:r=>e.jsxDEV(oe,{children:[r.tier==="durable"&&e.jsxDEV(_,{icon:me,title:"Configure workflow",onClick:()=>s(`/workflows/registry/new?workflow_type=${encodeURIComponent(r.workflow_type)}&task_queue=${encodeURIComponent(r.task_queue??"")}`),colorClass:"text-text-tertiary hover:text-status-info"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:120,columnNumber:13},this),r.tier==="configured"&&e.jsxDEV(_,{icon:de,title:"Certify workflow",onClick:()=>s(`/workflows/registry/${encodeURIComponent(r.workflow_type)}`),colorClass:"text-text-tertiary hover:text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:128,columnNumber:13},this),r.registered&&e.jsxDEV(_,{icon:ue,title:"Remove configuration",onClick:()=>y(r.workflow_type),colorClass:"text-text-tertiary hover:text-status-warning"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:136,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:118,columnNumber:9},this),className:"w-16 text-right"}],j=()=>{p&&d.mutate(p,{onSuccess:()=>y(null)})},E=r=>{r.registered?s(`/workflows/registry/${encodeURIComponent(r.workflow_type)}`):s(`/workflows/registry/new?workflow_type=${encodeURIComponent(r.workflow_type)}&task_queue=${encodeURIComponent(r.task_queue??"")}`)};return e.jsxDEV("div",{children:[e.jsxDEV(U,{title:"Workflow Registry",actions:e.jsxDEV("button",{onClick:()=>s("/workflows/registry/new"),className:"btn-primary text-xs",children:"Register Workflow"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:169,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:166,columnNumber:7},this),e.jsxDEV(re,{children:[e.jsxDEV("input",{type:"text",placeholder:"Search workflow type...",value:m,onChange:r=>v(r.target.value),className:"input text-[11px] py-1 px-2 w-56"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:179,columnNumber:9},this),e.jsxDEV(P,{label:"Queue",value:a.queue,onChange:r=>n("queue",r),options:f.map(r=>({value:r,label:r}))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:186,columnNumber:9},this),e.jsxDEV(P,{label:"Tier",value:a.tier,onChange:r=>n("tier",r),options:[{value:"certified",label:"Certified"},{value:"configured",label:"Configured"},{value:"durable",label:"Durable"}]},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:192,columnNumber:9},this),e.jsxDEV(P,{label:"Role",value:a.role,onChange:r=>n("role",r),options:c.map(r=>({value:r,label:r}))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:202,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:178,columnNumber:7},this),e.jsxDEV(ee,{columns:D,data:t,keyFn:r=>r.workflow_type,onRowClick:E,isLoading:l,emptyMessage:"No workflows found"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:210,columnNumber:7},this),e.jsxDEV(se,{open:!!p,onClose:()=>y(null),onConfirm:j,title:"De-certify Workflow",description:e.jsxDEV(e.Fragment,{children:["Remove certification from ",e.jsxDEV("span",{className:"font-mono font-medium text-text-primary",children:p},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:225,columnNumber:50},this),"? This removes interceptor guarantees, escalation chains, and invocation role constraints. The workflow will continue running as a standard durable workflow."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:225,columnNumber:22},this),isPending:d.isPending,error:d.error},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:220,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigsPage.tsx",lineNumber:165,columnNumber:5},this)}function C(s){return s.split(",").map(o=>o.trim()).filter(Boolean)}const R={workflow_type:"",description:"",task_queue:"",default_role:"reviewer",invocable:!1,roles:"",invocation_roles:"",consumes:"",envelope_schema:"",resolver_schema:"",cron_schedule:"",execute_as:"",certified:!1};function xe(s){const o=(s.roles??[]).join(", "),l=(s.consumes??[]).join(", ");return{workflow_type:s.workflow_type,description:s.description??"",task_queue:s.task_queue??"",default_role:s.default_role,invocable:s.invocable,roles:o,invocation_roles:(s.invocation_roles??[]).join(", "),consumes:l,envelope_schema:s.envelope_schema?JSON.stringify(s.envelope_schema,null,2):"",resolver_schema:s.resolver_schema?JSON.stringify(s.resolver_schema,null,2):"",cron_schedule:s.cron_schedule??"",execute_as:s.execute_as??"",certified:!!(o||l)}}const T=["Identity","Invocation","Advanced"];function V(s){if(!s.trim())return!0;try{return JSON.parse(s),!0}catch{return!1}}function L(s,o){return s===1?!!o.workflow_type.trim():s===2?V(o.envelope_schema):s===3?V(o.resolver_schema):!0}const k="block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",g="text-[10px] text-text-tertiary mt-2 leading-relaxed",Q="input font-mono text-[11px] w-full leading-relaxed tabular-nums";function A({selected:s,onChange:o,single:l,placeholder:d}){const{data:a}=be(),n=(a==null?void 0:a.roles)??[],[m,v]=u.useState(!1),p=u.useRef(null);u.useEffect(()=>{const c=t=>{p.current&&!p.current.contains(t.target)&&v(!1)};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[]);const y=c=>{l?(o(s.includes(c)?[]:[c]),v(!1)):o(s.includes(c)?s.filter(t=>t!==c):[...s,c])},i=c=>{o(s.filter(t=>t!==c))},f=d??(l?"Select role...":"Add roles...");return e.jsxDEV("div",{ref:p,className:"relative",children:[e.jsxDEV("button",{type:"button",onClick:()=>v(!m),className:"flex flex-wrap items-center gap-1.5 w-full min-h-[34px] px-2 py-1.5 bg-surface-sunken border border-surface-border rounded-md text-left cursor-pointer hover:border-accent/40 transition-colors focus:ring-1 focus:ring-accent focus:outline-none",children:[s.length===0&&e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:f},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:55,columnNumber:11},this),s.map(c=>e.jsxDEV("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-lg bg-accent/[0.08] text-text-secondary text-[11px]",children:[e.jsxDEV(I,{className:"w-2.5 h-2.5 shrink-0 text-accent/75"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:62,columnNumber:13},this),c,e.jsxDEV("span",{role:"button",onClick:t=>{t.stopPropagation(),i(c)},className:"ml-0.5 hover:text-status-error transition-colors",children:e.jsxDEV($,{className:"w-2.5 h-2.5"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:69,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:64,columnNumber:13},this)]},c,!0,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:58,columnNumber:11},this)),e.jsxDEV(J,{className:`w-3.5 h-3.5 ml-auto shrink-0 text-text-tertiary transition-transform ${m?"rotate-180":""}`},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:73,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:49,columnNumber:7},this),m&&e.jsxDEV("div",{className:"absolute z-20 mt-1 w-full bg-white border border-surface-border rounded-md shadow-lg max-h-48 overflow-y-auto",children:n.length===0?e.jsxDEV("p",{className:"px-3 py-2 text-xs text-text-tertiary",children:"No roles defined"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:80,columnNumber:13},this):n.map(c=>{const t=s.includes(c);return e.jsxDEV("button",{type:"button",onClick:()=>y(c),className:`flex items-center gap-2 w-full px-3 py-1.5 text-left text-xs transition-colors ${t?"bg-accent/[0.06] text-accent":"text-text-primary hover:bg-surface-sunken"}`,children:[e.jsxDEV(I,{className:"w-3 h-3 shrink-0 text-accent/60"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:95,columnNumber:19},this),e.jsxDEV("span",{className:"flex-1",children:c},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:96,columnNumber:19},this),t&&e.jsxDEV(M,{className:"w-3 h-3 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:97,columnNumber:34},this)]},c,!0,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:85,columnNumber:17},this)})},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/RolePicker.tsx",lineNumber:47,columnNumber:5},this)}function we({options:s,selected:o,onChange:l,placeholder:d}){const[a,n]=u.useState(!1),m=u.useRef(null);u.useEffect(()=>{const i=f=>{m.current&&!m.current.contains(f.target)&&n(!1)};return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[]);const v=i=>{l(o.includes(i)?o.filter(f=>f!==i):[...o,i])},p=i=>{l(o.filter(f=>f!==i))},y=d??"Add workflows...";return e.jsxDEV("div",{ref:m,className:"relative",children:[e.jsxDEV("button",{type:"button",onClick:()=>n(!a),className:"flex flex-wrap items-center gap-1.5 w-full min-h-[34px] px-2 py-1.5 bg-surface-sunken border border-surface-border rounded-md text-left cursor-pointer hover:border-accent/40 transition-colors focus:ring-1 focus:ring-accent focus:outline-none",children:[o.length===0&&e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:y},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:45,columnNumber:11},this),o.map(i=>e.jsxDEV("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-lg bg-accent/[0.08] text-text-secondary text-[11px] font-mono",children:[e.jsxDEV(q,{className:"w-2.5 h-2.5 shrink-0 text-accent/75"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:52,columnNumber:13},this),i,e.jsxDEV("span",{role:"button",onClick:f=>{f.stopPropagation(),p(i)},className:"ml-0.5 hover:text-status-error transition-colors",children:e.jsxDEV($,{className:"w-2.5 h-2.5"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:59,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:54,columnNumber:13},this)]},i,!0,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:48,columnNumber:11},this)),e.jsxDEV(J,{className:`w-3.5 h-3.5 ml-auto shrink-0 text-text-tertiary transition-transform ${a?"rotate-180":""}`},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:63,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:39,columnNumber:7},this),a&&e.jsxDEV("div",{className:"absolute z-20 mt-1 w-full bg-white border border-surface-border rounded-md shadow-lg max-h-48 overflow-y-auto",children:s.length===0?e.jsxDEV("p",{className:"px-3 py-2 text-xs text-text-tertiary",children:"No registered workflows"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:69,columnNumber:13},this):s.map(i=>{const f=o.includes(i);return e.jsxDEV("button",{type:"button",onClick:()=>v(i),className:`flex items-center gap-2 w-full px-3 py-1.5 text-left text-xs font-mono transition-colors ${f?"bg-accent/[0.06] text-accent":"text-text-primary hover:bg-surface-sunken"}`,children:[e.jsxDEV(q,{className:"w-3 h-3 shrink-0 text-accent/60"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:84,columnNumber:19},this),e.jsxDEV("span",{className:"flex-1",children:i},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:85,columnNumber:19},this),f&&e.jsxDEV(M,{className:"w-3 h-3 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:86,columnNumber:34},this)]},i,!0,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:74,columnNumber:17},this)})},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:67,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/WorkflowPicker.tsx",lineNumber:38,columnNumber:5},this)}function z(s){return C(s)}function O(s){return s.join(", ")}function ke({form:s,set:o}){const{data:l}=F(),d=(l??[]).map(a=>a.workflow_type).filter(a=>a!==s.workflow_type);return e.jsxDEV("div",{className:"space-y-5",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Resolver Schema"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:31,columnNumber:9},this),e.jsxDEV("textarea",{value:s.resolver_schema,onChange:a=>o("resolver_schema",a.target.value),placeholder:`{
|
|
2
|
-
"properties": {
|
|
3
|
-
"approved": { "type": "boolean", "default": false, "description": "Approve?" },
|
|
4
|
-
"notes": { "type": "string", "default": "", "description": "Reviewer notes" }
|
|
5
|
-
}
|
|
6
|
-
}`,className:Q,rows:8,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:32,columnNumber:9},this),e.jsxDEV("p",{className:g,children:["Default form template for resolving escalations from this workflow. Use ",e.jsxDEV("span",{className:"font-mono",children:"properties"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:15},this)," with ",e.jsxDEV("span",{className:"font-mono",children:"type"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:66},this),", ",e.jsxDEV("span",{className:"font-mono",children:"default"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:107},this),", ",e.jsxDEV("span",{className:"font-mono",children:"description"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:151},this),", ",e.jsxDEV("span",{className:"font-mono",children:"enum"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:199},this),", and ",e.jsxDEV("span",{className:"font-mono",children:"format"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:42,columnNumber:244},this)," for typed form fields."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:40,columnNumber:9},this),s.resolver_schema.trim()&&!V(s.resolver_schema)&&e.jsxDEV("p",{className:"text-[10px] text-status-error mt-1",children:"Invalid JSON"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:45,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:30,columnNumber:7},this),e.jsxDEV("div",{className:"flex gap-6 pt-1",children:e.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsxDEV("input",{type:"checkbox",checked:s.certified,onChange:a=>o("certified",a.target.checked),className:"w-4 h-4 rounded border-border accent-accent"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:52,columnNumber:11},this),e.jsxDEV("span",{className:"text-xs text-text-primary font-medium",children:"Certify for HITL Escalation"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:58,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:51,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:50,columnNumber:7},this),e.jsxDEV("p",{className:g,children:"Certified workflows use the interceptor to wrap executions — failures escalate to human reviewers instead of throwing."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:61,columnNumber:7},this),s.certified?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Default Escalation Role"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:70,columnNumber:13},this),e.jsxDEV(A,{selected:z(s.default_role),onChange:a=>o("default_role",a[0]??""),single:!0,placeholder:"Select escalation role..."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:71,columnNumber:13},this),e.jsxDEV("p",{className:g,children:"When this workflow escalates, assign to users with this role"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:77,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:69,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Escalation Roles"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:84,columnNumber:13},this),e.jsxDEV(A,{selected:z(s.roles),onChange:a=>o("roles",O(a)),placeholder:"Select who can resolve escalations..."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:85,columnNumber:13},this),e.jsxDEV("p",{className:g,children:"Users with any of these roles can claim and resolve escalations from this workflow."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:90,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:83,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Consumes"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:97,columnNumber:13},this),e.jsxDEV(we,{options:d,selected:z(s.consumes),onChange:a=>o("consumes",O(a)),placeholder:"Select workflow dependencies..."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:98,columnNumber:13},this),e.jsxDEV("p",{className:g,children:"Output from these upstream workflows will be injected into the input envelope for this workflow."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:104,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:96,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:67,columnNumber:9},this):e.jsxDEV("div",{className:"py-4 px-4 bg-surface-sunken/50 rounded-md text-center",children:e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:["This workflow will run as standard durable without the interceptor. Enable"," ",e.jsxDEV("span",{className:"font-medium text-text-secondary",children:"Certify for HITL Escalation"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:114,columnNumber:13},this)," ","to add automatic escalation routing and role-based resolution."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:111,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:110,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/AdvancedStep.tsx",lineNumber:28,columnNumber:5},this)}function ve(s){return C(s)}function ye(s){return s.join(", ")}function De({form:s,set:o,editing:l,durableTypes:d=[]}){const a=!l&&d.length>0;return e.jsxDEV("div",{className:"space-y-5",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Workflow Type"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:36,columnNumber:9},this),a&&!s.workflow_type?e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV("p",{className:"text-xs text-text-secondary",children:"Select a durable workflow to register:"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:39,columnNumber:13},this),e.jsxDEV("div",{className:"grid gap-1",children:d.map(n=>e.jsxDEV("button",{onClick:()=>o("workflow_type",n),className:"flex items-center gap-2 px-3 py-2 text-left text-xs font-mono rounded-md border border-surface-border hover:border-accent/50 hover:bg-accent/[0.04] transition-colors",children:n},n,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:44,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:42,columnNumber:13},this),e.jsxDEV("div",{className:"flex items-center gap-2 pt-1",children:[e.jsxDEV("span",{className:"text-[10px] text-text-tertiary",children:"or"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:54,columnNumber:15},this),e.jsxDEV("input",{type:"text",onChange:n=>o("workflow_type",n.target.value),placeholder:"Enter a workflow type manually",className:"input font-mono text-xs flex-1"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:55,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:53,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:38,columnNumber:11},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("input",{type:"text",value:s.workflow_type,onChange:n=>o("workflow_type",n.target.value),disabled:l,placeholder:"reviewContent",className:"input font-mono text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:65,columnNumber:13},this),!l&&s.workflow_type&&d.length>0&&e.jsxDEV("button",{onClick:()=>o("workflow_type",""),className:"text-[10px] text-accent hover:underline mt-1",children:"Choose from durable workflows"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:74,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:64,columnNumber:11},this),e.jsxDEV("p",{className:g,children:"Register a workflow to configure invocation schemas and dashboard visibility. Certification for HITL escalation is optional (step 3)."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:83,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:35,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Description"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:89,columnNumber:9},this),e.jsxDEV("input",{type:"text",value:s.description,onChange:n=>o("description",n.target.value),placeholder:"AI-powered content moderation with human escalation",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:90,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:88,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Task Queue"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:100,columnNumber:9},this),e.jsxDEV("input",{type:"text",value:s.task_queue,onChange:n=>o("task_queue",n.target.value),placeholder:"lt-review",className:"input font-mono text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:101,columnNumber:9},this),e.jsxDEV("p",{className:g,children:"Durable task queue this workflow listens on"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:108,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:99,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:34,columnNumber:5},this)}function Ee({form:s,set:o}){return e.jsxDEV("div",{className:"space-y-5",children:[e.jsxDEV("div",{className:"flex gap-6 pt-1",children:e.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsxDEV("input",{type:"checkbox",checked:s.invocable,onChange:l=>o("invocable",l.target.checked),className:"w-4 h-4 rounded border-border accent-accent"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:124,columnNumber:11},this),e.jsxDEV("span",{className:"text-xs text-text-primary font-medium",children:"Invocable"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:130,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:123,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:122,columnNumber:7},this),e.jsxDEV("p",{className:g,children:"Allow this workflow to be started from the dashboard or API."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:133,columnNumber:7},this),s.invocable&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Run As"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:141,columnNumber:13},this),e.jsxDEV(Ne,{selected:s.execute_as,onChange:l=>o("execute_as",l)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:142,columnNumber:13},this),e.jsxDEV("p",{className:g,children:"Choose a bot to execute this workflow under its identity and credentials. Default runs as the invoking user."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:146,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:140,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Invocation Roles"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:154,columnNumber:13},this),e.jsxDEV(A,{selected:ve(s.invocation_roles),onChange:l=>o("invocation_roles",ye(l)),placeholder:"Select who can start this workflow..."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:155,columnNumber:13},this),e.jsxDEV("p",{className:g,children:"Only users with these roles can start this workflow. Leave empty to allow all authenticated users."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:160,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:153,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:k,children:"Envelope Schema"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:168,columnNumber:13},this),e.jsxDEV("textarea",{value:s.envelope_schema,onChange:l=>o("envelope_schema",l.target.value),placeholder:`{
|
|
7
|
-
"data": {
|
|
8
|
-
"contentId": "example-123",
|
|
9
|
-
"content": "Text to review"
|
|
10
|
-
},
|
|
11
|
-
"metadata": {
|
|
12
|
-
"source": "dashboard"
|
|
13
|
-
}
|
|
14
|
-
}`,className:Q,rows:8,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:169,columnNumber:13},this),e.jsxDEV("p",{className:g,children:["Pre-fills the JSON editor when invoking this workflow. Should include ",e.jsxDEV("span",{className:"font-mono",children:"data"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:179,columnNumber:30},this)," (workflow input) and optional ",e.jsxDEV("span",{className:"font-mono",children:"metadata"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:179,columnNumber:100},this)," (context)."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:177,columnNumber:13},this),s.envelope_schema.trim()&&!V(s.envelope_schema)&&e.jsxDEV("p",{className:"text-[10px] text-status-error mt-1",children:"Invalid JSON"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:182,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:167,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:138,columnNumber:9},this),!s.invocable&&e.jsxDEV("div",{className:"py-4 px-4 bg-surface-sunken/50 rounded-md text-center",children:e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:["Enable ",e.jsxDEV("span",{className:"font-medium text-text-secondary",children:"Invocable"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:191,columnNumber:20},this)," above to configure who can start this workflow and set an input template."]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:190,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:189,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/ConfigWizardSteps.tsx",lineNumber:120,columnNumber:5},this)}function Qe(){const{workflowType:s}=fe(),o=!s,l=B(),{data:d,isLoading:a}=F(),n=X(),m=(d==null?void 0:d.find(h=>h.workflow_type===s))??null,v=new Set(["mcpQuery","mcpDeterministic","mcpQueryRouter","mcpTriage","mcpTriageRouter","mcpTriageDeterministic","insightQuery"]),{data:p}=Z({limit:500}),y=u.useMemo(()=>{const h=new Set((d??[]).map(N=>N.workflow_type));return[...new Set(((p==null?void 0:p.jobs)??[]).map(N=>N.entity))].filter(N=>!h.has(N)&&!v.has(N)).sort()},[d,p]),[i,f]=pe(),c=u.useMemo(()=>{if(!o)return R;const h=i.get("workflow_type")??"",w=i.get("task_queue")??"";return!h&&!w?R:{...R,workflow_type:h,task_queue:w}},[o,i]),[t,D]=u.useState(c),[j,E]=u.useState(""),[r,b]=u.useState(!1),x=parseInt(i.get("step")||"1",10),S=u.useCallback(h=>{f(w=>{const N=new URLSearchParams(w);return N.set("step",String(h)),N},{replace:!1})},[f]);u.useEffect(()=>{if(!r){if(o){D(c),b(!0);return}m&&(D(xe(m)),b(!0))}},[m,o,r,c]);const W=(h,w)=>D(N=>({...N,[h]:w})),H=()=>{if(!t.workflow_type.trim())return;E("");let h=null,w=null;try{t.envelope_schema.trim()&&(h=JSON.parse(t.envelope_schema))}catch{E("Invalid JSON in Envelope Schema");return}try{t.resolver_schema.trim()&&(w=JSON.parse(t.resolver_schema))}catch{E("Invalid JSON in Resolver Schema");return}n.mutate({workflow_type:t.workflow_type.trim(),description:t.description.trim()||null,task_queue:t.task_queue.trim()||null,default_role:t.default_role.trim()||"reviewer",invocable:t.invocable,roles:C(t.roles),invocation_roles:C(t.invocation_roles),consumes:C(t.consumes),envelope_schema:h,resolver_schema:w,cron_schedule:t.cron_schedule.trim()||null,execute_as:t.execute_as.trim()||null},{onSuccess:()=>{l("/workflows/registry")}})};if(a)return e.jsxDEV("div",{className:"animate-pulse space-y-4",children:[e.jsxDEV("div",{className:"h-8 bg-surface-sunken rounded w-48"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:132,columnNumber:9},this),e.jsxDEV("div",{className:"h-60 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:133,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:131,columnNumber:7},this);if(!o&&!m)return e.jsxDEV("p",{className:"text-sm text-text-secondary",children:"Config not found."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:139,columnNumber:12},this);const Y=x===T.length;return e.jsxDEV("div",{children:[e.jsxDEV(U,{title:o?"Register Workflow":(m==null?void 0:m.workflow_type)??""},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:147,columnNumber:7},this),e.jsxDEV("div",{className:"max-w-3xl",children:[e.jsxDEV(he,{steps:T,currentStep:x-1,onStepClick:h=>S(h+1)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:150,columnNumber:11},this),e.jsxDEV("div",{className:"min-h-[360px] py-2",children:[x===1&&e.jsxDEV(De,{form:t,set:W,editing:!!m,durableTypes:y},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:153,columnNumber:28},this),x===2&&e.jsxDEV(Ee,{form:t,set:W},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:154,columnNumber:28},this),x===3&&e.jsxDEV(ke,{form:t,set:W},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:155,columnNumber:28},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:152,columnNumber:11},this),(j||n.error)&&e.jsxDEV("p",{className:"text-xs text-status-error mt-4",children:j||n.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:159,columnNumber:13},this),e.jsxDEV("div",{className:"flex justify-between items-center pt-4 border-t border-surface-border mt-4",children:[e.jsxDEV("div",{children:x>1&&e.jsxDEV("button",{onClick:()=>S(x-1),className:"btn-secondary text-xs",children:"Back"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:168,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:166,columnNumber:13},this),e.jsxDEV("div",{className:"flex gap-3",children:[e.jsxDEV("button",{onClick:()=>l("/workflows/registry"),className:"btn-ghost text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:177,columnNumber:15},this),Y?e.jsxDEV("button",{onClick:H,disabled:!L(x,t)||n.isPending,className:"btn-primary text-xs",children:n.isPending?"Saving...":m?"Save":"Create"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:181,columnNumber:17},this):e.jsxDEV("button",{onClick:()=>S(x+1),disabled:!L(x,t),className:"btn-primary text-xs",children:"Next"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:189,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:176,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:165,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:149,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/registry/WorkflowConfigDetailPage.tsx",lineNumber:146,columnNumber:5},this)}export{Qe as WorkflowConfigDetailPage,Be as WorkflowConfigsPage};
|
|
15
|
-
//# sourceMappingURL=index-CAj5LT9H.js.map
|