@hotmeshio/long-tail 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/api/domain.d.ts +14 -0
- package/build/api/domain.js +76 -0
- package/build/api/escalations/cancel.js +16 -1
- package/build/api/escalations/helpers.js +5 -0
- package/build/lib/db/schemas/030_domain_dictionary.sql +18 -0
- package/build/lib/events/escalation-wire.d.ts +9 -0
- package/build/lib/events/escalation-wire.js +69 -0
- package/build/lib/events/system-events.js +13 -5
- package/build/lib/json-path/pick.d.ts +14 -0
- package/build/lib/json-path/pick.js +51 -0
- package/build/routes/domain.d.ts +2 -0
- package/build/routes/domain.js +62 -0
- package/build/routes/index.js +2 -0
- package/build/routes/mcp-endpoint.js +4 -1
- package/build/services/domain/index.d.ts +4 -0
- package/build/services/domain/index.js +14 -0
- package/build/services/domain/read.d.ts +21 -0
- package/build/services/domain/read.js +78 -0
- package/build/services/domain/seed.d.ts +11 -0
- package/build/services/domain/seed.js +65 -0
- package/build/services/domain/sql.d.ts +10 -0
- package/build/services/domain/sql.js +29 -0
- package/build/services/domain/validate.d.ts +29 -0
- package/build/services/domain/validate.js +50 -0
- package/build/services/domain/write.d.ts +23 -0
- package/build/services/domain/write.js +43 -0
- package/build/services/escalation/aggregate-validate.js +6 -0
- package/build/services/escalation/crud.js +16 -12
- package/build/services/escalation/facet-sql.js +10 -0
- package/build/services/mcp/db-server/schemas.d.ts +1 -1
- package/build/services/mcp/external-server.js +65 -27
- package/build/services/role/index.d.ts +2 -0
- package/build/services/role/index.js +7 -0
- package/build/services/role/sql.d.ts +1 -0
- package/build/services/role/sql.js +3 -1
- package/build/services/role/types.d.ts +17 -1
- package/build/services/role/types.js +16 -0
- package/build/start/workers.js +6 -0
- package/build/system/index.js +17 -0
- package/build/system/mcp-servers/admin/domain-context.d.ts +14 -0
- package/build/system/mcp-servers/admin/domain-context.js +220 -0
- package/build/system/mcp-servers/admin/exports.js +7 -4
- package/build/system/mcp-servers/admin/index.js +5 -5
- package/build/system/mcp-servers/admin/pipelines.js +9 -3
- package/build/system/mcp-servers/admin/schemas.d.ts +61 -32
- package/build/system/mcp-servers/admin/schemas.js +23 -5
- package/build/system/mcp-servers/admin/workflows.js +26 -0
- package/build/system/mcp-servers/db-query/schemas.d.ts +1 -1
- package/build/system/mcp-servers/human-queue-schemas.d.ts +1 -1
- package/build/system/seed/tool-manifests-admin.d.ts +115 -969
- package/build/system/seed/tool-manifests-admin.js +8 -10
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/domain-manifest.d.ts +77 -0
- package/build/types/domain-manifest.js +16 -0
- package/build/types/facets.d.ts +8 -0
- package/build/types/index.d.ts +2 -1
- package/build/types/index.js +2 -1
- package/build/types/startup.d.ts +10 -0
- package/dashboard/dist/assets/{AdminDashboard-DJ3LJQ09.js → AdminDashboard-CahUELrr.js} +2 -2
- package/dashboard/dist/assets/{AdminDashboard-DJ3LJQ09.js.map → AdminDashboard-CahUELrr.js.map} +1 -1
- package/dashboard/dist/assets/{AgentConfigPage-BMMvaD0z.js → AgentConfigPage-CkMv-cTV.js} +2 -2
- package/dashboard/dist/assets/{AgentConfigPage-BMMvaD0z.js.map → AgentConfigPage-CkMv-cTV.js.map} +1 -1
- package/dashboard/dist/assets/{AgentDetailPage-C6wfsnRe.js → AgentDetailPage-ZGea3Z4A.js} +2 -2
- package/dashboard/dist/assets/{AgentDetailPage-C6wfsnRe.js.map → AgentDetailPage-ZGea3Z4A.js.map} +1 -1
- package/dashboard/dist/assets/{AgentsPage-Cwqka7nE.js → AgentsPage-BMWSUJGi.js} +2 -2
- package/dashboard/dist/assets/{AgentsPage-Cwqka7nE.js.map → AgentsPage-BMWSUJGi.js.map} +1 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-BjsbfsWW.js +2 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-BjsbfsWW.js.map +1 -0
- package/dashboard/dist/assets/{BotPicker-BBkJBXZB.js → BotPicker-DN8tq7pz.js} +2 -2
- package/dashboard/dist/assets/{BotPicker-BBkJBXZB.js.map → BotPicker-DN8tq7pz.js.map} +1 -1
- package/dashboard/dist/assets/CapabilitiesPage-EAO3Ae0S.js +2 -0
- package/dashboard/dist/assets/CapabilitiesPage-EAO3Ae0S.js.map +1 -0
- package/dashboard/dist/assets/{CollapsibleSection-B3FsrHwH.js → CollapsibleSection-J-RejbjG.js} +2 -2
- package/dashboard/dist/assets/{CollapsibleSection-B3FsrHwH.js.map → CollapsibleSection-J-RejbjG.js.map} +1 -1
- package/dashboard/dist/assets/{CountdownTimer-B3nCqJdC.js → CountdownTimer-Dw8N9tmQ.js} +2 -2
- package/dashboard/dist/assets/{CountdownTimer-B3nCqJdC.js.map → CountdownTimer-Dw8N9tmQ.js.map} +1 -1
- package/dashboard/dist/assets/{CredentialsPage-Bv875IHe.js → CredentialsPage-CTurxwRn.js} +2 -2
- package/dashboard/dist/assets/{CredentialsPage-Bv875IHe.js.map → CredentialsPage-CTurxwRn.js.map} +1 -1
- package/dashboard/dist/assets/{CronLabel-CSzjWuwj.js → CronLabel-DZ5TmIQG.js} +2 -2
- package/dashboard/dist/assets/{CronLabel-CSzjWuwj.js.map → CronLabel-DZ5TmIQG.js.map} +1 -1
- package/dashboard/dist/assets/{CustomDurationPicker-CCpqf3e4.js → CustomDurationPicker-BES_FTrm.js} +2 -2
- package/dashboard/dist/assets/{CustomDurationPicker-CCpqf3e4.js.map → CustomDurationPicker-BES_FTrm.js.map} +1 -1
- package/dashboard/dist/assets/{DropZone-CJkk-U3o.js → DropZone-BWD9aGOz.js} +2 -2
- package/dashboard/dist/assets/{DropZone-CJkk-U3o.js.map → DropZone-BWD9aGOz.js.map} +1 -1
- package/dashboard/dist/assets/{ElapsedCell-WV6pUaKo.js → ElapsedCell-CIGRporU.js} +2 -2
- package/dashboard/dist/assets/{ElapsedCell-WV6pUaKo.js.map → ElapsedCell-CIGRporU.js.map} +1 -1
- package/dashboard/dist/assets/EntityTimelinePanel-CKIFsDOB.js +2 -0
- package/dashboard/dist/assets/EntityTimelinePanel-CKIFsDOB.js.map +1 -0
- package/dashboard/dist/assets/{EscalationListSchemaPage-CTQCALw4.js → EscalationListSchemaPage-DOrv-quD.js} +2 -2
- package/dashboard/dist/assets/{EscalationListSchemaPage-CTQCALw4.js.map → EscalationListSchemaPage-DOrv-quD.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationSchemaPage-D_UgP0pv.js → EscalationSchemaPage-DAOVAxAM.js} +2 -2
- package/dashboard/dist/assets/{EscalationSchemaPage-D_UgP0pv.js.map → EscalationSchemaPage-DAOVAxAM.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationsOverview-DuIUyxr0.js → EscalationsOverview-B27sDn5O.js} +2 -2
- package/dashboard/dist/assets/{EscalationsOverview-DuIUyxr0.js.map → EscalationsOverview-B27sDn5O.js.map} +1 -1
- package/dashboard/dist/assets/{EventTable-BV6unphX.js → EventTable-Co1d40Qq.js} +2 -2
- package/dashboard/dist/assets/{EventTable-BV6unphX.js.map → EventTable-Co1d40Qq.js.map} +1 -1
- package/dashboard/dist/assets/{FilterBar-DYFgzXNB.js → FilterBar-2ZfU21EA.js} +2 -2
- package/dashboard/dist/assets/{FilterBar-DYFgzXNB.js.map → FilterBar-2ZfU21EA.js.map} +1 -1
- package/dashboard/dist/assets/{GraphInvokePage-BGHVUipJ.js → GraphInvokePage-pdvc9VSv.js} +2 -2
- package/dashboard/dist/assets/{GraphInvokePage-BGHVUipJ.js.map → GraphInvokePage-pdvc9VSv.js.map} +1 -1
- package/dashboard/dist/assets/{HomePage-B-S2cK3E.js → HomePage-CLlDsBnw.js} +2 -2
- package/dashboard/dist/assets/{HomePage-B-S2cK3E.js.map → HomePage-CLlDsBnw.js.map} +1 -1
- package/dashboard/dist/assets/{ListToolbar-Bl7F3A28.js → ListToolbar-DMremj2e.js} +2 -2
- package/dashboard/dist/assets/{ListToolbar-Bl7F3A28.js.map → ListToolbar-DMremj2e.js.map} +1 -1
- package/dashboard/dist/assets/{McpOverview-_T9IsCD_.js → McpOverview-BhztmhoL.js} +2 -2
- package/dashboard/dist/assets/{McpOverview-_T9IsCD_.js.map → McpOverview-BhztmhoL.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryDetailPage-DtsVqKPw.js → McpQueryDetailPage-BseZfrhc.js} +2 -2
- package/dashboard/dist/assets/{McpQueryDetailPage-DtsVqKPw.js.map → McpQueryDetailPage-BseZfrhc.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryPage-DX5u-1bx.js → McpQueryPage-DMzkble7.js} +2 -2
- package/dashboard/dist/assets/{McpQueryPage-DX5u-1bx.js.map → McpQueryPage-DMzkble7.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunDetailPage-BhcqqtYS.js → McpRunDetailPage-DqaBQAnn.js} +2 -2
- package/dashboard/dist/assets/{McpRunDetailPage-BhcqqtYS.js.map → McpRunDetailPage-DqaBQAnn.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunsPage-L-1y8wnX.js → McpRunsPage-Du8GnHFv.js} +2 -2
- package/dashboard/dist/assets/{McpRunsPage-L-1y8wnX.js.map → McpRunsPage-Du8GnHFv.js.map} +1 -1
- package/dashboard/dist/assets/{NamespacePill-in1SLd0W.js → NamespacePill-C09QuOEz.js} +2 -2
- package/dashboard/dist/assets/{NamespacePill-in1SLd0W.js.map → NamespacePill-C09QuOEz.js.map} +1 -1
- package/dashboard/dist/assets/OperationsPage-CL2feqwS.js +3 -0
- package/dashboard/dist/assets/OperationsPage-CL2feqwS.js.map +1 -0
- package/dashboard/dist/assets/{OperatorDashboard-CIbDzOlh.js → OperatorDashboard-BHiGQZN_.js} +2 -2
- package/dashboard/dist/assets/{OperatorDashboard-CIbDzOlh.js.map → OperatorDashboard-BHiGQZN_.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeader-BJgWMZtw.js → PageHeader-B7YJxa4o.js} +2 -2
- package/dashboard/dist/assets/{PageHeader-BJgWMZtw.js.map → PageHeader-B7YJxa4o.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeaderWithStats-Ccio4vyG.js → PageHeaderWithStats-gT-5ovJh.js} +2 -2
- package/dashboard/dist/assets/{PageHeaderWithStats-Ccio4vyG.js.map → PageHeaderWithStats-gT-5ovJh.js.map} +1 -1
- package/dashboard/dist/assets/{PersonaDetailPage-BOaf0TW1.js → PersonaDetailPage-D6GGZgUS.js} +2 -2
- package/dashboard/dist/assets/{PersonaDetailPage-BOaf0TW1.js.map → PersonaDetailPage-D6GGZgUS.js.map} +1 -1
- package/dashboard/dist/assets/PersonasPage-BQYCdmAs.js +2 -0
- package/dashboard/dist/assets/PersonasPage-BQYCdmAs.js.map +1 -0
- package/dashboard/dist/assets/{ProcessDetailPage-DN9NqfeP.js → ProcessDetailPage-P45jOLim.js} +2 -2
- package/dashboard/dist/assets/{ProcessDetailPage-DN9NqfeP.js.map → ProcessDetailPage-P45jOLim.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessesListPage-CfQEWaD4.js → ProcessesListPage-CgdzgCY6.js} +2 -2
- package/dashboard/dist/assets/{ProcessesListPage-CfQEWaD4.js.map → ProcessesListPage-CgdzgCY6.js.map} +1 -1
- package/dashboard/dist/assets/{RoleDetailPage-BC5HL7ls.js → RoleDetailPage-Dme2pa9z.js} +2 -2
- package/dashboard/dist/assets/{RoleDetailPage-BC5HL7ls.js.map → RoleDetailPage-Dme2pa9z.js.map} +1 -1
- package/dashboard/dist/assets/{RolePill-BNAP-uK6.js → RolePill-CtYI1_k1.js} +2 -2
- package/dashboard/dist/assets/{RolePill-BNAP-uK6.js.map → RolePill-CtYI1_k1.js.map} +1 -1
- package/dashboard/dist/assets/RolesPage-Ci7_PbPt.js +2 -0
- package/dashboard/dist/assets/RolesPage-Ci7_PbPt.js.map +1 -0
- package/dashboard/dist/assets/{RunAsSelector-twbuX7fB.js → RunAsSelector-CB0pV097.js} +2 -2
- package/dashboard/dist/assets/{RunAsSelector-twbuX7fB.js.map → RunAsSelector-CB0pV097.js.map} +1 -1
- package/dashboard/dist/assets/{ScanCodesPage-CPNg6K--.js → ScanCodesPage-DpbPhAj1.js} +2 -2
- package/dashboard/dist/assets/{ScanCodesPage-CPNg6K--.js.map → ScanCodesPage-DpbPhAj1.js.map} +1 -1
- package/dashboard/dist/assets/ScanSchemeDetailPage-CGnMGlt0.js +2 -0
- package/dashboard/dist/assets/ScanSchemeDetailPage-CGnMGlt0.js.map +1 -0
- package/dashboard/dist/assets/ScanStationPage-BTeV7TGy.js +2 -0
- package/dashboard/dist/assets/ScanStationPage-BTeV7TGy.js.map +1 -0
- package/dashboard/dist/assets/{ScopeBadge-BG7KkZ8Q.js → ScopeBadge-B76rOtA0.js} +2 -2
- package/dashboard/dist/assets/{ScopeBadge-BG7KkZ8Q.js.map → ScopeBadge-B76rOtA0.js.map} +1 -1
- package/dashboard/dist/assets/{StickyPagination-DIeYMPPd.js → StickyPagination-DH-0JEyx.js} +2 -2
- package/dashboard/dist/assets/{StickyPagination-DIeYMPPd.js.map → StickyPagination-DH-0JEyx.js.map} +1 -1
- package/dashboard/dist/assets/{StreamMessageDetail-gU4CUeQI.js → StreamMessageDetail-u-pDrHfS.js} +2 -2
- package/dashboard/dist/assets/{StreamMessageDetail-gU4CUeQI.js.map → StreamMessageDetail-u-pDrHfS.js.map} +1 -1
- package/dashboard/dist/assets/{SwimlaneTimeline-Br-nBA4l.js → SwimlaneTimeline-vN1N8BGy.js} +2 -2
- package/dashboard/dist/assets/{SwimlaneTimeline-Br-nBA4l.js.map → SwimlaneTimeline-vN1N8BGy.js.map} +1 -1
- package/dashboard/dist/assets/{TagInput-CvM5n6ww.js → TagInput-BQAPOp17.js} +2 -2
- package/dashboard/dist/assets/{TagInput-CvM5n6ww.js.map → TagInput-BQAPOp17.js.map} +1 -1
- package/dashboard/dist/assets/{TaskDetailPage-_9cr_R0u.js → TaskDetailPage-CAQm6avs.js} +2 -2
- package/dashboard/dist/assets/{TaskDetailPage-_9cr_R0u.js.map → TaskDetailPage-CAQm6avs.js.map} +1 -1
- package/dashboard/dist/assets/{TaskQueuePill-D4JPHXOq.js → TaskQueuePill-C2NImrwl.js} +2 -2
- package/dashboard/dist/assets/{TaskQueuePill-D4JPHXOq.js.map → TaskQueuePill-C2NImrwl.js.map} +1 -1
- package/dashboard/dist/assets/{TasksListPage-DVENC9Jp.js → TasksListPage-C1bT3DT9.js} +2 -2
- package/dashboard/dist/assets/{TasksListPage-DVENC9Jp.js.map → TasksListPage-C1bT3DT9.js.map} +1 -1
- package/dashboard/dist/assets/{TimeAgo-C9yYnOui.js → TimeAgo-qZxkJ8Am.js} +2 -2
- package/dashboard/dist/assets/{TimeAgo-C9yYnOui.js.map → TimeAgo-qZxkJ8Am.js.map} +1 -1
- package/dashboard/dist/assets/{TimestampCell-DoB8cYgw.js → TimestampCell-CC3dz6FG.js} +2 -2
- package/dashboard/dist/assets/{TimestampCell-DoB8cYgw.js.map → TimestampCell-CC3dz6FG.js.map} +1 -1
- package/dashboard/dist/assets/{ToolPill-BUjbC-Tj.js → ToolPill-FOZm67TS.js} +2 -2
- package/dashboard/dist/assets/{ToolPill-BUjbC-Tj.js.map → ToolPill-FOZm67TS.js.map} +1 -1
- package/dashboard/dist/assets/{ToolTestPanel-CBtsIP8K.js → ToolTestPanel-C3sSQUvw.js} +2 -2
- package/dashboard/dist/assets/{ToolTestPanel-CBtsIP8K.js.map → ToolTestPanel-C3sSQUvw.js.map} +1 -1
- package/dashboard/dist/assets/{TopicDetailPage-mR4Jaz83.js → TopicDetailPage-ClI0I8Mu.js} +2 -2
- package/dashboard/dist/assets/{TopicDetailPage-mR4Jaz83.js.map → TopicDetailPage-ClI0I8Mu.js.map} +1 -1
- package/dashboard/dist/assets/{TopicsPage-CP7HFxIC.js → TopicsPage-CNf2VZud.js} +2 -2
- package/dashboard/dist/assets/{TopicsPage-CP7HFxIC.js.map → TopicsPage-CNf2VZud.js.map} +1 -1
- package/dashboard/dist/assets/{UserName-BnLF6yhz.js → UserName-BdMHmyL3.js} +2 -2
- package/dashboard/dist/assets/{UserName-BnLF6yhz.js.map → UserName-BdMHmyL3.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowExecutionPage-xL956RZi.js → WorkflowExecutionPage-Ba4mYFoW.js} +2 -2
- package/dashboard/dist/assets/{WorkflowExecutionPage-xL956RZi.js.map → WorkflowExecutionPage-Ba4mYFoW.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowPill-tXU0-eXu.js → WorkflowPill-C5TEWlfO.js} +2 -2
- package/dashboard/dist/assets/{WorkflowPill-tXU0-eXu.js.map → WorkflowPill-C5TEWlfO.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsDashboard-B-u7zFKM.js → WorkflowsDashboard-ImEm16tX.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsDashboard-B-u7zFKM.js.map → WorkflowsDashboard-ImEm16tX.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsOverview-CqZVarK-.js → WorkflowsOverview-BpWyV_tj.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsOverview-CqZVarK-.js.map → WorkflowsOverview-BpWyV_tj.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-DiFLavW0.js → YamlWorkflowDetailPage-BFBlw1YY.js} +2 -2
- package/dashboard/dist/assets/{YamlWorkflowDetailPage-DiFLavW0.js.map → YamlWorkflowDetailPage-BFBlw1YY.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowsPage-BuQM6uZA.js → YamlWorkflowsPage-C9gxapRg.js} +2 -2
- package/dashboard/dist/assets/{YamlWorkflowsPage-BuQM6uZA.js.map → YamlWorkflowsPage-C9gxapRg.js.map} +1 -1
- package/dashboard/dist/assets/{agents-DU9GPovp.js → agents-BJQtJTiz.js} +2 -2
- package/dashboard/dist/assets/{agents-DU9GPovp.js.map → agents-BJQtJTiz.js.map} +1 -1
- package/dashboard/dist/assets/{bots-Cy-Hmg7w.js → bots-DDlU1gMy.js} +2 -2
- package/dashboard/dist/assets/{bots-Cy-Hmg7w.js.map → bots-DDlU1gMy.js.map} +1 -1
- package/dashboard/dist/assets/{capabilities-sSJJqrp-.js → capabilities-qYrUpdid.js} +2 -2
- package/dashboard/dist/assets/{capabilities-sSJJqrp-.js.map → capabilities-qYrUpdid.js.map} +1 -1
- package/dashboard/dist/assets/{controlplane-TVCjDHQ-.js → controlplane-DnJ1VDTs.js} +2 -2
- package/dashboard/dist/assets/{controlplane-TVCjDHQ-.js.map → controlplane-DnJ1VDTs.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-columns-BpkjKYGd.js → escalation-columns-BCnVWr_n.js} +2 -2
- package/dashboard/dist/assets/{escalation-columns-BpkjKYGd.js.map → escalation-columns-BCnVWr_n.js.map} +1 -1
- package/dashboard/dist/assets/{index-Dy-MMYti.js → index-04QQsxMp.js} +2 -2
- package/dashboard/dist/assets/{index-Dy-MMYti.js.map → index-04QQsxMp.js.map} +1 -1
- package/dashboard/dist/assets/{index-fgBDhnI6.js → index-B5q8ksfv.js} +2 -2
- package/dashboard/dist/assets/{index-fgBDhnI6.js.map → index-B5q8ksfv.js.map} +1 -1
- package/dashboard/dist/assets/{index-CtwbQ_-m.js → index-BAqQSgxn.js} +2 -2
- package/dashboard/dist/assets/{index-CtwbQ_-m.js.map → index-BAqQSgxn.js.map} +1 -1
- package/dashboard/dist/assets/{index-DOai950R.js → index-BHbO4F8Z.js} +2 -2
- package/dashboard/dist/assets/{index-DOai950R.js.map → index-BHbO4F8Z.js.map} +1 -1
- package/dashboard/dist/assets/{index-DTtHNC-D.js → index-BUpB9ezn.js} +2 -2
- package/dashboard/dist/assets/{index-DTtHNC-D.js.map → index-BUpB9ezn.js.map} +1 -1
- package/dashboard/dist/assets/{index-errgQT5x.js → index-C991QfUN.js} +23 -23
- package/dashboard/dist/assets/index-C991QfUN.js.map +1 -0
- package/dashboard/dist/assets/{index-7BP6FaCZ.js → index-CFlmubaP.js} +2 -2
- package/dashboard/dist/assets/{index-7BP6FaCZ.js.map → index-CFlmubaP.js.map} +1 -1
- package/dashboard/dist/assets/{index-BYNN9N1T.js → index-CroJTX8g.js} +2 -2
- package/dashboard/dist/assets/{index-BYNN9N1T.js.map → index-CroJTX8g.js.map} +1 -1
- package/dashboard/dist/assets/{index-BE0phFw0.js → index-CtAPxA03.js} +2 -2
- package/dashboard/dist/assets/{index-BE0phFw0.js.map → index-CtAPxA03.js.map} +1 -1
- package/dashboard/dist/assets/{index-CLPVqbVY.js → index-D-5F3Bw-.js} +2 -2
- package/dashboard/dist/assets/{index-CLPVqbVY.js.map → index-D-5F3Bw-.js.map} +1 -1
- package/dashboard/dist/assets/index-DhRdWzz0.js +6 -0
- package/dashboard/dist/assets/index-DhRdWzz0.js.map +1 -0
- package/dashboard/dist/assets/{index-DsWnVyVN.js → index-KotwPxGB.js} +2 -2
- package/dashboard/dist/assets/{index-DsWnVyVN.js.map → index-KotwPxGB.js.map} +1 -1
- package/dashboard/dist/assets/{index-Cfv86_L9.js → index-LiLVAQzB.js} +2 -2
- package/dashboard/dist/assets/{index-Cfv86_L9.js.map → index-LiLVAQzB.js.map} +1 -1
- package/dashboard/dist/assets/index-cFHoANSG.css +1 -0
- package/dashboard/dist/assets/{knowledge-arh4NfmL.js → knowledge-CnMeg8Rw.js} +2 -2
- package/dashboard/dist/assets/{knowledge-arh4NfmL.js.map → knowledge-CnMeg8Rw.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-QGf5jHCo.js → mcp-CHPSFv7m.js} +2 -2
- package/dashboard/dist/assets/{mcp-QGf5jHCo.js.map → mcp-CHPSFv7m.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-BEJN1nMZ.js → mcp-query-C19EGwdN.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-BEJN1nMZ.js.map → mcp-query-C19EGwdN.js.map} +1 -1
- package/dashboard/dist/assets/{personas-DYtw1COf.js → personas-Br1Vo2S3.js} +2 -2
- package/dashboard/dist/assets/{personas-DYtw1COf.js.map → personas-Br1Vo2S3.js.map} +1 -1
- package/dashboard/dist/assets/{pipelines-Byi6PnbE.js → pipelines-QMrFoJZX.js} +2 -2
- package/dashboard/dist/assets/{pipelines-Byi6PnbE.js.map → pipelines-QMrFoJZX.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-D0SQdENz.js → tasks-Doy_7cGX.js} +2 -2
- package/dashboard/dist/assets/{tasks-D0SQdENz.js.map → tasks-Doy_7cGX.js.map} +1 -1
- package/dashboard/dist/assets/{topics-DgDv5ZXP.js → topics-BcJS4G09.js} +2 -2
- package/dashboard/dist/assets/{topics-DgDv5ZXP.js.map → topics-BcJS4G09.js.map} +1 -1
- package/dashboard/dist/assets/{useEventHooks-DZaYzE7s.js → useEventHooks-ldE5o0ok.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-DZaYzE7s.js.map → useEventHooks-ldE5o0ok.js.map} +1 -1
- package/dashboard/dist/assets/{useNamespace-C1OqiNXN.js → useNamespace-CCu8fZc6.js} +2 -2
- package/dashboard/dist/assets/{useNamespace-C1OqiNXN.js.map → useNamespace-CCu8fZc6.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-CkmXDm-Z.js → useYamlActivityEvents-DDrXwFXX.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-CkmXDm-Z.js.map → useYamlActivityEvents-DDrXwFXX.js.map} +1 -1
- package/dashboard/dist/assets/{users-D4DCFPH1.js → users-BvKhSq1i.js} +2 -2
- package/dashboard/dist/assets/{users-D4DCFPH1.js.map → users-BvKhSq1i.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-BxuyFxH2.js → vendor-icons-Aw7bzBxa.js} +142 -137
- package/dashboard/dist/assets/vendor-icons-Aw7bzBxa.js.map +1 -0
- package/dashboard/dist/assets/{workflows-qyc0ku_5.js → workflows-D09ysQF1.js} +2 -2
- package/dashboard/dist/assets/{workflows-qyc0ku_5.js.map → workflows-D09ysQF1.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-DWFww9Xn.js → yaml-workflows-BFHrxEl4.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-DWFww9Xn.js.map → yaml-workflows-BFHrxEl4.js.map} +1 -1
- package/dashboard/dist/index.html +3 -3
- package/docs/domain-dictionary.md +115 -0
- package/docs/events.md +8 -0
- package/package.json +1 -1
- package/build/system/mcp-servers/admin/ortho.d.ts +0 -10
- package/build/system/mcp-servers/admin/ortho.js +0 -242
- package/dashboard/dist/assets/AvailableEscalationsPage-CVlG_AVC.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-CVlG_AVC.js.map +0 -1
- package/dashboard/dist/assets/CapabilitiesPage-wxmE4917.js +0 -2
- package/dashboard/dist/assets/CapabilitiesPage-wxmE4917.js.map +0 -1
- package/dashboard/dist/assets/EntityTimelinePanel-DrL86Yrf.js +0 -2
- package/dashboard/dist/assets/EntityTimelinePanel-DrL86Yrf.js.map +0 -1
- package/dashboard/dist/assets/OperationsPage-i8KcDpKo.js +0 -3
- package/dashboard/dist/assets/OperationsPage-i8KcDpKo.js.map +0 -1
- package/dashboard/dist/assets/PersonasPage-DSdRb90f.js +0 -2
- package/dashboard/dist/assets/PersonasPage-DSdRb90f.js.map +0 -1
- package/dashboard/dist/assets/RolesPage-DCnW0VmD.js +0 -2
- package/dashboard/dist/assets/RolesPage-DCnW0VmD.js.map +0 -1
- package/dashboard/dist/assets/ScanSchemeDetailPage-DyLmCamO.js +0 -2
- package/dashboard/dist/assets/ScanSchemeDetailPage-DyLmCamO.js.map +0 -1
- package/dashboard/dist/assets/ScanStationPage-DoZccU5B.js +0 -2
- package/dashboard/dist/assets/ScanStationPage-DoZccU5B.js.map +0 -1
- package/dashboard/dist/assets/index-5TblaCXQ.css +0 -1
- package/dashboard/dist/assets/index-B7IaBPBg.js +0 -6
- package/dashboard/dist/assets/index-B7IaBPBg.js.map +0 -1
- package/dashboard/dist/assets/index-errgQT5x.js.map +0 -1
- package/dashboard/dist/assets/vendor-icons-BxuyFxH2.js.map +0 -1
|
@@ -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}:root{--lt-radius-field: .375rem;--lt-radius-section: .625rem;--lt-color-scheme: light;--lt-surface: 255 255 255;--lt-surface-raised: 255 255 255;--lt-surface-sunken: 255 255 255;--lt-text-inverse: 255 255 255;--lt-heading: 51 51 51;--lt-text-primary: 23 23 23;--lt-text-secondary: 55 55 55;--lt-text-tertiary: 88 88 88;--lt-text-quaternary: 122 122 122;--lt-status-active: 37 99 235;--lt-status-pending: 180 83 9;--lt-status-draft: 194 65 12;--lt-status-success: 22 101 52;--lt-status-warning: 180 83 9;--lt-status-error: 220 38 38;--lt-status-pending-graphic: 245 158 11;--lt-status-draft-graphic: 249 115 22;--lt-status-success-graphic: 22 163 74;--lt-status-queued: 3 105 161;--lt-status-claimed: 194 65 12;--lt-status-queued-graphic: 14 165 233;--lt-status-claimed-graphic: 249 115 22;--lt-field-bg: 230 235 242;--lt-field-border: 203 213 225;--lt-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");--lt-type-2xs: .6875rem;--lt-type-xs: .75rem;--lt-type-sm: .875rem;--lt-type-base: 1rem;--lt-type-lg: 1.125rem;--lt-type-xl: 1.375rem;--lt-type-2xl: 1.75rem;--lt-space-page-x: clamp(1.25rem, 3vw, 2.5rem);--lt-space-page-y: 2rem;--lt-space-field-y: 1.25rem;--lt-space-col-gap: clamp(1.5rem, 3vw, 3.5rem);--lt-measure-form: 56rem}:root,[data-theme=blue]{--lt-accent: 37 99 235;--lt-accent-hover: 29 78 216;--lt-accent-muted: 147 197 253;--lt-accent-faint: 219 234 254;--lt-surface: 251 252 253;--lt-surface-hover: 232 239 247;--lt-field-bg: 248 250 253;--lt-field-focus: 236 243 254;--lt-field-border: 160 197 245;--lt-surface-border: 186 214 250}[data-theme=blue]{--lt-logo: 24 116 240}[data-theme=violet]{--lt-accent: 123 59 224;--lt-accent-hover: 98 41 190;--lt-accent-muted: 187 156 239;--lt-accent-faint: 229 217 249;--lt-surface: 251 250 252;--lt-surface-hover: 236 234 245;--lt-field-bg: 249 248 252;--lt-field-focus: 244 238 252;--lt-field-border: 200 178 240;--lt-surface-border: 216 198 245}[data-theme=red]{--lt-accent: 220 56 45;--lt-accent-hover: 179 42 34;--lt-accent-muted: 236 154 147;--lt-accent-faint: 247 218 214;--lt-surface: 252 251 251;--lt-surface-hover: 244 236 233;--lt-field-bg: 252 250 249;--lt-field-focus: 252 242 240;--lt-field-border: 240 180 174;--lt-surface-border: 246 202 197}[data-theme=green]{--lt-accent: 22 163 74;--lt-accent-hover: 15 118 55;--lt-accent-muted: 74 222 128;--lt-accent-faint: 187 247 208;--lt-surface: 250 251 250;--lt-surface-hover: 234 242 237;--lt-field-bg: 248 251 249;--lt-field-focus: 240 253 244;--lt-field-border: 150 224 178;--lt-surface-border: 180 232 199}[data-theme=rose]{--lt-accent: 236 72 153;--lt-accent-hover: 219 39 119;--lt-accent-muted: 249 168 212;--lt-accent-faint: 252 231 243;--lt-surface: 252 250 251;--lt-surface-hover: 244 235 239;--lt-field-bg: 252 249 250;--lt-field-focus: 253 242 248;--lt-field-border: 248 185 216;--lt-surface-border: 250 206 228}[data-theme=orange]{--lt-accent: 249 115 22;--lt-accent-hover: 234 88 12;--lt-accent-muted: 254 215 170;--lt-accent-faint: 255 247 237;--lt-surface: 252 251 250;--lt-surface-hover: 244 237 230;--lt-field-bg: 252 250 248;--lt-field-focus: 255 247 237;--lt-field-border: 250 203 166;--lt-surface-border: 252 216 188}body{--tw-bg-opacity: 1;background-color:rgb(var(--lt-surface) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--lt-text-primary) / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:var(--lt-color-scheme)}*{--tw-border-opacity: 1;border-color:rgb(var(--lt-surface-border) / var(--tw-border-opacity, 1))}*{scrollbar-width:none}*::-webkit-scrollbar{width:0;height:0}.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}}.icon-link{color:rgb(var(--lt-accent) / .65);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.icon-link:hover{--tw-text-opacity: 1;color:rgb(var(--lt-accent) / var(--tw-text-opacity, 1))}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(var(--lt-accent) / 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(var(--lt-text-inverse) / 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(var(--lt-accent-hover) / var(--tw-bg-opacity, 1))}.btn-primary{border-radius:var(--lt-radius-field)}.btn-secondary{border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--lt-surface-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--lt-surface-raised) / 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(var(--lt-text-primary) / 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(var(--lt-surface-hover) / var(--tw-bg-opacity, 1))}.btn-secondary{border-radius:var(--lt-radius-field)}.btn-ghost{padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--lt-text-secondary) / 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(var(--lt-surface-hover) / var(--tw-bg-opacity, 1))}.btn-ghost{border-radius:var(--lt-radius-field)}.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}.field,.input,.select,.textarea{border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--lt-field-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--lt-field-bg) / var(--tw-bg-opacity, 1));padding:.375rem .625rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(var(--lt-text-primary) / 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}.field::-moz-placeholder,.input::-moz-placeholder,.select::-moz-placeholder,.textarea::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.field::placeholder,.input::placeholder,.select::placeholder,.textarea::placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.field:focus,.input:focus,.select:focus,.textarea:focus{--tw-border-opacity: 1;border-color:rgb(var(--lt-accent) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--lt-field-focus) / var(--tw-bg-opacity, 1));outline:2px solid transparent;outline-offset:2px}.\!input{border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--lt-field-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--lt-field-bg) / var(--tw-bg-opacity, 1));padding:.375rem .625rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(var(--lt-text-primary) / 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(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.\!input::placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.\!input:focus{--tw-border-opacity: 1;border-color:rgb(var(--lt-accent) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--lt-field-focus) / var(--tw-bg-opacity, 1));outline:2px solid transparent;outline-offset:2px}.field,.input,.select,.textarea{border-radius:var(--lt-radius-field)}.\!input{border-radius:var(--lt-radius-field)!important}.field,.input,.textarea,.\!input{width:100%}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:1.75rem;background-image:var(--lt-select-chevron);background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem}.textarea{resize:vertical;line-height:1.625}.input-json{width:100%;resize:vertical;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--lt-field-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--lt-field-bg) / var(--tw-bg-opacity, 1));padding:.5rem .75rem;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:var(--lt-type-2xs);--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);line-height:1.625;--tw-text-opacity: 1;color:rgb(var(--lt-text-primary) / 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-json::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.input-json::placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.input-json:focus{--tw-border-opacity: 1;border-color:rgb(var(--lt-accent) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--lt-field-focus) / var(--tw-bg-opacity, 1));outline:2px solid transparent;outline-offset:2px}.input-json{border-radius:var(--lt-radius-field)}.textarea-quiet{width:100%;resize:none;overflow:hidden;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--lt-field-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--lt-field-bg) / var(--tw-bg-opacity, 1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity: 1;color:rgb(var(--lt-text-primary) / 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}.textarea-quiet::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.textarea-quiet::placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.textarea-quiet:focus{--tw-border-opacity: 1;border-color:rgb(var(--lt-accent) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--lt-field-focus) / var(--tw-bg-opacity, 1));outline:2px solid transparent;outline-offset:2px}.textarea-quiet{border-radius:var(--lt-radius-field)}.\!label,.label{margin-bottom:.125rem;display:block;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--lt-text-secondary) / var(--tw-text-opacity, 1))}.hint{margin-top:.25rem;font-size:var(--lt-type-2xs);line-height:1.375;--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.heading-1{font-size:2.125rem;font-weight:300;font-variant-caps:small-caps;letter-spacing:.02em;line-height:1.2;color:rgb(var(--lt-heading))}.heading-2{font-size:1.5rem;font-weight:300;font-variant-caps:small-caps;letter-spacing:.02em;color:rgb(var(--lt-heading))}.heading-3{font-size:1.25rem;font-weight:300;font-variant-caps:small-caps;letter-spacing:.02em;color:rgb(var(--lt-heading))}.section-header{margin-bottom:.75rem;display:block;border-bottom-width:1px;border-color:rgb(var(--lt-surface-border) / .3);padding-bottom:.375rem;font-size:1.25rem;font-weight:300;font-variant-caps:small-caps;letter-spacing:.03em;color:rgb(var(--lt-heading))}.section-h2{font-size:1.25rem;font-weight:300;font-variant-caps:small-caps;letter-spacing:.03em;color:rgb(var(--lt-heading))}.dot-ring{mask-image:radial-gradient(circle closest-side,transparent calc(100% - 1.5px),#000 calc(100% - .75px));-webkit-mask-image:radial-gradient(circle closest-side,transparent calc(100% - 1.5px),#000 calc(100% - .75px))}.logo-mark{background-color:rgb(var(--lt-logo, var(--lt-accent)));mask-image:var(--logo-url);mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-image:var(--logo-url);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.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-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-\[0\.35em\]{top:-.35em}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-14{bottom:3.5rem}.bottom-2{bottom:.5rem}.bottom-3{bottom:.75rem}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:.625rem}.left-4{left:1rem}.left-56{left:14rem}.left-\[4px\]{left:4px}.left-\[7px\]{left:7px}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-14{top:3.5rem}.top-16{top:4rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-\[2\.75rem\]{top:2.75rem}.top-\[3px\]{top:3px}.top-\[60px\]{top:60px}.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-\[100\]{z-index:100}.z-\[1\]{z-index:1}.z-\[45\]{z-index:45}.z-\[5\]{z-index:5}.z-\[60\]{z-index:60}.z-\[9999\]{z-index:9999}.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1 / -1}.float-right{float:right}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-mx-page-x{margin-left:calc(var(--lt-space-page-x) * -1);margin-right:calc(var(--lt-space-page-x) * -1)}.-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-0\.5{margin-top:.125rem;margin-bottom:.125rem}.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}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-16{margin-bottom:-4rem}.-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}.-ml-page-x{margin-left:calc(var(--lt-space-page-x) * -1)}.-mr-0\.5{margin-right:-.125rem}.-mr-1{margin-right:-.25rem}.-mr-10{margin-right:-2.5rem}.-mr-page-x{margin-right:calc(var(--lt-space-page-x) * -1)}.-mt-1{margin-top:-.25rem}.-mt-10{margin-top:-2.5rem}.-mt-2{margin-top:-.5rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.-mt-8{margin-top:-2rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.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-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-8{margin-left:2rem}.ml-\[19px\]{margin-left:19px}.ml-auto{margin-left:auto}.mr-1\.5{margin-right:.375rem}.mr-16{margin-right:4rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.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-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-\[3em\]{margin-top:3em}.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}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.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-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-96{height:24rem}.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-5\.25rem\)\]{height:calc(100vh - 5.25rem)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-0{max-height:0px}.max-h-40{max-height:10rem}.max-h-44{max-height:11rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.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-\[30vh\]{max-height:30vh}.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-\[900px\]{max-height:900px}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100vh-220px\)\]{max-height:calc(100vh - 220px)}.max-h-\[calc\(100vh-3\.5rem\)\]{max-height:calc(100vh - 3.5rem)}.max-h-\[calc\(100vh-8rem\)\]{max-height:calc(100vh - 8rem)}.max-h-none{max-height:none}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.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-\[40vh\]{min-height:40vh}.min-h-\[48px\]{min-height:48px}.min-h-\[55vh\]{min-height:55vh}.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-screen{min-height:100vh}.w-0\.5{width:.125rem}.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-14{width:3.5rem}.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-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[10\%\]{width:10%}.w-\[10rem\]{width:10rem}.w-\[11\%\]{width:11%}.w-\[12\%\]{width:12%}.w-\[12\.5rem\]{width:12.5rem}.w-\[120px\]{width:120px}.w-\[12rem\]{width:12rem}.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-\[280px\]{width:280px}.w-\[28rem\]{width:28rem}.w-\[30\%\]{width:30%}.w-\[36rem\]{width:36rem}.w-\[380px\]{width:380px}.w-\[40vw\]{width:40vw}.w-\[440px\]{width:440px}.w-\[48rem\]{width:48rem}.w-\[60px\]{width:60px}.w-\[7\%\]{width:7%}.w-\[7px\]{width:7px}.w-\[8\%\]{width:8%}.w-\[80\%\]{width:80%}.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-64{min-width:16rem}.min-w-\[11rem\]{min-width:11rem}.min-w-\[120px\]{min-width:120px}.min-w-\[12rem\]{min-width:12rem}.min-w-\[140px\]{min-width:140px}.min-w-\[14px\]{min-width:14px}.min-w-\[14rem\]{min-width:14rem}.min-w-\[16rem\]{min-width:16rem}.min-w-\[180px\]{min-width:180px}.min-w-\[18px\]{min-width:18px}.min-w-\[20rem\]{min-width:20rem}.min-w-\[260px\]{min-width:260px}.min-w-\[6rem\]{min-width:6rem}.min-w-\[800px\]{min-width:800px}.min-w-\[80px\]{min-width:80px}.min-w-\[min\(16rem\,100\%\)\]{min-width:min(16rem,100%)}.max-w-0{max-width:0px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-64{max-width:16rem}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[160px\]{max-width:160px}.max-w-\[16rem\]{max-width:16rem}.max-w-\[180px\]{max-width:180px}.max-w-\[19rem\]{max-width:19rem}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[24rem\]{max-width:24rem}.max-w-\[25rem\]{max-width:25rem}.max-w-\[32rem\]{max-width:32rem}.max-w-\[460px\]{max-width:460px}.max-w-\[85\%\]{max-width:85%}.max-w-\[85vw\]{max-width:85vw}.max-w-\[90vw\]{max-width:90vw}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-form{max-width:var(--lt-measure-form)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-prose{max-width:65ch}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:center}.-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-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))}.-translate-x-px{--tw-translate-x: -1px;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-4{--tw-translate-x: 1rem;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-\[18px\]{--tw-translate-x: 18px;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-\[3px\]{--tw-translate-x: 3px;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))}.translate-y-0{--tw-translate-y: 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-y-1{--tw-translate-y: .25rem;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-\[field-enter_0\.2s_ease-out\]{animation:field-enter .2s ease-out}.animate-\[field-error-in_0\.3s_ease-out\]{animation:field-error-in .3s ease-out}.animate-\[field-shake_0\.4s_ease-in-out\]{animation:field-shake .4s ease-in-out}.animate-\[section-enter_0\.25s_ease-out\]{animation:section-enter .25s ease-out}.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-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-zoom-out{cursor:zoom-out}.touch-none{touch-action:none}.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}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.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-\[1fr_240px\]{grid-template-columns:1fr 240px}.grid-cols-\[1fr_auto_auto\]{grid-template-columns:1fr auto auto}.grid-cols-\[300px_1fr\]{grid-template-columns:300px 1fr}.grid-cols-\[3fr_1fr\]{grid-template-columns:3fr 1fr}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[minmax\(0\,1fr\)_7rem_13rem_4\.5rem\]{grid-template-columns:minmax(0,1fr) 7rem 13rem 4.5rem}.grid-cols-\[repeat\(auto-fill\,minmax\(15rem\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(15rem,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-16{gap:4rem}.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-px{gap:1px}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-14{-moz-column-gap:3.5rem;column-gap:3.5rem}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.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-x-col-gap{-moz-column-gap:var(--lt-space-col-gap);column-gap:var(--lt-space-col-gap)}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-10{row-gap:2.5rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-5{row-gap:1.25rem}.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-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.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-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * 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-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * 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))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * 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(var(--lt-surface-border) / var(--tw-divide-opacity, 1))}.divide-surface-border\/30>:not([hidden])~:not([hidden]){border-color:rgb(var(--lt-surface-border) / .3)}.divide-surface-border\/40>:not([hidden])~:not([hidden]){border-color:rgb(var(--lt-surface-border) / .4)}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.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-normal{white-space:normal}.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-\[0\.125em\]{border-radius:.125em}.rounded-\[0\.25em\]{border-radius:.25em}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[var\(--lt-radius-field\)\]{border-radius:var(--lt-radius-field)}.rounded-\[var\(--lt-radius-section\)\]{border-radius:var(--lt-radius-section)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.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-y{border-top-width:1px;border-bottom-width:1px}.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(var(--lt-accent) / var(--tw-border-opacity, 1))}.border-accent-faint{--tw-border-opacity: 1;border-color:rgb(var(--lt-accent-faint) / var(--tw-border-opacity, 1))}.border-accent-muted{--tw-border-opacity: 1;border-color:rgb(var(--lt-accent-muted) / var(--tw-border-opacity, 1))}.border-accent-muted\/40{border-color:rgb(var(--lt-accent-muted) / .4)}.border-accent\/10{border-color:rgb(var(--lt-accent) / .1)}.border-accent\/15{border-color:rgb(var(--lt-accent) / .15)}.border-accent\/20{border-color:rgb(var(--lt-accent) / .2)}.border-accent\/25{border-color:rgb(var(--lt-accent) / .25)}.border-accent\/30{border-color:rgb(var(--lt-accent) / .3)}.border-accent\/40{border-color:rgb(var(--lt-accent) / .4)}.border-purple-500\/20{border-color:#a855f733}.border-status-active{--tw-border-opacity: 1;border-color:rgb(var(--lt-status-active) / var(--tw-border-opacity, 1))}.border-status-claimed{--tw-border-opacity: 1;border-color:rgb(var(--lt-status-claimed) / var(--tw-border-opacity, 1))}.border-status-claimed-graphic\/40{border-color:rgb(var(--lt-status-claimed-graphic) / .4)}.border-status-draft{--tw-border-opacity: 1;border-color:rgb(var(--lt-status-draft) / var(--tw-border-opacity, 1))}.border-status-error{--tw-border-opacity: 1;border-color:rgb(var(--lt-status-error) / var(--tw-border-opacity, 1))}.border-status-error\/20{border-color:rgb(var(--lt-status-error) / .2)}.border-status-error\/30{border-color:rgb(var(--lt-status-error) / .3)}.border-status-error\/50{border-color:rgb(var(--lt-status-error) / .5)}.border-status-error\/60{border-color:rgb(var(--lt-status-error) / .6)}.border-status-pending-graphic\/40{border-color:rgb(var(--lt-status-pending-graphic) / .4)}.border-status-pending\/30{border-color:rgb(var(--lt-status-pending) / .3)}.border-status-success{--tw-border-opacity: 1;border-color:rgb(var(--lt-status-success) / var(--tw-border-opacity, 1))}.border-status-success-graphic\/40{border-color:rgb(var(--lt-status-success-graphic) / .4)}.border-status-success\/30{border-color:rgb(var(--lt-status-success) / .3)}.border-status-warning{--tw-border-opacity: 1;border-color:rgb(var(--lt-status-warning) / var(--tw-border-opacity, 1))}.border-status-warning\/20{border-color:rgb(var(--lt-status-warning) / .2)}.border-status-warning\/30{border-color:rgb(var(--lt-status-warning) / .3)}.border-status-warning\/70{border-color:rgb(var(--lt-status-warning) / .7)}.border-surface{--tw-border-opacity: 1;border-color:rgb(var(--lt-surface) / var(--tw-border-opacity, 1))}.border-surface-border{--tw-border-opacity: 1;border-color:rgb(var(--lt-surface-border) / var(--tw-border-opacity, 1))}.border-surface-border\/15{border-color:rgb(var(--lt-surface-border) / .15)}.border-surface-border\/30{border-color:rgb(var(--lt-surface-border) / .3)}.border-surface-border\/40{border-color:rgb(var(--lt-surface-border) / .4)}.border-surface-border\/50{border-color:rgb(var(--lt-surface-border) / .5)}.border-surface-border\/60{border-color:rgb(var(--lt-surface-border) / .6)}.border-surface-field-border{--tw-border-opacity: 1;border-color:rgb(var(--lt-field-border) / var(--tw-border-opacity, 1))}.border-text-inverse\/70{border-color:rgb(var(--lt-text-inverse) / .7)}.border-text-quaternary\/40{border-color:rgb(var(--lt-text-quaternary) / .4)}.border-text-tertiary{--tw-border-opacity: 1;border-color:rgb(var(--lt-text-tertiary) / var(--tw-border-opacity, 1))}.\!border-l-accent{--tw-border-opacity: 1 !important;border-left-color:rgb(var(--lt-accent) / var(--tw-border-opacity, 1))!important}.border-l-accent{--tw-border-opacity: 1;border-left-color:rgb(var(--lt-accent) / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-r-surface-border{--tw-border-opacity: 1;border-right-color:rgb(var(--lt-surface-border) / var(--tw-border-opacity, 1))}.border-r-transparent{border-right-color:transparent}.border-t-accent{--tw-border-opacity: 1;border-top-color:rgb(var(--lt-accent) / var(--tw-border-opacity, 1))}.\!bg-status-error{--tw-bg-opacity: 1 !important;background-color:rgb(var(--lt-status-error) / var(--tw-bg-opacity, 1))!important}.bg-\[a-z\]{background-color:a-z}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(var(--lt-accent) / var(--tw-bg-opacity, 1))}.bg-accent-faint{--tw-bg-opacity: 1;background-color:rgb(var(--lt-accent-faint) / var(--tw-bg-opacity, 1))}.bg-accent-faint\/50{background-color:rgb(var(--lt-accent-faint) / .5)}.bg-accent-muted{--tw-bg-opacity: 1;background-color:rgb(var(--lt-accent-muted) / var(--tw-bg-opacity, 1))}.bg-accent-muted\/20{background-color:rgb(var(--lt-accent-muted) / .2)}.bg-accent\/10{background-color:rgb(var(--lt-accent) / .1)}.bg-accent\/15{background-color:rgb(var(--lt-accent) / .15)}.bg-accent\/20{background-color:rgb(var(--lt-accent) / .2)}.bg-accent\/5{background-color:rgb(var(--lt-accent) / .05)}.bg-accent\/60{background-color:rgb(var(--lt-accent) / .6)}.bg-accent\/\[0\.06\]{background-color:rgb(var(--lt-accent) / .06)}.bg-accent\/\[0\.08\]{background-color:rgb(var(--lt-accent) / .08)}.bg-amber-300\/\[0\.08\]{background-color:#fcd34d14}.bg-amber-400\/\[0\.08\]{background-color:#fbbf2414}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-blue-400\/\[0\.08\]{background-color:#60a5fa14}.bg-blue-500\/10{background-color:#3b82f61a}.bg-cyan-400\/\[0\.08\]{background-color:#22d3ee14}.bg-emerald-400\/\[0\.08\]{background-color:#34d39914}.bg-fuchsia-400\/\[0\.08\]{background-color:#e879f914}.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(var(--lt-status-active) / var(--tw-bg-opacity, 1))}.bg-status-active\/10{background-color:rgb(var(--lt-status-active) / .1)}.bg-status-active\/60{background-color:rgb(var(--lt-status-active) / .6)}.bg-status-active\/70{background-color:rgb(var(--lt-status-active) / .7)}.bg-status-claimed-graphic{--tw-bg-opacity: 1;background-color:rgb(var(--lt-status-claimed-graphic) / var(--tw-bg-opacity, 1))}.bg-status-claimed-graphic\/15{background-color:rgb(var(--lt-status-claimed-graphic) / .15)}.bg-status-draft{--tw-bg-opacity: 1;background-color:rgb(var(--lt-status-draft) / var(--tw-bg-opacity, 1))}.bg-status-draft-graphic{--tw-bg-opacity: 1;background-color:rgb(var(--lt-status-draft-graphic) / var(--tw-bg-opacity, 1))}.bg-status-draft\/10{background-color:rgb(var(--lt-status-draft) / .1)}.bg-status-draft\/30{background-color:rgb(var(--lt-status-draft) / .3)}.bg-status-error{--tw-bg-opacity: 1;background-color:rgb(var(--lt-status-error) / var(--tw-bg-opacity, 1))}.bg-status-error\/10{background-color:rgb(var(--lt-status-error) / .1)}.bg-status-error\/5{background-color:rgb(var(--lt-status-error) / .05)}.bg-status-error\/70{background-color:rgb(var(--lt-status-error) / .7)}.bg-status-error\/\[0\.04\]{background-color:rgb(var(--lt-status-error) / .04)}.bg-status-pending{--tw-bg-opacity: 1;background-color:rgb(var(--lt-status-pending) / var(--tw-bg-opacity, 1))}.bg-status-pending-graphic{--tw-bg-opacity: 1;background-color:rgb(var(--lt-status-pending-graphic) / var(--tw-bg-opacity, 1))}.bg-status-pending-graphic\/15{background-color:rgb(var(--lt-status-pending-graphic) / .15)}.bg-status-pending\/10{background-color:rgb(var(--lt-status-pending) / .1)}.bg-status-queued-graphic{--tw-bg-opacity: 1;background-color:rgb(var(--lt-status-queued-graphic) / var(--tw-bg-opacity, 1))}.bg-status-success{--tw-bg-opacity: 1;background-color:rgb(var(--lt-status-success) / var(--tw-bg-opacity, 1))}.bg-status-success-graphic{--tw-bg-opacity: 1;background-color:rgb(var(--lt-status-success-graphic) / var(--tw-bg-opacity, 1))}.bg-status-success-graphic\/15{background-color:rgb(var(--lt-status-success-graphic) / .15)}.bg-status-success\/10{background-color:rgb(var(--lt-status-success) / .1)}.bg-status-success\/20{background-color:rgb(var(--lt-status-success) / .2)}.bg-status-success\/30{background-color:rgb(var(--lt-status-success) / .3)}.bg-status-warning{--tw-bg-opacity: 1;background-color:rgb(var(--lt-status-warning) / var(--tw-bg-opacity, 1))}.bg-status-warning\/10{background-color:rgb(var(--lt-status-warning) / .1)}.bg-status-warning\/15{background-color:rgb(var(--lt-status-warning) / .15)}.bg-status-warning\/5{background-color:rgb(var(--lt-status-warning) / .05)}.bg-status-warning\/\[0\.06\]{background-color:rgb(var(--lt-status-warning) / .06)}.bg-stone-400\/\[0\.08\]{background-color:#a8a29e14}.bg-surface{--tw-bg-opacity: 1;background-color:rgb(var(--lt-surface) / var(--tw-bg-opacity, 1))}.bg-surface-border{--tw-bg-opacity: 1;background-color:rgb(var(--lt-surface-border) / var(--tw-bg-opacity, 1))}.bg-surface-border\/60{background-color:rgb(var(--lt-surface-border) / .6)}.bg-surface-border\/70{background-color:rgb(var(--lt-surface-border) / .7)}.bg-surface-border\/80{background-color:rgb(var(--lt-surface-border) / .8)}.bg-surface-field{--tw-bg-opacity: 1;background-color:rgb(var(--lt-field-bg) / var(--tw-bg-opacity, 1))}.bg-surface-hover{--tw-bg-opacity: 1;background-color:rgb(var(--lt-surface-hover) / var(--tw-bg-opacity, 1))}.bg-surface-hover\/30{background-color:rgb(var(--lt-surface-hover) / .3)}.bg-surface-hover\/60{background-color:rgb(var(--lt-surface-hover) / .6)}.bg-surface-raised{--tw-bg-opacity: 1;background-color:rgb(var(--lt-surface-raised) / var(--tw-bg-opacity, 1))}.bg-surface-raised\/50{background-color:rgb(var(--lt-surface-raised) / .5)}.bg-surface-raised\/\[0\.03\]{background-color:rgb(var(--lt-surface-raised) / .03)}.bg-surface-sunken{--tw-bg-opacity: 1;background-color:rgb(var(--lt-surface-sunken) / var(--tw-bg-opacity, 1))}.bg-surface-sunken\/15{background-color:rgb(var(--lt-surface-sunken) / .15)}.bg-surface-sunken\/20{background-color:rgb(var(--lt-surface-sunken) / .2)}.bg-surface-sunken\/30{background-color:rgb(var(--lt-surface-sunken) / .3)}.bg-surface-sunken\/40{background-color:rgb(var(--lt-surface-sunken) / .4)}.bg-surface-sunken\/50{background-color:rgb(var(--lt-surface-sunken) / .5)}.bg-surface-sunken\/60{background-color:rgb(var(--lt-surface-sunken) / .6)}.bg-surface-sunken\/75{background-color:rgb(var(--lt-surface-sunken) / .75)}.bg-surface-sunken\/80{background-color:rgb(var(--lt-surface-sunken) / .8)}.bg-surface-sunken\/90{background-color:rgb(var(--lt-surface-sunken) / .9)}.bg-surface\/90{background-color:rgb(var(--lt-surface) / .9)}.bg-surface\/95{background-color:rgb(var(--lt-surface) / .95)}.bg-teal-300\/\[0\.08\]{background-color:#5eead414}.bg-teal-400\/\[0\.08\]{background-color:#2dd4bf14}.bg-text-inverse{--tw-bg-opacity: 1;background-color:rgb(var(--lt-text-inverse) / var(--tw-bg-opacity, 1))}.bg-text-primary\/30{background-color:rgb(var(--lt-text-primary) / .3)}.bg-text-primary\/40{background-color:rgb(var(--lt-text-primary) / .4)}.bg-text-primary\/60{background-color:rgb(var(--lt-text-primary) / .6)}.bg-text-quaternary{--tw-bg-opacity: 1;background-color:rgb(var(--lt-text-quaternary) / var(--tw-bg-opacity, 1))}.bg-text-quaternary\/70{background-color:rgb(var(--lt-text-quaternary) / .7)}.bg-text-secondary{--tw-bg-opacity: 1;background-color:rgb(var(--lt-text-secondary) / var(--tw-bg-opacity, 1))}.bg-text-tertiary{--tw-bg-opacity: 1;background-color:rgb(var(--lt-text-tertiary) / var(--tw-bg-opacity, 1))}.bg-text-tertiary\/30{background-color:rgb(var(--lt-text-tertiary) / .3)}.bg-transparent{background-color:transparent}.bg-violet-300\/\[0\.08\]{background-color:#c4b5fd14}.bg-violet-400\/\[0\.08\]{background-color:#a78bfa14}.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(var(--lt-accent) / .04) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--lt-accent) / 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-surface{fill:rgb(var(--lt-surface) / 1)}.fill-text-primary{fill:rgb(var(--lt-text-primary) / 1)}.fill-text-quaternary{fill:rgb(var(--lt-text-quaternary) / 1)}.fill-text-tertiary{fill:rgb(var(--lt-text-tertiary) / 1)}.stroke-accent{stroke:rgb(var(--lt-accent) / 1)}.stroke-current{stroke:currentColor}.stroke-surface-border{stroke:rgb(var(--lt-surface-border) / 1)}.stroke-text-quaternary{stroke:rgb(var(--lt-text-quaternary) / 1)}.object-contain{-o-object-fit:contain;object-fit:contain}.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}.p-8{padding:2rem}.\!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-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-12{padding-left:3rem;padding-right:3rem}.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-3\.5{padding-left:.875rem;padding-right:.875rem}.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}.px-page-x{padding-left:var(--lt-space-page-x);padding-right:var(--lt-space-page-x)}.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-24{padding-top:6rem;padding-bottom:6rem}.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-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.py-px{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-1\.5{padding-left:.375rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-14{padding-left:3.5rem}.pl-16{padding-left:4rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-3\.5{padding-left:.875rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-52{padding-left:13rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-\[18px\]{padding-left:18px}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-28{padding-right:7rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pr-page-x{padding-right:var(--lt-space-page-x)}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.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-8{padding-top:2rem}.pt-9{padding-top:2.25rem}.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-2xs{font-size:var(--lt-type-2xs)!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-2xs{font-size:var(--lt-type-2xs)}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.5em\]{font-size:.5em}.text-\[0\.625rem\]{font-size:.625rem}.text-\[0\.7875rem\]{font-size:.7875rem}.text-\[1\.40625rem\]{font-size:1.40625rem}.text-\[10px\]{font-size:10px}.text-\[36px\]{font-size:36px}.text-\[44px\]{font-size:44px}.text-\[8\.5px\]{font-size:8.5px}.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-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}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.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-5{line-height:1.25rem}.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\.12em\]{letter-spacing:.12em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-tight{letter-spacing:-.025em}.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(var(--lt-accent) / var(--tw-text-opacity, 1))}.text-accent-muted{--tw-text-opacity: 1;color:rgb(var(--lt-accent-muted) / var(--tw-text-opacity, 1))}.text-accent\/40{color:rgb(var(--lt-accent) / .4)}.text-accent\/50{color:rgb(var(--lt-accent) / .5)}.text-accent\/60{color:rgb(var(--lt-accent) / .6)}.text-accent\/70{color:rgb(var(--lt-accent) / .7)}.text-accent\/75{color:rgb(var(--lt-accent) / .75)}.text-accent\/80{color:rgb(var(--lt-accent) / .8)}.text-accent\/90{color:rgb(var(--lt-accent) / .9)}.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-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-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-heading{--tw-text-opacity: 1;color:rgb(var(--lt-heading) / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-inherit{color:inherit}.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(var(--lt-status-active) / var(--tw-text-opacity, 1))}.text-status-active\/70{color:rgb(var(--lt-status-active) / .7)}.text-status-claimed{--tw-text-opacity: 1;color:rgb(var(--lt-status-claimed) / var(--tw-text-opacity, 1))}.text-status-draft{--tw-text-opacity: 1;color:rgb(var(--lt-status-draft) / var(--tw-text-opacity, 1))}.text-status-error{--tw-text-opacity: 1;color:rgb(var(--lt-status-error) / var(--tw-text-opacity, 1))}.text-status-error\/50{color:rgb(var(--lt-status-error) / .5)}.text-status-error\/60{color:rgb(var(--lt-status-error) / .6)}.text-status-error\/70{color:rgb(var(--lt-status-error) / .7)}.text-status-error\/80{color:rgb(var(--lt-status-error) / .8)}.text-status-pending{--tw-text-opacity: 1;color:rgb(var(--lt-status-pending) / var(--tw-text-opacity, 1))}.text-status-queued{--tw-text-opacity: 1;color:rgb(var(--lt-status-queued) / var(--tw-text-opacity, 1))}.text-status-success{--tw-text-opacity: 1;color:rgb(var(--lt-status-success) / var(--tw-text-opacity, 1))}.text-status-success\/70{color:rgb(var(--lt-status-success) / .7)}.text-status-success\/80{color:rgb(var(--lt-status-success) / .8)}.text-status-warning{--tw-text-opacity: 1;color:rgb(var(--lt-status-warning) / var(--tw-text-opacity, 1))}.text-status-warning\/40{color:rgb(var(--lt-status-warning) / .4)}.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(var(--lt-surface-border) / 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(var(--lt-text-inverse) / var(--tw-text-opacity, 1))}.text-text-inverse\/70{color:rgb(var(--lt-text-inverse) / .7)}.text-text-primary{--tw-text-opacity: 1;color:rgb(var(--lt-text-primary) / var(--tw-text-opacity, 1))}.text-text-quaternary{--tw-text-opacity: 1;color:rgb(var(--lt-text-quaternary) / var(--tw-text-opacity, 1))}.text-text-quaternary\/40{color:rgb(var(--lt-text-quaternary) / .4)}.text-text-quaternary\/50{color:rgb(var(--lt-text-quaternary) / .5)}.text-text-quaternary\/60{color:rgb(var(--lt-text-quaternary) / .6)}.text-text-quaternary\/70{color:rgb(var(--lt-text-quaternary) / .7)}.text-text-secondary{--tw-text-opacity: 1;color:rgb(var(--lt-text-secondary) / var(--tw-text-opacity, 1))}.text-text-tertiary{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.text-text-tertiary\/30{color:rgb(var(--lt-text-tertiary) / .3)}.text-text-tertiary\/40{color:rgb(var(--lt-text-tertiary) / .4)}.text-text-tertiary\/50{color:rgb(var(--lt-text-tertiary) / .5)}.text-text-tertiary\/60{color:rgb(var(--lt-text-tertiary) / .6)}.text-text-tertiary\/70{color:rgb(var(--lt-text-tertiary) / .7)}.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-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:rgb(var(--lt-text-tertiary) / .3)}.accent-accent{accent-color:rgb(var(--lt-accent) / 1)}.accent-status-error{accent-color:rgb(var(--lt-status-error) / 1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px 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-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(var(--lt-accent) / var(--tw-ring-opacity, 1))}.ring-accent\/40{--tw-ring-color: rgb(var(--lt-accent) / .4)}.ring-surface-border{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--lt-surface-border) / var(--tw-ring-opacity, 1))}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-surface{--tw-ring-offset-color: rgb(var(--lt-surface) / 1)}.blur{--tw-blur: blur(8px);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)}.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)}.\@container{container-type:inline-size}.\@container\/filters{container-type:inline-size;container-name:filters}.\@container\/table{container-type:inline-size;container-name:table}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}.\[font-variant-caps\:small-caps\]{font-variant-caps:small-caps}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes triage-glow{0%{box-shadow:0 0 3px rgb(var(--lt-accent) / .15)}8.3%{box-shadow:0 0 10px 2px rgb(var(--lt-accent) / .4)}16.7%,to{box-shadow:0 0 3px rgb(var(--lt-accent) / .15)}}.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}@keyframes field-enter{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes section-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes field-shake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(3px)}45%{transform:translate(-2px)}60%{transform:translate(1px)}75%{transform:translate(0)}}@keyframes field-error-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.bg-stripes{background-image:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgb(var(--lt-text-inverse) / .15) 3px,rgb(var(--lt-text-inverse) / .15) 6px);background-color:rgb(var(--lt-status-pending-graphic))}.placeholder\:italic::-moz-placeholder{font-style:italic}.placeholder\:italic::placeholder{font-style:italic}.placeholder\:text-text-quaternary::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-quaternary) / var(--tw-text-opacity, 1))}.placeholder\:text-text-quaternary::placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-quaternary) / var(--tw-text-opacity, 1))}.placeholder\:text-text-tertiary::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.placeholder\:text-text-tertiary::placeholder{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.placeholder\:text-text-tertiary\/40::-moz-placeholder{color:rgb(var(--lt-text-tertiary) / .4)}.placeholder\:text-text-tertiary\/40::placeholder{color:rgb(var(--lt-text-tertiary) / .4)}.placeholder\:text-text-tertiary\/50::-moz-placeholder{color:rgb(var(--lt-text-tertiary) / .5)}.placeholder\:text-text-tertiary\/50::placeholder{color:rgb(var(--lt-text-tertiary) / .5)}.first\:ml-0:first-child{margin-left:0}.first\:mt-0:first-child{margin-top:0}.first\:border-t-0:first-child{border-top-width:0px}.first\:pt-1:first-child{padding-top:.25rem}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:pr-0:last-child{padding-right:0}.focus-within\:border-accent:focus-within{--tw-border-opacity: 1;border-color:rgb(var(--lt-accent) / var(--tw-border-opacity, 1))}.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\:scale-\[1\.05\]:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;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\:scale-\[1\.5\]:hover{--tw-scale-x: 1.5;--tw-scale-y: 1.5;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:hover{--tw-border-opacity: 1;border-color:rgb(var(--lt-accent) / var(--tw-border-opacity, 1))}.hover\:border-accent\/40:hover{border-color:rgb(var(--lt-accent) / .4)}.hover\:border-accent\/50:hover{border-color:rgb(var(--lt-accent) / .5)}.hover\:border-accent\/60:hover{border-color:rgb(var(--lt-accent) / .6)}.hover\:border-status-error:hover{--tw-border-opacity: 1;border-color:rgb(var(--lt-status-error) / var(--tw-border-opacity, 1))}.hover\:border-surface-border:hover{--tw-border-opacity: 1;border-color:rgb(var(--lt-surface-border) / var(--tw-border-opacity, 1))}.hover\:border-text-tertiary:hover{--tw-border-opacity: 1;border-color:rgb(var(--lt-text-tertiary) / var(--tw-border-opacity, 1))}.hover\:\!bg-status-error\/90:hover{background-color:rgb(var(--lt-status-error) / .9)!important}.hover\:bg-accent-hover:hover{--tw-bg-opacity: 1;background-color:rgb(var(--lt-accent-hover) / var(--tw-bg-opacity, 1))}.hover\:bg-accent-muted:hover{--tw-bg-opacity: 1;background-color:rgb(var(--lt-accent-muted) / var(--tw-bg-opacity, 1))}.hover\:bg-accent\/10:hover{background-color:rgb(var(--lt-accent) / .1)}.hover\:bg-accent\/15:hover{background-color:rgb(var(--lt-accent) / .15)}.hover\:bg-accent\/20:hover{background-color:rgb(var(--lt-accent) / .2)}.hover\:bg-accent\/25:hover{background-color:rgb(var(--lt-accent) / .25)}.hover\:bg-accent\/30:hover{background-color:rgb(var(--lt-accent) / .3)}.hover\:bg-accent\/5:hover{background-color:rgb(var(--lt-accent) / .05)}.hover\:bg-accent\/90:hover{background-color:rgb(var(--lt-accent) / .9)}.hover\:bg-accent\/\[0\.04\]:hover{background-color:rgb(var(--lt-accent) / .04)}.hover\:bg-status-error\/10:hover{background-color:rgb(var(--lt-status-error) / .1)}.hover\:bg-status-error\/20:hover{background-color:rgb(var(--lt-status-error) / .2)}.hover\:bg-status-error\/5:hover{background-color:rgb(var(--lt-status-error) / .05)}.hover\:bg-status-error\/80:hover{background-color:rgb(var(--lt-status-error) / .8)}.hover\:bg-status-error\/90:hover{background-color:rgb(var(--lt-status-error) / .9)}.hover\:bg-status-success\/10:hover{background-color:rgb(var(--lt-status-success) / .1)}.hover\:bg-status-success\/20:hover{background-color:rgb(var(--lt-status-success) / .2)}.hover\:bg-status-warning\/\[0\.1\]:hover{background-color:rgb(var(--lt-status-warning) / .1)}.hover\:bg-surface-hover:hover{--tw-bg-opacity: 1;background-color:rgb(var(--lt-surface-hover) / var(--tw-bg-opacity, 1))}.hover\:bg-surface-hover\/30:hover{background-color:rgb(var(--lt-surface-hover) / .3)}.hover\:bg-surface-hover\/40:hover{background-color:rgb(var(--lt-surface-hover) / .4)}.hover\:bg-surface-hover\/50:hover{background-color:rgb(var(--lt-surface-hover) / .5)}.hover\:bg-surface-raised:hover{--tw-bg-opacity: 1;background-color:rgb(var(--lt-surface-raised) / var(--tw-bg-opacity, 1))}.hover\:bg-surface-raised\/30:hover{background-color:rgb(var(--lt-surface-raised) / .3)}.hover\:bg-surface-raised\/60:hover{background-color:rgb(var(--lt-surface-raised) / .6)}.hover\:bg-surface-sunken:hover{--tw-bg-opacity: 1;background-color:rgb(var(--lt-surface-sunken) / var(--tw-bg-opacity, 1))}.hover\:bg-surface-sunken\/40:hover{background-color:rgb(var(--lt-surface-sunken) / .4)}.hover\:bg-surface-sunken\/50:hover{background-color:rgb(var(--lt-surface-sunken) / .5)}.hover\:bg-surface-sunken\/70:hover{background-color:rgb(var(--lt-surface-sunken) / .7)}.hover\:text-accent:hover{--tw-text-opacity: 1;color:rgb(var(--lt-accent) / var(--tw-text-opacity, 1))}.hover\:text-accent-hover:hover{--tw-text-opacity: 1;color:rgb(var(--lt-accent-hover) / var(--tw-text-opacity, 1))}.hover\:text-accent\/80:hover{color:rgb(var(--lt-accent) / .8)}.hover\:text-status-active:hover{--tw-text-opacity: 1;color:rgb(var(--lt-status-active) / var(--tw-text-opacity, 1))}.hover\:text-status-error:hover{--tw-text-opacity: 1;color:rgb(var(--lt-status-error) / var(--tw-text-opacity, 1))}.hover\:text-status-error\/80:hover{color:rgb(var(--lt-status-error) / .8)}.hover\:text-status-success:hover{--tw-text-opacity: 1;color:rgb(var(--lt-status-success) / var(--tw-text-opacity, 1))}.hover\:text-status-success\/80:hover{color:rgb(var(--lt-status-success) / .8)}.hover\:text-status-warning:hover{--tw-text-opacity: 1;color:rgb(var(--lt-status-warning) / var(--tw-text-opacity, 1))}.hover\:text-status-warning\/80:hover{color:rgb(var(--lt-status-warning) / .8)}.hover\:text-text-inverse:hover{--tw-text-opacity: 1;color:rgb(var(--lt-text-inverse) / var(--tw-text-opacity, 1))}.hover\:text-text-primary:hover{--tw-text-opacity: 1;color:rgb(var(--lt-text-primary) / var(--tw-text-opacity, 1))}.hover\:text-text-secondary:hover{--tw-text-opacity: 1;color:rgb(var(--lt-text-secondary) / 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\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.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(var(--lt-accent) / var(--tw-border-opacity, 1))}.focus\:border-status-error:focus{--tw-border-opacity: 1;border-color:rgb(var(--lt-status-error) / 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(var(--lt-accent) / var(--tw-ring-opacity, 1))}.focus\:ring-accent\/30:focus{--tw-ring-color: rgb(var(--lt-accent) / .3)}.focus\:ring-accent\/40:focus{--tw-ring-color: rgb(var(--lt-accent) / .4)}.focus\:ring-accent\/50:focus{--tw-ring-color: rgb(var(--lt-accent) / .5)}.focus-visible\:ring-1:focus-visible{--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-visible\:ring-accent\/40:focus-visible{--tw-ring-color: rgb(var(--lt-accent) / .4)}.focus-visible\:ring-status-warning\/40:focus-visible{--tw-ring-color: rgb(var(--lt-status-warning) / .4)}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-text-tertiary:disabled{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.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}.disabled\:hover\:border-surface-border:hover:disabled{--tw-border-opacity: 1;border-color:rgb(var(--lt-surface-border) / var(--tw-border-opacity, 1))}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.disabled\:hover\:text-text-tertiary:hover:disabled{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group\/srv:hover .group-hover\/srv\:visible{visibility:visible}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:border-accent\/50{border-color:rgb(var(--lt-accent) / .5)}.group:hover .group-hover\:border-accent\/60{border-color:rgb(var(--lt-accent) / .6)}.group\/pin:hover .group-hover\/pin\:text-accent{--tw-text-opacity: 1;color:rgb(var(--lt-accent) / var(--tw-text-opacity, 1))}.group\/row:hover .group-hover\/row\:text-text-primary{--tw-text-opacity: 1;color:rgb(var(--lt-text-primary) / var(--tw-text-opacity, 1))}.group\/row:hover .group-hover\/row\:text-text-secondary{--tw-text-opacity: 1;color:rgb(var(--lt-text-secondary) / var(--tw-text-opacity, 1))}.group\/section:hover .group-hover\/section\:text-text-tertiary{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.group\/srv:hover .group-hover\/srv\:text-accent,.group:hover .group-hover\:text-accent{--tw-text-opacity: 1;color:rgb(var(--lt-accent) / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-accent-hover{--tw-text-opacity: 1;color:rgb(var(--lt-accent-hover) / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-status-error{--tw-text-opacity: 1;color:rgb(var(--lt-status-error) / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-text-primary{--tw-text-opacity: 1;color:rgb(var(--lt-text-primary) / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-text-secondary{--tw-text-opacity: 1;color:rgb(var(--lt-text-secondary) / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-text-tertiary{--tw-text-opacity: 1;color:rgb(var(--lt-text-tertiary) / var(--tw-text-opacity, 1))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group\/key:hover .group-hover\/key\:opacity-100,.group\/mrow:hover .group-hover\/mrow\:opacity-100,.group\/row:hover .group-hover\/row\:opacity-100,.group\/sched:hover .group-hover\/sched\:opacity-100{opacity:1}.group\/sorthead:hover .group-hover\/sorthead\:opacity-40{opacity:.4}.group\/sub:hover .group-hover\/sub\:opacity-100,.group\/tip:hover .group-hover\/tip\:opacity-100,.group\/trace:hover .group-hover\/trace\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}@container table (min-width: 22rem){.\@dict-inline\/table\:grid-cols-\[max-content_1fr\]{grid-template-columns:max-content 1fr}}@container (min-width: 22rem){.\@dict-inline\:mt-0{margin-top:0}.\@dict-inline\:inline{display:inline}.\@dict-inline\:inline-flex{display:inline-flex}.\@dict-inline\:hidden{display:none}.\@dict-inline\:grid-cols-\[max-content_1fr\]{grid-template-columns:max-content 1fr}}@container (min-width: 26rem){.\@grp-cols\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\@grp-cols\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (min-width: 34rem){.\@form-cols\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width: 38rem){.\@dict-pairs\:grid-cols-\[max-content_1fr_max-content_1fr\]{grid-template-columns:max-content 1fr max-content 1fr}.\@dict-pairs\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}}@container table (min-width: 54rem){.\@split\/table\:table-cell{display:table-cell}}@container (min-width: 54rem){.\@split\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\@split\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\@split\:grid-cols-\[1\.6fr_1fr\]{grid-template-columns:1.6fr 1fr}.\@split\:grid-cols-\[1fr_240px\]{grid-template-columns:1fr 240px}.\@split\:grid-cols-\[1fr_340px\]{grid-template-columns:1fr 340px}.\@split\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.\@split\:grid-cols-\[1fr_400px\]{grid-template-columns:1fr 400px}.\@split\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.\@split\:gap-12{gap:3rem}.\@split\:pt-4{padding-top:1rem}}@container table (min-width: 64rem){.\@wall\/table\:table-cell{display:table-cell}}@container (min-width: 64rem){.\@wall\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\@wall\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\@wall\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@container filters (min-width: 72rem){.\@filters\/filters\:flex{display:flex}.\@filters\/filters\:contents{display:contents}.\@filters\/filters\:hidden{display:none}}@media(min-width:640px){.sm\:flex{display:flex}.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:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-72{width:18rem}.lg\:border-l{border-left-width:1px}.lg\:border-surface-border{--tw-border-opacity: 1;border-color:rgb(var(--lt-surface-border) / var(--tw-border-opacity, 1))}.lg\:pl-12{padding-left:3rem}}@media(min-width:1280px){.xl\:table-cell{display:table-cell}}.\[\&_p\+p\]\:mt-2 p+p{margin-top:.5rem}.\[\&_p\]\:m-0 p{margin:0}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{a as c,j as e}from"./vendor-query-RUZdMvN6.js";import{c as R,u as q,d as D,e as Q}from"./workflows-qyc0ku_5.js";import{P as B}from"./PageHeader-BJgWMZtw.js";import{F as $,b as z,a as H}from"./FilterBar-DYFgzXNB.js";import{W as V}from"./WorkflowPill-tXU0-eXu.js";import{N as K}from"./NamespacePill-in1SLd0W.js";import{A as U,aB as Z,d as I,ap as G,aC as X,aD as Y,h as ee}from"./vendor-icons-BxuyFxH2.js";import{m as T,Z as te}from"./index-errgQT5x.js";import{B as se}from"./BotPicker-BBkJBXZB.js";import{L as ae,u as re,f as ne}from"./vendor-react-CdqEC2zv.js";import"./bots-Cy-Hmg7w.js";function oe({configs:t,selectedType:r,onSelect:p,tierMap:w,activeTypes:n}){const[f,j]=c.useState(""),[i,h]=c.useState(null),y=c.useMemo(()=>[...new Set(t.map(s=>s.task_queue).filter(Boolean))].sort(),[t]),a=c.useMemo(()=>{const s=f.toLowerCase().trim(),o=x=>{var u;return!s||x.workflow_type.toLowerCase().includes(s)||((u=x.description)==null?void 0:u.toLowerCase().includes(s))},k=(i?[i]:y).map(x=>({queue:x,workflows:t.filter(u=>u.task_queue===x&&o(u))})).filter(x=>x.workflows.length>0);if(!i){const x=t.filter(u=>!u.task_queue&&o(u));x.length>0&&k.push({queue:"",workflows:x})}return k},[t,y,f,i]);return e.jsxs("div",{children:[e.jsxs($,{children:[y.length>1&&e.jsx(z,{label:"Queue",value:i??"",onChange:s=>h(s||null),options:y.map(s=>({value:s,label:s}))}),e.jsx(H,{label:"Search",value:f,onChange:j,placeholder:`${t.length} workflows…`})]}),a.length===0?e.jsx("p",{className:"text-sm text-text-tertiary py-8 text-center",children:"No workflows match your filter."}):e.jsx("div",{className:"space-y-10",children:a.map(({queue:s,workflows:o})=>e.jsxs("div",{children:[e.jsxs("div",{className:"sticky top-[60px] z-10 bg-surface flex items-center gap-2 py-2 mb-2 border-b border-surface-border",children:[s?e.jsx(U,{className:"w-3 h-3 text-accent",strokeWidth:1.5}):e.jsx(Z,{className:"w-3 h-3 text-text-quaternary",strokeWidth:1.5}),e.jsx("h2",{className:"section-h2",children:s||"No Queue"}),e.jsx("span",{className:"text-xs text-text-quaternary",children:o.length})]}),e.jsx("div",{className:"divide-y divide-surface-border/30",children:o.map(d=>e.jsx(le,{config:d,isSelected:r===d.workflow_type,tier:w.get(d.workflow_type)??"durable",cronActive:(n==null?void 0:n.has(d.workflow_type))??!1,onSelect:p},d.workflow_type))})]},s||"__none__"))})]})}function le({config:t,isSelected:r,tier:p,cronActive:w,onSelect:n}){const f=p==="certified"?"certified":p==="registered"?"registered":"durable";return e.jsxs("button",{onClick:()=>n(t),className:"group relative w-full text-left py-2 px-3 -mx-3 rounded-md transition-colors duration-150",children:[r&&e.jsx("span",{className:"absolute left-0 top-1 bottom-1 w-0.5 bg-accent rounded-full"}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(V,{type:t.workflow_type,size:"md",variant:f}),t.description&&e.jsx("p",{className:"flex-1 min-w-0 truncate text-2xs text-text-tertiary group-hover:text-text-secondary transition-colors",children:t.description}),e.jsxs("span",{className:"ml-auto flex items-center gap-2 shrink-0",children:[t.execute_as&&e.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 text-2xs bg-accent/10 text-accent rounded",children:[e.jsx(I,{className:"w-2.5 h-2.5"}),t.execute_as]}),w&&e.jsx("span",{title:"Cron schedule active",children:e.jsx(G,{className:"w-3 h-3 text-status-success/70 shrink-0"})}),e.jsx(K,{namespace:"durable"})]})]})]})}const O=`{
|
|
2
|
-
"data": {},
|
|
3
|
-
"metadata": {}
|
|
4
|
-
}`;function ce(t){return typeof t=="boolean"?"boolean":typeof t=="number"?"number":Array.isArray(t)?"array":t!==null&&typeof t=="object"?"object":"string"}function W(t){if(!t)return[];const r=t.data;return!r||typeof r!="object"?[]:Object.entries(r).map(([p,w])=>({key:p,type:ce(w),defaultValue:w}))}function M(t){return{...t}}function J(t,r){return JSON.stringify({data:t,metadata:r},null,2)}function ie({config:t,overrideBot:r,onOverrideChange:p,showOverride:w}){const{user:n}=T(),f=r||t.execute_as;return e.jsxs("div",{className:"bg-surface-sunken rounded-lg px-4 py-3 space-y-3",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("span",{className:"text-2xs text-text-tertiary uppercase tracking-wider font-medium",children:"Running as"}),f&&!r&&e.jsx("span",{className:"text-2xs text-text-tertiary",children:"configured default"}),r&&e.jsx("span",{className:"text-2xs text-accent",children:"admin override"})]}),e.jsx("div",{className:"field flex items-center gap-1.5",children:f?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"w-3.5 h-3.5 text-accent/70 shrink-0"}),e.jsx("span",{className:"text-xs text-text-primary font-mono",children:f})]}):e.jsxs(e.Fragment,{children:[e.jsx(X,{className:"w-3.5 h-3.5 text-text-tertiary shrink-0"}),e.jsx("span",{className:"text-xs text-text-primary",children:(n==null?void 0:n.displayName)||(n==null?void 0:n.username)||"you"})]})})]}),w&&p&&e.jsxs("div",{children:[e.jsx("label",{className:"text-2xs text-text-tertiary uppercase tracking-wider font-medium mb-1 block",children:"Override identity"}),e.jsx(se,{selected:r??"",onChange:p,placeholder:t.execute_as?`Default: ${t.execute_as}`:"Invoking user (default)"})]})]})}function de({selectedConfig:t,isJsonMode:r,hasFormView:p,jsonInput:w,formFields:n,dataFields:f,onJsonChange:j,onToggleMode:i,onUpdateFormField:h,onSetFormFields:y}){return e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-baseline justify-between mb-2",children:[e.jsx("label",{className:"block text-xs text-text-secondary",children:"Envelope"}),e.jsxs("div",{className:"flex items-center gap-3",children:[p&&e.jsx("button",{type:"button",onClick:i,className:"text-2xs text-accent hover:underline",children:r?"Form view":"JSON view"}),t.envelope_schema?e.jsx("span",{className:"text-2xs text-accent",children:"Pre-filled from workflow config"}):e.jsx("span",{className:"text-2xs text-status-warning",children:"No template"})]})]}),!t.envelope_schema&&e.jsx("div",{className:"bg-surface-sunken border border-surface-border rounded px-4 py-3 mb-3",children:e.jsxs("p",{className:"text-xs text-text-secondary leading-relaxed",children:["This workflow has no input template. Edit the JSON directly below, or ",e.jsx(ae,{to:"/workflows/registry/new",className:"text-status-success hover:underline",children:"register it"})," in the Workflow Registry with an envelope schema for pre-filled fields and form-based input."]})}),r||!p?e.jsx("textarea",{value:w,onChange:a=>j(a.target.value),className:"input-json",rows:12,spellCheck:!1}):e.jsx("div",{className:"space-y-3",children:f.map(({key:a,type:s})=>{var x,u;const o=n[a],d=typeof o=="string"?o:JSON.stringify(o??(s==="array"?[]:{}),null,2),k=Math.min(20,Math.max(4,((u=(x=d==null?void 0:d.split)==null?void 0:x.call(d,`
|
|
5
|
-
`))==null?void 0:u.length)??4));return e.jsxs("div",{children:[e.jsxs("label",{className:"block text-2xs font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[a,e.jsx("span",{className:"ml-2 font-normal normal-case",children:s})]}),s==="boolean"?e.jsxs("select",{value:String(o??!1),onChange:v=>h(a,v.target.value,s),className:"select text-xs w-full",children:[e.jsx("option",{value:"true",children:"true"}),e.jsx("option",{value:"false",children:"false"})]}):s==="object"||s==="array"?e.jsx("textarea",{value:d,onChange:v=>{try{h(a,JSON.parse(v.target.value),s)}catch{y({...n,[a]:v.target.value})}},className:"input-json w-full",rows:k,spellCheck:!1}):e.jsx("input",{type:s==="number"?"number":"text",value:String(o??""),onChange:v=>h(a,v.target.value,s),className:"input text-xs w-full"})]},a)})}),e.jsxs("p",{className:"text-2xs text-text-tertiary mt-1.5",children:["The envelope wraps your workflow input. ",e.jsx("code",{className:"text-accent/80",children:"data"})," holds workflow-specific fields; ",e.jsx("code",{className:"text-accent/80",children:"metadata"})," is optional context."]})]})}function xe({selected:t,executionsPath:r}){const p=re(),{isSuperAdmin:w,hasRoleType:n}=T(),f=w||n("admin"),j=R(),[i,h]=c.useState(O),[y,a]=c.useState(""),[s,o]=c.useState({}),[d,k]=c.useState(!1),[x,u]=c.useState(""),v=t.certified,[P,m]=c.useState(v),_=c.useMemo(()=>W(t.envelope_schema??null),[t.envelope_schema]),F=_.length>0,E=c.useMemo(()=>{if(!t.envelope_schema)return{};const l=t.envelope_schema.metadata;return l&&typeof l=="object"?l:{}},[t.envelope_schema]);c.useEffect(()=>{var S;a(""),j.reset();const l=sessionStorage.getItem("lt:invoke:prefill");if(l){sessionStorage.removeItem("lt:invoke:prefill"),h(l);try{const N=JSON.parse(l),C=(N==null?void 0:N.data)??N;C&&typeof C=="object"&&o(M(C))}catch{}k(!0),u("");return}const b=t.envelope_schema?JSON.stringify(t.envelope_schema,null,2):O;h(b),(S=t.envelope_schema)!=null&&S.data&&typeof t.envelope_schema.data=="object"?o(M(t.envelope_schema.data)):o({}),k(!W(t.envelope_schema??null).length),u(""),m(v)},[t.workflow_type]);const g=()=>{if(d)try{const l=JSON.parse(i);l.data&&typeof l.data=="object"&&o(M(l.data))}catch{}else h(J(s,E));k(!d)},A=(l,b,S)=>{let N=b;S==="number"?N=b===""?0:Number(b):S==="boolean"&&(N=b==="true"||b===!0);const C={...s,[l]:N};o(C),h(J(C,E))},L=async()=>{a("");let l;try{l=JSON.parse(i)}catch{a("Invalid JSON");return}const{data:b,metadata:S}=l;if(!b||typeof b!="object"){a('Envelope must include a "data" object');return}try{const N={...S??{}};P&&(N.certified=!0),await j.mutateAsync({workflowType:t.workflow_type,data:b,metadata:N,...x?{execute_as:x}:{}}),p(r)}catch{}};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-mono font-medium text-text-primary",children:t.workflow_type}),t.description&&e.jsx("div",{className:"text-xs text-text-secondary mt-1 leading-relaxed",children:e.jsx(te,{content:t.description,compact:!0})})]}),e.jsx(ie,{config:t,overrideBot:x,onOverrideChange:u,showOverride:f}),v&&e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:P,onChange:l=>m(l.target.checked),className:"rounded border-surface-border text-accent focus:ring-accent/30"}),e.jsx(Y,{className:"w-3.5 h-3.5 text-text-tertiary"}),e.jsx("span",{className:"text-xs text-text-secondary",children:"Enable task tracking and escalation routing"})]}),e.jsx(de,{selectedConfig:t,isJsonMode:d,hasFormView:F,jsonInput:i,formFields:s,dataFields:_,onJsonChange:l=>{h(l),a("")},onToggleMode:g,onUpdateFormField:A,onSetFormFields:o}),y&&e.jsx("p",{className:"text-xs text-status-error",children:y}),j.error&&e.jsx("p",{className:"text-xs text-status-error",children:j.error.message}),j.isSuccess&&e.jsx("p",{className:"text-xs text-status-success",children:"Workflow started"}),e.jsx("button",{onClick:L,disabled:j.isPending,className:"btn-primary",children:j.isPending?"Starting...":"Start Workflow"})]})}function ue(){const[t,r]=ne(),{data:p,isLoading:w}=q(),{data:n,isLoading:f}=D(),{data:j}=Q(),i=t.get("type")??"",h=p??[],y=c.useMemo(()=>{const m=new Map;for(const _ of n??[])m.set(_.workflow_type,_.tier??"durable");return m},[n]),a=c.useMemo(()=>{const m=h.filter(g=>g.invocable),_=new Set(h.map(g=>g.workflow_type)),E=(n??[]).filter(g=>g.active&&!_.has(g.workflow_type)).map(g=>({workflow_type:g.workflow_type,task_queue:g.task_queue??"",invocable:!0,certified:!1,description:null,default_role:"reviewer",roles:[],invocation_roles:[],consumes:[],envelope_schema:null,resolver_schema:null,cron_schedule:null,execute_as:null}));return[...m,...E]},[h,n]),s=a.find(m=>m.workflow_type===i),o=new Set((j??[]).filter(m=>m.active).map(m=>m.workflow_type)),d="/workflows/executions",k=c.useRef(null),[x,u]=c.useState(!0),v=c.useRef(i);c.useEffect(()=>{if(v.current!==i){u(!1);const m=setTimeout(()=>{v.current=i,u(!0)},120);return()=>clearTimeout(m)}},[i]),c.useEffect(()=>{a.length===1&&!t.get("type")&&r({type:a[0].workflow_type},{replace:!0})},[a.length]);const P=m=>{r({type:m.workflow_type},{replace:!0})};return w||f?e.jsxs("div",{className:"animate-pulse space-y-4",children:[e.jsx("div",{className:"h-8 bg-surface-sunken rounded w-48"}),e.jsx("div",{className:"h-40 bg-surface-sunken rounded"})]}):e.jsxs("div",{children:[e.jsx(B,{title:"Invoke",docsHash:"#docs:dashboard.md:invoke-workflow"}),a.length===0?e.jsxs("div",{className:"py-16 text-center",children:[e.jsx("p",{className:"text-sm text-text-primary mb-1",children:"No invocable workflows"}),e.jsx("p",{className:"text-xs text-text-tertiary",children:"Mark workflows as invocable in the registry, or start the server with examples enabled."})]}):e.jsxs("div",{className:"grid grid-cols-3 gap-8 items-start",children:[e.jsx("div",{className:"col-span-2",children:e.jsx(oe,{configs:a,selectedType:i,onSelect:P,tierMap:y,activeTypes:o})}),e.jsx("div",{ref:k,className:`sticky top-4 transition-all duration-200 ease-out ${x?"opacity-100 translate-y-0":"opacity-0 translate-y-1"}`,children:i&&s?e.jsx("div",{className:"border-l border-surface-border pl-6",children:e.jsx(xe,{selected:s,executionsPath:d})}):e.jsxs("div",{className:"flex flex-col items-center justify-center py-24 text-center",children:[e.jsx(ee,{className:"w-6 h-6 text-text-quaternary mb-3",strokeWidth:1}),e.jsx("p",{className:"text-sm text-text-tertiary",children:"Select a workflow"}),e.jsx("p",{className:"text-xs text-text-quaternary mt-1",children:"Choose one from the list to configure and invoke it."})]})})]})]})}function ke(){return e.jsx(ue,{})}export{ke as DurableInvokePage,ue as StartWorkflowPage};
|
|
6
|
-
//# sourceMappingURL=index-B7IaBPBg.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-B7IaBPBg.js","sources":["../../src/pages/workflows/start/WorkflowSelector.tsx","../../src/pages/workflows/start/helpers.ts","../../src/pages/workflows/start/IdentitySummary.tsx","../../src/pages/workflows/start/EnvelopeEditor.tsx","../../src/pages/workflows/start/StartNowPanel.tsx","../../src/pages/workflows/start/StartWorkflowPage.tsx","../../src/pages/workflows/start/DurableInvokePage.tsx"],"sourcesContent":["import { useState, useMemo } from 'react';\nimport { Bot, Clock, Server, Wrench } from 'lucide-react';\nimport { FilterBar, FilterSelect, FilterInput } from '../../../components/common/data/FilterBar';\nimport { WorkflowPill } from '../../../components/common/display/WorkflowPill';\nimport { NamespacePill } from '../../../components/common/display/NamespacePill';\nimport type { LTWorkflowConfig, WorkflowTier } from '../../../api/types';\n\nexport function WorkflowSelector({\n configs,\n selectedType,\n onSelect,\n tierMap,\n activeTypes,\n}: {\n configs: LTWorkflowConfig[];\n selectedType: string;\n onSelect: (config: LTWorkflowConfig) => void;\n tierMap: Map<string, WorkflowTier>;\n activeTypes?: Set<string>;\n}) {\n const [search, setSearch] = useState('');\n const [activeQueue, setActiveQueue] = useState<string | null>(null);\n\n const queues = useMemo(\n () => [...new Set(configs.map((c) => c.task_queue).filter(Boolean))].sort(),\n [configs],\n );\n\n // Group by task queue; workflows without a queue collect under a trailing section\n const grouped = useMemo(() => {\n const q = search.toLowerCase().trim();\n const matches = (c: LTWorkflowConfig) =>\n !q ||\n c.workflow_type.toLowerCase().includes(q) ||\n c.description?.toLowerCase().includes(q);\n\n const targetQueues = activeQueue ? [activeQueue] : queues;\n const sections = targetQueues\n .map((queue) => ({\n queue,\n workflows: configs.filter((c) => c.task_queue === queue && matches(c)),\n }))\n .filter((g) => g.workflows.length > 0);\n\n if (!activeQueue) {\n const noQueue = configs.filter((c) => !c.task_queue && matches(c));\n if (noQueue.length > 0) sections.push({ queue: '', workflows: noQueue });\n }\n return sections;\n }, [configs, queues, search, activeQueue]);\n\n return (\n <div>\n <FilterBar>\n {queues.length > 1 && (\n <FilterSelect\n label=\"Queue\"\n value={activeQueue ?? ''}\n onChange={(v) => setActiveQueue(v || null)}\n options={queues.map((q) => ({ value: q, label: q }))}\n />\n )}\n <FilterInput\n label=\"Search\"\n value={search}\n onChange={setSearch}\n placeholder={`${configs.length} workflows…`}\n />\n </FilterBar>\n\n {grouped.length === 0 ? (\n <p className=\"text-sm text-text-tertiary py-8 text-center\">No workflows match your filter.</p>\n ) : (\n <div className=\"space-y-10\">\n {grouped.map(({ queue, workflows }) => (\n <div key={queue || '__none__'}>\n <div className=\"sticky top-[60px] z-10 bg-surface flex items-center gap-2 py-2 mb-2 border-b border-surface-border\">\n {queue ? (\n <Server className=\"w-3 h-3 text-accent\" strokeWidth={1.5} />\n ) : (\n <Wrench className=\"w-3 h-3 text-text-quaternary\" strokeWidth={1.5} />\n )}\n <h2 className=\"section-h2\">{queue || 'No Queue'}</h2>\n <span className=\"text-xs text-text-quaternary\">{workflows.length}</span>\n </div>\n <div className=\"divide-y divide-surface-border/30\">\n {workflows.map((config) => (\n <WorkflowRow\n key={config.workflow_type}\n config={config}\n isSelected={selectedType === config.workflow_type}\n tier={tierMap.get(config.workflow_type) ?? 'durable'}\n cronActive={activeTypes?.has(config.workflow_type) ?? false}\n onSelect={onSelect}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n}\n\nfunction WorkflowRow({\n config,\n isSelected,\n tier,\n cronActive,\n onSelect,\n}: {\n config: LTWorkflowConfig;\n isSelected: boolean;\n tier: WorkflowTier;\n cronActive: boolean;\n onSelect: (config: LTWorkflowConfig) => void;\n}) {\n const variant =\n tier === 'certified' ? 'certified' : tier === 'registered' ? 'registered' : 'durable';\n return (\n <button\n onClick={() => onSelect(config)}\n className=\"group relative w-full text-left py-2 px-3 -mx-3 rounded-md transition-colors duration-150\"\n >\n {isSelected && (\n <span className=\"absolute left-0 top-1 bottom-1 w-0.5 bg-accent rounded-full\" />\n )}\n <div className=\"flex items-center gap-3\">\n <WorkflowPill type={config.workflow_type} size=\"md\" variant={variant} />\n {config.description && (\n <p className=\"flex-1 min-w-0 truncate text-2xs text-text-tertiary group-hover:text-text-secondary transition-colors\">\n {config.description}\n </p>\n )}\n <span className=\"ml-auto flex items-center gap-2 shrink-0\">\n {config.execute_as && (\n <span className=\"inline-flex items-center gap-0.5 px-1.5 py-0.5 text-2xs bg-accent/10 text-accent rounded\">\n <Bot className=\"w-2.5 h-2.5\" />\n {config.execute_as}\n </span>\n )}\n {cronActive && (\n <span title=\"Cron schedule active\">\n <Clock className=\"w-3 h-3 text-status-success/70 shrink-0\" />\n </span>\n )}\n <NamespacePill namespace=\"durable\" />\n </span>\n </div>\n </button>\n );\n}\n","export const DEFAULT_ENVELOPE = '{\\n \"data\": {},\\n \"metadata\": {}\\n}';\n\n/** Infer a simple field type from a value. */\nexport function inferTypeFromValue(value: unknown): string {\n if (typeof value === 'boolean') return 'boolean';\n if (typeof value === 'number') return 'number';\n if (Array.isArray(value)) return 'array';\n if (value !== null && typeof value === 'object') return 'object';\n return 'string';\n}\n\n/** Extract the data keys from an envelope_schema and their inferred types. */\nexport function extractDataFields(\n schema: Record<string, unknown> | null,\n): { key: string; type: string; defaultValue: unknown }[] {\n if (!schema) return [];\n const data = schema.data;\n if (!data || typeof data !== 'object') return [];\n return Object.entries(data as Record<string, unknown>).map(([key, value]) => ({\n key,\n type: inferTypeFromValue(value),\n defaultValue: value,\n }));\n}\n\n/** Build form field values from data object. */\nexport function dataToFields(data: Record<string, unknown>): Record<string, unknown> {\n return { ...data };\n}\n\n/** Build full envelope JSON string from form fields + metadata. */\nexport function fieldsToJson(\n fields: Record<string, unknown>,\n metadata: Record<string, unknown>,\n): string {\n return JSON.stringify({ data: fields, metadata }, null, 2);\n}\n","import { Bot, UserCircle } from 'lucide-react';\nimport { BotPicker } from '../../../components/common/form/BotPicker';\nimport { useAuth } from '../../../hooks/useAuth';\nimport type { LTWorkflowConfig } from '../../../api/types';\n\nexport function IdentitySummary({\n config,\n overrideBot,\n onOverrideChange,\n showOverride,\n}: {\n config: LTWorkflowConfig;\n overrideBot?: string;\n onOverrideChange?: (botExternalId: string) => void;\n showOverride?: boolean;\n}) {\n const { user } = useAuth();\n const effectiveBot = overrideBot || config.execute_as;\n\n return (\n <div className=\"bg-surface-sunken rounded-lg px-4 py-3 space-y-3\">\n <div>\n <div className=\"flex items-center justify-between mb-1\">\n <span className=\"text-2xs text-text-tertiary uppercase tracking-wider font-medium\">Running as</span>\n {effectiveBot && !overrideBot && (\n <span className=\"text-2xs text-text-tertiary\">configured default</span>\n )}\n {overrideBot && (\n <span className=\"text-2xs text-accent\">admin override</span>\n )}\n </div>\n {/* Read-only identity, styled as a field so it reads consistently with\n the Override control below and pops off the sunken band. */}\n <div className=\"field flex items-center gap-1.5\">\n {effectiveBot ? (\n <>\n <Bot className=\"w-3.5 h-3.5 text-accent/70 shrink-0\" />\n <span className=\"text-xs text-text-primary font-mono\">{effectiveBot}</span>\n </>\n ) : (\n <>\n <UserCircle className=\"w-3.5 h-3.5 text-text-tertiary shrink-0\" />\n <span className=\"text-xs text-text-primary\">\n {user?.displayName || user?.username || 'you'}\n </span>\n </>\n )}\n </div>\n </div>\n {showOverride && onOverrideChange && (\n <div>\n <label className=\"text-2xs text-text-tertiary uppercase tracking-wider font-medium mb-1 block\">Override identity</label>\n <BotPicker\n selected={overrideBot ?? ''}\n onChange={onOverrideChange}\n placeholder={config.execute_as ? `Default: ${config.execute_as}` : 'Invoking user (default)'}\n />\n </div>\n )}\n </div>\n );\n}\n","import { Link } from 'react-router-dom';\nimport type { LTWorkflowConfig } from '../../../api/types';\n\ninterface DataField {\n key: string;\n type: string;\n defaultValue: unknown;\n}\n\nexport function EnvelopeEditor({\n selectedConfig,\n isJsonMode,\n hasFormView,\n jsonInput,\n formFields,\n dataFields,\n onJsonChange,\n onToggleMode,\n onUpdateFormField,\n onSetFormFields,\n}: {\n selectedConfig: LTWorkflowConfig;\n isJsonMode: boolean;\n hasFormView: boolean;\n jsonInput: string;\n formFields: Record<string, unknown>;\n dataFields: DataField[];\n onJsonChange: (value: string) => void;\n onToggleMode: () => void;\n onUpdateFormField: (key: string, value: unknown, type: string) => void;\n onSetFormFields: (fields: Record<string, unknown>) => void;\n}) {\n return (\n <div>\n <div className=\"flex items-baseline justify-between mb-2\">\n <label className=\"block text-xs text-text-secondary\">\n Envelope\n </label>\n <div className=\"flex items-center gap-3\">\n {hasFormView && (\n <button\n type=\"button\"\n onClick={onToggleMode}\n className=\"text-2xs text-accent hover:underline\"\n >\n {isJsonMode ? 'Form view' : 'JSON view'}\n </button>\n )}\n {selectedConfig.envelope_schema ? (\n <span className=\"text-2xs text-accent\">\n Pre-filled from workflow config\n </span>\n ) : (\n <span className=\"text-2xs text-status-warning\">\n No template\n </span>\n )}\n </div>\n </div>\n\n {!selectedConfig.envelope_schema && (\n <div className=\"bg-surface-sunken border border-surface-border rounded px-4 py-3 mb-3\">\n <p className=\"text-xs text-text-secondary leading-relaxed\">\n This workflow has no input template. Edit the JSON directly below, or <Link to=\"/workflows/registry/new\" className=\"text-status-success hover:underline\">register it</Link> in the Workflow Registry with an envelope schema for pre-filled fields and form-based input.\n </p>\n </div>\n )}\n\n {isJsonMode || !hasFormView ? (\n /* JSON view */\n <textarea\n value={jsonInput}\n onChange={(e) => onJsonChange(e.target.value)}\n className=\"input-json\"\n rows={12}\n spellCheck={false}\n />\n ) : (\n /* Form view */\n <div className=\"space-y-3\">\n {dataFields.map(({ key, type }) => {\n const value = formFields[key];\n const jsonValue =\n typeof value === 'string'\n ? value\n : JSON.stringify(\n value ?? (type === 'array' ? [] : {}),\n null,\n 2,\n );\n const textareaRows = Math.min(\n 20,\n Math.max(4, (jsonValue?.split?.('\\n')?.length ?? 4)),\n );\n return (\n <div key={key}>\n <label className=\"block text-2xs font-semibold uppercase tracking-widest text-text-tertiary mb-1\">\n {key}\n <span className=\"ml-2 font-normal normal-case\">\n {type}\n </span>\n </label>\n {type === 'boolean' ? (\n <select\n value={String(value ?? false)}\n onChange={(e) =>\n onUpdateFormField(key, e.target.value, type)\n }\n className=\"select text-xs w-full\"\n >\n <option value=\"true\">true</option>\n <option value=\"false\">false</option>\n </select>\n ) : type === 'object' || type === 'array' ? (\n <textarea\n value={jsonValue}\n onChange={(e) => {\n try {\n onUpdateFormField(\n key,\n JSON.parse(e.target.value),\n type,\n );\n } catch {\n // Keep raw text without syncing to JSON\n onSetFormFields({\n ...formFields,\n [key]: e.target.value,\n });\n }\n }}\n className=\"input-json w-full\"\n rows={textareaRows}\n spellCheck={false}\n />\n ) : (\n <input\n type={type === 'number' ? 'number' : 'text'}\n value={String(value ?? '')}\n onChange={(e) =>\n onUpdateFormField(key, e.target.value, type)\n }\n className=\"input text-xs w-full\"\n />\n )}\n </div>\n );\n })}\n </div>\n )}\n <p className=\"text-2xs text-text-tertiary mt-1.5\">\n The envelope wraps your workflow input. <code className=\"text-accent/80\">data</code> holds workflow-specific fields; <code className=\"text-accent/80\">metadata</code> is optional context.\n </p>\n </div>\n );\n}\n","import { useState, useEffect, useMemo } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { ShieldCheck } from 'lucide-react';\nimport { useInvokeWorkflow } from '../../../api/workflows';\nimport { useAuth } from '../../../hooks/useAuth';\nimport type { LTWorkflowConfig } from '../../../api/types';\nimport {\n DEFAULT_ENVELOPE,\n extractDataFields,\n dataToFields,\n fieldsToJson,\n} from './helpers';\nimport { IdentitySummary } from './IdentitySummary';\nimport { EnvelopeEditor } from './EnvelopeEditor';\nimport { SimpleMarkdown } from '../../../components/common/display/SimpleMarkdown';\n\nexport function StartNowPanel({ selected, executionsPath }: { selected: LTWorkflowConfig; executionsPath: string }) {\n const navigate = useNavigate();\n const { isSuperAdmin, hasRoleType } = useAuth();\n const isAdmin = isSuperAdmin || hasRoleType('admin');\n const invokeMutation = useInvokeWorkflow();\n const [jsonInput, setJsonInput] = useState(DEFAULT_ENVELOPE);\n const [parseError, setParseError] = useState('');\n const [formFields, setFormFields] = useState<Record<string, unknown>>({});\n const [isJsonMode, setIsJsonMode] = useState(false);\n const [overrideBot, setOverrideBot] = useState('');\n // Per-run interceptor opt-out: offered when the workflow's registration is\n // certified. metadata.certified=false bypasses config lookup for this run.\n const isCertifiable = selected.certified;\n const [certified, setCertified] = useState(isCertifiable);\n\n const dataFields = useMemo(\n () => extractDataFields(selected.envelope_schema ?? null),\n [selected.envelope_schema],\n );\n const hasFormView = dataFields.length > 0;\n\n const schemaMetadata = useMemo(() => {\n if (!selected.envelope_schema) return {};\n const md = selected.envelope_schema.metadata;\n return md && typeof md === 'object' ? (md as Record<string, unknown>) : {};\n }, [selected.envelope_schema]);\n\n useEffect(() => {\n setParseError('');\n invokeMutation.reset();\n\n const prefill = sessionStorage.getItem('lt:invoke:prefill');\n if (prefill) {\n sessionStorage.removeItem('lt:invoke:prefill');\n setJsonInput(prefill);\n try {\n const parsed = JSON.parse(prefill);\n const data = parsed?.data ?? parsed;\n if (data && typeof data === 'object') setFormFields(dataToFields(data));\n } catch { /* use as-is */ }\n setIsJsonMode(true);\n setOverrideBot('');\n return;\n }\n\n const json = selected.envelope_schema\n ? JSON.stringify(selected.envelope_schema, null, 2)\n : DEFAULT_ENVELOPE;\n setJsonInput(json);\n if (selected.envelope_schema?.data && typeof selected.envelope_schema.data === 'object') {\n setFormFields(dataToFields(selected.envelope_schema.data as Record<string, unknown>));\n } else {\n setFormFields({});\n }\n setIsJsonMode(!extractDataFields(selected.envelope_schema ?? null).length);\n setOverrideBot('');\n setCertified(isCertifiable);\n }, [selected.workflow_type]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleToggleMode = () => {\n if (isJsonMode) {\n try {\n const parsed = JSON.parse(jsonInput);\n if (parsed.data && typeof parsed.data === 'object') setFormFields(dataToFields(parsed.data));\n } catch { /* keep existing */ }\n } else {\n setJsonInput(fieldsToJson(formFields, schemaMetadata));\n }\n setIsJsonMode(!isJsonMode);\n };\n\n const updateFormField = (key: string, value: unknown, type: string) => {\n let parsed = value;\n if (type === 'number') parsed = value === '' ? 0 : Number(value);\n else if (type === 'boolean') parsed = value === 'true' || value === true;\n const updated = { ...formFields, [key]: parsed };\n setFormFields(updated);\n setJsonInput(fieldsToJson(updated, schemaMetadata));\n };\n\n const handleInvoke = async () => {\n setParseError('');\n let envelope: Record<string, unknown>;\n try {\n envelope = JSON.parse(jsonInput);\n } catch {\n setParseError('Invalid JSON');\n return;\n }\n const { data, metadata } = envelope;\n if (!data || typeof data !== 'object') {\n setParseError('Envelope must include a \"data\" object');\n return;\n }\n try {\n const resolvedMetadata = { ...((metadata as Record<string, unknown>) ?? {}) };\n if (certified) resolvedMetadata.certified = true;\n await invokeMutation.mutateAsync({\n workflowType: selected.workflow_type,\n data: data as Record<string, unknown>,\n metadata: resolvedMetadata,\n ...(overrideBot ? { execute_as: overrideBot } : {}),\n });\n navigate(executionsPath);\n } catch { /* error via mutation */ }\n };\n\n return (\n <div className=\"space-y-6\">\n <div>\n <h2 className=\"text-lg font-mono font-medium text-text-primary\">{selected.workflow_type}</h2>\n {selected.description && (\n <div className=\"text-xs text-text-secondary mt-1 leading-relaxed\">\n <SimpleMarkdown content={selected.description} compact />\n </div>\n )}\n </div>\n\n <IdentitySummary\n config={selected}\n overrideBot={overrideBot}\n onOverrideChange={setOverrideBot}\n showOverride={isAdmin}\n />\n\n {isCertifiable && (\n <label className=\"flex items-center gap-2 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={certified}\n onChange={(e) => setCertified(e.target.checked)}\n className=\"rounded border-surface-border text-accent focus:ring-accent/30\"\n />\n <ShieldCheck className=\"w-3.5 h-3.5 text-text-tertiary\" />\n <span className=\"text-xs text-text-secondary\">Enable task tracking and escalation routing</span>\n </label>\n )}\n\n <EnvelopeEditor\n selectedConfig={selected}\n isJsonMode={isJsonMode}\n hasFormView={hasFormView}\n jsonInput={jsonInput}\n formFields={formFields}\n dataFields={dataFields}\n onJsonChange={(v) => { setJsonInput(v); setParseError(''); }}\n onToggleMode={handleToggleMode}\n onUpdateFormField={updateFormField}\n onSetFormFields={setFormFields}\n />\n\n {parseError && <p className=\"text-xs text-status-error\">{parseError}</p>}\n {invokeMutation.error && <p className=\"text-xs text-status-error\">{invokeMutation.error.message}</p>}\n {invokeMutation.isSuccess && <p className=\"text-xs text-status-success\">Workflow started</p>}\n\n <button onClick={handleInvoke} disabled={invokeMutation.isPending} className=\"btn-primary\">\n {invokeMutation.isPending ? 'Starting...' : 'Start Workflow'}\n </button>\n </div>\n );\n}\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { useSearchParams } from 'react-router-dom';\nimport { Play } from 'lucide-react';\nimport { useWorkflowConfigs, useDiscoveredWorkflows, useCronStatus } from '../../../api/workflows';\nimport { PageHeader } from '../../../components/common/layout/PageHeader';\nimport type { LTWorkflowConfig, WorkflowTier } from '../../../api/types';\nimport { WorkflowSelector } from './WorkflowSelector';\nimport { StartNowPanel } from './StartNowPanel';\n\nexport function StartWorkflowPage() {\n const [searchParams, setSearchParams] = useSearchParams();\n const { data: configsData, isLoading } = useWorkflowConfigs();\n const { data: discoveredData, isLoading: discoveredLoading } = useDiscoveredWorkflows();\n const { data: cronEntries } = useCronStatus();\n\n const selectedType = searchParams.get('type') ?? '';\n\n const configs: LTWorkflowConfig[] = configsData ?? [];\n\n const tierMap = useMemo(() => {\n const map = new Map<string, WorkflowTier>();\n for (const dw of discoveredData ?? []) {\n map.set(dw.workflow_type, dw.tier ?? 'durable');\n }\n return map;\n }, [discoveredData]);\n\n const invocableConfigs = useMemo(() => {\n const invocable = configs.filter((c) => c.invocable);\n const registeredTypes = new Set(configs.map((c) => c.workflow_type));\n const discovered = discoveredData ?? [];\n const durable = discovered\n .filter((dw) => dw.active && !registeredTypes.has(dw.workflow_type))\n .map((dw) => ({\n workflow_type: dw.workflow_type,\n task_queue: dw.task_queue ?? '',\n invocable: true,\n certified: false,\n description: null,\n default_role: 'reviewer',\n roles: [],\n invocation_roles: [],\n consumes: [],\n envelope_schema: null,\n resolver_schema: null,\n cron_schedule: null,\n execute_as: null,\n } satisfies LTWorkflowConfig));\n return [...invocable, ...durable];\n }, [configs, discoveredData]);\n\n const selectedConfig = invocableConfigs.find((c) => c.workflow_type === selectedType);\n\n const activeTypes = new Set(\n (cronEntries ?? []).filter((e) => e.active).map((e) => e.workflow_type),\n );\n\n const executionsPath = '/workflows/executions';\n\n // Fade transition when selection changes\n const panelRef = useRef<HTMLDivElement>(null);\n const [panelVisible, setPanelVisible] = useState(true);\n const prevKeyRef = useRef(selectedType);\n useEffect(() => {\n if (prevKeyRef.current !== selectedType) {\n setPanelVisible(false);\n const timer = setTimeout(() => {\n prevKeyRef.current = selectedType;\n setPanelVisible(true);\n }, 120);\n return () => clearTimeout(timer);\n }\n }, [selectedType]);\n\n useEffect(() => {\n if (invocableConfigs.length === 1 && !searchParams.get('type')) {\n setSearchParams({ type: invocableConfigs[0].workflow_type }, { replace: true });\n }\n }, [invocableConfigs.length]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleSelect = (config: LTWorkflowConfig) => {\n setSearchParams({ type: config.workflow_type }, { replace: true });\n };\n\n if (isLoading || discoveredLoading) {\n return (\n <div className=\"animate-pulse space-y-4\">\n <div className=\"h-8 bg-surface-sunken rounded w-48\" />\n <div className=\"h-40 bg-surface-sunken rounded\" />\n </div>\n );\n }\n\n return (\n <div>\n <PageHeader title=\"Invoke\" docsHash=\"#docs:dashboard.md:invoke-workflow\" />\n\n {invocableConfigs.length === 0 ? (\n <div className=\"py-16 text-center\">\n <p className=\"text-sm text-text-primary mb-1\">No invocable workflows</p>\n <p className=\"text-xs text-text-tertiary\">Mark workflows as invocable in the registry, or start the server with examples enabled.</p>\n </div>\n ) : (\n <div className=\"grid grid-cols-3 gap-8 items-start\">\n\n {/* ── Left: workflow list (2 cols) ── */}\n <div className=\"col-span-2\">\n <WorkflowSelector\n configs={invocableConfigs}\n selectedType={selectedType}\n onSelect={handleSelect}\n tierMap={tierMap}\n activeTypes={activeTypes}\n />\n </div>\n\n {/* ── Right: invoke form (1 col, sticky) ── */}\n <div\n ref={panelRef}\n className={`sticky top-4 transition-all duration-200 ease-out ${\n panelVisible ? 'opacity-100 translate-y-0' : 'opacity-0 translate-y-1'\n }`}\n >\n {selectedType && selectedConfig ? (\n <div className=\"border-l border-surface-border pl-6\">\n <StartNowPanel selected={selectedConfig} executionsPath={executionsPath} />\n </div>\n ) : (\n <div className=\"flex flex-col items-center justify-center py-24 text-center\">\n <Play className=\"w-6 h-6 text-text-quaternary mb-3\" strokeWidth={1} />\n <p className=\"text-sm text-text-tertiary\">Select a workflow</p>\n <p className=\"text-xs text-text-quaternary mt-1\">Choose one from the list to configure and invoke it.</p>\n </div>\n )}\n </div>\n\n </div>\n )}\n </div>\n );\n}\n","import { StartWorkflowPage } from './StartWorkflowPage';\n\nexport function DurableInvokePage() {\n return <StartWorkflowPage />;\n}\n"],"names":["WorkflowSelector","configs","selectedType","onSelect","tierMap","activeTypes","search","setSearch","useState","activeQueue","setActiveQueue","queues","useMemo","c","grouped","q","matches","_a","sections","queue","g","noQueue","jsxs","FilterBar","jsx","FilterSelect","v","FilterInput","workflows","Server","Wrench","config","WorkflowRow","isSelected","tier","cronActive","variant","WorkflowPill","Bot","Clock","NamespacePill","DEFAULT_ENVELOPE","inferTypeFromValue","value","extractDataFields","schema","data","key","dataToFields","fieldsToJson","fields","metadata","IdentitySummary","overrideBot","onOverrideChange","showOverride","user","useAuth","effectiveBot","Fragment","UserCircle","BotPicker","EnvelopeEditor","selectedConfig","isJsonMode","hasFormView","jsonInput","formFields","dataFields","onJsonChange","onToggleMode","onUpdateFormField","onSetFormFields","Link","e","type","jsonValue","textareaRows","_b","StartNowPanel","selected","executionsPath","navigate","useNavigate","isSuperAdmin","hasRoleType","isAdmin","invokeMutation","useInvokeWorkflow","setJsonInput","parseError","setParseError","setFormFields","setIsJsonMode","setOverrideBot","isCertifiable","certified","setCertified","schemaMetadata","md","useEffect","prefill","parsed","json","handleToggleMode","updateFormField","updated","handleInvoke","envelope","resolvedMetadata","SimpleMarkdown","ShieldCheck","StartWorkflowPage","searchParams","setSearchParams","useSearchParams","configsData","isLoading","useWorkflowConfigs","discoveredData","discoveredLoading","useDiscoveredWorkflows","cronEntries","useCronStatus","map","dw","invocableConfigs","invocable","registeredTypes","durable","panelRef","useRef","panelVisible","setPanelVisible","prevKeyRef","timer","handleSelect","PageHeader","Play","DurableInvokePage"],"mappings":"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"}
|