@hotmeshio/long-tail 0.4.13 → 0.4.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/api/escalations/helpers.d.ts +14 -0
- package/build/api/escalations/helpers.js +14 -0
- package/build/api/escalations/index.d.ts +1 -0
- package/build/api/escalations/index.js +5 -1
- package/build/api/escalations/metadata.d.ts +56 -0
- package/build/api/escalations/metadata.js +178 -0
- package/build/bin/ltc.js +17 -0
- package/build/lib/cli/commands/escalations.d.ts +9 -0
- package/build/lib/cli/commands/escalations.js +36 -0
- package/build/lib/db/schemas/010_metadata_gin.sql +5 -0
- package/build/routes/escalations/index.js +3 -0
- package/build/routes/escalations/metadata.d.ts +6 -0
- package/build/routes/escalations/metadata.js +86 -0
- package/build/sdk/index.d.ts +19 -0
- package/build/sdk/index.js +3 -0
- package/build/services/escalation/crud.d.ts +5 -0
- package/build/services/escalation/crud.js +27 -0
- package/build/services/escalation/sql.d.ts +5 -0
- package/build/services/escalation/sql.js +39 -1
- package/build/services/interceptor/activities/escalation.js +11 -0
- package/build/start/server.js +5 -4
- package/build/tsconfig.tsbuildinfo +1 -1
- package/dashboard/dist/assets/{AdminDashboard-Jwr3Fsaz.js → AdminDashboard-BuqyRY2r.js} +2 -2
- package/dashboard/dist/assets/{AdminDashboard-Jwr3Fsaz.js.map → AdminDashboard-BuqyRY2r.js.map} +1 -1
- package/dashboard/dist/assets/AgentConfigPage-Bum1dUIi.js +16 -0
- package/dashboard/dist/assets/AgentConfigPage-Bum1dUIi.js.map +1 -0
- package/dashboard/dist/assets/{AgentDetailPage-Cw7foCHd.js → AgentDetailPage-0Kq-tBF2.js} +2 -2
- package/dashboard/dist/assets/{AgentDetailPage-Cw7foCHd.js.map → AgentDetailPage-0Kq-tBF2.js.map} +1 -1
- package/dashboard/dist/assets/{AgentsPage-DzpWsTFO.js → AgentsPage-B5gYDSOX.js} +2 -2
- package/dashboard/dist/assets/{AgentsPage-DzpWsTFO.js.map → AgentsPage-B5gYDSOX.js.map} +1 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-BWHThQDC.js +2 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-BWHThQDC.js.map +1 -0
- package/dashboard/dist/assets/{BotPicker-Ddu4V0uf.js → BotPicker-BQ336piW.js} +2 -2
- package/dashboard/dist/assets/{BotPicker-Ddu4V0uf.js.map → BotPicker-BQ336piW.js.map} +1 -1
- package/dashboard/dist/assets/{CapabilitiesPage-BTd-uYTM.js → CapabilitiesPage-CkiJROX-.js} +2 -2
- package/dashboard/dist/assets/{CapabilitiesPage-BTd-uYTM.js.map → CapabilitiesPage-CkiJROX-.js.map} +1 -1
- package/dashboard/dist/assets/{CollapsibleSection-DM-75khr.js → CollapsibleSection-SM8_UjNe.js} +2 -2
- package/dashboard/dist/assets/{CollapsibleSection-DM-75khr.js.map → CollapsibleSection-SM8_UjNe.js.map} +1 -1
- package/dashboard/dist/assets/{CredentialsPage-BQNraRZu.js → CredentialsPage-f6niro9_.js} +2 -2
- package/dashboard/dist/assets/{CredentialsPage-BQNraRZu.js.map → CredentialsPage-f6niro9_.js.map} +1 -1
- package/dashboard/dist/assets/{CronLabel-CPuMNBua.js → CronLabel-DINmdqoe.js} +2 -2
- package/dashboard/dist/assets/{CronLabel-CPuMNBua.js.map → CronLabel-DINmdqoe.js.map} +1 -1
- package/dashboard/dist/assets/{CustomDurationPicker-CLq8B89Y.js → CustomDurationPicker-BCUcYxfB.js} +2 -2
- package/dashboard/dist/assets/{CustomDurationPicker-CLq8B89Y.js.map → CustomDurationPicker-BCUcYxfB.js.map} +1 -1
- package/dashboard/dist/assets/{ElapsedCell-8lk94nZt.js → ElapsedCell-DPYZnXsX.js} +2 -2
- package/dashboard/dist/assets/{ElapsedCell-8lk94nZt.js.map → ElapsedCell-DPYZnXsX.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationsOverview-BfSrQ7A5.js → EscalationsOverview-CTB8AEBd.js} +2 -2
- package/dashboard/dist/assets/{EscalationsOverview-BfSrQ7A5.js.map → EscalationsOverview-CTB8AEBd.js.map} +1 -1
- package/dashboard/dist/assets/{EventTable-D3IOLoxv.js → EventTable-8_r3Tg09.js} +2 -2
- package/dashboard/dist/assets/{EventTable-D3IOLoxv.js.map → EventTable-8_r3Tg09.js.map} +1 -1
- package/dashboard/dist/assets/{HomePage-RO3qbF38.js → HomePage-Bjxnjv6p.js} +2 -2
- package/dashboard/dist/assets/{HomePage-RO3qbF38.js.map → HomePage-Bjxnjv6p.js.map} +1 -1
- package/dashboard/dist/assets/{ListToolbar-4lObXT3_.js → ListToolbar-B60JrvJ9.js} +2 -2
- package/dashboard/dist/assets/{ListToolbar-4lObXT3_.js.map → ListToolbar-B60JrvJ9.js.map} +1 -1
- package/dashboard/dist/assets/{McpOverview-BdLivZv8.js → McpOverview-whVRP_Nj.js} +2 -2
- package/dashboard/dist/assets/{McpOverview-BdLivZv8.js.map → McpOverview-whVRP_Nj.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryDetailPage-DKFkH1qa.js → McpQueryDetailPage-DPuujJkH.js} +2 -2
- package/dashboard/dist/assets/{McpQueryDetailPage-DKFkH1qa.js.map → McpQueryDetailPage-DPuujJkH.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryPage-AFV_QPwm.js → McpQueryPage-DciK6r7r.js} +2 -2
- package/dashboard/dist/assets/{McpQueryPage-AFV_QPwm.js.map → McpQueryPage-DciK6r7r.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunDetailPage-DQJ41oKW.js → McpRunDetailPage-QEz8BCTu.js} +2 -2
- package/dashboard/dist/assets/{McpRunDetailPage-DQJ41oKW.js.map → McpRunDetailPage-QEz8BCTu.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunsPage-CzVS7zcc.js → McpRunsPage-BA6AVpi_.js} +2 -2
- package/dashboard/dist/assets/{McpRunsPage-CzVS7zcc.js.map → McpRunsPage-BA6AVpi_.js.map} +1 -1
- package/dashboard/dist/assets/OperatorDashboard-DrUMzwnl.js +2 -0
- package/dashboard/dist/assets/OperatorDashboard-DrUMzwnl.js.map +1 -0
- package/dashboard/dist/assets/{ProcessDetailPage-qibro3Dm.js → ProcessDetailPage-Dc5ASJpQ.js} +2 -2
- package/dashboard/dist/assets/{ProcessDetailPage-qibro3Dm.js.map → ProcessDetailPage-Dc5ASJpQ.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessesListPage-CPgiDbdS.js → ProcessesListPage-Sa-bjC-g.js} +2 -2
- package/dashboard/dist/assets/{ProcessesListPage-CPgiDbdS.js.map → ProcessesListPage-Sa-bjC-g.js.map} +1 -1
- package/dashboard/dist/assets/{RolesPage-BAj88I_Y.js → RolesPage-DmO8Jlbw.js} +2 -2
- package/dashboard/dist/assets/{RolesPage-BAj88I_Y.js.map → RolesPage-DmO8Jlbw.js.map} +1 -1
- package/dashboard/dist/assets/{RunAsSelector-IdZ-qOfl.js → RunAsSelector-yWEwIZRe.js} +2 -2
- package/dashboard/dist/assets/{RunAsSelector-IdZ-qOfl.js.map → RunAsSelector-yWEwIZRe.js.map} +1 -1
- package/dashboard/dist/assets/{SwimlaneTimeline-WQ6VMuqg.js → SwimlaneTimeline-CmzfFQ09.js} +2 -2
- package/dashboard/dist/assets/{SwimlaneTimeline-WQ6VMuqg.js.map → SwimlaneTimeline-CmzfFQ09.js.map} +1 -1
- package/dashboard/dist/assets/{TaskDetailPage-buNgjwiz.js → TaskDetailPage-CI4JTC62.js} +2 -2
- package/dashboard/dist/assets/{TaskDetailPage-buNgjwiz.js.map → TaskDetailPage-CI4JTC62.js.map} +1 -1
- package/dashboard/dist/assets/{TasksListPage-BQjjNjRC.js → TasksListPage-xdNmQsNE.js} +2 -2
- package/dashboard/dist/assets/{TasksListPage-BQjjNjRC.js.map → TasksListPage-xdNmQsNE.js.map} +1 -1
- package/dashboard/dist/assets/{TimeAgo-Dvkw4shy.js → TimeAgo-B_um9BWR.js} +2 -2
- package/dashboard/dist/assets/{TimeAgo-Dvkw4shy.js.map → TimeAgo-B_um9BWR.js.map} +1 -1
- package/dashboard/dist/assets/{TimestampCell-DGEGdbOW.js → TimestampCell-BJ6trAqW.js} +2 -2
- package/dashboard/dist/assets/{TimestampCell-DGEGdbOW.js.map → TimestampCell-BJ6trAqW.js.map} +1 -1
- package/dashboard/dist/assets/{ToolTestPanel-GY3n1V12.js → ToolTestPanel-DMQhLDES.js} +2 -2
- package/dashboard/dist/assets/{ToolTestPanel-GY3n1V12.js.map → ToolTestPanel-DMQhLDES.js.map} +1 -1
- package/dashboard/dist/assets/{TopicDetailPage-CGim5yi0.js → TopicDetailPage-YeGQA0vD.js} +2 -2
- package/dashboard/dist/assets/{TopicDetailPage-CGim5yi0.js.map → TopicDetailPage-YeGQA0vD.js.map} +1 -1
- package/dashboard/dist/assets/{TopicsPage-DLyRlo0A.js → TopicsPage-B3QZNlWz.js} +2 -2
- package/dashboard/dist/assets/{TopicsPage-DLyRlo0A.js.map → TopicsPage-B3QZNlWz.js.map} +1 -1
- package/dashboard/dist/assets/{UserName-B8dGlxj9.js → UserName-MpSZ2_EH.js} +2 -2
- package/dashboard/dist/assets/{UserName-B8dGlxj9.js.map → UserName-MpSZ2_EH.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowExecutionPage-BQbIIdIA.js → WorkflowExecutionPage-DqMqDb1h.js} +2 -2
- package/dashboard/dist/assets/{WorkflowExecutionPage-BQbIIdIA.js.map → WorkflowExecutionPage-DqMqDb1h.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsDashboard-DL6oRbka.js → WorkflowsDashboard-BF7FpMmk.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsDashboard-DL6oRbka.js.map → WorkflowsDashboard-BF7FpMmk.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsOverview-Reab_xHT.js → WorkflowsOverview-YFc_KBMS.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsOverview-Reab_xHT.js.map → WorkflowsOverview-YFc_KBMS.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowsPage-BoFstOcp.js → YamlWorkflowsPage-BOLs5KTB.js} +2 -2
- package/dashboard/dist/assets/{YamlWorkflowsPage-BoFstOcp.js.map → YamlWorkflowsPage-BOLs5KTB.js.map} +1 -1
- package/dashboard/dist/assets/{agents-CQsJU21y.js → agents-CPYVSCQ3.js} +2 -2
- package/dashboard/dist/assets/{agents-CQsJU21y.js.map → agents-CPYVSCQ3.js.map} +1 -1
- package/dashboard/dist/assets/{bots-t1FPESbm.js → bots-DCXjHjID.js} +2 -2
- package/dashboard/dist/assets/{bots-t1FPESbm.js.map → bots-DCXjHjID.js.map} +1 -1
- package/dashboard/dist/assets/{capabilities-D1Y3hVvf.js → capabilities-CreogBYU.js} +2 -2
- package/dashboard/dist/assets/{capabilities-D1Y3hVvf.js.map → capabilities-CreogBYU.js.map} +1 -1
- package/dashboard/dist/assets/{controlplane-CV-y8cfH.js → controlplane-Cm_-Gb1x.js} +2 -2
- package/dashboard/dist/assets/{controlplane-CV-y8cfH.js.map → controlplane-Cm_-Gb1x.js.map} +1 -1
- package/dashboard/dist/assets/escalation-columns-CLqe28Ba.js +2 -0
- package/dashboard/dist/assets/escalation-columns-CLqe28Ba.js.map +1 -0
- package/dashboard/dist/assets/{escalation-Bf_SO_75.js → escalation-ulsBFHVb.js} +2 -2
- package/dashboard/dist/assets/{escalation-Bf_SO_75.js.map → escalation-ulsBFHVb.js.map} +1 -1
- package/dashboard/dist/assets/{helpers-nWSTagzD.js → helpers-etjHeZEI.js} +2 -2
- package/dashboard/dist/assets/{helpers-nWSTagzD.js.map → helpers-etjHeZEI.js.map} +1 -1
- package/dashboard/dist/assets/{index-BRYCB_g0.js → index-7Fbktqcl.js} +2 -2
- package/dashboard/dist/assets/{index-BRYCB_g0.js.map → index-7Fbktqcl.js.map} +1 -1
- package/dashboard/dist/assets/{index-CHBiEYmf.js → index-BkCkBW_D.js} +2 -2
- package/dashboard/dist/assets/{index-CHBiEYmf.js.map → index-BkCkBW_D.js.map} +1 -1
- package/dashboard/dist/assets/{index-B77P0ssX.js → index-BkOv2dQA.js} +2 -2
- package/dashboard/dist/assets/{index-B77P0ssX.js.map → index-BkOv2dQA.js.map} +1 -1
- package/dashboard/dist/assets/index-C37LMzJa.css +1 -0
- package/dashboard/dist/assets/{index-DUaF8VYe.js → index-CKDOaej4.js} +6 -6
- package/dashboard/dist/assets/index-CKDOaej4.js.map +1 -0
- package/dashboard/dist/assets/{index-Dp8iH4i2.js → index-CcvHiZW-.js} +2 -2
- package/dashboard/dist/assets/{index-Dp8iH4i2.js.map → index-CcvHiZW-.js.map} +1 -1
- package/dashboard/dist/assets/{index-BVXXvXlF.js → index-CihScSLF.js} +2 -2
- package/dashboard/dist/assets/{index-BVXXvXlF.js.map → index-CihScSLF.js.map} +1 -1
- package/dashboard/dist/assets/{index-wlL3EZ14.js → index-Cnpo94XG.js} +2 -2
- package/dashboard/dist/assets/{index-wlL3EZ14.js.map → index-Cnpo94XG.js.map} +1 -1
- package/dashboard/dist/assets/{index-CdUj8mKq.js → index-DFuHrLll.js} +2 -2
- package/dashboard/dist/assets/{index-CdUj8mKq.js.map → index-DFuHrLll.js.map} +1 -1
- package/dashboard/dist/assets/{index-0i5oHs_4.js → index-DGpIF_Td.js} +2 -2
- package/dashboard/dist/assets/{index-0i5oHs_4.js.map → index-DGpIF_Td.js.map} +1 -1
- package/dashboard/dist/assets/{index-C42ACUTi.js → index-DT0JeuiL.js} +2 -2
- package/dashboard/dist/assets/{index-C42ACUTi.js.map → index-DT0JeuiL.js.map} +1 -1
- package/dashboard/dist/assets/{index-MO0YnTPi.js → index-DT68ewTC.js} +2 -2
- package/dashboard/dist/assets/{index-MO0YnTPi.js.map → index-DT68ewTC.js.map} +1 -1
- package/dashboard/dist/assets/{index-DAQvhgrL.js → index-DVqtJBno.js} +2 -2
- package/dashboard/dist/assets/{index-DAQvhgrL.js.map → index-DVqtJBno.js.map} +1 -1
- package/dashboard/dist/assets/{index-BZu5zewH.js → index-DYmrNJ_H.js} +4 -4
- package/dashboard/dist/assets/index-DYmrNJ_H.js.map +1 -0
- package/dashboard/dist/assets/{knowledge-DJhm5z0p.js → knowledge-CXA2DJwY.js} +2 -2
- package/dashboard/dist/assets/{knowledge-DJhm5z0p.js.map → knowledge-CXA2DJwY.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-DMYXb9fv.js → mcp-DeC-PpeL.js} +2 -2
- package/dashboard/dist/assets/{mcp-DMYXb9fv.js.map → mcp-DeC-PpeL.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-DE-oPOvi.js → mcp-query-DldD_RPZ.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-DE-oPOvi.js.map → mcp-query-DldD_RPZ.js.map} +1 -1
- package/dashboard/dist/assets/{namespaces-Bjjm4EG1.js → namespaces-BIGZ6exX.js} +2 -2
- package/dashboard/dist/assets/{namespaces-Bjjm4EG1.js.map → namespaces-BIGZ6exX.js.map} +1 -1
- package/dashboard/dist/assets/{pipelines-C8aRprVr.js → pipelines-BtihifKT.js} +2 -2
- package/dashboard/dist/assets/{pipelines-C8aRprVr.js.map → pipelines-BtihifKT.js.map} +1 -1
- package/dashboard/dist/assets/{roles-CQsPYJXe.js → roles-4DocbpKy.js} +2 -2
- package/dashboard/dist/assets/{roles-CQsPYJXe.js.map → roles-4DocbpKy.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-BQ1c7trT.js → tasks-B9P_7SR_.js} +2 -2
- package/dashboard/dist/assets/{tasks-BQ1c7trT.js.map → tasks-B9P_7SR_.js.map} +1 -1
- package/dashboard/dist/assets/{topics-DIziCjqg.js → topics-CcLT-IrY.js} +2 -2
- package/dashboard/dist/assets/{topics-DIziCjqg.js.map → topics-CcLT-IrY.js.map} +1 -1
- package/dashboard/dist/assets/{useEventHooks-CPxcH6zx.js → useEventHooks-B9UOxef_.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-CPxcH6zx.js.map → useEventHooks-B9UOxef_.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-DnPywDgy.js → useYamlActivityEvents-V_MENSI5.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-DnPywDgy.js.map → useYamlActivityEvents-V_MENSI5.js.map} +1 -1
- package/dashboard/dist/assets/{users-CMGaVe_B.js → users-BHF3YOU1.js} +2 -2
- package/dashboard/dist/assets/{users-CMGaVe_B.js.map → users-BHF3YOU1.js.map} +1 -1
- package/dashboard/dist/assets/{workflows-CD7-d5w8.js → workflows-DorgmYSk.js} +2 -2
- package/dashboard/dist/assets/{workflows-CD7-d5w8.js.map → workflows-DorgmYSk.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-CIeymjZr.js → yaml-workflows-DTGpqnEG.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-CIeymjZr.js.map → yaml-workflows-DTGpqnEG.js.map} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/docs/api/http/escalations.md +96 -0
- package/docs/api/sdk/escalations.md +84 -0
- package/docs/cli.md +8 -0
- package/docs/sdk.md +1 -1
- package/package.json +1 -1
- package/dashboard/dist/assets/AgentConfigPage-DbqbFXEq.js +0 -16
- package/dashboard/dist/assets/AgentConfigPage-DbqbFXEq.js.map +0 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-D2cxvpAK.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-D2cxvpAK.js.map +0 -1
- package/dashboard/dist/assets/OperatorDashboard-B_QmNzLw.js +0 -2
- package/dashboard/dist/assets/OperatorDashboard-B_QmNzLw.js.map +0 -1
- package/dashboard/dist/assets/escalation-columns-DgY8c1hM.js +0 -2
- package/dashboard/dist/assets/escalation-columns-DgY8c1hM.js.map +0 -1
- package/dashboard/dist/assets/index-BZu5zewH.js.map +0 -1
- package/dashboard/dist/assets/index-DUaF8VYe.js.map +0 -1
- package/dashboard/dist/assets/index-ib-nDwd6.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ProcessesListPage-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ProcessesListPage-Sa-bjC-g.js","./vendor-query-B2UbickB.js","./tasks-B9P_7SR_.js","./workflows-DorgmYSk.js","./useEventHooks-B9UOxef_.js","./useFilterParams-x-Dg0Vgz.js","./vendor-react-CXumBFUA.js","./DataTable-D9yuBv0w.js","./EmptyState-BcsfPq9T.js","./TimestampCell-BJ6trAqW.js","./StickyPagination-BWhFSr2d.js","./FilterBar-Ck4K4rzu.js","./PageHeader-CR6TpJG_.js","./vendor-icons-CrrAvF2g.js","./ListToolbar-B60JrvJ9.js","./WorkflowPill-54px0YiY.js","./ProcessDetailPage-Dc5ASJpQ.js","./PageHeaderWithStats-CRcQEAO1.js","./StatusBadge-XQlNFwmH.js","./RolePill-BC54Vn-U.js","./UserName-MpSZ2_EH.js","./users-BHF3YOU1.js","./McpOverview-whVRP_Nj.js","./mcp-DeC-PpeL.js","./pipelines-BtihifKT.js","./yaml-workflows-DTGpqnEG.js","./namespaces-BIGZ6exX.js","./StatCard-DlgF0CJC.js","./McpRunsPage-BA6AVpi_.js","./ElapsedCell-DPYZnXsX.js","./RowActions-Dg-Fsm5O.js","./McpRunDetailPage-QEz8BCTu.js","./CopyableId-DaT0ZRHg.js","./CollapsibleSection-SM8_UjNe.js","./useCollapsedSections-BU5HULGs.js","./SwimlaneTimeline-CmzfFQ09.js","./EventTable-8_r3Tg09.js","./McpQueryPage-DciK6r7r.js","./mcp-query-DldD_RPZ.js","./McpQueryDetailPage-DPuujJkH.js","./useYamlActivityEvents-V_MENSI5.js","./TagInput-D6l1SPWd.js","./ToolPill-HcRTggHo.js","./RunAsSelector-yWEwIZRe.js","./BotPicker-BQ336piW.js","./bots-DCXjHjID.js","./TimeAgo-B_um9BWR.js","./EscalationsOverview-CTB8AEBd.js","./AvailableEscalationsPage-BWHThQDC.js","./roles-4DocbpKy.js","./constants-BHkpVaqx.js","./CustomDurationPicker-BCUcYxfB.js","./Modal-CSrxpXeM.js","./escalation-columns-CLqe28Ba.js","./PriorityBadge-DfQY9St9.js","./escalation-ulsBFHVb.js","./OperatorDashboard-DrUMzwnl.js","./index-CKDOaej4.js","./WorkflowsOverview-YFc_KBMS.js","./index-DVqtJBno.js","./helpers-etjHeZEI.js","./WorkflowsDashboard-BF7FpMmk.js","./YamlWorkflowsPage-BOLs5KTB.js","./useExpandedRows-CkcEntB-.js","./ServerName-Q6okiv4f.js","./TasksListPage-xdNmQsNE.js","./TaskDetailPage-CI4JTC62.js","./WorkflowExecutionPage-DqMqDb1h.js","./AdminDashboard-BuqyRY2r.js","./index-Cnpo94XG.js","./TaskQueuePill-iDBVCEQQ.js","./index-DFuHrLll.js","./ConfirmDeleteModal-D9_1b4MW.js","./StepIndicator-CuUIGxKk.js","./index-DT0JeuiL.js","./ToolTestPanel-DMQhLDES.js","./index-CihScSLF.js","./index-DT68ewTC.js","./RolesPage-DmO8Jlbw.js","./index-BkCkBW_D.js","./index-CcvHiZW-.js","./controlplane-Cm_-Gb1x.js","./index-7Fbktqcl.js","./CredentialsPage-f6niro9_.js","./index-BkOv2dQA.js","./DropZone-BkfRoUcm.js","./index-DGpIF_Td.js","./knowledge-CXA2DJwY.js","./HomePage-Bjxnjv6p.js","./EventTopicPill-CCWCs07y.js","./AgentsPage-B5gYDSOX.js","./agents-CPYVSCQ3.js","./AgentDetailPage-0Kq-tBF2.js","./CronLabel-DINmdqoe.js","./AgentConfigPage-Bum1dUIi.js","./capabilities-CreogBYU.js","./topics-CcLT-IrY.js","./CapabilitiesPage-CkiJROX-.js","./TopicsPage-B3QZNlWz.js","./TopicDetailPage-YeGQA0vD.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var mx=Object.defineProperty;var px=(r,n,s)=>n in r?mx(r,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[n]=s;var v=(r,n,s)=>px(r,typeof n!="symbol"?n+"":n,s);import{r as gx,a as T,j as m,u as Hn,b as Nn,c as Pn,Q as yx,d as bx}from"./vendor-query-B2UbickB.js";import{r as xx,L as gr,u as Ws,N as No,a as ng,b as Fs,O as wo,c as sg,d as vx,R as _x}from"./vendor-react-CXumBFUA.js";import{C as wx,I as Sx,R as ig,B as rg,U as Ex,A as Ax,Z as Ox,a as jx,S as Tx,P as Nx,b as Cx,c as kx,G as Mx,L as Rx,W as Dx,d as zx,e as qx,F as Ux,f as Bx,g as Lx,T as Hx,h as Px,N as $x,i as Yx,D as Gx,j as Vx,M as ag,k as lg,l as Fx,m as Jx,n as Qx,E as Ix,X as Po,o as Xx,p as Kx,q as Zx,r as Kp,s as og,t as Wx,u as ev,v as tv,w as nv,x as sv}from"./vendor-icons-CrrAvF2g.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))a(o);new MutationObserver(o=>{for(const f of o)if(f.type==="childList")for(const h of f.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&a(h)}).observe(document,{childList:!0,subtree:!0});function s(o){const f={};return o.integrity&&(f.integrity=o.integrity),o.referrerPolicy&&(f.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?f.credentials="include":o.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function a(o){if(o.ep)return;o.ep=!0;const f=s(o);fetch(o.href,f)}})();var rf={exports:{}},wa={},af={exports:{}},lf={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* scheduler.production.js
|
|
@@ -50,7 +50,7 @@ ${g}`),w(M);return}d(null,B),a.strategy===jn.Count&&(y--,y===0&&w()),a.strategy=
|
|
|
50
50
|
|
|
51
51
|
${d.stack}`),g.unsubscribe(),h.reject(y)):(y=pg(E),y?(d&&(y.stack+=`
|
|
52
52
|
|
|
53
|
-
${d.stack}`),h.reject(y)):h.resolve(E))}});return g.requestSubject=n,this.protocol.publish(n,s,{reply:f,headers:a.headers}),h}else{const f=new bg(this.protocol.muxSubscriptions,n,a,o);this.protocol.request(f);try{this.publish(n,s,{reply:`${this.protocol.muxSubscriptions.baseInbox}${f.token}`,headers:a.headers})}catch(d){f.cancel(d)}const h=Promise.race([f.timer,f.deferred]);return h.catch(()=>{f.cancel()}),h}}flush(){return this.isClosed()?Promise.reject(ue.errorForCode(ie.ConnectionClosed)):this.protocol.flush()}drain(){return this.isClosed()?Promise.reject(ue.errorForCode(ie.ConnectionClosed)):this.isDraining()?Promise.reject(ue.errorForCode(ie.ConnectionDraining)):(this.draining=!0,this.protocol.drain())}isClosed(){return this.protocol.isClosed()}isDraining(){return this.draining}getServer(){const n=this.protocol.getServer();return n?n.listen:""}status(){const n=new _t;return n.iterClosed.then(()=>{const s=this.listeners.indexOf(n);this.listeners.splice(s,1)}),this.listeners.push(n),n}get info(){return this.protocol.isClosed()?void 0:this.protocol.info}async context(){return(await this.request("$SYS.REQ.USER.INFO")).json((s,a)=>s==="time"?new Date(Date.parse(a)):a)}stats(){return{inBytes:this.protocol.inBytes,outBytes:this.protocol.outBytes,inMsgs:this.protocol.inMsgs,outMsgs:this.protocol.outMsgs}}async jetstreamManager(n={}){const s=new Q1(this,n);if(n.checkAPI!==!1)try{await s.getAccountInfo()}catch(a){const o=a;throw o.code===ie.NoResponders&&(o.code=ie.JetStreamNotEnabled),o}return s}jetstream(n={}){return new th(this,n)}getServerVersion(){const n=this.info;return n?Ai(n.version):void 0}async rtt(){if(!this.protocol._closed&&!this.protocol.connected)throw ue.errorForCode(ie.Disconnect);const n=Date.now();return await this.flush(),Date.now()-n}get features(){return this.protocol.features}get services(){return this._services||(this._services=new Z1(this)),this._services}reconnect(){return this.isClosed()?Promise.reject(ue.errorForCode(ie.ConnectionClosed)):this.isDraining()?Promise.reject(ue.errorForCode(ie.ConnectionDraining)):this.protocol.reconnect()}}class Z1{constructor(n){v(this,"nc");this.nc=n}add(n){try{return new $a(this.nc,n).start()}catch(s){return Promise.reject(s)}}client(n,s){return new k1(this.nc,n,s)}}class W1{constructor(n,s,a){v(this,"bucket");v(this,"sm");v(this,"prefixLen");this.bucket=n,this.prefixLen=s,this.sm=a}get key(){return this.sm.subject.substring(this.prefixLen)}get value(){return this.sm.data}get delta(){return 0}get created(){return this.sm.time}get revision(){return this.sm.seq}get operation(){return this.sm.header.get(Uo)||"PUT"}get length(){const n=this.sm.header.get(Dt.MessageSizeHdr)||"";return n!==""?parseInt(n,10):this.sm.data.length}json(){return this.sm.json()}string(){return this.sm.string()}}class e_{constructor(n,s,a){v(this,"bucket");v(this,"key");v(this,"sm");this.bucket=n,this.key=s,this.sm=a}get value(){return this.sm.data}get created(){return new Date(Xf(this.sm.info.timestampNanos))}get revision(){return this.sm.seq}get operation(){var n;return((n=this.sm.headers)==null?void 0:n.get(Uo))||"PUT"}get delta(){return this.sm.info.pending}get length(){var s;const n=((s=this.sm.headers)==null?void 0:s.get(Dt.MessageSizeHdr))||"";return n!==""?parseInt(n,10):this.sm.data.length}json(){return this.sm.json()}string(){return this.sm.string()}}class Tg extends Yv{constructor(s,a,o){super(s.nc,a,o);v(this,"js");v(this,"monitor");this.js=s,this.monitor=null,this.sub.closed.then(()=>{this.monitor&&this.monitor.cancel()})}set info(s){this.sub.info=s}get info(){return this.sub.info}_resetOrderedConsumer(s){if(this.info===null||this.sub.isClosed())return;const a=us(this.js.nc.options.inboxPrefix);this.js.nc._resub(this.sub,a);const f=this.info;f.config.name=Ks.next(),f.ordered_consumer_sequence.delivery_seq=0,f.flow_control.heartbeat_count=0,f.flow_control.fc_count=0,f.flow_control.consumer_restarts++,f.deliver=a,f.config.deliver_subject=a,f.config.deliver_policy=ft.StartSequence,f.config.opt_start_seq=s;const h={};h.stream_name=this.info.stream,h.config=f.config;const d=`${f.api.prefix}.CONSUMER.CREATE.${f.stream}`;this.js._request(d,h,{retries:-1}).then(g=>{const y=g,E=this.sub.info;E.last=y,this.info.config=y.config,this.info.name=y.name}).catch(g=>{const y=new ue(`unable to recreate ordered consumer ${f.stream} at seq ${s}`,ie.RequestError,g);this.sub.callback(y,{})})}_maybeSetupHbMonitoring(){var a,o;const s=((o=(a=this.info)==null?void 0:a.config)==null?void 0:o.idle_heartbeat)||0;s&&this._setupHbMonitoring(Xf(s))}_setupHbMonitoring(s,a=0){const o={cancelAfter:0,maxOut:2};a&&(o.cancelAfter=a);const f=this.sub,h=d=>{var E,w,j,z;const g=Sv(409,`${yn.IdleHeartbeatMissed}: ${d}`,this.sub.subject);if(!((E=this.info)==null?void 0:E.ordered))this.sub.callback(null,g);else{if(!this.js.nc.protocol.connected)return!1;const M=((j=(w=this.info)==null?void 0:w.ordered_consumer_sequence)==null?void 0:j.stream_seq)||0;return this._resetOrderedConsumer(M+1),(z=this.monitor)==null||z.restart(),!1}return!f.noIterator};this.monitor=new Zf(s,h,o)}_checkHbOrderConsumer(s){const a=s.headers.get(Dt.ConsumerStalledHdr);a!==""&&this.js.nc.publish(a);const o=parseInt(s.headers.get(Dt.LastConsumerSeqHdr),10),f=this.info.ordered_consumer_sequence;return this.info.flow_control.heartbeat_count++,o!==f.delivery_seq&&this._resetOrderedConsumer(f.stream_seq+1),!1}_checkOrderedConsumer(s){const a=this.info.ordered_consumer_sequence,o=s.info.streamSequence,f=s.info.deliverySequence;return f!=a.delivery_seq+1?(this._resetOrderedConsumer(a.stream_seq+1),!1):(a.delivery_seq=f,a.stream_seq=o,!0)}async destroy(){this.isClosed()||await this.drain();const s=this.sub.info,a=s.config.durable_name||s.name,o=`${s.api.prefix}.CONSUMER.DELETE.${s.stream}.${a}`;await s.api._request(o)}async consumerInfo(){const s=this.sub.info,a=s.config.durable_name||s.name,o=`${s.api.prefix}.CONSUMER.INFO.${s.stream}.${a}`,f=await s.api._request(o);return s.last=f,f}}class t_ extends Tg{constructor(n,s,a){super(n,s,a)}pull(n={batch:1}){const{stream:s,config:a,name:o}=this.sub.info,f=a.durable_name??o,h={};if(h.batch=n.batch||1,h.no_wait=n.no_wait||!1,(n.max_bytes??0)>0){const y=this.js.nc.features.get(ze.JS_PULL_MAX_BYTES);if(!y.ok)throw new Error(`max_bytes is only supported on servers ${y.min} or better`);h.max_bytes=n.max_bytes}let d=0;n.expires&&n.expires>0&&(d=n.expires,h.expires=nt(d));let g=0;if(n.idle_heartbeat&&n.idle_heartbeat>0&&(g=n.idle_heartbeat,h.idle_heartbeat=nt(g)),g&&d===0)throw new Error("idle_heartbeat requires expires");if(g>d)throw new Error("expires must be greater than idle_heartbeat");if(this.info){this.monitor&&this.monitor.cancel(),d&&g&&(this.monitor?this.monitor._change(g,d):this._setupHbMonitoring(g,d));const y=this.info.api,E=`${y.prefix}.CONSUMER.MSG.NEXT.${s}.${f}`,w=this.sub.subject;y.nc.publish(E,y.jc.encode(h),{reply:w})}}}function n_(r,n){return r?i_(n):s_(n)}function s_(r){return(n,s)=>n?[n,null]:(n=vr(s),n?[n,null]:[null,La(s,r)])}function i_(r){return(n,s)=>{if(n)return[n,null];const a=vr(s);return a!==null?[Ng(a),null]:[null,La(s,r)]}}function Ng(r){if(r!==null)switch(r.code){case ie.JetStream404NoMessages:case ie.JetStream408RequestTimeout:return null;case ie.JetStream409:return Ev(r)?r:null;default:return r}return null}function r_(r){r&&r.ack()}function a_(r){const n=r.split(".");if(n.length===9&&n.splice(2,0,"_",""),n.length<11||n[0]!=="$JS"||n[1]!=="ACK")throw new Error("not js message");const s={};return s.domain=n[2]==="_"?"":n[2],s.account_hash=n[3],s.stream=n[4],s.consumer=n[5],s.deliveryCount=parseInt(n[6],10),s.redeliveryCount=s.deliveryCount,s.redelivered=s.deliveryCount>1,s.streamSequence=parseInt(n[7],10),s.deliverySequence=parseInt(n[8],10),s.timestampNanos=parseInt(n[9],10),s.pending=parseInt(n[10],10),s}class l_{constructor(n,s){v(this,"msg");v(this,"di");v(this,"didAck");v(this,"timeout");this.msg=n,this.didAck=!1,this.timeout=s}get subject(){return this.msg.subject}get sid(){return this.msg.sid}get data(){return this.msg.data}get headers(){return this.msg.headers}get info(){return this.di||(this.di=a_(this.reply)),this.di}get redelivered(){return this.info.deliveryCount>1}get reply(){return this.msg.reply||""}get seq(){return this.info.streamSequence}doAck(n){this.didAck||(this.didAck=!this.isWIP(n),this.msg.respond(n))}isWIP(n){return n.length===4&&n[0]===Ea[0]&&n[1]===Ea[1]&&n[2]===Ea[2]&&n[3]===Ea[3]}async ackAck(n){var a;n=n||{},n.timeout=n.timeout||this.timeout;const s=st();if(this.didAck)s.resolve(!1);else if(this.didAck=!0,this.msg.reply){const f=this.msg.publisher,h=!((a=f.options)!=null&&a.noAsyncTraces),d=new bg(f.muxSubscriptions,this.msg.reply,{timeout:n.timeout},h);f.request(d);try{f.publish(this.msg.reply,O0,{reply:`${f.muxSubscriptions.baseInbox}${d.token}`})}catch(g){d.cancel(g)}try{await Promise.race([d.timer,d.deferred]),s.resolve(!0)}catch(g){d.cancel(g),s.reject(g)}}else s.resolve(!1);return s}ack(){this.doAck(O0)}nak(n){let s=P1;n&&(s=Af().encode(`-NAK ${JSON.stringify({delay:nt(n)})}`)),this.doAck(s)}working(){this.doAck(Ea)}next(n,s={batch:1}){const a={};a.batch=s.batch||1,a.no_wait=s.no_wait||!1,s.expires&&s.expires>0&&(a.expires=nt(s.expires));const o=Tn().encode(a),f=Ar.concat($1,G1,o),h=n?{reply:n}:void 0;this.msg.respond(f,h)}term(n=""){let s=Y1;(n==null?void 0:n.length)>0&&(s=Af().encode(`+TERM ${n}`)),this.doAck(s)}json(){return this.msg.json()}string(){return this.msg.string()}}const o_="1.30.3",c_="nats.ws";class u_{constructor(){v(this,"version");v(this,"lang");v(this,"closeError");v(this,"connected");v(this,"done");v(this,"socket");v(this,"options");v(this,"socketClosed");v(this,"encrypted");v(this,"peeked");v(this,"yields");v(this,"signal");v(this,"closedNotification");this.version=o_,this.lang=c_,this.connected=!1,this.done=!1,this.socketClosed=!1,this.encrypted=!1,this.peeked=!1,this.yields=[],this.signal=st(),this.closedNotification=st()}async connect(n,s){const a=st();if(s.tls)return a.reject(new ue("tls",ie.InvalidOption)),a;this.options=s;const o=n.src;if(s.wsFactory){const{socket:f,encrypted:h}=await s.wsFactory(n.src,s);this.socket=f,this.encrypted=h}else this.encrypted=o.indexOf("wss://")===0,this.socket=new WebSocket(o);return this.socket.binaryType="arraybuffer",this.socket.onopen=()=>{this.isDiscarded()},this.socket.onmessage=f=>{if(this.isDiscarded())return;if(this.yields.push(new Uint8Array(f.data)),this.peeked){this.signal.resolve();return}const h=Ar.concat(...this.yields),d=Iv(h);if(d!==""){const g=S1.exec(d);if(!g){s.debug&&console.error("!!!",mo(h)),a.reject(new Error("unexpected response from server"));return}try{const y=JSON.parse(g[1]);_1(y,this.options),this.peeked=!0,this.connected=!0,this.signal.resolve(),a.resolve()}catch(y){a.reject(y);return}}},this.socket.onclose=f=>{if(this.isDiscarded())return;this.socketClosed=!0;let h;this.done||(f.wasClean||(h=new Error(f.reason)),this._closed(h))},this.socket.onerror=f=>{if(this.isDiscarded())return;const h=f,d=new ue(h.message,ie.Unknown,new Error(h.error));a.reject(d)},a}disconnect(){this._closed(void 0,!0)}async _closed(n,s=!0){if(!this.isDiscarded()&&this.connected&&!this.done){if(this.closeError=n,!n)for(;!this.socketClosed&&this.socket.bufferedAmount>0;)await Or(100);this.done=!0;try{this.socket.close(n?1002:1e3,n?n.message:void 0)}catch{}s&&this.closedNotification.resolve(n)}}get isClosed(){return this.done}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){for(;;){if(this.isDiscarded())return;this.yields.length===0&&await this.signal;const n=this.yields;this.yields=[];for(let s=0;s<n.length;s++)this.options.debug&&console.info(`> ${mo(n[s])}`),yield n[s];if(this.done)break;this.yields.length===0&&(n.length=0,this.yields=n,this.signal=st())}}isEncrypted(){return this.connected&&this.encrypted}send(n){if(!this.isDiscarded())try{this.socket.send(n.buffer),this.options.debug&&console.info(`< ${mo(n)}`);return}catch(s){this.options.debug&&console.error(`!!! ${mo(n)}: ${s}`)}}close(n){return this._closed(n,!1)}closed(){return this.closedNotification}isDiscarded(){return this.done?(this.discard(),!0):!1}discard(){var n;this.done=!0;try{(n=this.socket)==null||n.close()}catch{}}}function f_(r,n){/^(.*:\/\/)(.*)/.test(r)||(typeof n=="boolean"?r=`${n===!0?"https":"http"}://${r}`:r=`https://${r}`);let a=new URL(r);const o=a.protocol.toLowerCase();o==="ws:"&&(n=!1),o==="wss:"&&(n=!0),o!=="https:"&&o!=="http"&&(r=r.replace(/^(.*:\/\/)(.*)/gm,"$2"),a=new URL(`http://${r}`));let f,h;const d=a.hostname,g=a.pathname,y=a.search||"";switch(o){case"http:":case"ws:":case"nats:":h=a.port||"80",f="ws:";break;case"https:":case"wss:":case"tls:":h=a.port||"443",f="wss:";break;default:h=a.port||n===!0?"443":"80",f=n===!0?"wss:":"ws:";break}return`${f}//${d}:${h}${g}${y}`}function h_(r={}){return Gv({defaultPort:443,urlParseFn:f_,factory:()=>new u_}),nh.connect(r)}const d_="ws://localhost:9222",m_="dev_api_secret",p_="lt.events";function Cg(r,n){const s=r.split("."),a=n.split(".");for(let o=0;o<a.length;o++){const f=a[o];if(f===">")return!0;if(o>=s.length||f!=="*"&&f!==s[o])return!1}return s.length===a.length}const Ya=T.createContext({connected:!1,subscribe:()=>()=>{}});function g_(){const{connected:r}=T.useContext(Ya);return{connected:r}}function y_(r,n){const{subscribe:s}=T.useContext(Ya),a=T.useRef(n);a.current=n,T.useEffect(()=>s(r,f=>a.current(f)),[s,r])}const b_=T.createContext({connected:!1,subscribe:()=>()=>{}}),x_=Af();function v_({children:r,url:n,token:s}){const a=T.useRef(null),o=T.useRef(null),[f,h]=T.useState(!1),d=T.useRef(null),g=T.useRef(new Map),y=T.useCallback((j,z)=>{const M=g.current;return M.has(j)||M.set(j,new Set),M.get(j).add(z),()=>{const B=M.get(j);B&&(B.delete(z),B.size===0&&M.delete(j))}},[]),E=T.useCallback((j,z)=>{for(const[M,B]of g.current)if(Cg(j,M))for(const V of B)try{V(z)}catch{}},[]),w=T.useCallback(async()=>{try{if(a.current)return;const j=await h_({servers:n||d_,token:s||m_,reconnect:!0,maxReconnectAttempts:-1,reconnectTimeWait:2e3});a.current=j,h(!0);const z=j.subscribe("lt.>");o.current=z,(async()=>{for await(const M of z)try{const B=JSON.parse(x_.decode(M.data));E(M.subject,B)}catch{}})(),(async()=>{for await(const M of j.status())M.type==="disconnect"||M.type==="error"?h(!1):M.type==="reconnect"&&h(!0)})()}catch{h(!1),d.current=setTimeout(w,3e3)}},[E]);return T.useEffect(()=>(w(),()=>{d.current&&clearTimeout(d.current),o.current&&o.current.unsubscribe(),a.current&&(a.current.close().catch(()=>{}),a.current=null),h(!1)}),[w]),m.jsx(b_.Provider,{value:{connected:f,subscribe:y},children:m.jsx(Ya.Provider,{value:{connected:f,subscribe:y},children:r})})}const Ln=Object.create(null);Ln.open="0";Ln.close="1";Ln.ping="2";Ln.pong="3";Ln.message="4";Ln.upgrade="5";Ln.noop="6";const Ao=Object.create(null);Object.keys(Ln).forEach(r=>{Ao[Ln[r]]=r});const Lf={type:"error",data:"parser error"},kg=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Mg=typeof ArrayBuffer=="function",Rg=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r&&r.buffer instanceof ArrayBuffer,sh=({type:r,data:n},s,a)=>kg&&n instanceof Blob?s?a(n):T0(n,a):Mg&&(n instanceof ArrayBuffer||Rg(n))?s?a(n):T0(new Blob([n]),a):a(Ln[r]+(n||"")),T0=(r,n)=>{const s=new FileReader;return s.onload=function(){const a=s.result.split(",")[1];n("b"+(a||""))},s.readAsDataURL(r)};function N0(r){return r instanceof Uint8Array?r:r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}let gf;function __(r,n){if(kg&&r.data instanceof Blob)return r.data.arrayBuffer().then(N0).then(n);if(Mg&&(r.data instanceof ArrayBuffer||Rg(r.data)))return n(N0(r.data));sh(r,!1,s=>{gf||(gf=new TextEncoder),n(gf.encode(s))})}const C0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ca=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let r=0;r<C0.length;r++)Ca[C0.charCodeAt(r)]=r;const w_=r=>{let n=r.length*.75,s=r.length,a,o=0,f,h,d,g;r[r.length-1]==="="&&(n--,r[r.length-2]==="="&&n--);const y=new ArrayBuffer(n),E=new Uint8Array(y);for(a=0;a<s;a+=4)f=Ca[r.charCodeAt(a)],h=Ca[r.charCodeAt(a+1)],d=Ca[r.charCodeAt(a+2)],g=Ca[r.charCodeAt(a+3)],E[o++]=f<<2|h>>4,E[o++]=(h&15)<<4|d>>2,E[o++]=(d&3)<<6|g&63;return y},S_=typeof ArrayBuffer=="function",ih=(r,n)=>{if(typeof r!="string")return{type:"message",data:Dg(r,n)};const s=r.charAt(0);return s==="b"?{type:"message",data:E_(r.substring(1),n)}:Ao[s]?r.length>1?{type:Ao[s],data:r.substring(1)}:{type:Ao[s]}:Lf},E_=(r,n)=>{if(S_){const s=w_(r);return Dg(s,n)}else return{base64:!0,data:r}},Dg=(r,n)=>{switch(n){case"blob":return r instanceof Blob?r:new Blob([r]);case"arraybuffer":default:return r instanceof ArrayBuffer?r:r.buffer}},zg="",A_=(r,n)=>{const s=r.length,a=new Array(s);let o=0;r.forEach((f,h)=>{sh(f,!1,d=>{a[h]=d,++o===s&&n(a.join(zg))})})},O_=(r,n)=>{const s=r.split(zg),a=[];for(let o=0;o<s.length;o++){const f=ih(s[o],n);if(a.push(f),f.type==="error")break}return a};function j_(){return new TransformStream({transform(r,n){__(r,s=>{const a=s.length;let o;if(a<126)o=new Uint8Array(1),new DataView(o.buffer).setUint8(0,a);else if(a<65536){o=new Uint8Array(3);const f=new DataView(o.buffer);f.setUint8(0,126),f.setUint16(1,a)}else{o=new Uint8Array(9);const f=new DataView(o.buffer);f.setUint8(0,127),f.setBigUint64(1,BigInt(a))}r.data&&typeof r.data!="string"&&(o[0]|=128),n.enqueue(o),n.enqueue(s)})}})}let yf;function bo(r){return r.reduce((n,s)=>n+s.length,0)}function xo(r,n){if(r[0].length===n)return r.shift();const s=new Uint8Array(n);let a=0;for(let o=0;o<n;o++)s[o]=r[0][a++],a===r[0].length&&(r.shift(),a=0);return r.length&&a<r[0].length&&(r[0]=r[0].slice(a)),s}function T_(r,n){yf||(yf=new TextDecoder);const s=[];let a=0,o=-1,f=!1;return new TransformStream({transform(h,d){for(s.push(h);;){if(a===0){if(bo(s)<1)break;const g=xo(s,1);f=(g[0]&128)===128,o=g[0]&127,o<126?a=3:o===126?a=1:a=2}else if(a===1){if(bo(s)<2)break;const g=xo(s,2);o=new DataView(g.buffer,g.byteOffset,g.length).getUint16(0),a=3}else if(a===2){if(bo(s)<8)break;const g=xo(s,8),y=new DataView(g.buffer,g.byteOffset,g.length),E=y.getUint32(0);if(E>Math.pow(2,21)-1){d.enqueue(Lf);break}o=E*Math.pow(2,32)+y.getUint32(4),a=3}else{if(bo(s)<o)break;const g=xo(s,o);d.enqueue(ih(f?g:yf.decode(g),n)),a=0}if(o===0||o>r){d.enqueue(Lf);break}}}})}const qg=4;function gt(r){if(r)return N_(r)}function N_(r){for(var n in gt.prototype)r[n]=gt.prototype[n];return r}gt.prototype.on=gt.prototype.addEventListener=function(r,n){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(n),this};gt.prototype.once=function(r,n){function s(){this.off(r,s),n.apply(this,arguments)}return s.fn=n,this.on(r,s),this};gt.prototype.off=gt.prototype.removeListener=gt.prototype.removeAllListeners=gt.prototype.removeEventListener=function(r,n){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var s=this._callbacks["$"+r];if(!s)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var a,o=0;o<s.length;o++)if(a=s[o],a===n||a.fn===n){s.splice(o,1);break}return s.length===0&&delete this._callbacks["$"+r],this};gt.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var n=new Array(arguments.length-1),s=this._callbacks["$"+r],a=1;a<arguments.length;a++)n[a-1]=arguments[a];if(s){s=s.slice(0);for(var a=0,o=s.length;a<o;++a)s[a].apply(this,n)}return this};gt.prototype.emitReserved=gt.prototype.emit;gt.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]};gt.prototype.hasListeners=function(r){return!!this.listeners(r).length};const Fo=typeof Promise=="function"&&typeof Promise.resolve=="function"?n=>Promise.resolve().then(n):(n,s)=>s(n,0),bn=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),C_="arraybuffer";function Ug(r,...n){return n.reduce((s,a)=>(r.hasOwnProperty(a)&&(s[a]=r[a]),s),{})}const k_=bn.setTimeout,M_=bn.clearTimeout;function Jo(r,n){n.useNativeTimers?(r.setTimeoutFn=k_.bind(bn),r.clearTimeoutFn=M_.bind(bn)):(r.setTimeoutFn=bn.setTimeout.bind(bn),r.clearTimeoutFn=bn.clearTimeout.bind(bn))}const R_=1.33;function D_(r){return typeof r=="string"?z_(r):Math.ceil((r.byteLength||r.size)*R_)}function z_(r){let n=0,s=0;for(let a=0,o=r.length;a<o;a++)n=r.charCodeAt(a),n<128?s+=1:n<2048?s+=2:n<55296||n>=57344?s+=3:(a++,s+=4);return s}function Bg(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function q_(r){let n="";for(let s in r)r.hasOwnProperty(s)&&(n.length&&(n+="&"),n+=encodeURIComponent(s)+"="+encodeURIComponent(r[s]));return n}function U_(r){let n={},s=r.split("&");for(let a=0,o=s.length;a<o;a++){let f=s[a].split("=");n[decodeURIComponent(f[0])]=decodeURIComponent(f[1])}return n}class B_ extends Error{constructor(n,s,a){super(n),this.description=s,this.context=a,this.type="TransportError"}}class rh extends gt{constructor(n){super(),this.writable=!1,Jo(this,n),this.opts=n,this.query=n.query,this.socket=n.socket,this.supportsBinary=!n.forceBase64}onError(n,s,a){return super.emitReserved("error",new B_(n,s,a)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(n){this.readyState==="open"&&this.write(n)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(n){const s=ih(n,this.socket.binaryType);this.onPacket(s)}onPacket(n){super.emitReserved("packet",n)}onClose(n){this.readyState="closed",super.emitReserved("close",n)}pause(n){}createUri(n,s={}){return n+"://"+this._hostname()+this._port()+this.opts.path+this._query(s)}_hostname(){const n=this.opts.hostname;return n.indexOf(":")===-1?n:"["+n+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(n){const s=q_(n);return s.length?"?"+s:""}}class L_ extends rh{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(n){this.readyState="pausing";const s=()=>{this.readyState="paused",n()};if(this._polling||!this.writable){let a=0;this._polling&&(a++,this.once("pollComplete",function(){--a||s()})),this.writable||(a++,this.once("drain",function(){--a||s()}))}else s()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(n){const s=a=>{if(this.readyState==="opening"&&a.type==="open"&&this.onOpen(),a.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(a)};O_(n,this.socket.binaryType).forEach(s),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const n=()=>{this.write([{type:"close"}])};this.readyState==="open"?n():this.once("open",n)}write(n){this.writable=!1,A_(n,s=>{this.doWrite(s,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const n=this.opts.secure?"https":"http",s=this.query||{};return this.opts.timestampRequests!==!1&&(s[this.opts.timestampParam]=Bg()),!this.supportsBinary&&!s.sid&&(s.b64=1),this.createUri(n,s)}}let Lg=!1;try{Lg=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const H_=Lg;function P_(){}class $_ extends L_{constructor(n){if(super(n),typeof location<"u"){const s=location.protocol==="https:";let a=location.port;a||(a=s?"443":"80"),this.xd=typeof location<"u"&&n.hostname!==location.hostname||a!==n.port}}doWrite(n,s){const a=this.request({method:"POST",data:n});a.on("success",s),a.on("error",(o,f)=>{this.onError("xhr post error",o,f)})}doPoll(){const n=this.request();n.on("data",this.onData.bind(this)),n.on("error",(s,a)=>{this.onError("xhr poll error",s,a)}),this.pollXhr=n}}class Un extends gt{constructor(n,s,a){super(),this.createRequest=n,Jo(this,a),this._opts=a,this._method=a.method||"GET",this._uri=s,this._data=a.data!==void 0?a.data:null,this._create()}_create(){var n;const s=Ug(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");s.xdomain=!!this._opts.xd;const a=this._xhr=this.createRequest(s);try{a.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){a.setDisableHeaderCheck&&a.setDisableHeaderCheck(!0);for(let o in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(o)&&a.setRequestHeader(o,this._opts.extraHeaders[o])}}catch{}if(this._method==="POST")try{a.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{a.setRequestHeader("Accept","*/*")}catch{}(n=this._opts.cookieJar)===null||n===void 0||n.addCookies(a),"withCredentials"in a&&(a.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(a.timeout=this._opts.requestTimeout),a.onreadystatechange=()=>{var o;a.readyState===3&&((o=this._opts.cookieJar)===null||o===void 0||o.parseCookies(a.getResponseHeader("set-cookie"))),a.readyState===4&&(a.status===200||a.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof a.status=="number"?a.status:0)},0))},a.send(this._data)}catch(o){this.setTimeoutFn(()=>{this._onError(o)},0);return}typeof document<"u"&&(this._index=Un.requestsCount++,Un.requests[this._index]=this)}_onError(n){this.emitReserved("error",n,this._xhr),this._cleanup(!0)}_cleanup(n){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=P_,n)try{this._xhr.abort()}catch{}typeof document<"u"&&delete Un.requests[this._index],this._xhr=null}}_onLoad(){const n=this._xhr.responseText;n!==null&&(this.emitReserved("data",n),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}Un.requestsCount=0;Un.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",k0);else if(typeof addEventListener=="function"){const r="onpagehide"in bn?"pagehide":"unload";addEventListener(r,k0,!1)}}function k0(){for(let r in Un.requests)Un.requests.hasOwnProperty(r)&&Un.requests[r].abort()}const Y_=(function(){const r=Hg({xdomain:!1});return r&&r.responseType!==null})();class G_ extends $_{constructor(n){super(n);const s=n&&n.forceBase64;this.supportsBinary=Y_&&!s}request(n={}){return Object.assign(n,{xd:this.xd},this.opts),new Un(Hg,this.uri(),n)}}function Hg(r){const n=r.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!n||H_))return new XMLHttpRequest}catch{}if(!n)try{return new bn[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const Pg=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class V_ extends rh{get name(){return"websocket"}doOpen(){const n=this.uri(),s=this.opts.protocols,a=Pg?{}:Ug(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(a.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(n,s,a)}catch(o){return this.emitReserved("error",o)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=n=>this.onClose({description:"websocket connection closed",context:n}),this.ws.onmessage=n=>this.onData(n.data),this.ws.onerror=n=>this.onError("websocket error",n)}write(n){this.writable=!1;for(let s=0;s<n.length;s++){const a=n[s],o=s===n.length-1;sh(a,this.supportsBinary,f=>{try{this.doWrite(a,f)}catch{}o&&Fo(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const n=this.opts.secure?"wss":"ws",s=this.query||{};return this.opts.timestampRequests&&(s[this.opts.timestampParam]=Bg()),this.supportsBinary||(s.b64=1),this.createUri(n,s)}}const bf=bn.WebSocket||bn.MozWebSocket;class F_ extends V_{createSocket(n,s,a){return Pg?new bf(n,s,a):s?new bf(n,s):new bf(n)}doWrite(n,s){this.ws.send(s)}}class J_ extends rh{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(n){return this.emitReserved("error",n)}this._transport.closed.then(()=>{this.onClose()}).catch(n=>{this.onError("webtransport error",n)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(n=>{const s=T_(Number.MAX_SAFE_INTEGER,this.socket.binaryType),a=n.readable.pipeThrough(s).getReader(),o=j_();o.readable.pipeTo(n.writable),this._writer=o.writable.getWriter();const f=()=>{a.read().then(({done:d,value:g})=>{d||(this.onPacket(g),f())}).catch(d=>{})};f();const h={type:"open"};this.query.sid&&(h.data=`{"sid":"${this.query.sid}"}`),this._writer.write(h).then(()=>this.onOpen())})})}write(n){this.writable=!1;for(let s=0;s<n.length;s++){const a=n[s],o=s===n.length-1;this._writer.write(a).then(()=>{o&&Fo(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var n;(n=this._transport)===null||n===void 0||n.close()}}const Q_={websocket:F_,webtransport:J_,polling:G_},I_=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,X_=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Hf(r){if(r.length>8e3)throw"URI too long";const n=r,s=r.indexOf("["),a=r.indexOf("]");s!=-1&&a!=-1&&(r=r.substring(0,s)+r.substring(s,a).replace(/:/g,";")+r.substring(a,r.length));let o=I_.exec(r||""),f={},h=14;for(;h--;)f[X_[h]]=o[h]||"";return s!=-1&&a!=-1&&(f.source=n,f.host=f.host.substring(1,f.host.length-1).replace(/;/g,":"),f.authority=f.authority.replace("[","").replace("]","").replace(/;/g,":"),f.ipv6uri=!0),f.pathNames=K_(f,f.path),f.queryKey=Z_(f,f.query),f}function K_(r,n){const s=/\/{2,9}/g,a=n.replace(s,"/").split("/");return(n.slice(0,1)=="/"||n.length===0)&&a.splice(0,1),n.slice(-1)=="/"&&a.splice(a.length-1,1),a}function Z_(r,n){const s={};return n.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(a,o,f){o&&(s[o]=f)}),s}const Pf=typeof addEventListener=="function"&&typeof removeEventListener=="function",Oo=[];Pf&&addEventListener("offline",()=>{Oo.forEach(r=>r())},!1);class Xs extends gt{constructor(n,s){if(super(),this.binaryType=C_,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,n&&typeof n=="object"&&(s=n,n=null),n){const a=Hf(n);s.hostname=a.host,s.secure=a.protocol==="https"||a.protocol==="wss",s.port=a.port,a.query&&(s.query=a.query)}else s.host&&(s.hostname=Hf(s.host).host);Jo(this,s),this.secure=s.secure!=null?s.secure:typeof location<"u"&&location.protocol==="https:",s.hostname&&!s.port&&(s.port=this.secure?"443":"80"),this.hostname=s.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=s.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},s.transports.forEach(a=>{const o=a.prototype.name;this.transports.push(o),this._transportsByName[o]=a}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},s),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=U_(this.opts.query)),Pf&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},Oo.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(n){const s=Object.assign({},this.opts.query);s.EIO=qg,s.transport=n,this.id&&(s.sid=this.id);const a=Object.assign({},this.opts,{query:s,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[n]);return new this._transportsByName[n](a)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const n=this.opts.rememberUpgrade&&Xs.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const s=this.createTransport(n);s.open(),this.setTransport(s)}setTransport(n){this.transport&&this.transport.removeAllListeners(),this.transport=n,n.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",s=>this._onClose("transport close",s))}onOpen(){this.readyState="open",Xs.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(n){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",n),this.emitReserved("heartbeat"),n.type){case"open":this.onHandshake(JSON.parse(n.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const s=new Error("server error");s.code=n.data,this._onError(s);break;case"message":this.emitReserved("data",n.data),this.emitReserved("message",n.data);break}}onHandshake(n){this.emitReserved("handshake",n),this.id=n.sid,this.transport.query.sid=n.sid,this._pingInterval=n.pingInterval,this._pingTimeout=n.pingTimeout,this._maxPayload=n.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const n=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+n,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},n),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const n=this._getWritablePackets();this.transport.send(n),this._prevBufferLen=n.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let s=1;for(let a=0;a<this.writeBuffer.length;a++){const o=this.writeBuffer[a].data;if(o&&(s+=D_(o)),a>0&&s>this._maxPayload)return this.writeBuffer.slice(0,a);s+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const n=Date.now()>this._pingTimeoutTime;return n&&(this._pingTimeoutTime=0,Fo(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),n}write(n,s,a){return this._sendPacket("message",n,s,a),this}send(n,s,a){return this._sendPacket("message",n,s,a),this}_sendPacket(n,s,a,o){if(typeof s=="function"&&(o=s,s=void 0),typeof a=="function"&&(o=a,a=null),this.readyState==="closing"||this.readyState==="closed")return;a=a||{},a.compress=a.compress!==!1;const f={type:n,data:s,options:a};this.emitReserved("packetCreate",f),this.writeBuffer.push(f),o&&this.once("flush",o),this.flush()}close(){const n=()=>{this._onClose("forced close"),this.transport.close()},s=()=>{this.off("upgrade",s),this.off("upgradeError",s),n()},a=()=>{this.once("upgrade",s),this.once("upgradeError",s)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?a():n()}):this.upgrading?a():n()),this}_onError(n){if(Xs.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",n),this._onClose("transport error",n)}_onClose(n,s){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),Pf&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const a=Oo.indexOf(this._offlineEventListener);a!==-1&&Oo.splice(a,1)}this.readyState="closed",this.id=null,this.emitReserved("close",n,s),this.writeBuffer=[],this._prevBufferLen=0}}}Xs.protocol=qg;class W_ extends Xs{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let n=0;n<this._upgrades.length;n++)this._probe(this._upgrades[n])}_probe(n){let s=this.createTransport(n),a=!1;Xs.priorWebsocketSuccess=!1;const o=()=>{a||(s.send([{type:"ping",data:"probe"}]),s.once("packet",w=>{if(!a)if(w.type==="pong"&&w.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",s),!s)return;Xs.priorWebsocketSuccess=s.name==="websocket",this.transport.pause(()=>{a||this.readyState!=="closed"&&(E(),this.setTransport(s),s.send([{type:"upgrade"}]),this.emitReserved("upgrade",s),s=null,this.upgrading=!1,this.flush())})}else{const j=new Error("probe error");j.transport=s.name,this.emitReserved("upgradeError",j)}}))};function f(){a||(a=!0,E(),s.close(),s=null)}const h=w=>{const j=new Error("probe error: "+w);j.transport=s.name,f(),this.emitReserved("upgradeError",j)};function d(){h("transport closed")}function g(){h("socket closed")}function y(w){s&&w.name!==s.name&&f()}const E=()=>{s.removeListener("open",o),s.removeListener("error",h),s.removeListener("close",d),this.off("close",g),this.off("upgrading",y)};s.once("open",o),s.once("error",h),s.once("close",d),this.once("close",g),this.once("upgrading",y),this._upgrades.indexOf("webtransport")!==-1&&n!=="webtransport"?this.setTimeoutFn(()=>{a||s.open()},200):s.open()}onHandshake(n){this._upgrades=this._filterUpgrades(n.upgrades),super.onHandshake(n)}_filterUpgrades(n){const s=[];for(let a=0;a<n.length;a++)~this.transports.indexOf(n[a])&&s.push(n[a]);return s}}let ew=class extends W_{constructor(n,s={}){const a=typeof n=="object"?n:s;(!a.transports||a.transports&&typeof a.transports[0]=="string")&&(a.transports=(a.transports||["polling","websocket","webtransport"]).map(o=>Q_[o]).filter(o=>!!o)),super(n,a)}};function tw(r,n="",s){let a=r;s=s||typeof location<"u"&&location,r==null&&(r=s.protocol+"//"+s.host),typeof r=="string"&&(r.charAt(0)==="/"&&(r.charAt(1)==="/"?r=s.protocol+r:r=s.host+r),/^(https?|wss?):\/\//.test(r)||(typeof s<"u"?r=s.protocol+"//"+r:r="https://"+r),a=Hf(r)),a.port||(/^(http|ws)$/.test(a.protocol)?a.port="80":/^(http|ws)s$/.test(a.protocol)&&(a.port="443")),a.path=a.path||"/";const f=a.host.indexOf(":")!==-1?"["+a.host+"]":a.host;return a.id=a.protocol+"://"+f+":"+a.port+n,a.href=a.protocol+"://"+f+(s&&s.port===a.port?"":":"+a.port),a}const nw=typeof ArrayBuffer=="function",sw=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer,$g=Object.prototype.toString,iw=typeof Blob=="function"||typeof Blob<"u"&&$g.call(Blob)==="[object BlobConstructor]",rw=typeof File=="function"||typeof File<"u"&&$g.call(File)==="[object FileConstructor]";function ah(r){return nw&&(r instanceof ArrayBuffer||sw(r))||iw&&r instanceof Blob||rw&&r instanceof File}function jo(r,n){if(!r||typeof r!="object")return!1;if(Array.isArray(r)){for(let s=0,a=r.length;s<a;s++)if(jo(r[s]))return!0;return!1}if(ah(r))return!0;if(r.toJSON&&typeof r.toJSON=="function"&&arguments.length===1)return jo(r.toJSON(),!0);for(const s in r)if(Object.prototype.hasOwnProperty.call(r,s)&&jo(r[s]))return!0;return!1}function aw(r){const n=[],s=r.data,a=r;return a.data=$f(s,n),a.attachments=n.length,{packet:a,buffers:n}}function $f(r,n){if(!r)return r;if(ah(r)){const s={_placeholder:!0,num:n.length};return n.push(r),s}else if(Array.isArray(r)){const s=new Array(r.length);for(let a=0;a<r.length;a++)s[a]=$f(r[a],n);return s}else if(typeof r=="object"&&!(r instanceof Date)){const s={};for(const a in r)Object.prototype.hasOwnProperty.call(r,a)&&(s[a]=$f(r[a],n));return s}return r}function lw(r,n){return r.data=Yf(r.data,n),delete r.attachments,r}function Yf(r,n){if(!r)return r;if(r&&r._placeholder===!0){if(typeof r.num=="number"&&r.num>=0&&r.num<n.length)return n[r.num];throw new Error("illegal attachments")}else if(Array.isArray(r))for(let s=0;s<r.length;s++)r[s]=Yf(r[s],n);else if(typeof r=="object")for(const s in r)Object.prototype.hasOwnProperty.call(r,s)&&(r[s]=Yf(r[s],n));return r}const ow=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var De;(function(r){r[r.CONNECT=0]="CONNECT",r[r.DISCONNECT=1]="DISCONNECT",r[r.EVENT=2]="EVENT",r[r.ACK=3]="ACK",r[r.CONNECT_ERROR=4]="CONNECT_ERROR",r[r.BINARY_EVENT=5]="BINARY_EVENT",r[r.BINARY_ACK=6]="BINARY_ACK"})(De||(De={}));class cw{constructor(n){this.replacer=n}encode(n){return(n.type===De.EVENT||n.type===De.ACK)&&jo(n)?this.encodeAsBinary({type:n.type===De.EVENT?De.BINARY_EVENT:De.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id}):[this.encodeAsString(n)]}encodeAsString(n){let s=""+n.type;return(n.type===De.BINARY_EVENT||n.type===De.BINARY_ACK)&&(s+=n.attachments+"-"),n.nsp&&n.nsp!=="/"&&(s+=n.nsp+","),n.id!=null&&(s+=n.id),n.data!=null&&(s+=JSON.stringify(n.data,this.replacer)),s}encodeAsBinary(n){const s=aw(n),a=this.encodeAsString(s.packet),o=s.buffers;return o.unshift(a),o}}class lh extends gt{constructor(n){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},typeof n=="function"?{reviver:n}:n)}add(n){let s;if(typeof n=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");s=this.decodeString(n);const a=s.type===De.BINARY_EVENT;a||s.type===De.BINARY_ACK?(s.type=a?De.EVENT:De.ACK,this.reconstructor=new uw(s),s.attachments===0&&super.emitReserved("decoded",s)):super.emitReserved("decoded",s)}else if(ah(n)||n.base64)if(this.reconstructor)s=this.reconstructor.takeBinaryData(n),s&&(this.reconstructor=null,super.emitReserved("decoded",s));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+n)}decodeString(n){let s=0;const a={type:Number(n.charAt(0))};if(De[a.type]===void 0)throw new Error("unknown packet type "+a.type);if(a.type===De.BINARY_EVENT||a.type===De.BINARY_ACK){const f=s+1;for(;n.charAt(++s)!=="-"&&s!=n.length;);const h=n.substring(f,s);if(h!=Number(h)||n.charAt(s)!=="-")throw new Error("Illegal attachments");const d=Number(h);if(!fw(d)||d<0)throw new Error("Illegal attachments");if(d>this.opts.maxAttachments)throw new Error("too many attachments");a.attachments=d}if(n.charAt(s+1)==="/"){const f=s+1;for(;++s&&!(n.charAt(s)===","||s===n.length););a.nsp=n.substring(f,s)}else a.nsp="/";const o=n.charAt(s+1);if(o!==""&&Number(o)==o){const f=s+1;for(;++s;){const h=n.charAt(s);if(h==null||Number(h)!=h){--s;break}if(s===n.length)break}a.id=Number(n.substring(f,s+1))}if(n.charAt(++s)){const f=this.tryParse(n.substr(s));if(lh.isPayloadValid(a.type,f))a.data=f;else throw new Error("invalid payload")}return a}tryParse(n){try{return JSON.parse(n,this.opts.reviver)}catch{return!1}}static isPayloadValid(n,s){switch(n){case De.CONNECT:return M0(s);case De.DISCONNECT:return s===void 0;case De.CONNECT_ERROR:return typeof s=="string"||M0(s);case De.EVENT:case De.BINARY_EVENT:return Array.isArray(s)&&(typeof s[0]=="number"||typeof s[0]=="string"&&ow.indexOf(s[0])===-1);case De.ACK:case De.BINARY_ACK:return Array.isArray(s)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class uw{constructor(n){this.packet=n,this.buffers=[],this.reconPack=n}takeBinaryData(n){if(this.buffers.push(n),this.buffers.length===this.reconPack.attachments){const s=lw(this.reconPack,this.buffers);return this.finishedReconstruction(),s}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const fw=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r};function M0(r){return Object.prototype.toString.call(r)==="[object Object]"}const hw=Object.freeze(Object.defineProperty({__proto__:null,Decoder:lh,Encoder:cw,get PacketType(){return De}},Symbol.toStringTag,{value:"Module"}));function On(r,n,s){return r.on(n,s),function(){r.off(n,s)}}const dw=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Yg extends gt{constructor(n,s,a){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=n,this.nsp=s,a&&a.auth&&(this.auth=a.auth),this._opts=Object.assign({},a),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const n=this.io;this.subs=[On(n,"open",this.onopen.bind(this)),On(n,"packet",this.onpacket.bind(this)),On(n,"error",this.onerror.bind(this)),On(n,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...n){return n.unshift("message"),this.emit.apply(this,n),this}emit(n,...s){var a,o,f;if(dw.hasOwnProperty(n))throw new Error('"'+n.toString()+'" is a reserved event name');if(s.unshift(n),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(s),this;const h={type:De.EVENT,data:s};if(h.options={},h.options.compress=this.flags.compress!==!1,typeof s[s.length-1]=="function"){const E=this.ids++,w=s.pop();this._registerAckCallback(E,w),h.id=E}const d=(o=(a=this.io.engine)===null||a===void 0?void 0:a.transport)===null||o===void 0?void 0:o.writable,g=this.connected&&!(!((f=this.io.engine)===null||f===void 0)&&f._hasPingExpired());return this.flags.volatile&&!d||(g?(this.notifyOutgoingListeners(h),this.packet(h)):this.sendBuffer.push(h)),this.flags={},this}_registerAckCallback(n,s){var a;const o=(a=this.flags.timeout)!==null&&a!==void 0?a:this._opts.ackTimeout;if(o===void 0){this.acks[n]=s;return}const f=this.io.setTimeoutFn(()=>{delete this.acks[n];for(let d=0;d<this.sendBuffer.length;d++)this.sendBuffer[d].id===n&&this.sendBuffer.splice(d,1);s.call(this,new Error("operation has timed out"))},o),h=(...d)=>{this.io.clearTimeoutFn(f),s.apply(this,d)};h.withError=!0,this.acks[n]=h}emitWithAck(n,...s){return new Promise((a,o)=>{const f=(h,d)=>h?o(h):a(d);f.withError=!0,s.push(f),this.emit(n,...s)})}_addToQueue(n){let s;typeof n[n.length-1]=="function"&&(s=n.pop());const a={id:this._queueSeq++,tryCount:0,pending:!1,args:n,flags:Object.assign({fromQueue:!0},this.flags)};n.push((o,...f)=>(this._queue[0],o!==null?a.tryCount>this._opts.retries&&(this._queue.shift(),s&&s(o)):(this._queue.shift(),s&&s(null,...f)),a.pending=!1,this._drainQueue())),this._queue.push(a),this._drainQueue()}_drainQueue(n=!1){if(!this.connected||this._queue.length===0)return;const s=this._queue[0];s.pending&&!n||(s.pending=!0,s.tryCount++,this.flags=s.flags,this.emit.apply(this,s.args))}packet(n){n.nsp=this.nsp,this.io._packet(n)}onopen(){typeof this.auth=="function"?this.auth(n=>{this._sendConnectPacket(n)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(n){this.packet({type:De.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},n):n})}onerror(n){this.connected||this.emitReserved("connect_error",n)}onclose(n,s){this.connected=!1,delete this.id,this.emitReserved("disconnect",n,s),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(n=>{if(!this.sendBuffer.some(a=>String(a.id)===n)){const a=this.acks[n];delete this.acks[n],a.withError&&a.call(this,new Error("socket has been disconnected"))}})}onpacket(n){if(n.nsp===this.nsp)switch(n.type){case De.CONNECT:n.data&&n.data.sid?this.onconnect(n.data.sid,n.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case De.EVENT:case De.BINARY_EVENT:this.onevent(n);break;case De.ACK:case De.BINARY_ACK:this.onack(n);break;case De.DISCONNECT:this.ondisconnect();break;case De.CONNECT_ERROR:this.destroy();const a=new Error(n.data.message);a.data=n.data.data,this.emitReserved("connect_error",a);break}}onevent(n){const s=n.data||[];n.id!=null&&s.push(this.ack(n.id)),this.connected?this.emitEvent(s):this.receiveBuffer.push(Object.freeze(s))}emitEvent(n){if(this._anyListeners&&this._anyListeners.length){const s=this._anyListeners.slice();for(const a of s)a.apply(this,n)}super.emit.apply(this,n),this._pid&&n.length&&typeof n[n.length-1]=="string"&&(this._lastOffset=n[n.length-1])}ack(n){const s=this;let a=!1;return function(...o){a||(a=!0,s.packet({type:De.ACK,id:n,data:o}))}}onack(n){const s=this.acks[n.id];typeof s=="function"&&(delete this.acks[n.id],s.withError&&n.data.unshift(null),s.apply(this,n.data))}onconnect(n,s){this.id=n,this.recovered=s&&this._pid===s,this._pid=s,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(n=>this.emitEvent(n)),this.receiveBuffer=[],this.sendBuffer.forEach(n=>{this.notifyOutgoingListeners(n),this.packet(n)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(n=>n()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:De.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(n){return this.flags.compress=n,this}get volatile(){return this.flags.volatile=!0,this}timeout(n){return this.flags.timeout=n,this}onAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(n),this}prependAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(n),this}offAny(n){if(!this._anyListeners)return this;if(n){const s=this._anyListeners;for(let a=0;a<s.length;a++)if(n===s[a])return s.splice(a,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(n),this}prependAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(n),this}offAnyOutgoing(n){if(!this._anyOutgoingListeners)return this;if(n){const s=this._anyOutgoingListeners;for(let a=0;a<s.length;a++)if(n===s[a])return s.splice(a,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(n){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const s=this._anyOutgoingListeners.slice();for(const a of s)a.apply(this,n.data)}}}function jr(r){r=r||{},this.ms=r.min||100,this.max=r.max||1e4,this.factor=r.factor||2,this.jitter=r.jitter>0&&r.jitter<=1?r.jitter:0,this.attempts=0}jr.prototype.duration=function(){var r=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var n=Math.random(),s=Math.floor(n*this.jitter*r);r=(Math.floor(n*10)&1)==0?r-s:r+s}return Math.min(r,this.max)|0};jr.prototype.reset=function(){this.attempts=0};jr.prototype.setMin=function(r){this.ms=r};jr.prototype.setMax=function(r){this.max=r};jr.prototype.setJitter=function(r){this.jitter=r};class Gf extends gt{constructor(n,s){var a;super(),this.nsps={},this.subs=[],n&&typeof n=="object"&&(s=n,n=void 0),s=s||{},s.path=s.path||"/socket.io",this.opts=s,Jo(this,s),this.reconnection(s.reconnection!==!1),this.reconnectionAttempts(s.reconnectionAttempts||1/0),this.reconnectionDelay(s.reconnectionDelay||1e3),this.reconnectionDelayMax(s.reconnectionDelayMax||5e3),this.randomizationFactor((a=s.randomizationFactor)!==null&&a!==void 0?a:.5),this.backoff=new jr({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(s.timeout==null?2e4:s.timeout),this._readyState="closed",this.uri=n;const o=s.parser||hw;this.encoder=new o.Encoder,this.decoder=new o.Decoder,this._autoConnect=s.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(n){return arguments.length?(this._reconnection=!!n,n||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(n){return n===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=n,this)}reconnectionDelay(n){var s;return n===void 0?this._reconnectionDelay:(this._reconnectionDelay=n,(s=this.backoff)===null||s===void 0||s.setMin(n),this)}randomizationFactor(n){var s;return n===void 0?this._randomizationFactor:(this._randomizationFactor=n,(s=this.backoff)===null||s===void 0||s.setJitter(n),this)}reconnectionDelayMax(n){var s;return n===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=n,(s=this.backoff)===null||s===void 0||s.setMax(n),this)}timeout(n){return arguments.length?(this._timeout=n,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(n){if(~this._readyState.indexOf("open"))return this;this.engine=new ew(this.uri,this.opts);const s=this.engine,a=this;this._readyState="opening",this.skipReconnect=!1;const o=On(s,"open",function(){a.onopen(),n&&n()}),f=d=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",d),n?n(d):this.maybeReconnectOnOpen()},h=On(s,"error",f);if(this._timeout!==!1){const d=this._timeout,g=this.setTimeoutFn(()=>{o(),f(new Error("timeout")),s.close()},d);this.opts.autoUnref&&g.unref(),this.subs.push(()=>{this.clearTimeoutFn(g)})}return this.subs.push(o),this.subs.push(h),this}connect(n){return this.open(n)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const n=this.engine;this.subs.push(On(n,"ping",this.onping.bind(this)),On(n,"data",this.ondata.bind(this)),On(n,"error",this.onerror.bind(this)),On(n,"close",this.onclose.bind(this)),On(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(n){try{this.decoder.add(n)}catch(s){this.onclose("parse error",s)}}ondecoded(n){Fo(()=>{this.emitReserved("packet",n)},this.setTimeoutFn)}onerror(n){this.emitReserved("error",n)}socket(n,s){let a=this.nsps[n];return a?this._autoConnect&&!a.active&&a.connect():(a=new Yg(this,n,s),this.nsps[n]=a),a}_destroy(n){const s=Object.keys(this.nsps);for(const a of s)if(this.nsps[a].active)return;this._close()}_packet(n){const s=this.encoder.encode(n);for(let a=0;a<s.length;a++)this.engine.write(s[a],n.options)}cleanup(){this.subs.forEach(n=>n()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(n,s){var a;this.cleanup(),(a=this.engine)===null||a===void 0||a.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",n,s),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const n=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const s=this.backoff.duration();this._reconnecting=!0;const a=this.setTimeoutFn(()=>{n.skipReconnect||(this.emitReserved("reconnect_attempt",n.backoff.attempts),!n.skipReconnect&&n.open(o=>{o?(n._reconnecting=!1,n.reconnect(),this.emitReserved("reconnect_error",o)):n.onreconnect()}))},s);this.opts.autoUnref&&a.unref(),this.subs.push(()=>{this.clearTimeoutFn(a)})}}onreconnect(){const n=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",n)}}const Aa={};function To(r,n){typeof r=="object"&&(n=r,r=void 0),n=n||{};const s=tw(r,n.path||"/socket.io"),a=s.source,o=s.id,f=s.path,h=Aa[o]&&f in Aa[o].nsps,d=n.forceNew||n["force new connection"]||n.multiplex===!1||h;let g;return d?g=new Gf(a,n):(Aa[o]||(Aa[o]=new Gf(a,n)),g=Aa[o]),s.query&&!n.query&&(n.query=s.queryKey),g.socket(s.path,n)}Object.assign(To,{Manager:Gf,Socket:Yg,io:To,connect:To});const mw=T.createContext({connected:!1,subscribe:()=>()=>{}});function pw({children:r}){const n=T.useRef(null),[s,a]=T.useState(!1),o=T.useRef(new Map),f=T.useCallback((d,g)=>{const y=o.current;return y.has(d)||y.set(d,new Set),y.get(d).add(g),()=>{const E=y.get(d);E&&(E.delete(g),E.size===0&&y.delete(d))}},[]),h=T.useCallback((d,g)=>{for(const[y,E]of o.current)if(Cg(d,y))for(const w of E)try{w(g)}catch{}},[]);return T.useEffect(()=>{const d=fg(),g=To({path:`${Bn}/socket.io`,transports:["polling","websocket"],upgrade:!0,reconnection:!0,reconnectionAttempts:1/0,reconnectionDelay:2e3,...d?{auth:{token:d}}:{}});return n.current=g,console.log("[lt-socketio] connecting..."),g.on("connect",()=>{console.log("[lt-socketio] connected, id:",g.id),a(!0)}),g.on("disconnect",y=>{console.log("[lt-socketio] disconnected:",y),a(!1)}),g.on("connect_error",y=>{console.warn("[lt-socketio] connect error:",y.message),a(!1)}),g.onAny((y,E)=>{if(y.startsWith("lt."))try{const w=typeof E=="string"?JSON.parse(E):E;h(y,w)}catch{}}),()=>{g.removeAllListeners(),g.disconnect(),n.current=null,a(!1)}},[h]),m.jsx(mw.Provider,{value:{connected:s,subscribe:f},children:m.jsx(Ya.Provider,{value:{connected:s,subscribe:f},children:r})})}function gw({children:r}){const[n,s]=T.useState(null),[a,o]=T.useState({url:null,token:null});return T.useEffect(()=>{let f=!1;async function h(){var d;try{console.log("[lt-transport] detecting event transport...");const g=await fetch(`${Bn}/api/settings`);if(!g.ok){console.warn("[lt-transport] settings fetch failed, falling back to socketio"),f||s("socketio");return}const y=await g.json(),E=(d=y==null?void 0:y.events)==null?void 0:d.transport;if(console.log("[lt-transport] server reports:",E),!f){if(E==="nats"){let w=y.events.natsWsUrl??null,j=null;const z=fg();if(z)try{const M=await fetch(`${Bn}/api/nats-credentials`,{headers:{Authorization:`Bearer ${z}`}});if(M.ok){const B=await M.json();w=B.natsWsUrl??w,j=B.natsToken??null}}catch{console.warn("[lt-transport] failed to fetch NATS credentials")}o({url:w,token:j})}s(E==="nats"?"nats":"socketio")}}catch(g){console.warn("[lt-transport] settings fetch error, falling back to socketio",g),f||s("socketio")}}return h(),()=>{f=!0}},[]),n==="nats"?m.jsx(v_,{url:a.url,token:a.token,children:r}):n==="socketio"?m.jsx(pw,{children:r}):m.jsx(m.Fragment,{children:r})}const Vf="lt_ai_override";function yw(){return Xe("/settings")}function Ff(){try{if(localStorage.getItem(Vf)==="off")return!1}catch{}return null}function bw(){var s;const r=Hn({queryKey:["settings"],queryFn:yw,staleTime:1/0}),n=Ff();return r.data&&n===!1&&((s=r.data.ai)!=null&&s.enabled)?{...r,data:{...r.data,ai:{enabled:!1}}}:r}function xw(){const[r,n]=T.useState(()=>Ff()===!1),s=T.useCallback(()=>{const a=Ff()===!1;try{a?localStorage.removeItem(Vf):localStorage.setItem(Vf,"off")}catch{}n(!a),window.location.reload()},[]);return{aiOverrideActive:r,toggleAIOverride:s}}const Gg=T.createContext(null),R0="lt_sidebar_collapsed";function vw({children:r}){const[n,s]=T.useState(()=>{try{return localStorage.getItem(R0)==="true"}catch{return!1}}),a=T.useCallback(()=>{s(o=>{const f=!o;try{localStorage.setItem(R0,String(f))}catch{}return f})},[]);return m.jsx(Gg.Provider,{value:{collapsed:n,toggle:a},children:r})}function Vg(){const r=T.useContext(Gg);if(!r)throw new Error("useSidebar must be used within SidebarProvider");return r}function RE(r){const n=r?`?period=${r}`:"";return Hn({queryKey:["escalationStats",r],queryFn:()=>Xe(`/escalations/stats${n}`)})}function DE(){return Hn({queryKey:["escalationTypes"],queryFn:()=>Xe("/escalations/types")})}function _w(r){const{enabled:n=!0,...s}=r,a=new URLSearchParams;return s.status&&a.set("status",s.status),s.role&&a.set("role",s.role),s.type&&a.set("type",s.type),s.subtype&&a.set("subtype",s.subtype),s.assigned_to&&a.set("assigned_to",s.assigned_to),s.priority&&a.set("priority",String(s.priority)),s.limit&&a.set("limit",String(s.limit)),s.offset!==void 0&&a.set("offset",String(s.offset)),s.sort_by&&a.set("sort_by",s.sort_by),s.order&&a.set("order",s.order),Hn({queryKey:["escalations",s],queryFn:()=>Xe(`/escalations?${a}`),enabled:n})}function ww(r){const{enabled:n=!0,...s}=r,a=new URLSearchParams;return s.role&&a.set("role",s.role),s.type&&a.set("type",s.type),s.subtype&&a.set("subtype",s.subtype),s.priority&&a.set("priority",String(s.priority)),s.limit&&a.set("limit",String(s.limit)),s.offset!==void 0&&a.set("offset",String(s.offset)),s.sort_by&&a.set("sort_by",s.sort_by),s.order&&a.set("order",s.order),Hn({queryKey:["escalations","available",s],queryFn:()=>Xe(`/escalations/available?${a}`),enabled:n})}function zE(r){return Hn({queryKey:["escalations","by-workflow",r],queryFn:()=>Xe(`/escalations/by-workflow/${r}`),enabled:!!r})}function qE(r){return Hn({queryKey:["escalations",r],queryFn:()=>Xe(`/escalations/${r}`),enabled:!!r})}function UE(){const r=Nn();return Pn({mutationFn:({id:n,durationMinutes:s})=>Xe(`/escalations/${n}/claim`,{method:"POST",body:JSON.stringify({durationMinutes:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function BE(){const r=Nn();return Pn({mutationFn:n=>Xe(`/escalations/${n}/release`,{method:"POST"}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function LE(){const r=Nn();return Pn({mutationFn:({id:n,resolverPayload:s})=>Xe(`/escalations/${n}/resolve`,{method:"POST",body:JSON.stringify({resolverPayload:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"}),r.invalidateQueries({queryKey:["tasks"],refetchType:"all"}),r.invalidateQueries({queryKey:["jobs"],refetchType:"all"})}})}function HE(){const r=Nn();return Pn({mutationFn:({id:n,targetRole:s})=>Xe(`/escalations/${n}/escalate`,{method:"PATCH",body:JSON.stringify({targetRole:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function PE(){const r=Nn();return Pn({mutationFn:({ids:n,priority:s})=>Xe("/escalations/priority",{method:"PATCH",body:JSON.stringify({ids:n,priority:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function $E(){const r=Nn();return Pn({mutationFn:({ids:n,durationMinutes:s})=>Xe("/escalations/bulk-claim",{method:"POST",body:JSON.stringify({ids:n,durationMinutes:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function YE(){const r=Nn();return Pn({mutationFn:({ids:n,targetUserId:s,durationMinutes:a})=>Xe("/escalations/bulk-assign",{method:"POST",body:JSON.stringify({ids:n,targetUserId:s,durationMinutes:a})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function GE(){const r=Nn();return Pn({mutationFn:({ids:n,targetRole:s})=>Xe("/escalations/bulk-escalate",{method:"PATCH",body:JSON.stringify({ids:n,targetRole:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function VE(){const r=Nn();return Pn({mutationFn:({ids:n,hint:s})=>Xe("/escalations/bulk-triage",{method:"POST",body:JSON.stringify({ids:n,...s?{hint:s}:{}})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function Sw(){const{user:r}=Oi(),n=r==null?void 0:r.userId,s=Nn(),a=T.useRef(null),o=T.useCallback(()=>{a.current||(a.current=setTimeout(()=>{a.current=null,s.invalidateQueries({queryKey:["escalations"]})},15e3))},[s]);y_(`${p_}.escalation.>`,o);const{data:f}=ww({limit:1}),{data:h}=_w({assigned_to:n,status:"pending",limit:200}),d=new Date,g=((h==null?void 0:h.escalations)??[]).filter(y=>y.assigned_until&&new Date(y.assigned_until)>d);return{available:(f==null?void 0:f.total)??0,mine:g.length}}function oh({size:r="sm",hideLabel:n=!1,className:s=""}){const a=r==="lg",o=a?"w-[16rem] h-[16rem] -rotate-[120deg] opacity-40 -ml-10":"w-[12.5rem] h-[12.5rem] -rotate-[120deg] opacity-40 -ml-8",f=a?"text-[44px] font-normal text-text-primary tracking-[0.15em] -ml-[12.5rem]":"text-[36px] font-normal text-text-primary tracking-[0.15em] -ml-[9.75rem]";return m.jsxs("div",{className:`flex items-center ${s}`,style:{height:"50px"},children:[m.jsx("img",{src:`${Bn}/logo512.png`,alt:"LongTail",className:`shrink-0 z-0 ${o}`}),m.jsx("span",{className:`z-[1] transition-opacity duration-300 ${f} ${n?"opacity-0":""}`,children:"LongTail"})]})}function Ew({onToggleEventFeed:r,onToggleDocs:n}){const{user:s,logout:a}=Oi(),{available:o,mine:f}=Sw(),{connected:h}=g_(),{toggleAIOverride:d}=xw(),[g,y]=T.useState(!1),E=T.useRef(null);return T.useEffect(()=>{if(!g)return;const w=j=>{E.current&&!E.current.contains(j.target)&&y(!1)};return document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)},[g]),m.jsxs("header",{className:"h-14 shrink-0 border-b border-surface-border bg-surface-raised flex items-center justify-between px-5 relative z-30",children:[m.jsx("div",{className:"flex items-center gap-4",children:m.jsx(gr,{to:"/","aria-label":"Home",onClick:w=>{(w.ctrlKey||w.metaKey)&&(w.preventDefault(),d())},children:m.jsx(oh,{})})}),m.jsxs("div",{className:"flex items-center gap-5",children:[m.jsxs(gr,{to:"/escalations/available",className:`flex items-center gap-1.5 text-[11px] transition-colors ${o>0?"text-blue-400 hover:text-blue-300":"text-text-quaternary hover:text-text-secondary"}`,title:"Available escalations",children:[m.jsx(wx,{className:"w-3.5 h-3.5",strokeWidth:1.5}),"all",o>0&&m.jsx("span",{className:"tabular-nums font-medium",children:o})]}),m.jsxs(gr,{to:"/escalations/queue",className:`flex items-center gap-1.5 text-[11px] transition-colors ${f>0?"text-status-warning hover:text-amber-300":"text-text-quaternary hover:text-text-secondary"}`,title:"My escalation queue",children:[m.jsx(Sx,{className:"w-3.5 h-3.5",strokeWidth:1.5}),"mine",f>0&&m.jsx("span",{className:"tabular-nums font-medium",children:f})]}),m.jsx("div",{className:"w-px h-4 bg-surface-border"}),m.jsxs("button",{type:"button",onClick:r,className:`flex items-center gap-1.5 text-[11px] transition-colors ${h?"text-emerald-400 hover:text-emerald-300":"text-text-quaternary hover:text-text-secondary"}`,title:h?"Live events — click to toggle feed":"Events disconnected",children:[m.jsx(ig,{className:"w-3.5 h-3.5",strokeWidth:1.5}),"events"]}),m.jsxs("button",{onClick:n,className:"flex items-center gap-1.5 text-[11px] text-text-quaternary hover:text-text-secondary transition-colors",title:"Documentation",children:[m.jsx(rg,{className:"w-3.5 h-3.5",strokeWidth:1.5}),"docs"]}),m.jsx("div",{className:"w-px h-4 bg-surface-border"}),s&&m.jsxs("div",{className:"relative",ref:E,children:[m.jsxs("button",{onClick:()=>y(w=>!w),className:"btn-ghost text-xs flex items-center gap-1",children:[m.jsx(Ex,{className:"w-3.5 h-3.5 text-accent/75",strokeWidth:1.5}),s.displayName||s.username||s.userId,m.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})]}),g&&m.jsxs("div",{className:"absolute right-0 top-full mt-1 w-48 bg-surface-raised border border-surface-border rounded-md shadow-lg py-1 z-50",children:[m.jsx(gr,{to:"/credentials",onClick:()=>y(!1),className:"block px-3 py-2 text-xs text-text-secondary hover:bg-surface-hover",children:"Credentials"}),m.jsx("button",{onClick:()=>{y(!1),a()},className:"block w-full text-left px-3 py-2 text-xs text-text-secondary hover:bg-surface-hover",children:"Sign Out"})]})]})]})]})}function ch({open:r,children:n}){const[s,a]=T.useState(r);return T.useEffect(()=>{r&&a(!0)},[r]),m.jsx("div",{className:`grid transition-[grid-template-rows] duration-300 ease-out ${r?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,onTransitionEnd:()=>{r||a(!1)},children:m.jsx("div",{className:"overflow-hidden",children:s?n:null})})}function Jf(r){return({isActive:n})=>{const s="flex items-center rounded-md transition-colors duration-150",a="bg-surface-hover text-text-primary font-medium",o="text-text-secondary hover:text-text-primary hover:bg-surface-hover";return r?`${s} justify-center w-10 h-10 mx-auto ${n?a:o}`:`${s} gap-3 px-4 py-2 text-sm ${n?a:o}`}}function Aw(){return({isActive:r})=>`flex items-center gap-3 pl-11 pr-4 py-1.5 text-xs rounded-md transition-colors duration-150 ${r?"text-text-primary font-medium":"text-text-secondary hover:text-text-primary"}`}function Ow({group:r,collapsed:n}){const{pathname:s}=Ws(),a=r.matchPaths.some(d=>s.startsWith(d)),[o,f]=T.useState(a),h=o||a;return n?m.jsx(m.Fragment,{children:r.items.map(d=>m.jsx(No,{to:d.to,className:Jf(!0),title:d.label,children:d.icon&&m.jsx(d.icon,{className:"w-5 h-5 shrink-0 text-accent/75",strokeWidth:1.5})},d.to))}):m.jsxs("div",{children:[m.jsxs("button",{onClick:()=>f(d=>!d),className:"w-full flex items-center justify-between px-4 py-2 text-sm rounded-md transition-colors duration-150 text-text-secondary hover:text-text-primary hover:bg-surface-hover",children:[m.jsxs("span",{className:"flex items-center gap-3",children:[r.icon&&m.jsx(r.icon,{className:"w-5 h-5 shrink-0 text-accent/75",strokeWidth:1.5}),m.jsx("span",{children:r.label})]}),m.jsx("svg",{className:`w-3.5 h-3.5 text-text-tertiary transition-transform duration-150 ${h?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})]}),m.jsx(ch,{open:h,children:r.items.map(d=>m.jsxs(No,{to:d.to,end:d.end,className:Aw(),children:[d.icon&&m.jsx(d.icon,{className:"w-4 h-4 shrink-0 text-accent/75",strokeWidth:1.5}),m.jsx("span",{children:d.label})]},d.to))})]})}function jw(r){return r.kind==="group"}function Tw({entry:r,collapsed:n}){const{pathname:s,search:a}=Ws();if(r.to.includes("?")){const[f,h]=r.to.split("?"),d=s===f&&a===`?${h}`,g=Jf(n)({isActive:d});return m.jsxs(No,{to:r.to,className:g,title:n?r.label:void 0,children:[r.icon&&m.jsx(r.icon,{className:"w-5 h-5 shrink-0 text-accent/75",strokeWidth:1.5}),!n&&m.jsx("span",{children:r.label})]})}return m.jsxs(No,{to:r.to,end:r.end,className:Jf(n),title:n?r.label:void 0,children:[r.icon&&m.jsx(r.icon,{className:"w-5 h-5 shrink-0 text-accent/75",strokeWidth:1.5}),!n&&m.jsx("span",{children:r.label})]})}function Ga({heading:r,entries:n}){const{collapsed:s}=Vg();return m.jsxs("div",{className:"space-y-1",children:[s?m.jsx("div",{className:"h-px bg-surface-border mx-3 my-2",title:r}):m.jsx("p",{className:"px-4 pt-5 pb-2 text-xs font-semibold uppercase tracking-wider text-accent/80",children:r}),n.map(a=>jw(a)?m.jsx(Ow,{group:a,collapsed:s},a.label):m.jsx(Tw,{entry:a,collapsed:s},a.to))]})}function Nw({aiEnabled:r=!1}){const n=[{to:"/",label:"Recent Activity",icon:Ax,end:!0},{to:"/capabilities",label:"Capabilities",icon:Ox},{to:"/agents",label:r?"Agents":"Automations",icon:jx},{to:"/topics",label:"Topics",icon:ig}];return m.jsx(Ga,{heading:"Work",entries:n})}function Cw(){const r=[{kind:"group",label:"Durable Workflows",icon:Cx,matchPaths:["/workflows"],items:[{to:"/workflows/registry",label:"Configure",icon:Tx},{to:"/workflows/start",label:"Invoke",icon:Nx}]},{kind:"group",label:"Executions",icon:Rx,matchPaths:["/workflows/executions","/mcp/executions"],items:[{to:"/workflows/executions",label:"Workflow",icon:kx},{to:"/mcp/executions",label:"Pipelines",icon:Mx}]}];return m.jsx(Ga,{heading:"Build",entries:r})}const kw=[{to:"/mcp/queries",label:"Designer",icon:Dx},{to:"/mcp/servers",label:"Servers & Tools",icon:zx},{to:"/mcp/workflows",label:"Pipeline Tools",icon:qx}];function Mw(){return m.jsx(Ga,{heading:"Design",entries:kw})}const Rw=[{to:"/files",label:"Files",icon:Ux},{to:"/knowledge",label:"Knowledge",icon:Bx}];function Dw(){return m.jsx(Ga,{heading:"Storage",entries:Rw})}const zw=[{kind:"group",label:"Identity & Access",icon:Px,matchPaths:["/admin/users","/admin/roles"],items:[{to:"/admin/users",label:"Accounts",icon:Lx},{to:"/admin/roles",label:"Roles & Permissions",icon:Hx}]},{kind:"group",label:"Infrastructure",icon:Vx,matchPaths:["/admin/controlplane","/admin/streams","/admin/maintenance"],items:[{to:"/admin/controlplane",label:"Routers",icon:$x},{to:"/admin/streams",label:"Messages",icon:Yx},{to:"/admin/maintenance",label:"DB Maintenance",icon:Gx}]}];function qw(){return m.jsx(Ga,{heading:"Admin",entries:zw})}const Fg="lt_event_feed_patterns";function Uw(r){if(r.startsWith("/topics/")){const n=decodeURIComponent(r.replace("/topics/",""));if(n&&!n.includes("/"))return`lt.events.${n}`}return r.startsWith("/escalations")?"lt.events.escalation.>":r.startsWith("/workflows")?"lt.events.workflow.>":r.startsWith("/agents")?"lt.events.agent.>":r.startsWith("/knowledge")?"lt.events.knowledge.>":r.startsWith("/files")?"lt.events.file.>":r==="/"?"lt.events.>":r.startsWith("/mcp")?"lt.events.activity.>":"lt.events.>"}function Bw(){try{const r=localStorage.getItem(Fg);return r?JSON.parse(r):[]}catch{return[]}}function xf(r){try{localStorage.setItem(Fg,JSON.stringify(r))}catch{}}function Lw(){const{pathname:r}=Ws(),[n,s]=T.useState(Bw),a=T.useMemo(()=>Uw(r),[r]),o=T.useMemo(()=>{const g=new Set([a,...n]);return Array.from(g)},[a,n]),f=T.useCallback(g=>{const y=g.startsWith("lt.events.")?g:`lt.events.${g}`;s(E=>{if(E.includes(y))return E;const w=[...E,y];return xf(w),w})},[]),h=T.useCallback(g=>{s(y=>{const E=y.filter(w=>w!==g);return xf(E),E})},[]),d=T.useCallback(()=>{s([]),xf([])},[]);return{patterns:o,pagePattern:a,userPatterns:n,addPattern:f,removePattern:h,clearUserPatterns:d}}function Hw({children:r,className:n=""}){return m.jsx("p",{className:`text-[10px] font-semibold uppercase tracking-widest text-text-tertiary ${n}`,children:r})}const vf=280,D0="cubic-bezier(0.4, 0, 0.2, 1)",vo=40;function Pw(r){if(!r)return"scale(0.92)";const n=window.innerWidth,s=window.innerHeight,a=n-vo*2,o=s-vo*2,f=r.width/a,h=r.height/o,d=r.left+r.width/2-(vo+a/2),g=r.top+r.height/2-(vo+o/2);return`translate(${d}px, ${g}px) scale(${f}, ${h})`}function Jg({open:r,onClose:n,sourceRef:s,children:a}){const[o,f]=T.useState(null),h=T.useRef(null),d=T.useRef(!1);T.useEffect(()=>{var j,z;r&&!d.current?(h.current=((j=s==null?void 0:s.current)==null?void 0:j.getBoundingClientRect())??null,f("entering")):!r&&d.current&&o==="open"&&(h.current=((z=s==null?void 0:s.current)==null?void 0:z.getBoundingClientRect())??null,f("exiting")),d.current=r},[r,s,o]),T.useEffect(()=>{if(o!=="entering")return;const j=requestAnimationFrame(()=>{requestAnimationFrame(()=>f("open"))});return()=>cancelAnimationFrame(j)},[o]),T.useEffect(()=>{if(o)return document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}},[o]),T.useEffect(()=>{if(!o)return;const j=z=>{z.key==="Escape"&&n()};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[o,n]);const g=T.useCallback(j=>{j.propertyName==="transform"&&o==="exiting"&&f(null)},[o]);if(T.useEffect(()=>{if(o!=="exiting")return;const j=setTimeout(()=>f(null),vf+50);return()=>clearTimeout(j)},[o]),!o)return null;const y=o==="entering"||o==="exiting",E=y?Pw(h.current):"none",w=y?0:1;return ng.createPortal(m.jsx("div",{className:"fixed inset-0 z-50 overflow-auto p-10",style:{transformOrigin:"center center",transition:`transform ${vf}ms ${D0}, opacity ${vf}ms ${D0}`,transform:E,opacity:w,backgroundColor:"#FFFFFF"},onTransitionEnd:g,children:a}),document.body)}function $w({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 6h16M4 12h8M4 18h12"})})}function Yw({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 7l-5 5 5 5M16 7l5 5-5 5"})})}function Gw({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3"})})}function Vw({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})}function Fw({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 9V4.5M9 9H4.5M9 9L3.5 3.5M9 15v4.5M9 15H4.5M9 15l-5.5 5.5M15 9h4.5M15 9V4.5M15 9l5.5-5.5M15 15h4.5M15 15v4.5m0-4.5l5.5 5.5"})})}function Jw({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5v-4m0 4h-4m4 0l-5-5"})})}function Qw(r){const n=r.trim().split(`
|
|
53
|
+
${d.stack}`),h.reject(y)):h.resolve(E))}});return g.requestSubject=n,this.protocol.publish(n,s,{reply:f,headers:a.headers}),h}else{const f=new bg(this.protocol.muxSubscriptions,n,a,o);this.protocol.request(f);try{this.publish(n,s,{reply:`${this.protocol.muxSubscriptions.baseInbox}${f.token}`,headers:a.headers})}catch(d){f.cancel(d)}const h=Promise.race([f.timer,f.deferred]);return h.catch(()=>{f.cancel()}),h}}flush(){return this.isClosed()?Promise.reject(ue.errorForCode(ie.ConnectionClosed)):this.protocol.flush()}drain(){return this.isClosed()?Promise.reject(ue.errorForCode(ie.ConnectionClosed)):this.isDraining()?Promise.reject(ue.errorForCode(ie.ConnectionDraining)):(this.draining=!0,this.protocol.drain())}isClosed(){return this.protocol.isClosed()}isDraining(){return this.draining}getServer(){const n=this.protocol.getServer();return n?n.listen:""}status(){const n=new _t;return n.iterClosed.then(()=>{const s=this.listeners.indexOf(n);this.listeners.splice(s,1)}),this.listeners.push(n),n}get info(){return this.protocol.isClosed()?void 0:this.protocol.info}async context(){return(await this.request("$SYS.REQ.USER.INFO")).json((s,a)=>s==="time"?new Date(Date.parse(a)):a)}stats(){return{inBytes:this.protocol.inBytes,outBytes:this.protocol.outBytes,inMsgs:this.protocol.inMsgs,outMsgs:this.protocol.outMsgs}}async jetstreamManager(n={}){const s=new Q1(this,n);if(n.checkAPI!==!1)try{await s.getAccountInfo()}catch(a){const o=a;throw o.code===ie.NoResponders&&(o.code=ie.JetStreamNotEnabled),o}return s}jetstream(n={}){return new th(this,n)}getServerVersion(){const n=this.info;return n?Ai(n.version):void 0}async rtt(){if(!this.protocol._closed&&!this.protocol.connected)throw ue.errorForCode(ie.Disconnect);const n=Date.now();return await this.flush(),Date.now()-n}get features(){return this.protocol.features}get services(){return this._services||(this._services=new Z1(this)),this._services}reconnect(){return this.isClosed()?Promise.reject(ue.errorForCode(ie.ConnectionClosed)):this.isDraining()?Promise.reject(ue.errorForCode(ie.ConnectionDraining)):this.protocol.reconnect()}}class Z1{constructor(n){v(this,"nc");this.nc=n}add(n){try{return new $a(this.nc,n).start()}catch(s){return Promise.reject(s)}}client(n,s){return new k1(this.nc,n,s)}}class W1{constructor(n,s,a){v(this,"bucket");v(this,"sm");v(this,"prefixLen");this.bucket=n,this.prefixLen=s,this.sm=a}get key(){return this.sm.subject.substring(this.prefixLen)}get value(){return this.sm.data}get delta(){return 0}get created(){return this.sm.time}get revision(){return this.sm.seq}get operation(){return this.sm.header.get(Uo)||"PUT"}get length(){const n=this.sm.header.get(Dt.MessageSizeHdr)||"";return n!==""?parseInt(n,10):this.sm.data.length}json(){return this.sm.json()}string(){return this.sm.string()}}class e_{constructor(n,s,a){v(this,"bucket");v(this,"key");v(this,"sm");this.bucket=n,this.key=s,this.sm=a}get value(){return this.sm.data}get created(){return new Date(Xf(this.sm.info.timestampNanos))}get revision(){return this.sm.seq}get operation(){var n;return((n=this.sm.headers)==null?void 0:n.get(Uo))||"PUT"}get delta(){return this.sm.info.pending}get length(){var s;const n=((s=this.sm.headers)==null?void 0:s.get(Dt.MessageSizeHdr))||"";return n!==""?parseInt(n,10):this.sm.data.length}json(){return this.sm.json()}string(){return this.sm.string()}}class Tg extends Yv{constructor(s,a,o){super(s.nc,a,o);v(this,"js");v(this,"monitor");this.js=s,this.monitor=null,this.sub.closed.then(()=>{this.monitor&&this.monitor.cancel()})}set info(s){this.sub.info=s}get info(){return this.sub.info}_resetOrderedConsumer(s){if(this.info===null||this.sub.isClosed())return;const a=us(this.js.nc.options.inboxPrefix);this.js.nc._resub(this.sub,a);const f=this.info;f.config.name=Ks.next(),f.ordered_consumer_sequence.delivery_seq=0,f.flow_control.heartbeat_count=0,f.flow_control.fc_count=0,f.flow_control.consumer_restarts++,f.deliver=a,f.config.deliver_subject=a,f.config.deliver_policy=ft.StartSequence,f.config.opt_start_seq=s;const h={};h.stream_name=this.info.stream,h.config=f.config;const d=`${f.api.prefix}.CONSUMER.CREATE.${f.stream}`;this.js._request(d,h,{retries:-1}).then(g=>{const y=g,E=this.sub.info;E.last=y,this.info.config=y.config,this.info.name=y.name}).catch(g=>{const y=new ue(`unable to recreate ordered consumer ${f.stream} at seq ${s}`,ie.RequestError,g);this.sub.callback(y,{})})}_maybeSetupHbMonitoring(){var a,o;const s=((o=(a=this.info)==null?void 0:a.config)==null?void 0:o.idle_heartbeat)||0;s&&this._setupHbMonitoring(Xf(s))}_setupHbMonitoring(s,a=0){const o={cancelAfter:0,maxOut:2};a&&(o.cancelAfter=a);const f=this.sub,h=d=>{var E,w,j,z;const g=Sv(409,`${yn.IdleHeartbeatMissed}: ${d}`,this.sub.subject);if(!((E=this.info)==null?void 0:E.ordered))this.sub.callback(null,g);else{if(!this.js.nc.protocol.connected)return!1;const M=((j=(w=this.info)==null?void 0:w.ordered_consumer_sequence)==null?void 0:j.stream_seq)||0;return this._resetOrderedConsumer(M+1),(z=this.monitor)==null||z.restart(),!1}return!f.noIterator};this.monitor=new Zf(s,h,o)}_checkHbOrderConsumer(s){const a=s.headers.get(Dt.ConsumerStalledHdr);a!==""&&this.js.nc.publish(a);const o=parseInt(s.headers.get(Dt.LastConsumerSeqHdr),10),f=this.info.ordered_consumer_sequence;return this.info.flow_control.heartbeat_count++,o!==f.delivery_seq&&this._resetOrderedConsumer(f.stream_seq+1),!1}_checkOrderedConsumer(s){const a=this.info.ordered_consumer_sequence,o=s.info.streamSequence,f=s.info.deliverySequence;return f!=a.delivery_seq+1?(this._resetOrderedConsumer(a.stream_seq+1),!1):(a.delivery_seq=f,a.stream_seq=o,!0)}async destroy(){this.isClosed()||await this.drain();const s=this.sub.info,a=s.config.durable_name||s.name,o=`${s.api.prefix}.CONSUMER.DELETE.${s.stream}.${a}`;await s.api._request(o)}async consumerInfo(){const s=this.sub.info,a=s.config.durable_name||s.name,o=`${s.api.prefix}.CONSUMER.INFO.${s.stream}.${a}`,f=await s.api._request(o);return s.last=f,f}}class t_ extends Tg{constructor(n,s,a){super(n,s,a)}pull(n={batch:1}){const{stream:s,config:a,name:o}=this.sub.info,f=a.durable_name??o,h={};if(h.batch=n.batch||1,h.no_wait=n.no_wait||!1,(n.max_bytes??0)>0){const y=this.js.nc.features.get(ze.JS_PULL_MAX_BYTES);if(!y.ok)throw new Error(`max_bytes is only supported on servers ${y.min} or better`);h.max_bytes=n.max_bytes}let d=0;n.expires&&n.expires>0&&(d=n.expires,h.expires=nt(d));let g=0;if(n.idle_heartbeat&&n.idle_heartbeat>0&&(g=n.idle_heartbeat,h.idle_heartbeat=nt(g)),g&&d===0)throw new Error("idle_heartbeat requires expires");if(g>d)throw new Error("expires must be greater than idle_heartbeat");if(this.info){this.monitor&&this.monitor.cancel(),d&&g&&(this.monitor?this.monitor._change(g,d):this._setupHbMonitoring(g,d));const y=this.info.api,E=`${y.prefix}.CONSUMER.MSG.NEXT.${s}.${f}`,w=this.sub.subject;y.nc.publish(E,y.jc.encode(h),{reply:w})}}}function n_(r,n){return r?i_(n):s_(n)}function s_(r){return(n,s)=>n?[n,null]:(n=vr(s),n?[n,null]:[null,La(s,r)])}function i_(r){return(n,s)=>{if(n)return[n,null];const a=vr(s);return a!==null?[Ng(a),null]:[null,La(s,r)]}}function Ng(r){if(r!==null)switch(r.code){case ie.JetStream404NoMessages:case ie.JetStream408RequestTimeout:return null;case ie.JetStream409:return Ev(r)?r:null;default:return r}return null}function r_(r){r&&r.ack()}function a_(r){const n=r.split(".");if(n.length===9&&n.splice(2,0,"_",""),n.length<11||n[0]!=="$JS"||n[1]!=="ACK")throw new Error("not js message");const s={};return s.domain=n[2]==="_"?"":n[2],s.account_hash=n[3],s.stream=n[4],s.consumer=n[5],s.deliveryCount=parseInt(n[6],10),s.redeliveryCount=s.deliveryCount,s.redelivered=s.deliveryCount>1,s.streamSequence=parseInt(n[7],10),s.deliverySequence=parseInt(n[8],10),s.timestampNanos=parseInt(n[9],10),s.pending=parseInt(n[10],10),s}class l_{constructor(n,s){v(this,"msg");v(this,"di");v(this,"didAck");v(this,"timeout");this.msg=n,this.didAck=!1,this.timeout=s}get subject(){return this.msg.subject}get sid(){return this.msg.sid}get data(){return this.msg.data}get headers(){return this.msg.headers}get info(){return this.di||(this.di=a_(this.reply)),this.di}get redelivered(){return this.info.deliveryCount>1}get reply(){return this.msg.reply||""}get seq(){return this.info.streamSequence}doAck(n){this.didAck||(this.didAck=!this.isWIP(n),this.msg.respond(n))}isWIP(n){return n.length===4&&n[0]===Ea[0]&&n[1]===Ea[1]&&n[2]===Ea[2]&&n[3]===Ea[3]}async ackAck(n){var a;n=n||{},n.timeout=n.timeout||this.timeout;const s=st();if(this.didAck)s.resolve(!1);else if(this.didAck=!0,this.msg.reply){const f=this.msg.publisher,h=!((a=f.options)!=null&&a.noAsyncTraces),d=new bg(f.muxSubscriptions,this.msg.reply,{timeout:n.timeout},h);f.request(d);try{f.publish(this.msg.reply,O0,{reply:`${f.muxSubscriptions.baseInbox}${d.token}`})}catch(g){d.cancel(g)}try{await Promise.race([d.timer,d.deferred]),s.resolve(!0)}catch(g){d.cancel(g),s.reject(g)}}else s.resolve(!1);return s}ack(){this.doAck(O0)}nak(n){let s=P1;n&&(s=Af().encode(`-NAK ${JSON.stringify({delay:nt(n)})}`)),this.doAck(s)}working(){this.doAck(Ea)}next(n,s={batch:1}){const a={};a.batch=s.batch||1,a.no_wait=s.no_wait||!1,s.expires&&s.expires>0&&(a.expires=nt(s.expires));const o=Tn().encode(a),f=Ar.concat($1,G1,o),h=n?{reply:n}:void 0;this.msg.respond(f,h)}term(n=""){let s=Y1;(n==null?void 0:n.length)>0&&(s=Af().encode(`+TERM ${n}`)),this.doAck(s)}json(){return this.msg.json()}string(){return this.msg.string()}}const o_="1.30.3",c_="nats.ws";class u_{constructor(){v(this,"version");v(this,"lang");v(this,"closeError");v(this,"connected");v(this,"done");v(this,"socket");v(this,"options");v(this,"socketClosed");v(this,"encrypted");v(this,"peeked");v(this,"yields");v(this,"signal");v(this,"closedNotification");this.version=o_,this.lang=c_,this.connected=!1,this.done=!1,this.socketClosed=!1,this.encrypted=!1,this.peeked=!1,this.yields=[],this.signal=st(),this.closedNotification=st()}async connect(n,s){const a=st();if(s.tls)return a.reject(new ue("tls",ie.InvalidOption)),a;this.options=s;const o=n.src;if(s.wsFactory){const{socket:f,encrypted:h}=await s.wsFactory(n.src,s);this.socket=f,this.encrypted=h}else this.encrypted=o.indexOf("wss://")===0,this.socket=new WebSocket(o);return this.socket.binaryType="arraybuffer",this.socket.onopen=()=>{this.isDiscarded()},this.socket.onmessage=f=>{if(this.isDiscarded())return;if(this.yields.push(new Uint8Array(f.data)),this.peeked){this.signal.resolve();return}const h=Ar.concat(...this.yields),d=Iv(h);if(d!==""){const g=S1.exec(d);if(!g){s.debug&&console.error("!!!",mo(h)),a.reject(new Error("unexpected response from server"));return}try{const y=JSON.parse(g[1]);_1(y,this.options),this.peeked=!0,this.connected=!0,this.signal.resolve(),a.resolve()}catch(y){a.reject(y);return}}},this.socket.onclose=f=>{if(this.isDiscarded())return;this.socketClosed=!0;let h;this.done||(f.wasClean||(h=new Error(f.reason)),this._closed(h))},this.socket.onerror=f=>{if(this.isDiscarded())return;const h=f,d=new ue(h.message,ie.Unknown,new Error(h.error));a.reject(d)},a}disconnect(){this._closed(void 0,!0)}async _closed(n,s=!0){if(!this.isDiscarded()&&this.connected&&!this.done){if(this.closeError=n,!n)for(;!this.socketClosed&&this.socket.bufferedAmount>0;)await Or(100);this.done=!0;try{this.socket.close(n?1002:1e3,n?n.message:void 0)}catch{}s&&this.closedNotification.resolve(n)}}get isClosed(){return this.done}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){for(;;){if(this.isDiscarded())return;this.yields.length===0&&await this.signal;const n=this.yields;this.yields=[];for(let s=0;s<n.length;s++)this.options.debug&&console.info(`> ${mo(n[s])}`),yield n[s];if(this.done)break;this.yields.length===0&&(n.length=0,this.yields=n,this.signal=st())}}isEncrypted(){return this.connected&&this.encrypted}send(n){if(!this.isDiscarded())try{this.socket.send(n.buffer),this.options.debug&&console.info(`< ${mo(n)}`);return}catch(s){this.options.debug&&console.error(`!!! ${mo(n)}: ${s}`)}}close(n){return this._closed(n,!1)}closed(){return this.closedNotification}isDiscarded(){return this.done?(this.discard(),!0):!1}discard(){var n;this.done=!0;try{(n=this.socket)==null||n.close()}catch{}}}function f_(r,n){/^(.*:\/\/)(.*)/.test(r)||(typeof n=="boolean"?r=`${n===!0?"https":"http"}://${r}`:r=`https://${r}`);let a=new URL(r);const o=a.protocol.toLowerCase();o==="ws:"&&(n=!1),o==="wss:"&&(n=!0),o!=="https:"&&o!=="http"&&(r=r.replace(/^(.*:\/\/)(.*)/gm,"$2"),a=new URL(`http://${r}`));let f,h;const d=a.hostname,g=a.pathname,y=a.search||"";switch(o){case"http:":case"ws:":case"nats:":h=a.port||"80",f="ws:";break;case"https:":case"wss:":case"tls:":h=a.port||"443",f="wss:";break;default:h=a.port||n===!0?"443":"80",f=n===!0?"wss:":"ws:";break}return`${f}//${d}:${h}${g}${y}`}function h_(r={}){return Gv({defaultPort:443,urlParseFn:f_,factory:()=>new u_}),nh.connect(r)}const d_="ws://localhost:9222",m_="dev_api_secret",p_="lt.events";function Cg(r,n){const s=r.split("."),a=n.split(".");for(let o=0;o<a.length;o++){const f=a[o];if(f===">")return!0;if(o>=s.length||f!=="*"&&f!==s[o])return!1}return s.length===a.length}const Ya=T.createContext({connected:!1,subscribe:()=>()=>{}});function g_(){const{connected:r}=T.useContext(Ya);return{connected:r}}function y_(r,n){const{subscribe:s}=T.useContext(Ya),a=T.useRef(n);a.current=n,T.useEffect(()=>s(r,f=>a.current(f)),[s,r])}const b_=T.createContext({connected:!1,subscribe:()=>()=>{}}),x_=Af();function v_({children:r,url:n,token:s}){const a=T.useRef(null),o=T.useRef(null),[f,h]=T.useState(!1),d=T.useRef(null),g=T.useRef(new Map),y=T.useCallback((j,z)=>{const M=g.current;return M.has(j)||M.set(j,new Set),M.get(j).add(z),()=>{const B=M.get(j);B&&(B.delete(z),B.size===0&&M.delete(j))}},[]),E=T.useCallback((j,z)=>{for(const[M,B]of g.current)if(Cg(j,M))for(const V of B)try{V(z)}catch{}},[]),w=T.useCallback(async()=>{try{if(a.current)return;const j=await h_({servers:n||d_,token:s||m_,reconnect:!0,maxReconnectAttempts:-1,reconnectTimeWait:2e3});a.current=j,h(!0);const z=j.subscribe("lt.>");o.current=z,(async()=>{for await(const M of z)try{const B=JSON.parse(x_.decode(M.data));E(M.subject,B)}catch{}})(),(async()=>{for await(const M of j.status())M.type==="disconnect"||M.type==="error"?h(!1):M.type==="reconnect"&&h(!0)})()}catch{h(!1),d.current=setTimeout(w,3e3)}},[E]);return T.useEffect(()=>(w(),()=>{d.current&&clearTimeout(d.current),o.current&&o.current.unsubscribe(),a.current&&(a.current.close().catch(()=>{}),a.current=null),h(!1)}),[w]),m.jsx(b_.Provider,{value:{connected:f,subscribe:y},children:m.jsx(Ya.Provider,{value:{connected:f,subscribe:y},children:r})})}const Ln=Object.create(null);Ln.open="0";Ln.close="1";Ln.ping="2";Ln.pong="3";Ln.message="4";Ln.upgrade="5";Ln.noop="6";const Ao=Object.create(null);Object.keys(Ln).forEach(r=>{Ao[Ln[r]]=r});const Lf={type:"error",data:"parser error"},kg=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Mg=typeof ArrayBuffer=="function",Rg=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r&&r.buffer instanceof ArrayBuffer,sh=({type:r,data:n},s,a)=>kg&&n instanceof Blob?s?a(n):T0(n,a):Mg&&(n instanceof ArrayBuffer||Rg(n))?s?a(n):T0(new Blob([n]),a):a(Ln[r]+(n||"")),T0=(r,n)=>{const s=new FileReader;return s.onload=function(){const a=s.result.split(",")[1];n("b"+(a||""))},s.readAsDataURL(r)};function N0(r){return r instanceof Uint8Array?r:r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}let gf;function __(r,n){if(kg&&r.data instanceof Blob)return r.data.arrayBuffer().then(N0).then(n);if(Mg&&(r.data instanceof ArrayBuffer||Rg(r.data)))return n(N0(r.data));sh(r,!1,s=>{gf||(gf=new TextEncoder),n(gf.encode(s))})}const C0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ca=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let r=0;r<C0.length;r++)Ca[C0.charCodeAt(r)]=r;const w_=r=>{let n=r.length*.75,s=r.length,a,o=0,f,h,d,g;r[r.length-1]==="="&&(n--,r[r.length-2]==="="&&n--);const y=new ArrayBuffer(n),E=new Uint8Array(y);for(a=0;a<s;a+=4)f=Ca[r.charCodeAt(a)],h=Ca[r.charCodeAt(a+1)],d=Ca[r.charCodeAt(a+2)],g=Ca[r.charCodeAt(a+3)],E[o++]=f<<2|h>>4,E[o++]=(h&15)<<4|d>>2,E[o++]=(d&3)<<6|g&63;return y},S_=typeof ArrayBuffer=="function",ih=(r,n)=>{if(typeof r!="string")return{type:"message",data:Dg(r,n)};const s=r.charAt(0);return s==="b"?{type:"message",data:E_(r.substring(1),n)}:Ao[s]?r.length>1?{type:Ao[s],data:r.substring(1)}:{type:Ao[s]}:Lf},E_=(r,n)=>{if(S_){const s=w_(r);return Dg(s,n)}else return{base64:!0,data:r}},Dg=(r,n)=>{switch(n){case"blob":return r instanceof Blob?r:new Blob([r]);case"arraybuffer":default:return r instanceof ArrayBuffer?r:r.buffer}},zg="",A_=(r,n)=>{const s=r.length,a=new Array(s);let o=0;r.forEach((f,h)=>{sh(f,!1,d=>{a[h]=d,++o===s&&n(a.join(zg))})})},O_=(r,n)=>{const s=r.split(zg),a=[];for(let o=0;o<s.length;o++){const f=ih(s[o],n);if(a.push(f),f.type==="error")break}return a};function j_(){return new TransformStream({transform(r,n){__(r,s=>{const a=s.length;let o;if(a<126)o=new Uint8Array(1),new DataView(o.buffer).setUint8(0,a);else if(a<65536){o=new Uint8Array(3);const f=new DataView(o.buffer);f.setUint8(0,126),f.setUint16(1,a)}else{o=new Uint8Array(9);const f=new DataView(o.buffer);f.setUint8(0,127),f.setBigUint64(1,BigInt(a))}r.data&&typeof r.data!="string"&&(o[0]|=128),n.enqueue(o),n.enqueue(s)})}})}let yf;function bo(r){return r.reduce((n,s)=>n+s.length,0)}function xo(r,n){if(r[0].length===n)return r.shift();const s=new Uint8Array(n);let a=0;for(let o=0;o<n;o++)s[o]=r[0][a++],a===r[0].length&&(r.shift(),a=0);return r.length&&a<r[0].length&&(r[0]=r[0].slice(a)),s}function T_(r,n){yf||(yf=new TextDecoder);const s=[];let a=0,o=-1,f=!1;return new TransformStream({transform(h,d){for(s.push(h);;){if(a===0){if(bo(s)<1)break;const g=xo(s,1);f=(g[0]&128)===128,o=g[0]&127,o<126?a=3:o===126?a=1:a=2}else if(a===1){if(bo(s)<2)break;const g=xo(s,2);o=new DataView(g.buffer,g.byteOffset,g.length).getUint16(0),a=3}else if(a===2){if(bo(s)<8)break;const g=xo(s,8),y=new DataView(g.buffer,g.byteOffset,g.length),E=y.getUint32(0);if(E>Math.pow(2,21)-1){d.enqueue(Lf);break}o=E*Math.pow(2,32)+y.getUint32(4),a=3}else{if(bo(s)<o)break;const g=xo(s,o);d.enqueue(ih(f?g:yf.decode(g),n)),a=0}if(o===0||o>r){d.enqueue(Lf);break}}}})}const qg=4;function gt(r){if(r)return N_(r)}function N_(r){for(var n in gt.prototype)r[n]=gt.prototype[n];return r}gt.prototype.on=gt.prototype.addEventListener=function(r,n){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(n),this};gt.prototype.once=function(r,n){function s(){this.off(r,s),n.apply(this,arguments)}return s.fn=n,this.on(r,s),this};gt.prototype.off=gt.prototype.removeListener=gt.prototype.removeAllListeners=gt.prototype.removeEventListener=function(r,n){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var s=this._callbacks["$"+r];if(!s)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var a,o=0;o<s.length;o++)if(a=s[o],a===n||a.fn===n){s.splice(o,1);break}return s.length===0&&delete this._callbacks["$"+r],this};gt.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var n=new Array(arguments.length-1),s=this._callbacks["$"+r],a=1;a<arguments.length;a++)n[a-1]=arguments[a];if(s){s=s.slice(0);for(var a=0,o=s.length;a<o;++a)s[a].apply(this,n)}return this};gt.prototype.emitReserved=gt.prototype.emit;gt.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]};gt.prototype.hasListeners=function(r){return!!this.listeners(r).length};const Fo=typeof Promise=="function"&&typeof Promise.resolve=="function"?n=>Promise.resolve().then(n):(n,s)=>s(n,0),bn=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),C_="arraybuffer";function Ug(r,...n){return n.reduce((s,a)=>(r.hasOwnProperty(a)&&(s[a]=r[a]),s),{})}const k_=bn.setTimeout,M_=bn.clearTimeout;function Jo(r,n){n.useNativeTimers?(r.setTimeoutFn=k_.bind(bn),r.clearTimeoutFn=M_.bind(bn)):(r.setTimeoutFn=bn.setTimeout.bind(bn),r.clearTimeoutFn=bn.clearTimeout.bind(bn))}const R_=1.33;function D_(r){return typeof r=="string"?z_(r):Math.ceil((r.byteLength||r.size)*R_)}function z_(r){let n=0,s=0;for(let a=0,o=r.length;a<o;a++)n=r.charCodeAt(a),n<128?s+=1:n<2048?s+=2:n<55296||n>=57344?s+=3:(a++,s+=4);return s}function Bg(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function q_(r){let n="";for(let s in r)r.hasOwnProperty(s)&&(n.length&&(n+="&"),n+=encodeURIComponent(s)+"="+encodeURIComponent(r[s]));return n}function U_(r){let n={},s=r.split("&");for(let a=0,o=s.length;a<o;a++){let f=s[a].split("=");n[decodeURIComponent(f[0])]=decodeURIComponent(f[1])}return n}class B_ extends Error{constructor(n,s,a){super(n),this.description=s,this.context=a,this.type="TransportError"}}class rh extends gt{constructor(n){super(),this.writable=!1,Jo(this,n),this.opts=n,this.query=n.query,this.socket=n.socket,this.supportsBinary=!n.forceBase64}onError(n,s,a){return super.emitReserved("error",new B_(n,s,a)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(n){this.readyState==="open"&&this.write(n)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(n){const s=ih(n,this.socket.binaryType);this.onPacket(s)}onPacket(n){super.emitReserved("packet",n)}onClose(n){this.readyState="closed",super.emitReserved("close",n)}pause(n){}createUri(n,s={}){return n+"://"+this._hostname()+this._port()+this.opts.path+this._query(s)}_hostname(){const n=this.opts.hostname;return n.indexOf(":")===-1?n:"["+n+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(n){const s=q_(n);return s.length?"?"+s:""}}class L_ extends rh{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(n){this.readyState="pausing";const s=()=>{this.readyState="paused",n()};if(this._polling||!this.writable){let a=0;this._polling&&(a++,this.once("pollComplete",function(){--a||s()})),this.writable||(a++,this.once("drain",function(){--a||s()}))}else s()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(n){const s=a=>{if(this.readyState==="opening"&&a.type==="open"&&this.onOpen(),a.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(a)};O_(n,this.socket.binaryType).forEach(s),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const n=()=>{this.write([{type:"close"}])};this.readyState==="open"?n():this.once("open",n)}write(n){this.writable=!1,A_(n,s=>{this.doWrite(s,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const n=this.opts.secure?"https":"http",s=this.query||{};return this.opts.timestampRequests!==!1&&(s[this.opts.timestampParam]=Bg()),!this.supportsBinary&&!s.sid&&(s.b64=1),this.createUri(n,s)}}let Lg=!1;try{Lg=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const H_=Lg;function P_(){}class $_ extends L_{constructor(n){if(super(n),typeof location<"u"){const s=location.protocol==="https:";let a=location.port;a||(a=s?"443":"80"),this.xd=typeof location<"u"&&n.hostname!==location.hostname||a!==n.port}}doWrite(n,s){const a=this.request({method:"POST",data:n});a.on("success",s),a.on("error",(o,f)=>{this.onError("xhr post error",o,f)})}doPoll(){const n=this.request();n.on("data",this.onData.bind(this)),n.on("error",(s,a)=>{this.onError("xhr poll error",s,a)}),this.pollXhr=n}}class Un extends gt{constructor(n,s,a){super(),this.createRequest=n,Jo(this,a),this._opts=a,this._method=a.method||"GET",this._uri=s,this._data=a.data!==void 0?a.data:null,this._create()}_create(){var n;const s=Ug(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");s.xdomain=!!this._opts.xd;const a=this._xhr=this.createRequest(s);try{a.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){a.setDisableHeaderCheck&&a.setDisableHeaderCheck(!0);for(let o in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(o)&&a.setRequestHeader(o,this._opts.extraHeaders[o])}}catch{}if(this._method==="POST")try{a.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{a.setRequestHeader("Accept","*/*")}catch{}(n=this._opts.cookieJar)===null||n===void 0||n.addCookies(a),"withCredentials"in a&&(a.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(a.timeout=this._opts.requestTimeout),a.onreadystatechange=()=>{var o;a.readyState===3&&((o=this._opts.cookieJar)===null||o===void 0||o.parseCookies(a.getResponseHeader("set-cookie"))),a.readyState===4&&(a.status===200||a.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof a.status=="number"?a.status:0)},0))},a.send(this._data)}catch(o){this.setTimeoutFn(()=>{this._onError(o)},0);return}typeof document<"u"&&(this._index=Un.requestsCount++,Un.requests[this._index]=this)}_onError(n){this.emitReserved("error",n,this._xhr),this._cleanup(!0)}_cleanup(n){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=P_,n)try{this._xhr.abort()}catch{}typeof document<"u"&&delete Un.requests[this._index],this._xhr=null}}_onLoad(){const n=this._xhr.responseText;n!==null&&(this.emitReserved("data",n),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}Un.requestsCount=0;Un.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",k0);else if(typeof addEventListener=="function"){const r="onpagehide"in bn?"pagehide":"unload";addEventListener(r,k0,!1)}}function k0(){for(let r in Un.requests)Un.requests.hasOwnProperty(r)&&Un.requests[r].abort()}const Y_=(function(){const r=Hg({xdomain:!1});return r&&r.responseType!==null})();class G_ extends $_{constructor(n){super(n);const s=n&&n.forceBase64;this.supportsBinary=Y_&&!s}request(n={}){return Object.assign(n,{xd:this.xd},this.opts),new Un(Hg,this.uri(),n)}}function Hg(r){const n=r.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!n||H_))return new XMLHttpRequest}catch{}if(!n)try{return new bn[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const Pg=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class V_ extends rh{get name(){return"websocket"}doOpen(){const n=this.uri(),s=this.opts.protocols,a=Pg?{}:Ug(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(a.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(n,s,a)}catch(o){return this.emitReserved("error",o)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=n=>this.onClose({description:"websocket connection closed",context:n}),this.ws.onmessage=n=>this.onData(n.data),this.ws.onerror=n=>this.onError("websocket error",n)}write(n){this.writable=!1;for(let s=0;s<n.length;s++){const a=n[s],o=s===n.length-1;sh(a,this.supportsBinary,f=>{try{this.doWrite(a,f)}catch{}o&&Fo(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const n=this.opts.secure?"wss":"ws",s=this.query||{};return this.opts.timestampRequests&&(s[this.opts.timestampParam]=Bg()),this.supportsBinary||(s.b64=1),this.createUri(n,s)}}const bf=bn.WebSocket||bn.MozWebSocket;class F_ extends V_{createSocket(n,s,a){return Pg?new bf(n,s,a):s?new bf(n,s):new bf(n)}doWrite(n,s){this.ws.send(s)}}class J_ extends rh{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(n){return this.emitReserved("error",n)}this._transport.closed.then(()=>{this.onClose()}).catch(n=>{this.onError("webtransport error",n)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(n=>{const s=T_(Number.MAX_SAFE_INTEGER,this.socket.binaryType),a=n.readable.pipeThrough(s).getReader(),o=j_();o.readable.pipeTo(n.writable),this._writer=o.writable.getWriter();const f=()=>{a.read().then(({done:d,value:g})=>{d||(this.onPacket(g),f())}).catch(d=>{})};f();const h={type:"open"};this.query.sid&&(h.data=`{"sid":"${this.query.sid}"}`),this._writer.write(h).then(()=>this.onOpen())})})}write(n){this.writable=!1;for(let s=0;s<n.length;s++){const a=n[s],o=s===n.length-1;this._writer.write(a).then(()=>{o&&Fo(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var n;(n=this._transport)===null||n===void 0||n.close()}}const Q_={websocket:F_,webtransport:J_,polling:G_},I_=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,X_=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Hf(r){if(r.length>8e3)throw"URI too long";const n=r,s=r.indexOf("["),a=r.indexOf("]");s!=-1&&a!=-1&&(r=r.substring(0,s)+r.substring(s,a).replace(/:/g,";")+r.substring(a,r.length));let o=I_.exec(r||""),f={},h=14;for(;h--;)f[X_[h]]=o[h]||"";return s!=-1&&a!=-1&&(f.source=n,f.host=f.host.substring(1,f.host.length-1).replace(/;/g,":"),f.authority=f.authority.replace("[","").replace("]","").replace(/;/g,":"),f.ipv6uri=!0),f.pathNames=K_(f,f.path),f.queryKey=Z_(f,f.query),f}function K_(r,n){const s=/\/{2,9}/g,a=n.replace(s,"/").split("/");return(n.slice(0,1)=="/"||n.length===0)&&a.splice(0,1),n.slice(-1)=="/"&&a.splice(a.length-1,1),a}function Z_(r,n){const s={};return n.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(a,o,f){o&&(s[o]=f)}),s}const Pf=typeof addEventListener=="function"&&typeof removeEventListener=="function",Oo=[];Pf&&addEventListener("offline",()=>{Oo.forEach(r=>r())},!1);class Xs extends gt{constructor(n,s){if(super(),this.binaryType=C_,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,n&&typeof n=="object"&&(s=n,n=null),n){const a=Hf(n);s.hostname=a.host,s.secure=a.protocol==="https"||a.protocol==="wss",s.port=a.port,a.query&&(s.query=a.query)}else s.host&&(s.hostname=Hf(s.host).host);Jo(this,s),this.secure=s.secure!=null?s.secure:typeof location<"u"&&location.protocol==="https:",s.hostname&&!s.port&&(s.port=this.secure?"443":"80"),this.hostname=s.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=s.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},s.transports.forEach(a=>{const o=a.prototype.name;this.transports.push(o),this._transportsByName[o]=a}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},s),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=U_(this.opts.query)),Pf&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},Oo.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(n){const s=Object.assign({},this.opts.query);s.EIO=qg,s.transport=n,this.id&&(s.sid=this.id);const a=Object.assign({},this.opts,{query:s,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[n]);return new this._transportsByName[n](a)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const n=this.opts.rememberUpgrade&&Xs.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const s=this.createTransport(n);s.open(),this.setTransport(s)}setTransport(n){this.transport&&this.transport.removeAllListeners(),this.transport=n,n.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",s=>this._onClose("transport close",s))}onOpen(){this.readyState="open",Xs.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(n){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",n),this.emitReserved("heartbeat"),n.type){case"open":this.onHandshake(JSON.parse(n.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const s=new Error("server error");s.code=n.data,this._onError(s);break;case"message":this.emitReserved("data",n.data),this.emitReserved("message",n.data);break}}onHandshake(n){this.emitReserved("handshake",n),this.id=n.sid,this.transport.query.sid=n.sid,this._pingInterval=n.pingInterval,this._pingTimeout=n.pingTimeout,this._maxPayload=n.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const n=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+n,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},n),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const n=this._getWritablePackets();this.transport.send(n),this._prevBufferLen=n.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let s=1;for(let a=0;a<this.writeBuffer.length;a++){const o=this.writeBuffer[a].data;if(o&&(s+=D_(o)),a>0&&s>this._maxPayload)return this.writeBuffer.slice(0,a);s+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const n=Date.now()>this._pingTimeoutTime;return n&&(this._pingTimeoutTime=0,Fo(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),n}write(n,s,a){return this._sendPacket("message",n,s,a),this}send(n,s,a){return this._sendPacket("message",n,s,a),this}_sendPacket(n,s,a,o){if(typeof s=="function"&&(o=s,s=void 0),typeof a=="function"&&(o=a,a=null),this.readyState==="closing"||this.readyState==="closed")return;a=a||{},a.compress=a.compress!==!1;const f={type:n,data:s,options:a};this.emitReserved("packetCreate",f),this.writeBuffer.push(f),o&&this.once("flush",o),this.flush()}close(){const n=()=>{this._onClose("forced close"),this.transport.close()},s=()=>{this.off("upgrade",s),this.off("upgradeError",s),n()},a=()=>{this.once("upgrade",s),this.once("upgradeError",s)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?a():n()}):this.upgrading?a():n()),this}_onError(n){if(Xs.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",n),this._onClose("transport error",n)}_onClose(n,s){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),Pf&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const a=Oo.indexOf(this._offlineEventListener);a!==-1&&Oo.splice(a,1)}this.readyState="closed",this.id=null,this.emitReserved("close",n,s),this.writeBuffer=[],this._prevBufferLen=0}}}Xs.protocol=qg;class W_ extends Xs{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let n=0;n<this._upgrades.length;n++)this._probe(this._upgrades[n])}_probe(n){let s=this.createTransport(n),a=!1;Xs.priorWebsocketSuccess=!1;const o=()=>{a||(s.send([{type:"ping",data:"probe"}]),s.once("packet",w=>{if(!a)if(w.type==="pong"&&w.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",s),!s)return;Xs.priorWebsocketSuccess=s.name==="websocket",this.transport.pause(()=>{a||this.readyState!=="closed"&&(E(),this.setTransport(s),s.send([{type:"upgrade"}]),this.emitReserved("upgrade",s),s=null,this.upgrading=!1,this.flush())})}else{const j=new Error("probe error");j.transport=s.name,this.emitReserved("upgradeError",j)}}))};function f(){a||(a=!0,E(),s.close(),s=null)}const h=w=>{const j=new Error("probe error: "+w);j.transport=s.name,f(),this.emitReserved("upgradeError",j)};function d(){h("transport closed")}function g(){h("socket closed")}function y(w){s&&w.name!==s.name&&f()}const E=()=>{s.removeListener("open",o),s.removeListener("error",h),s.removeListener("close",d),this.off("close",g),this.off("upgrading",y)};s.once("open",o),s.once("error",h),s.once("close",d),this.once("close",g),this.once("upgrading",y),this._upgrades.indexOf("webtransport")!==-1&&n!=="webtransport"?this.setTimeoutFn(()=>{a||s.open()},200):s.open()}onHandshake(n){this._upgrades=this._filterUpgrades(n.upgrades),super.onHandshake(n)}_filterUpgrades(n){const s=[];for(let a=0;a<n.length;a++)~this.transports.indexOf(n[a])&&s.push(n[a]);return s}}let ew=class extends W_{constructor(n,s={}){const a=typeof n=="object"?n:s;(!a.transports||a.transports&&typeof a.transports[0]=="string")&&(a.transports=(a.transports||["polling","websocket","webtransport"]).map(o=>Q_[o]).filter(o=>!!o)),super(n,a)}};function tw(r,n="",s){let a=r;s=s||typeof location<"u"&&location,r==null&&(r=s.protocol+"//"+s.host),typeof r=="string"&&(r.charAt(0)==="/"&&(r.charAt(1)==="/"?r=s.protocol+r:r=s.host+r),/^(https?|wss?):\/\//.test(r)||(typeof s<"u"?r=s.protocol+"//"+r:r="https://"+r),a=Hf(r)),a.port||(/^(http|ws)$/.test(a.protocol)?a.port="80":/^(http|ws)s$/.test(a.protocol)&&(a.port="443")),a.path=a.path||"/";const f=a.host.indexOf(":")!==-1?"["+a.host+"]":a.host;return a.id=a.protocol+"://"+f+":"+a.port+n,a.href=a.protocol+"://"+f+(s&&s.port===a.port?"":":"+a.port),a}const nw=typeof ArrayBuffer=="function",sw=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer,$g=Object.prototype.toString,iw=typeof Blob=="function"||typeof Blob<"u"&&$g.call(Blob)==="[object BlobConstructor]",rw=typeof File=="function"||typeof File<"u"&&$g.call(File)==="[object FileConstructor]";function ah(r){return nw&&(r instanceof ArrayBuffer||sw(r))||iw&&r instanceof Blob||rw&&r instanceof File}function jo(r,n){if(!r||typeof r!="object")return!1;if(Array.isArray(r)){for(let s=0,a=r.length;s<a;s++)if(jo(r[s]))return!0;return!1}if(ah(r))return!0;if(r.toJSON&&typeof r.toJSON=="function"&&arguments.length===1)return jo(r.toJSON(),!0);for(const s in r)if(Object.prototype.hasOwnProperty.call(r,s)&&jo(r[s]))return!0;return!1}function aw(r){const n=[],s=r.data,a=r;return a.data=$f(s,n),a.attachments=n.length,{packet:a,buffers:n}}function $f(r,n){if(!r)return r;if(ah(r)){const s={_placeholder:!0,num:n.length};return n.push(r),s}else if(Array.isArray(r)){const s=new Array(r.length);for(let a=0;a<r.length;a++)s[a]=$f(r[a],n);return s}else if(typeof r=="object"&&!(r instanceof Date)){const s={};for(const a in r)Object.prototype.hasOwnProperty.call(r,a)&&(s[a]=$f(r[a],n));return s}return r}function lw(r,n){return r.data=Yf(r.data,n),delete r.attachments,r}function Yf(r,n){if(!r)return r;if(r&&r._placeholder===!0){if(typeof r.num=="number"&&r.num>=0&&r.num<n.length)return n[r.num];throw new Error("illegal attachments")}else if(Array.isArray(r))for(let s=0;s<r.length;s++)r[s]=Yf(r[s],n);else if(typeof r=="object")for(const s in r)Object.prototype.hasOwnProperty.call(r,s)&&(r[s]=Yf(r[s],n));return r}const ow=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var De;(function(r){r[r.CONNECT=0]="CONNECT",r[r.DISCONNECT=1]="DISCONNECT",r[r.EVENT=2]="EVENT",r[r.ACK=3]="ACK",r[r.CONNECT_ERROR=4]="CONNECT_ERROR",r[r.BINARY_EVENT=5]="BINARY_EVENT",r[r.BINARY_ACK=6]="BINARY_ACK"})(De||(De={}));class cw{constructor(n){this.replacer=n}encode(n){return(n.type===De.EVENT||n.type===De.ACK)&&jo(n)?this.encodeAsBinary({type:n.type===De.EVENT?De.BINARY_EVENT:De.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id}):[this.encodeAsString(n)]}encodeAsString(n){let s=""+n.type;return(n.type===De.BINARY_EVENT||n.type===De.BINARY_ACK)&&(s+=n.attachments+"-"),n.nsp&&n.nsp!=="/"&&(s+=n.nsp+","),n.id!=null&&(s+=n.id),n.data!=null&&(s+=JSON.stringify(n.data,this.replacer)),s}encodeAsBinary(n){const s=aw(n),a=this.encodeAsString(s.packet),o=s.buffers;return o.unshift(a),o}}class lh extends gt{constructor(n){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},typeof n=="function"?{reviver:n}:n)}add(n){let s;if(typeof n=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");s=this.decodeString(n);const a=s.type===De.BINARY_EVENT;a||s.type===De.BINARY_ACK?(s.type=a?De.EVENT:De.ACK,this.reconstructor=new uw(s),s.attachments===0&&super.emitReserved("decoded",s)):super.emitReserved("decoded",s)}else if(ah(n)||n.base64)if(this.reconstructor)s=this.reconstructor.takeBinaryData(n),s&&(this.reconstructor=null,super.emitReserved("decoded",s));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+n)}decodeString(n){let s=0;const a={type:Number(n.charAt(0))};if(De[a.type]===void 0)throw new Error("unknown packet type "+a.type);if(a.type===De.BINARY_EVENT||a.type===De.BINARY_ACK){const f=s+1;for(;n.charAt(++s)!=="-"&&s!=n.length;);const h=n.substring(f,s);if(h!=Number(h)||n.charAt(s)!=="-")throw new Error("Illegal attachments");const d=Number(h);if(!fw(d)||d<0)throw new Error("Illegal attachments");if(d>this.opts.maxAttachments)throw new Error("too many attachments");a.attachments=d}if(n.charAt(s+1)==="/"){const f=s+1;for(;++s&&!(n.charAt(s)===","||s===n.length););a.nsp=n.substring(f,s)}else a.nsp="/";const o=n.charAt(s+1);if(o!==""&&Number(o)==o){const f=s+1;for(;++s;){const h=n.charAt(s);if(h==null||Number(h)!=h){--s;break}if(s===n.length)break}a.id=Number(n.substring(f,s+1))}if(n.charAt(++s)){const f=this.tryParse(n.substr(s));if(lh.isPayloadValid(a.type,f))a.data=f;else throw new Error("invalid payload")}return a}tryParse(n){try{return JSON.parse(n,this.opts.reviver)}catch{return!1}}static isPayloadValid(n,s){switch(n){case De.CONNECT:return M0(s);case De.DISCONNECT:return s===void 0;case De.CONNECT_ERROR:return typeof s=="string"||M0(s);case De.EVENT:case De.BINARY_EVENT:return Array.isArray(s)&&(typeof s[0]=="number"||typeof s[0]=="string"&&ow.indexOf(s[0])===-1);case De.ACK:case De.BINARY_ACK:return Array.isArray(s)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class uw{constructor(n){this.packet=n,this.buffers=[],this.reconPack=n}takeBinaryData(n){if(this.buffers.push(n),this.buffers.length===this.reconPack.attachments){const s=lw(this.reconPack,this.buffers);return this.finishedReconstruction(),s}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const fw=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r};function M0(r){return Object.prototype.toString.call(r)==="[object Object]"}const hw=Object.freeze(Object.defineProperty({__proto__:null,Decoder:lh,Encoder:cw,get PacketType(){return De}},Symbol.toStringTag,{value:"Module"}));function On(r,n,s){return r.on(n,s),function(){r.off(n,s)}}const dw=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Yg extends gt{constructor(n,s,a){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=n,this.nsp=s,a&&a.auth&&(this.auth=a.auth),this._opts=Object.assign({},a),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const n=this.io;this.subs=[On(n,"open",this.onopen.bind(this)),On(n,"packet",this.onpacket.bind(this)),On(n,"error",this.onerror.bind(this)),On(n,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...n){return n.unshift("message"),this.emit.apply(this,n),this}emit(n,...s){var a,o,f;if(dw.hasOwnProperty(n))throw new Error('"'+n.toString()+'" is a reserved event name');if(s.unshift(n),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(s),this;const h={type:De.EVENT,data:s};if(h.options={},h.options.compress=this.flags.compress!==!1,typeof s[s.length-1]=="function"){const E=this.ids++,w=s.pop();this._registerAckCallback(E,w),h.id=E}const d=(o=(a=this.io.engine)===null||a===void 0?void 0:a.transport)===null||o===void 0?void 0:o.writable,g=this.connected&&!(!((f=this.io.engine)===null||f===void 0)&&f._hasPingExpired());return this.flags.volatile&&!d||(g?(this.notifyOutgoingListeners(h),this.packet(h)):this.sendBuffer.push(h)),this.flags={},this}_registerAckCallback(n,s){var a;const o=(a=this.flags.timeout)!==null&&a!==void 0?a:this._opts.ackTimeout;if(o===void 0){this.acks[n]=s;return}const f=this.io.setTimeoutFn(()=>{delete this.acks[n];for(let d=0;d<this.sendBuffer.length;d++)this.sendBuffer[d].id===n&&this.sendBuffer.splice(d,1);s.call(this,new Error("operation has timed out"))},o),h=(...d)=>{this.io.clearTimeoutFn(f),s.apply(this,d)};h.withError=!0,this.acks[n]=h}emitWithAck(n,...s){return new Promise((a,o)=>{const f=(h,d)=>h?o(h):a(d);f.withError=!0,s.push(f),this.emit(n,...s)})}_addToQueue(n){let s;typeof n[n.length-1]=="function"&&(s=n.pop());const a={id:this._queueSeq++,tryCount:0,pending:!1,args:n,flags:Object.assign({fromQueue:!0},this.flags)};n.push((o,...f)=>(this._queue[0],o!==null?a.tryCount>this._opts.retries&&(this._queue.shift(),s&&s(o)):(this._queue.shift(),s&&s(null,...f)),a.pending=!1,this._drainQueue())),this._queue.push(a),this._drainQueue()}_drainQueue(n=!1){if(!this.connected||this._queue.length===0)return;const s=this._queue[0];s.pending&&!n||(s.pending=!0,s.tryCount++,this.flags=s.flags,this.emit.apply(this,s.args))}packet(n){n.nsp=this.nsp,this.io._packet(n)}onopen(){typeof this.auth=="function"?this.auth(n=>{this._sendConnectPacket(n)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(n){this.packet({type:De.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},n):n})}onerror(n){this.connected||this.emitReserved("connect_error",n)}onclose(n,s){this.connected=!1,delete this.id,this.emitReserved("disconnect",n,s),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(n=>{if(!this.sendBuffer.some(a=>String(a.id)===n)){const a=this.acks[n];delete this.acks[n],a.withError&&a.call(this,new Error("socket has been disconnected"))}})}onpacket(n){if(n.nsp===this.nsp)switch(n.type){case De.CONNECT:n.data&&n.data.sid?this.onconnect(n.data.sid,n.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case De.EVENT:case De.BINARY_EVENT:this.onevent(n);break;case De.ACK:case De.BINARY_ACK:this.onack(n);break;case De.DISCONNECT:this.ondisconnect();break;case De.CONNECT_ERROR:this.destroy();const a=new Error(n.data.message);a.data=n.data.data,this.emitReserved("connect_error",a);break}}onevent(n){const s=n.data||[];n.id!=null&&s.push(this.ack(n.id)),this.connected?this.emitEvent(s):this.receiveBuffer.push(Object.freeze(s))}emitEvent(n){if(this._anyListeners&&this._anyListeners.length){const s=this._anyListeners.slice();for(const a of s)a.apply(this,n)}super.emit.apply(this,n),this._pid&&n.length&&typeof n[n.length-1]=="string"&&(this._lastOffset=n[n.length-1])}ack(n){const s=this;let a=!1;return function(...o){a||(a=!0,s.packet({type:De.ACK,id:n,data:o}))}}onack(n){const s=this.acks[n.id];typeof s=="function"&&(delete this.acks[n.id],s.withError&&n.data.unshift(null),s.apply(this,n.data))}onconnect(n,s){this.id=n,this.recovered=s&&this._pid===s,this._pid=s,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(n=>this.emitEvent(n)),this.receiveBuffer=[],this.sendBuffer.forEach(n=>{this.notifyOutgoingListeners(n),this.packet(n)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(n=>n()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:De.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(n){return this.flags.compress=n,this}get volatile(){return this.flags.volatile=!0,this}timeout(n){return this.flags.timeout=n,this}onAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(n),this}prependAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(n),this}offAny(n){if(!this._anyListeners)return this;if(n){const s=this._anyListeners;for(let a=0;a<s.length;a++)if(n===s[a])return s.splice(a,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(n),this}prependAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(n),this}offAnyOutgoing(n){if(!this._anyOutgoingListeners)return this;if(n){const s=this._anyOutgoingListeners;for(let a=0;a<s.length;a++)if(n===s[a])return s.splice(a,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(n){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const s=this._anyOutgoingListeners.slice();for(const a of s)a.apply(this,n.data)}}}function jr(r){r=r||{},this.ms=r.min||100,this.max=r.max||1e4,this.factor=r.factor||2,this.jitter=r.jitter>0&&r.jitter<=1?r.jitter:0,this.attempts=0}jr.prototype.duration=function(){var r=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var n=Math.random(),s=Math.floor(n*this.jitter*r);r=(Math.floor(n*10)&1)==0?r-s:r+s}return Math.min(r,this.max)|0};jr.prototype.reset=function(){this.attempts=0};jr.prototype.setMin=function(r){this.ms=r};jr.prototype.setMax=function(r){this.max=r};jr.prototype.setJitter=function(r){this.jitter=r};class Gf extends gt{constructor(n,s){var a;super(),this.nsps={},this.subs=[],n&&typeof n=="object"&&(s=n,n=void 0),s=s||{},s.path=s.path||"/socket.io",this.opts=s,Jo(this,s),this.reconnection(s.reconnection!==!1),this.reconnectionAttempts(s.reconnectionAttempts||1/0),this.reconnectionDelay(s.reconnectionDelay||1e3),this.reconnectionDelayMax(s.reconnectionDelayMax||5e3),this.randomizationFactor((a=s.randomizationFactor)!==null&&a!==void 0?a:.5),this.backoff=new jr({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(s.timeout==null?2e4:s.timeout),this._readyState="closed",this.uri=n;const o=s.parser||hw;this.encoder=new o.Encoder,this.decoder=new o.Decoder,this._autoConnect=s.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(n){return arguments.length?(this._reconnection=!!n,n||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(n){return n===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=n,this)}reconnectionDelay(n){var s;return n===void 0?this._reconnectionDelay:(this._reconnectionDelay=n,(s=this.backoff)===null||s===void 0||s.setMin(n),this)}randomizationFactor(n){var s;return n===void 0?this._randomizationFactor:(this._randomizationFactor=n,(s=this.backoff)===null||s===void 0||s.setJitter(n),this)}reconnectionDelayMax(n){var s;return n===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=n,(s=this.backoff)===null||s===void 0||s.setMax(n),this)}timeout(n){return arguments.length?(this._timeout=n,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(n){if(~this._readyState.indexOf("open"))return this;this.engine=new ew(this.uri,this.opts);const s=this.engine,a=this;this._readyState="opening",this.skipReconnect=!1;const o=On(s,"open",function(){a.onopen(),n&&n()}),f=d=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",d),n?n(d):this.maybeReconnectOnOpen()},h=On(s,"error",f);if(this._timeout!==!1){const d=this._timeout,g=this.setTimeoutFn(()=>{o(),f(new Error("timeout")),s.close()},d);this.opts.autoUnref&&g.unref(),this.subs.push(()=>{this.clearTimeoutFn(g)})}return this.subs.push(o),this.subs.push(h),this}connect(n){return this.open(n)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const n=this.engine;this.subs.push(On(n,"ping",this.onping.bind(this)),On(n,"data",this.ondata.bind(this)),On(n,"error",this.onerror.bind(this)),On(n,"close",this.onclose.bind(this)),On(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(n){try{this.decoder.add(n)}catch(s){this.onclose("parse error",s)}}ondecoded(n){Fo(()=>{this.emitReserved("packet",n)},this.setTimeoutFn)}onerror(n){this.emitReserved("error",n)}socket(n,s){let a=this.nsps[n];return a?this._autoConnect&&!a.active&&a.connect():(a=new Yg(this,n,s),this.nsps[n]=a),a}_destroy(n){const s=Object.keys(this.nsps);for(const a of s)if(this.nsps[a].active)return;this._close()}_packet(n){const s=this.encoder.encode(n);for(let a=0;a<s.length;a++)this.engine.write(s[a],n.options)}cleanup(){this.subs.forEach(n=>n()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(n,s){var a;this.cleanup(),(a=this.engine)===null||a===void 0||a.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",n,s),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const n=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const s=this.backoff.duration();this._reconnecting=!0;const a=this.setTimeoutFn(()=>{n.skipReconnect||(this.emitReserved("reconnect_attempt",n.backoff.attempts),!n.skipReconnect&&n.open(o=>{o?(n._reconnecting=!1,n.reconnect(),this.emitReserved("reconnect_error",o)):n.onreconnect()}))},s);this.opts.autoUnref&&a.unref(),this.subs.push(()=>{this.clearTimeoutFn(a)})}}onreconnect(){const n=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",n)}}const Aa={};function To(r,n){typeof r=="object"&&(n=r,r=void 0),n=n||{};const s=tw(r,n.path||"/socket.io"),a=s.source,o=s.id,f=s.path,h=Aa[o]&&f in Aa[o].nsps,d=n.forceNew||n["force new connection"]||n.multiplex===!1||h;let g;return d?g=new Gf(a,n):(Aa[o]||(Aa[o]=new Gf(a,n)),g=Aa[o]),s.query&&!n.query&&(n.query=s.queryKey),g.socket(s.path,n)}Object.assign(To,{Manager:Gf,Socket:Yg,io:To,connect:To});const mw=T.createContext({connected:!1,subscribe:()=>()=>{}});function pw({children:r}){const n=T.useRef(null),[s,a]=T.useState(!1),o=T.useRef(new Map),f=T.useCallback((d,g)=>{const y=o.current;return y.has(d)||y.set(d,new Set),y.get(d).add(g),()=>{const E=y.get(d);E&&(E.delete(g),E.size===0&&y.delete(d))}},[]),h=T.useCallback((d,g)=>{for(const[y,E]of o.current)if(Cg(d,y))for(const w of E)try{w(g)}catch{}},[]);return T.useEffect(()=>{const d=fg(),g=To({path:`${Bn}/socket.io`,transports:["polling","websocket"],upgrade:!0,reconnection:!0,reconnectionAttempts:1/0,reconnectionDelay:2e3,...d?{auth:{token:d}}:{}});return n.current=g,console.log("[lt-socketio] connecting..."),g.on("connect",()=>{console.log("[lt-socketio] connected, id:",g.id),a(!0)}),g.on("disconnect",y=>{console.log("[lt-socketio] disconnected:",y),a(!1)}),g.on("connect_error",y=>{console.warn("[lt-socketio] connect error:",y.message),a(!1)}),g.onAny((y,E)=>{if(y.startsWith("lt."))try{const w=typeof E=="string"?JSON.parse(E):E;h(y,w)}catch{}}),()=>{g.removeAllListeners(),g.disconnect(),n.current=null,a(!1)}},[h]),m.jsx(mw.Provider,{value:{connected:s,subscribe:f},children:m.jsx(Ya.Provider,{value:{connected:s,subscribe:f},children:r})})}function gw({children:r}){const[n,s]=T.useState(null),[a,o]=T.useState({url:null,token:null});return T.useEffect(()=>{let f=!1;async function h(){var d;try{console.log("[lt-transport] detecting event transport...");const g=await fetch(`${Bn}/api/settings`);if(!g.ok){console.warn("[lt-transport] settings fetch failed, falling back to socketio"),f||s("socketio");return}const y=await g.json(),E=(d=y==null?void 0:y.events)==null?void 0:d.transport;if(console.log("[lt-transport] server reports:",E),!f){if(E==="nats"){let w=y.events.natsWsUrl??null,j=null;const z=fg();if(z)try{const M=await fetch(`${Bn}/api/nats-credentials`,{headers:{Authorization:`Bearer ${z}`}});if(M.ok){const B=await M.json();w=B.natsWsUrl??w,j=B.natsToken??null}}catch{console.warn("[lt-transport] failed to fetch NATS credentials")}o({url:w,token:j})}s(E==="nats"?"nats":"socketio")}}catch(g){console.warn("[lt-transport] settings fetch error, falling back to socketio",g),f||s("socketio")}}return h(),()=>{f=!0}},[]),n==="nats"?m.jsx(v_,{url:a.url,token:a.token,children:r}):n==="socketio"?m.jsx(pw,{children:r}):m.jsx(m.Fragment,{children:r})}const Vf="lt_ai_override";function yw(){return Xe("/settings")}function Ff(){try{if(localStorage.getItem(Vf)==="off")return!1}catch{}return null}function bw(){var s;const r=Hn({queryKey:["settings"],queryFn:yw,staleTime:1/0}),n=Ff();return r.data&&n===!1&&((s=r.data.ai)!=null&&s.enabled)?{...r,data:{...r.data,ai:{enabled:!1}}}:r}function xw(){const[r,n]=T.useState(()=>Ff()===!1),s=T.useCallback(()=>{const a=Ff()===!1;try{a?localStorage.removeItem(Vf):localStorage.setItem(Vf,"off")}catch{}n(!a),window.location.reload()},[]);return{aiOverrideActive:r,toggleAIOverride:s}}const Gg=T.createContext(null),R0="lt_sidebar_collapsed";function vw({children:r}){const[n,s]=T.useState(()=>{try{return localStorage.getItem(R0)==="true"}catch{return!1}}),a=T.useCallback(()=>{s(o=>{const f=!o;try{localStorage.setItem(R0,String(f))}catch{}return f})},[]);return m.jsx(Gg.Provider,{value:{collapsed:n,toggle:a},children:r})}function Vg(){const r=T.useContext(Gg);if(!r)throw new Error("useSidebar must be used within SidebarProvider");return r}function RE(r){const n=r?`?period=${r}`:"";return Hn({queryKey:["escalationStats",r],queryFn:()=>Xe(`/escalations/stats${n}`)})}function DE(){return Hn({queryKey:["escalationTypes"],queryFn:()=>Xe("/escalations/types")})}function _w(r){const{enabled:n=!0,...s}=r,a=new URLSearchParams;return s.status&&a.set("status",s.status),s.role&&a.set("role",s.role),s.type&&a.set("type",s.type),s.subtype&&a.set("subtype",s.subtype),s.assigned_to&&a.set("assigned_to",s.assigned_to),s.priority&&a.set("priority",String(s.priority)),s.limit&&a.set("limit",String(s.limit)),s.offset!==void 0&&a.set("offset",String(s.offset)),s.sort_by&&a.set("sort_by",s.sort_by),s.order&&a.set("order",s.order),Hn({queryKey:["escalations",s],queryFn:()=>Xe(`/escalations?${a}`),enabled:n})}function ww(r){const{enabled:n=!0,...s}=r,a=new URLSearchParams;return s.role&&a.set("role",s.role),s.type&&a.set("type",s.type),s.subtype&&a.set("subtype",s.subtype),s.priority&&a.set("priority",String(s.priority)),s.limit&&a.set("limit",String(s.limit)),s.offset!==void 0&&a.set("offset",String(s.offset)),s.sort_by&&a.set("sort_by",s.sort_by),s.order&&a.set("order",s.order),Hn({queryKey:["escalations","available",s],queryFn:()=>Xe(`/escalations/available?${a}`),enabled:n})}function zE(r){return Hn({queryKey:["escalations","by-workflow",r],queryFn:()=>Xe(`/escalations/by-workflow/${r}`),enabled:!!r})}function qE(r){return Hn({queryKey:["escalations",r],queryFn:()=>Xe(`/escalations/${r}`),enabled:!!r})}function UE(){const r=Nn();return Pn({mutationFn:({id:n,durationMinutes:s})=>Xe(`/escalations/${n}/claim`,{method:"POST",body:JSON.stringify({durationMinutes:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function BE(){const r=Nn();return Pn({mutationFn:n=>Xe(`/escalations/${n}/release`,{method:"POST"}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function LE(){const r=Nn();return Pn({mutationFn:({id:n,resolverPayload:s})=>Xe(`/escalations/${n}/resolve`,{method:"POST",body:JSON.stringify({resolverPayload:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"}),r.invalidateQueries({queryKey:["tasks"],refetchType:"all"}),r.invalidateQueries({queryKey:["jobs"],refetchType:"all"})}})}function HE(){const r=Nn();return Pn({mutationFn:({id:n,targetRole:s})=>Xe(`/escalations/${n}/escalate`,{method:"PATCH",body:JSON.stringify({targetRole:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function PE(){const r=Nn();return Pn({mutationFn:({ids:n,priority:s})=>Xe("/escalations/priority",{method:"PATCH",body:JSON.stringify({ids:n,priority:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function $E(){const r=Nn();return Pn({mutationFn:({ids:n,durationMinutes:s})=>Xe("/escalations/bulk-claim",{method:"POST",body:JSON.stringify({ids:n,durationMinutes:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function YE(){const r=Nn();return Pn({mutationFn:({ids:n,targetUserId:s,durationMinutes:a})=>Xe("/escalations/bulk-assign",{method:"POST",body:JSON.stringify({ids:n,targetUserId:s,durationMinutes:a})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function GE(){const r=Nn();return Pn({mutationFn:({ids:n,targetRole:s})=>Xe("/escalations/bulk-escalate",{method:"PATCH",body:JSON.stringify({ids:n,targetRole:s})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function VE(){const r=Nn();return Pn({mutationFn:({ids:n,hint:s})=>Xe("/escalations/bulk-triage",{method:"POST",body:JSON.stringify({ids:n,...s?{hint:s}:{}})}),onSuccess:()=>{r.invalidateQueries({queryKey:["escalations"],refetchType:"all"}),r.invalidateQueries({queryKey:["escalationStats"],refetchType:"all"})}})}function Sw(){const{user:r}=Oi(),n=r==null?void 0:r.userId,s=Nn(),a=T.useRef(null),o=T.useCallback(()=>{a.current||(a.current=setTimeout(()=>{a.current=null,s.invalidateQueries({queryKey:["escalations"]})},15e3))},[s]);y_(`${p_}.escalation.>`,o);const{data:f}=ww({limit:1}),{data:h}=_w({assigned_to:n,status:"pending",limit:200}),d=new Date,g=((h==null?void 0:h.escalations)??[]).filter(y=>y.assigned_until&&new Date(y.assigned_until)>d);return{available:(f==null?void 0:f.total)??0,mine:g.length}}function oh({size:r="sm",hideLabel:n=!1,className:s=""}){const a=r==="lg",o=a?"w-[16rem] h-[16rem] -rotate-[120deg] opacity-40 -ml-10":"w-[12.5rem] h-[12.5rem] -rotate-[120deg] opacity-40 -ml-8",f=a?"text-[44px] font-normal text-text-primary tracking-[0.15em] -ml-[12.5rem]":"text-[36px] font-normal text-text-primary tracking-[0.15em] -ml-[9.75rem]";return m.jsxs("div",{className:`flex items-center ${s}`,style:{height:"50px"},children:[m.jsx("img",{src:`${Bn}/logo512.png`,alt:"LongTail",className:`shrink-0 z-0 ${o}`}),m.jsx("span",{className:`z-[1] transition-opacity duration-300 ${f} ${n?"opacity-0":""}`,children:"LongTail"})]})}function Ew({onToggleEventFeed:r,onToggleDocs:n}){const{user:s,logout:a}=Oi(),{available:o,mine:f}=Sw(),{connected:h}=g_(),{toggleAIOverride:d}=xw(),[g,y]=T.useState(!1),E=T.useRef(null);return T.useEffect(()=>{if(!g)return;const w=j=>{E.current&&!E.current.contains(j.target)&&y(!1)};return document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)},[g]),m.jsxs("header",{className:"h-14 shrink-0 border-b border-surface-border bg-surface-raised flex items-center justify-between px-5 relative z-30",children:[m.jsx("div",{className:"flex items-center gap-4",children:m.jsx(gr,{to:"/","aria-label":"Home",onClick:w=>{(w.ctrlKey||w.metaKey)&&(w.preventDefault(),d())},children:m.jsx(oh,{})})}),m.jsxs("div",{className:"flex items-center gap-5",children:[m.jsxs(gr,{to:"/escalations/available",className:`flex items-center gap-1.5 text-[11px] transition-colors ${o>0?"text-blue-400 hover:text-blue-300":"text-text-quaternary hover:text-text-secondary"}`,title:"Available escalations",children:[m.jsx(wx,{className:"w-3.5 h-3.5",strokeWidth:1.5}),"all",o>0&&m.jsx("span",{className:"tabular-nums font-medium",children:o})]}),m.jsxs(gr,{to:"/escalations/queue",className:`flex items-center gap-1.5 text-[11px] transition-colors ${f>0?"text-status-warning hover:text-amber-300":"text-text-quaternary hover:text-text-secondary"}`,title:"My escalation queue",children:[m.jsx(Sx,{className:"w-3.5 h-3.5",strokeWidth:1.5}),"mine",f>0&&m.jsx("span",{className:"tabular-nums font-medium",children:f})]}),m.jsx("div",{className:"w-px h-4 bg-surface-border"}),m.jsxs("button",{type:"button",onClick:r,className:`flex items-center gap-1.5 text-[11px] transition-colors ${h?"text-emerald-400 hover:text-emerald-300":"text-text-quaternary hover:text-text-secondary"}`,title:h?"Live events — click to toggle feed":"Events disconnected",children:[m.jsx(ig,{className:"w-3.5 h-3.5",strokeWidth:1.5}),"events"]}),m.jsxs("button",{onClick:n,className:"flex items-center gap-1.5 text-[11px] text-text-quaternary hover:text-text-secondary transition-colors",title:"Documentation",children:[m.jsx(rg,{className:"w-3.5 h-3.5",strokeWidth:1.5}),"docs"]}),m.jsx("div",{className:"w-px h-4 bg-surface-border"}),s&&m.jsxs("div",{className:"relative",ref:E,children:[m.jsxs("button",{onClick:()=>y(w=>!w),className:"btn-ghost text-xs flex items-center gap-1",children:[m.jsx(Ex,{className:"w-3.5 h-3.5 text-accent/75",strokeWidth:1.5}),s.displayName||s.username||s.userId,m.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})]}),g&&m.jsxs("div",{className:"absolute right-0 top-full mt-1 w-48 bg-surface-raised border border-surface-border rounded-md shadow-lg py-1 z-50",children:[m.jsx(gr,{to:"/credentials",onClick:()=>y(!1),className:"block px-3 py-2 text-xs text-text-secondary hover:bg-surface-hover",children:"Credentials"}),m.jsx("button",{onClick:()=>{y(!1),a()},className:"block w-full text-left px-3 py-2 text-xs text-text-secondary hover:bg-surface-hover",children:"Sign Out"})]})]})]})]})}function ch({open:r,children:n}){const[s,a]=T.useState(r);return T.useEffect(()=>{r&&a(!0)},[r]),m.jsx("div",{className:`grid transition-[grid-template-rows] duration-300 ease-out ${r?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,onTransitionEnd:()=>{r||a(!1)},children:m.jsx("div",{className:"overflow-hidden",children:s?n:null})})}function Jf(r){return({isActive:n})=>{const s="flex items-center rounded-md transition-colors duration-150",a="bg-surface-hover text-text-primary font-medium",o="text-text-secondary hover:text-text-primary hover:bg-surface-hover";return r?`${s} justify-center w-10 h-10 mx-auto ${n?a:o}`:`${s} gap-3 px-4 py-2 text-sm ${n?a:o}`}}function Aw(){return({isActive:r})=>`flex items-center gap-3 pl-11 pr-4 py-1.5 text-xs rounded-md transition-colors duration-150 ${r?"text-text-primary font-medium":"text-text-secondary hover:text-text-primary"}`}function Ow({group:r,collapsed:n}){const{pathname:s}=Ws(),a=r.matchPaths.some(d=>s.startsWith(d)),[o,f]=T.useState(a),h=o||a;return n?m.jsx(m.Fragment,{children:r.items.map(d=>m.jsx(No,{to:d.to,className:Jf(!0),title:d.label,children:d.icon&&m.jsx(d.icon,{className:"w-5 h-5 shrink-0 text-accent/75",strokeWidth:1.5})},d.to))}):m.jsxs("div",{children:[m.jsxs("button",{onClick:()=>f(d=>!d),className:"w-full flex items-center justify-between px-4 py-2 text-sm rounded-md transition-colors duration-150 text-text-secondary hover:text-text-primary hover:bg-surface-hover",children:[m.jsxs("span",{className:"flex items-center gap-3",children:[r.icon&&m.jsx(r.icon,{className:"w-5 h-5 shrink-0 text-accent/75",strokeWidth:1.5}),m.jsx("span",{children:r.label})]}),m.jsx("svg",{className:`w-3.5 h-3.5 text-text-tertiary transition-transform duration-150 ${h?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})]}),m.jsx(ch,{open:h,children:r.items.map(d=>m.jsxs(No,{to:d.to,end:d.end,className:Aw(),children:[d.icon&&m.jsx(d.icon,{className:"w-4 h-4 shrink-0 text-accent/75",strokeWidth:1.5}),m.jsx("span",{children:d.label})]},d.to))})]})}function jw(r){return r.kind==="group"}function Tw({entry:r,collapsed:n}){const{pathname:s,search:a}=Ws();if(r.to.includes("?")){const[f,h]=r.to.split("?"),d=s===f&&a===`?${h}`,g=Jf(n)({isActive:d});return m.jsxs(No,{to:r.to,className:g,title:n?r.label:void 0,children:[r.icon&&m.jsx(r.icon,{className:"w-5 h-5 shrink-0 text-accent/75",strokeWidth:1.5}),!n&&m.jsx("span",{children:r.label})]})}return m.jsxs(No,{to:r.to,end:r.end,className:Jf(n),title:n?r.label:void 0,children:[r.icon&&m.jsx(r.icon,{className:"w-5 h-5 shrink-0 text-accent/75",strokeWidth:1.5}),!n&&m.jsx("span",{children:r.label})]})}function Ga({heading:r,entries:n}){const{collapsed:s}=Vg();return m.jsxs("div",{className:"space-y-1",children:[s?m.jsx("div",{className:"h-px bg-surface-border mx-3 my-2",title:r}):m.jsx("p",{className:"px-4 pt-5 pb-2 text-xs font-semibold uppercase tracking-wider text-accent/80",children:r}),n.map(a=>jw(a)?m.jsx(Ow,{group:a,collapsed:s},a.label):m.jsx(Tw,{entry:a,collapsed:s},a.to))]})}function Nw({aiEnabled:r=!1}){const n=[{to:"/",label:"Recent Activity",icon:Ax,end:!0},{to:"/capabilities",label:"Capabilities",icon:Ox},{to:"/agents",label:r?"Agents":"Automations",icon:jx},{to:"/topics",label:"Topics",icon:ig}];return m.jsx(Ga,{heading:"Work",entries:n})}function Cw(){const r=[{kind:"group",label:"Durable Workflows",icon:Cx,matchPaths:["/workflows/registry","/workflows/start","/workflows/workers"],items:[{to:"/workflows/registry",label:"Configure",icon:Tx},{to:"/workflows/start",label:"Invoke",icon:Nx}]},{kind:"group",label:"Executions",icon:Rx,matchPaths:["/workflows/executions","/mcp/executions"],items:[{to:"/workflows/executions",label:"Workflow",icon:kx},{to:"/mcp/executions",label:"Pipelines",icon:Mx}]}];return m.jsx(Ga,{heading:"Build",entries:r})}const kw=[{to:"/mcp/queries",label:"Designer",icon:Dx},{to:"/mcp/servers",label:"Servers & Tools",icon:zx},{to:"/mcp/workflows",label:"Pipeline Tools",icon:qx}];function Mw(){return m.jsx(Ga,{heading:"Design",entries:kw})}const Rw=[{to:"/files",label:"Files",icon:Ux},{to:"/knowledge",label:"Knowledge",icon:Bx}];function Dw(){return m.jsx(Ga,{heading:"Storage",entries:Rw})}const zw=[{kind:"group",label:"Identity & Access",icon:Px,matchPaths:["/admin/users","/admin/roles"],items:[{to:"/admin/users",label:"Accounts",icon:Lx},{to:"/admin/roles",label:"Roles & Permissions",icon:Hx}]},{kind:"group",label:"Infrastructure",icon:Vx,matchPaths:["/admin/controlplane","/admin/streams","/admin/maintenance"],items:[{to:"/admin/controlplane",label:"Routers",icon:$x},{to:"/admin/streams",label:"Messages",icon:Yx},{to:"/admin/maintenance",label:"DB Maintenance",icon:Gx}]}];function qw(){return m.jsx(Ga,{heading:"Admin",entries:zw})}const Fg="lt_event_feed_patterns";function Uw(r){if(r.startsWith("/topics/")){const n=decodeURIComponent(r.replace("/topics/",""));if(n&&!n.includes("/"))return`lt.events.${n}`}return r.startsWith("/escalations")?"lt.events.escalation.>":r.startsWith("/workflows")?"lt.events.workflow.>":r.startsWith("/agents")?"lt.events.agent.>":r.startsWith("/knowledge")?"lt.events.knowledge.>":r.startsWith("/files")?"lt.events.file.>":r==="/"?"lt.events.>":r.startsWith("/mcp")?"lt.events.activity.>":"lt.events.>"}function Bw(){try{const r=localStorage.getItem(Fg);return r?JSON.parse(r):[]}catch{return[]}}function xf(r){try{localStorage.setItem(Fg,JSON.stringify(r))}catch{}}function Lw(){const{pathname:r}=Ws(),[n,s]=T.useState(Bw),a=T.useMemo(()=>Uw(r),[r]),o=T.useMemo(()=>{const g=new Set([a,...n]);return Array.from(g)},[a,n]),f=T.useCallback(g=>{const y=g.startsWith("lt.events.")?g:`lt.events.${g}`;s(E=>{if(E.includes(y))return E;const w=[...E,y];return xf(w),w})},[]),h=T.useCallback(g=>{s(y=>{const E=y.filter(w=>w!==g);return xf(E),E})},[]),d=T.useCallback(()=>{s([]),xf([])},[]);return{patterns:o,pagePattern:a,userPatterns:n,addPattern:f,removePattern:h,clearUserPatterns:d}}function Hw({children:r,className:n=""}){return m.jsx("p",{className:`text-[10px] font-semibold uppercase tracking-widest text-text-tertiary ${n}`,children:r})}const vf=280,D0="cubic-bezier(0.4, 0, 0.2, 1)",vo=40;function Pw(r){if(!r)return"scale(0.92)";const n=window.innerWidth,s=window.innerHeight,a=n-vo*2,o=s-vo*2,f=r.width/a,h=r.height/o,d=r.left+r.width/2-(vo+a/2),g=r.top+r.height/2-(vo+o/2);return`translate(${d}px, ${g}px) scale(${f}, ${h})`}function Jg({open:r,onClose:n,sourceRef:s,children:a}){const[o,f]=T.useState(null),h=T.useRef(null),d=T.useRef(!1);T.useEffect(()=>{var j,z;r&&!d.current?(h.current=((j=s==null?void 0:s.current)==null?void 0:j.getBoundingClientRect())??null,f("entering")):!r&&d.current&&o==="open"&&(h.current=((z=s==null?void 0:s.current)==null?void 0:z.getBoundingClientRect())??null,f("exiting")),d.current=r},[r,s,o]),T.useEffect(()=>{if(o!=="entering")return;const j=requestAnimationFrame(()=>{requestAnimationFrame(()=>f("open"))});return()=>cancelAnimationFrame(j)},[o]),T.useEffect(()=>{if(o)return document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}},[o]),T.useEffect(()=>{if(!o)return;const j=z=>{z.key==="Escape"&&n()};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[o,n]);const g=T.useCallback(j=>{j.propertyName==="transform"&&o==="exiting"&&f(null)},[o]);if(T.useEffect(()=>{if(o!=="exiting")return;const j=setTimeout(()=>f(null),vf+50);return()=>clearTimeout(j)},[o]),!o)return null;const y=o==="entering"||o==="exiting",E=y?Pw(h.current):"none",w=y?0:1;return ng.createPortal(m.jsx("div",{className:"fixed inset-0 z-50 overflow-auto p-10",style:{transformOrigin:"center center",transition:`transform ${vf}ms ${D0}, opacity ${vf}ms ${D0}`,transform:E,opacity:w,backgroundColor:"#FFFFFF"},onTransitionEnd:g,children:a}),document.body)}function $w({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 6h16M4 12h8M4 18h12"})})}function Yw({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 7l-5 5 5 5M16 7l5 5-5 5"})})}function Gw({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3"})})}function Vw({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})}function Fw({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 9V4.5M9 9H4.5M9 9L3.5 3.5M9 15v4.5M9 15H4.5M9 15l-5.5 5.5M15 9h4.5M15 9V4.5M15 9l5.5-5.5M15 15h4.5M15 15v4.5m0-4.5l5.5 5.5"})})}function Jw({className:r}){return m.jsx("svg",{className:r,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5v-4m0 4h-4m4 0l-5-5"})})}function Qw(r){const n=r.trim().split(`
|
|
54
54
|
`);if(n.length<2)return r;const s=d=>d.split("|").map(g=>g.trim()).filter(Boolean),a=s(n[0]),o=n.slice(2),f=a.map(d=>`<th class="px-3 py-1.5 text-left text-[10px] font-semibold uppercase tracking-wider text-text-tertiary">${d}</th>`).join(""),h=o.map(d=>`<tr class="border-t border-surface-border">${s(d).map(E=>`<td class="px-3 py-1.5 text-xs text-text-secondary">${E}</td>`).join("")}</tr>`).join("");return`<table class="w-full my-3 text-xs"><thead><tr class="border-b border-surface-border">${f}</tr></thead><tbody>${h}</tbody></table>`}function _o(r){return r.toLowerCase().replace(/<[^>]+>/g,"").replace(/[^\w\s-]/g,"").replace(/\s+/g,"-").trim()}function Iw(r){const n=[];let s=r.replace(/```(\w*)\n([\s\S]*?)```/g,(g,y,E)=>{const w=n.length;return n.push(`<pre class="bg-surface-sunken rounded p-3 my-2 overflow-x-auto text-[11px] leading-relaxed"><code>${E}</code></pre>`),`\0CODE${w}\0`});const a=/^(\|.+\|)\n(\|[-| :]+\|)\n((?:\|.+\|\n?)+)/gm;s=s.replace(a,(g,y,E,w)=>Qw(`${y}
|
|
55
55
|
${E}
|
|
56
56
|
${w.trimEnd()}`)),s=s.replace(/`([^`]+)`/g,'<code class="bg-surface-sunken px-1 py-0.5 rounded text-[11px]">$1</code>'),s=s.replace(/^#### (.+)$/gm,(g,y)=>`<h4 id="${_o(y)}" class="text-xs font-semibold text-text-primary mt-4 mb-1">${y}</h4>`).replace(/^### (.+)$/gm,(g,y)=>`<h3 id="${_o(y)}" class="text-sm font-semibold text-text-primary mt-5 mb-1.5">${y}</h3>`).replace(/^## (.+)$/gm,(g,y)=>`<h2 id="${_o(y)}" class="text-base font-semibold text-text-primary mt-6 mb-2 pb-1 border-b border-surface-border">${y}</h2>`).replace(/^# (.+)$/gm,(g,y)=>`<h1 id="${_o(y)}" class="text-lg font-bold text-text-primary mb-3">${y}</h1>`),s=s.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/\[([^\]]+)\]\(#([^)]+)\)/g,'<a data-anchor="$2" class="text-accent hover:underline cursor-pointer">$1</a>').replace(/\[([^\]]+)\]\(([^)]*\.md(?:#[^)]*)?)\)/g,'<a data-doc-link="$2" class="text-accent hover:underline cursor-pointer">$1</a>').replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" class="text-accent hover:underline">$1</a>').replace(/^ - (.+)$/gm,'<li class="ml-8 list-disc text-xs -my-1" style="line-height:1.1">$1</li>').replace(/^ - (.+)$/gm,'<li class="ml-8 list-disc text-xs -my-1" style="line-height:1.1">$1</li>').replace(/^- (.+)$/gm,'<li class="ml-4 list-disc text-xs -my-1" style="line-height:1.1">$1</li>').replace(/^\d+\. (.+)$/gm,'<li class="ml-4 list-decimal text-xs -my-1" style="line-height:1.1">$1</li>').replace(/^---+$/gm,'<hr class="border-surface-border my-4" />').replace(/(?:^> (.+)$\n?)+/gm,g=>{const y=g.replace(/^> /gm,"").trim(),E=/⚠️|warning|caution/i.test(y),w=/note:|ℹ️|info/i.test(y);return`<div class="${E?"bg-status-warning/5":w?"bg-accent/5":"bg-surface-sunken/50"} ${E?"border-status-warning":w?"border-accent":"border-text-tertiary"} border-l-2 rounded-r-md px-3 py-2 my-3 text-xs text-text-secondary leading-relaxed">${y}</div>`}).replace(/\n\n/g,"\0PARA\0").replace(/\n/g,"<br/>");const o=g=>g.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),f=g=>new RegExp(`(${o(g)}[\\s\\S]*?<\\/li>(?:<br\\/>)?)+`,"g");s=s.replace(f('<li class="ml-8 list-disc'),g=>`<ul class="mb-3">${g}</ul>`),s=s.replace(f('<li class="ml-4 list-disc'),g=>`<ul class="mb-3">${g}</ul>`),s=s.replace(f('<li class="ml-4 list-decimal'),g=>`<ol class="list-decimal mb-3">${g}</ol>`),s=s.replace(/\x00CODE(\d+)\x00/g,(g,y)=>n[parseInt(y,10)]);const h="text-xs leading-relaxed text-text-secondary mb-2",d=/<\/(h[1-4]|pre|table|ul|ol|hr|div)>/;return s=s.split("\0PARA\0").map(g=>{const y=g.trim();if(!y)return"";const E=[];let w=y,j;for(;(j=d.exec(w))!==null;){const z=j.index+j[0].length;E.push(w.slice(0,z)),w=w.slice(z).replace(/^<br\/>/,"").trim(),d.lastIndex=0}return w&&E.push(w),E.map(z=>{const M=z.trim();return M?/^\s*<(h[1-4]|pre|table|ul|ol|hr|div)/.test(M)?M:`<p class="${h}">${M}</p>`:""}).join("")}).join(""),s}const Xw=/(\*\*|^#{1,4}\s|^- |^\d+\.\s|```|^\|.*\|$|\[.+\]\(.+\))/m;function Kw(r){return Xw.test(r)}function uh({content:r,className:n,onClick:s}){const a=T.useMemo(()=>Iw(r),[r]);return m.jsx("div",{className:n,onClick:s,dangerouslySetInnerHTML:{__html:a}})}function Bo({data:r,depth:n=0,generation:s}){const o=s!==void 0&&s>0&&s%2===1?!1:n>0,[f,h]=T.useState(o),[d,g]=T.useState(s);if(s!==void 0&&s!==d&&(g(s),h(s%2===0&&n>0)),r==null)return m.jsx("span",{className:"text-text-tertiary italic",children:"null"});if(typeof r=="string")return m.jsxs("span",{className:"text-text-primary",children:['"',r,'"']});if(typeof r=="number"||typeof r=="boolean")return m.jsx("span",{className:"text-text-primary font-medium",children:String(r)});if(Array.isArray(r))return r.length===0?m.jsx("span",{className:"text-text-tertiary",children:"[]"}):f?m.jsxs("button",{onClick:()=>h(!1),className:"text-text-secondary hover:text-text-primary",children:["[",r.length," items]"]}):m.jsxs("span",{children:[m.jsx("button",{onClick:()=>h(!0),className:"text-text-tertiary hover:text-text-primary",children:"["}),m.jsx("div",{className:"pl-4 border-l border-surface-border ml-1",children:r.map((y,E)=>m.jsxs("div",{children:[m.jsx(Bo,{data:y,depth:n+1,generation:s}),E<r.length-1&&m.jsx("span",{className:"text-text-tertiary",children:","})]},E))}),m.jsx("span",{className:"text-text-tertiary",children:"]"})]});if(typeof r=="object"){const y=Object.entries(r);return y.length===0?m.jsx("span",{className:"text-text-tertiary",children:"{}"}):f?m.jsxs("button",{onClick:()=>h(!1),className:"text-text-secondary hover:text-text-primary",children:["{","...","}"]}):m.jsxs("span",{children:[m.jsx("button",{onClick:()=>h(!0),className:"text-text-tertiary hover:text-text-primary",children:"{"}),m.jsx("div",{className:"pl-4 border-l border-surface-border ml-1",children:y.map(([E,w],j)=>m.jsxs("div",{children:[m.jsx("span",{className:"text-text-secondary",children:E}),m.jsx("span",{className:"text-text-tertiary",children:": "}),m.jsx(Bo,{data:w,depth:n+1,generation:s}),j<y.length-1&&m.jsx("span",{className:"text-text-tertiary",children:","})]},E))}),m.jsx("span",{className:"text-text-tertiary",children:"}"})]})}return m.jsx("span",{children:String(r)})}function za({data:r,depth:n=0}){if(r==null)return m.jsx("span",{className:"text-text-tertiary italic",children:"null"});if(typeof r=="string")return r.length>40&&Kw(r)?m.jsx(uh,{content:r}):m.jsx("span",{className:"text-text-primary",children:r});if(typeof r=="number"||typeof r=="boolean")return m.jsx("span",{className:"text-text-primary font-medium",children:String(r)});if(Array.isArray(r))return r.length===0?m.jsx("span",{className:"text-text-tertiary italic",children:"empty list"}):m.jsx("div",{className:"space-y-2",children:r.map((s,a)=>m.jsxs("div",{className:"flex items-baseline gap-2",children:[m.jsxs("span",{className:"text-text-tertiary text-[10px] shrink-0",children:[a+1,"."]}),m.jsx("div",{className:"flex-1",children:m.jsx(za,{data:s,depth:n+1})})]},a))});if(typeof r=="object"){const s=Object.entries(r);return s.length===0?m.jsx("span",{className:"text-text-tertiary italic",children:"empty"}):m.jsx("div",{className:n>0?"pl-4 border-l border-surface-border space-y-3":"space-y-3",children:s.map(([a,o])=>{const f=o===null||typeof o!="object";return m.jsxs("div",{children:[m.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-0.5",children:a.replace(/[_-]/g," ")}),f?m.jsx("p",{className:"text-sm text-text-primary",children:m.jsx(za,{data:o,depth:n+1})}):m.jsx(za,{data:o,depth:n+1})]},a)})})}return m.jsx("span",{children:String(r)})}function z0({mode:r,setMode:n,isCollapsed:s,onToggleCollapse:a,onCopy:o,copied:f,onFullscreen:h,onClose:d,large:g}){const y=g?"w-5 h-5":"w-3.5 h-3.5",E=`${g?"p-2":"p-1.5"} rounded text-text-tertiary hover:text-text-primary hover:bg-surface-raised transition-colors duration-150`;return m.jsxs("div",{className:"flex items-center gap-0.5 bg-surface-sunken/80 rounded-md backdrop-blur-sm",children:[r==="json"&&m.jsx("button",{onClick:a,className:E,title:s?"Expand all":"Collapse all",children:s?m.jsx(Jw,{className:y}):m.jsx(Fw,{className:y})}),m.jsx("button",{onClick:()=>n(r==="json"?"tree":"json"),className:E,title:r==="json"?"Outline view":"JSON view",children:r==="json"?m.jsx($w,{className:y}):m.jsx(Yw,{className:y})}),m.jsx("button",{onClick:o,className:E,title:"Copy to clipboard",children:f?m.jsx(Vw,{className:`${y} text-status-success`}):m.jsx(Gw,{className:y})}),h&&m.jsx("button",{onClick:h,className:E,title:"Fullscreen",children:m.jsx(ag,{className:y})}),d&&m.jsx("button",{onClick:d,className:E,title:"Close (Esc)",children:m.jsx(lg,{className:y})})]})}function Zw({data:r,label:n,variant:s,defaultCollapsed:a=!1,defaultMode:o}){const f=T.useRef(null),[h,d]=T.useState(o??"json"),[g,y]=T.useState(!1),[E,w]=T.useState(!1),[j,z]=T.useState(a?0:1),[M,B]=T.useState(1),V=j%2===0,ne=M%2===0,ee=T.useCallback(()=>z(Z=>Z+1),[]),pe=T.useCallback(()=>B(Z=>Z+1),[]);let ae=r;if(typeof r=="string")try{ae=JSON.parse(r)}catch{}const k=async()=>{const Z=typeof r=="string"?r:JSON.stringify(ae,null,2);await navigator.clipboard.writeText(Z),y(!0),setTimeout(()=>y(!1),2e3)},X=T.useCallback(()=>{B(1),w(!0)},[]),se=s==="panel",W=se?"border border-accent-muted/40 rounded-lg p-3 bg-surface-hover/30":"",F=se?"font-mono text-xs leading-relaxed bg-white rounded-md p-4 overflow-x-auto break-all":"font-mono text-xs leading-relaxed bg-surface-sunken rounded-md p-4 overflow-x-auto break-all";return m.jsxs("div",{className:W,children:[n&&m.jsx(Hw,{children:n}),m.jsxs("div",{ref:f,className:"relative",children:[m.jsx("div",{className:"absolute top-2 right-2 z-[5]",children:m.jsx(z0,{mode:h,setMode:d,isCollapsed:V,onToggleCollapse:ee,onCopy:k,copied:g,onFullscreen:X})}),m.jsx("div",{className:F,children:h==="json"?m.jsx(Bo,{data:ae,generation:j}):m.jsx(za,{data:ae})})]}),m.jsxs(Jg,{open:E,onClose:()=>w(!1),sourceRef:f,children:[m.jsx("div",{className:"sticky top-0 float-right z-10",children:m.jsx(z0,{mode:h,setMode:d,isCollapsed:ne,onToggleCollapse:pe,onCopy:k,copied:g,onClose:()=>w(!1),large:!0})}),m.jsx("div",{className:"font-mono text-sm leading-relaxed",children:h==="json"?m.jsx(Bo,{data:ae,generation:M}):m.jsx(za,{data:ae})})]})]})}const Ww=100,q0=500;let e2=0;const Qg={"escalation.created":"text-status-warning","escalation.claimed":"text-blue-400","escalation.released":"text-text-tertiary","escalation.resolved":"text-status-success","task.created":"text-accent","task.completed":"text-status-success","task.failed":"text-status-error","task.escalated":"text-status-warning","workflow.started":"text-accent","workflow.completed":"text-status-success","workflow.failed":"text-status-error","activity.started":"text-blue-400","activity.completed":"text-status-success","activity.failed":"text-status-error","knowledge.stored":"text-violet-400","knowledge.deleted":"text-text-tertiary","agent.started":"text-accent","agent.completed":"text-status-success","agent.failed":"text-status-error","agent.status_changed":"text-blue-400",milestone:"text-violet-400"};function U0({event:r,forceExpanded:n=!1}){var j,z;const[s,a]=T.useState(n),o=Qg[r.type]||"text-text-tertiary";T.useEffect(()=>{a(n)},[n]);const f=n,h=f?"text-xs":"text-[9px]",d=f?"text-xs":"text-[9px]",g=f?"text-xs":"text-[9px]",y=f?"w-3.5 h-3.5":"w-2.5 h-2.5",E=f?"py-2 px-4":"py-1 px-3",w=f?"pb-4 px-4":"pb-2 px-3";return m.jsxs("div",{className:"border-b border-surface-border/30 last:border-b-0",children:[m.jsxs("button",{onClick:()=>a(!s),className:`flex items-center gap-2 ${E} w-full text-left hover:bg-surface-hover/50 transition-colors`,children:[m.jsx("span",{className:`${h} font-mono text-text-tertiary whitespace-nowrap tabular-nums shrink-0`,children:new Date(r.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}),m.jsx("span",{className:`${d} font-medium px-1 py-0.5 rounded ${o} bg-surface-sunken whitespace-nowrap shrink-0`,children:r.type}),m.jsxs("span",{className:`${g} text-text-tertiary font-mono flex-1 min-w-0 truncate`,children:[(j=r.data)!=null&&j.workflowId?String(r.data.workflowId):"",(z=r.data)!=null&&z.escalationId?` esc:${String(r.data.escalationId).slice(0,12)}`:""]}),m.jsx("svg",{className:`${y} text-text-tertiary shrink-0 transition-transform duration-150 ${s?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})]}),m.jsx(ch,{open:s,children:m.jsx("div",{className:w,children:m.jsx(Zw,{data:r.data})})})]})}function t2({open:r,onToggle:n,configOpen:s,onToggleConfig:a}){const[o,f]=T.useState([]),[h,d]=T.useState(!1),[g,y]=T.useState(""),E=T.useRef(null),w=T.useRef(new Map),{subscribe:j}=T.useContext(Ya),{patterns:z,pagePattern:M,userPatterns:B,addPattern:V,removePattern:ne}=Lw(),ee=T.useCallback(ae=>{const k=String(ae.type||"unknown");if(k.startsWith("mesh."))return;const X=`${k}:${ae.timestamp||""}:${ae.escalationId||ae.workflowId||ae.taskId||""}`,se=Date.now(),W=w.current.get(X);if(!(W&&se-W<q0)){if(w.current.set(X,se),w.current.size>200)for(const[F,Z]of w.current)se-Z>q0*2&&w.current.delete(F);f(F=>[{id:++e2,type:k,timestamp:ae.timestamp||new Date().toISOString(),data:ae},...F].slice(0,Ww))}},[]),pe=T.useRef(ee);return pe.current=ee,T.useEffect(()=>{const ae=z.map(k=>j(k,X=>pe.current(X)));return()=>ae.forEach(k=>k())},[j,z.join(",")]),T.useEffect(()=>{r&&E.current&&(E.current.scrollTop=0)},[o.length,r]),m.jsxs("div",{className:"shrink-0 border-t border-surface-border bg-surface-raised",children:[m.jsxs("button",{onClick:n,className:"flex items-center gap-2 w-full px-4 py-1.5 text-left hover:bg-surface-hover transition-colors",children:[r?m.jsx(Fx,{className:"w-3 h-3 text-text-tertiary"}):m.jsx(Jx,{className:"w-3 h-3 text-text-tertiary"}),m.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:"Event Stream"}),o.length>0&&m.jsxs("span",{className:"text-[9px] text-text-tertiary",children:[o.length," events"]}),o.length>0&&!r&&m.jsx("span",{className:`text-[9px] font-medium px-1 py-0.5 rounded ${Qg[o[0].type]||"text-text-tertiary"} bg-surface-sunken`,children:o[0].type}),m.jsxs("span",{className:"ml-auto flex items-center gap-1",children:[m.jsx("span",{className:`p-0.5 cursor-pointer ${s?"text-accent":"text-text-tertiary hover:text-text-primary"}`,title:"Subscription config",onClick:ae=>{ae.stopPropagation(),a()},children:m.jsx(Qx,{className:"w-3 h-3"})}),o.length>0&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-text-tertiary hover:text-text-primary p-0.5 cursor-pointer",title:"Fullscreen",onClick:ae=>{ae.stopPropagation(),d(!0)},children:m.jsx(ag,{className:"w-3 h-3"})}),m.jsx("span",{className:"text-text-tertiary hover:text-text-primary p-0.5 cursor-pointer",title:"Clear events",onClick:ae=>{ae.stopPropagation(),f([])},children:m.jsx(Ix,{className:"w-3 h-3"})})]})]})]}),s&&m.jsxs("div",{className:"px-4 py-2 border-t border-surface-border/50 bg-surface-sunken/30",children:[m.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mb-1.5",children:[m.jsx("span",{className:"text-[9px] text-text-quaternary uppercase tracking-wider shrink-0",children:"Subscribed:"}),m.jsx("span",{className:"text-[9px] font-mono text-accent px-1.5 py-0.5 bg-accent/10 rounded",children:M.replace("lt.events.","")}),B.map(ae=>m.jsxs("span",{className:"inline-flex items-center gap-1 text-[9px] font-mono text-text-secondary px-1.5 py-0.5 bg-surface-sunken rounded",children:[ae.replace("lt.events.",""),m.jsx("button",{onClick:()=>ne(ae),className:"text-text-quaternary hover:text-status-error",children:m.jsx(Po,{className:"w-2 h-2"})})]},ae))]}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("input",{type:"text",value:g,onChange:ae=>y(ae.target.value),onKeyDown:ae=>{ae.key==="Enter"&&g.trim()&&(V(g.trim()),y(""))},placeholder:"task.> or file.stored",className:"input text-[10px] font-mono flex-1 py-1"}),m.jsxs("button",{onClick:()=>{g.trim()&&(V(g.trim()),y(""))},className:"text-[10px] text-accent hover:text-accent-hover flex items-center gap-0.5",children:[m.jsx(Xx,{className:"w-2.5 h-2.5"})," Add"]})]})]}),m.jsx(ch,{open:r,children:m.jsx("div",{ref:E,className:"h-48 overflow-y-auto",children:o.length===0?m.jsx("p",{className:"text-[10px] text-text-tertiary py-4 text-center",children:"Waiting for events..."}):o.map(ae=>m.jsx(U0,{event:ae},ae.id))})}),m.jsxs(Jg,{open:h,onClose:()=>d(!1),sourceRef:E,children:[m.jsx("div",{className:"sticky top-0 float-right z-10",children:m.jsx("button",{onClick:()=>d(!1),className:"p-2 rounded text-text-tertiary hover:text-text-primary hover:bg-surface-raised transition-colors duration-150 bg-surface-sunken/80 backdrop-blur-sm",title:"Close (Esc)",children:m.jsx(lg,{className:"w-5 h-5"})})}),o.length===0?m.jsx("p",{className:"text-sm text-text-tertiary py-8",children:"No events captured"}):o.map(ae=>m.jsx(U0,{event:ae,forceExpanded:!0},ae.id))]})]})}function n2(){return Hn({queryKey:["docs"],queryFn:()=>Xe("/docs"),staleTime:5*6e4})}function s2(r){return Hn({queryKey:["docs",r],queryFn:()=>Xe(`/docs/read?path=${encodeURIComponent(r)}`),enabled:!!r,staleTime:5*6e4})}function i2(){const[r,n]=T.useState([]),[s,a]=T.useState([]),[o,f]=T.useState(null),h=T.useRef(o),d=T.useRef(r),g=T.useRef(s);h.current=o,d.current=r,g.current=s;const y=T.useCallback((M,B)=>{var ne;const V=h.current;if(V){const ee=((ne=B==null?void 0:B.current)==null?void 0:ne.scrollTop)??0;n([...d.current,{...V,scrollTop:ee}])}a([]),f({path:M,scrollTop:0})},[]),E=T.useCallback(M=>{var ee;const B=d.current;if(B.length===0)return;const V=B[B.length-1],ne=h.current;if(ne){const pe=((ee=M==null?void 0:M.current)==null?void 0:ee.scrollTop)??0;a([...g.current,{...ne,scrollTop:pe}])}n(B.slice(0,-1)),f(V),requestAnimationFrame(()=>{M!=null&&M.current&&(M.current.scrollTop=V.scrollTop)})},[]),w=T.useCallback(M=>{var ee;const B=g.current;if(B.length===0)return;const V=B[B.length-1],ne=h.current;if(ne){const pe=((ee=M==null?void 0:M.current)==null?void 0:ee.scrollTop)??0;n([...d.current,{...ne,scrollTop:pe}])}a(B.slice(0,-1)),f(V),requestAnimationFrame(()=>{M!=null&&M.current&&(M.current.scrollTop=V.scrollTop)})},[]),j=T.useCallback(M=>{var ne,ee;const B=h.current;if(!B)return;const V=((ne=M==null?void 0:M.current)==null?void 0:ne.scrollTop)??0;n([...d.current,{...B,scrollTop:V}]),a([]),f({...B,scrollTop:((ee=M==null?void 0:M.current)==null?void 0:ee.scrollTop)??0})},[]),z=T.useCallback(()=>{n([]),a([]),f(null)},[]);return{current:o,backStack:r,forwardStack:s,navigate:y,goBack:E,goForward:w,pushScrollPosition:j,reset:z}}function r2(r,n){const[s,a]=r.split("#");let o=s;if(o.startsWith("./")||o.startsWith("../")){const h=((n?n.replace(/[^/]+$/,""):"")+o).split("/"),d=[];for(const g of h)g===".."?d.pop():g&&g!=="."&&d.push(g);o=d.join("/")}return{path:o,anchor:a}}function a2(r){if(!r.startsWith("#docs"))return null;const n=r.slice(1).split(":"),s=n[1]||"README.md",a=n[2]||void 0;return{path:s,anchor:a}}function l2(r){return!r||r==="README.md"?"#docs":`#docs:${r}`}function o2({content:r,currentPath:n,onNavigate:s,onAnchorClick:a}){const o=f=>{var y;const h=f.target,d=h.closest("[data-anchor]");if(d){f.preventDefault(),a();const E=d.dataset.anchor,w=(y=d.closest(".docs-content"))==null?void 0:y.querySelector(`#${CSS.escape(E)}`);w==null||w.scrollIntoView({behavior:"smooth",block:"start"});return}const g=h.closest("[data-doc-link]");if(g){f.preventDefault();const{path:E,anchor:w}=r2(g.dataset.docLink,n);s(E,w);return}};return m.jsx(uh,{content:r,className:"docs-content",onClick:o})}function c2(r){const n=[],s=new Map;for(const a of r){const o=a.path.split("/");if(o.length===1){n.push(a);continue}let f=s;for(let h=0;h<o.length-1;h++){const d=o[h];f.has(d)||f.set(d,{label:d,children:[],subdirs:new Map});const g=f.get(d);h===o.length-2?g.children.push(a):f=g.subdirs}}return{topLevel:n,dirs:s}}function u2({docs:r,selected:n,onSelect:s}){const{topLevel:a,dirs:o}=c2(r),f=d=>`block w-full text-left px-3 py-1 text-xs rounded truncate transition-colors ${n===d?"bg-accent/10 text-accent":"text-text-secondary hover:bg-surface-hover"}`;function h(d,g){return m.jsxs("details",{open:!0,children:[m.jsxs("summary",{className:"flex items-center gap-1.5 px-3 py-1 text-[10px] font-semibold uppercase tracking-widest text-text-tertiary cursor-pointer",children:[m.jsx(Kx,{className:"w-3 h-3",strokeWidth:1.5}),d.label]}),m.jsxs("div",{className:"pl-2 space-y-0.5",children:[[...d.subdirs.values()].map(y=>h(y)),d.children.map(y=>m.jsx("button",{className:f(y.path),onClick:()=>s(y.path),children:y.title},y.path))]})]},d.label)}return m.jsxs("div",{className:"space-y-0.5",children:[a.map(d=>m.jsx("button",{className:f(d.path),onClick:()=>s(d.path),children:d.title},d.path)),[...o.values()].map(d=>h(d))]})}function f2({open:r,onClose:n}){var se,W,F;const[s,a]=T.useState(!1),{data:o}=n2(),f=i2(),{data:h,isLoading:d}=s2(((se=f.current)==null?void 0:se.path)??null),g=T.useRef(null),[y,E]=T.useState(null);T.useEffect(()=>{y&&(h!=null&&h.content)&&g.current&&requestAnimationFrame(()=>{var le;const Z=(le=g.current)==null?void 0:le.querySelector(`#${CSS.escape(y)}`);Z==null||Z.scrollIntoView({behavior:"smooth",block:"start"}),E(null)})},[y,h]);const w=T.useCallback(()=>{var re;const Z=a2(window.location.hash),le=(Z==null?void 0:Z.path)??"README.md";((re=f.current)==null?void 0:re.path)!==le&&f.navigate(le,g),Z!=null&&Z.anchor&&E(Z.anchor)},[f]),j=T.useRef(!0);T.useEffect(()=>{if(!r||!f.current)return;if(j.current){j.current=!1;return}const Z=l2(f.current.path);window.location.hash!==Z&&window.history.replaceState(null,"",window.location.pathname+window.location.search+Z)},[r,(W=f.current)==null?void 0:W.path]),T.useEffect(()=>{if(!r)return;const Z=()=>{window.location.hash.startsWith("#docs")&&w()};return window.addEventListener("hashchange",Z),()=>window.removeEventListener("hashchange",Z)},[r,w]);const z=T.useCallback((Z,le)=>{le&&E(le),f.navigate(Z,g)},[f]),M=T.useCallback(Z=>{f.navigate(Z,g)},[f]),B=T.useCallback(()=>{f.goBack(g)},[f]),V=T.useCallback(()=>{f.goForward(g)},[f]),ne=T.useCallback(()=>{f.pushScrollPosition(g)},[f]);if(T.useEffect(()=>{if(r){j.current=!0,w();const Z=requestAnimationFrame(()=>a(!0));return()=>cancelAnimationFrame(Z)}},[r]),!(r||s))return null;const pe=()=>{a(!1),setTimeout(()=>{n(),f.reset()},200)},ae=((F=f.current)==null?void 0:F.path)??null,k=f.backStack.length>0,X=f.forwardStack.length>0;return m.jsxs("div",{className:"fixed inset-y-0 right-0 z-50 flex",children:[m.jsx("div",{className:`fixed inset-0 bg-black/20 transition-opacity duration-200 ${s&&r?"opacity-100":"opacity-0"}`,onClick:pe}),m.jsxs("div",{className:`relative ml-auto w-[40vw] min-w-[800px] max-w-[90vw] h-full bg-surface-raised border-l border-surface-border flex flex-col shadow-xl transition-transform duration-200 ease-out ${s&&r?"translate-x-0":"translate-x-full"}`,children:[m.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-surface-border shrink-0",children:[m.jsxs("div",{className:"flex items-center gap-1",children:[m.jsx("button",{onClick:B,disabled:!k,className:`p-0.5 transition-colors ${k?"text-text-tertiary hover:text-text-primary":"text-surface-border cursor-default"}`,title:"Back",children:m.jsx(Zx,{className:"w-4 h-4"})}),m.jsx("button",{onClick:V,disabled:!X,className:`p-0.5 transition-colors ${X?"text-text-tertiary hover:text-text-primary":"text-surface-border cursor-default"}`,title:"Forward",children:m.jsx(Kp,{className:"w-4 h-4"})}),m.jsx(rg,{className:"w-4 h-4 text-accent ml-1",strokeWidth:1.5}),m.jsx("span",{className:"text-sm font-medium text-text-primary",children:"Documentation"})]}),m.jsx("button",{onClick:pe,className:"p-1 text-text-tertiary hover:text-text-primary",children:m.jsx(Po,{className:"w-4 h-4"})})]}),m.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[m.jsx("div",{className:"w-48 shrink-0 border-r border-surface-border overflow-y-auto py-2",children:o!=null&&o.docs?m.jsx(u2,{docs:o.docs,selected:ae,onSelect:M}):m.jsx("div",{className:"px-3 py-2 text-xs text-text-tertiary",children:"Loading..."})}),m.jsx("div",{ref:g,className:"flex-1 overflow-y-auto px-6 py-4",children:ae?d?m.jsxs("div",{className:"animate-pulse space-y-2",children:[m.jsx("div",{className:"h-6 bg-surface-sunken rounded w-48"}),m.jsx("div",{className:"h-4 bg-surface-sunken rounded w-full"}),m.jsx("div",{className:"h-4 bg-surface-sunken rounded w-3/4"})]}):h!=null&&h.content?m.jsx(o2,{content:h.content,currentPath:ae,onNavigate:z,onAnchorClick:ne}):m.jsx("p",{className:"text-xs text-text-tertiary",children:"Document not found."}):m.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-text-tertiary",children:[m.jsx(Kp,{className:"w-5 h-5 mb-2"}),m.jsx("p",{className:"text-xs",children:"Select a document"})]})})]})]})]})}function h2(r){if(r.includes("/escalations"))return["escalation","human-queue"]}const B0=2e3;function d2(r){const s=r.filter(o=>!o.pending).slice(-8);return s.length===0?"":`[Prior conversation]
|
|
@@ -59,5 +59,5 @@ ${s.map(o=>`${o.role==="user"?"User":"Assistant"}: ${o.content}`).join(`
|
|
|
59
59
|
[End prior conversation]
|
|
60
60
|
|
|
61
61
|
`}function m2(r){const n=r.summary,s=r.title;if(n){const a=n.search(/\n\s*\{[\s\S]*"title"\s*:/);return a>0?n.slice(0,a).trim():n}return s||(typeof r=="string"?r:"Query completed.")}const Ig=T.createContext(null);function p2({children:r}){const n=Ws(),[s,a]=T.useState(!1),[o,f]=T.useState([]),[h,d]=T.useState(null),[g,y]=T.useState({}),E=T.useRef(null),w={page:n.pathname.split("/").filter(Boolean).join("-")||"home",route:n.pathname,params:{},...g,suggestedTags:g.suggestedTags??h2(n.pathname)};T.useEffect(()=>()=>{E.current&&clearInterval(E.current)},[]);const j=T.useCallback(()=>a(ne=>!ne),[]),z=T.useCallback(ne=>{y(ne)},[]),M=T.useCallback(()=>{f([]),d(null)},[]),B=T.useCallback(async ne=>{var W;const ee=new Date().toISOString(),pe={id:`user-${Date.now()}`,role:"user",content:ne,timestamp:ee},ae={id:`pending-${Date.now()}`,role:"assistant",content:"",timestamp:ee,pending:!0};f(F=>[...F,pe,ae]);const k={...w};(W=k.entities)!=null&&W.yamlContent&&k.entities.yamlContent.length>B0&&(k.entities={...k.entities,yamlContent:k.entities.yamlContent.slice(0,B0)+`
|
|
62
|
-
... (truncated)`});const se=`${d2(o.concat(pe))}${ne}`;try{const Z=(await Xe("/insight/mcp-query",{method:"POST",body:JSON.stringify({prompt:se,tags:k.suggestedTags,context:k,wait:!1,direct:!0})})).workflow_id;d(Z),f(le=>le.map(re=>re.id===ae.id?{...re,workflowId:Z}:re)),E.current&&clearInterval(E.current),E.current=setInterval(async()=>{var le;try{const re=await Xe(`/workflows/${Z}/result`),qe=(le=re==null?void 0:re.result)==null?void 0:le.data;if(qe){E.current&&clearInterval(E.current),E.current=null,d(null);const Ge=m2(qe);let Le;try{Le=(await Xe(`/workflow-states/${Z}/execution`)).duration_ms}catch{}f($=>$.map(te=>te.id===ae.id?{...te,content:Ge,timestamp:new Date().toISOString(),pending:!1,durationMs:Le}:te))}}catch{}},3e3)}catch{f(F=>F.map(Z=>Z.id===ae.id?{...Z,content:"Failed to submit query. Please try again.",pending:!1}:Z))}},[o,w]),V=T.useCallback(async ne=>{const ee=o.find(k=>k.id===ne);if(!(ee!=null&&ee.workflowId)||ee.compilationStatus==="compiling"||ee.compilationStatus==="done")return;const pe=o.indexOf(ee),ae=o.slice(0,pe).reverse().find(k=>k.role==="user");if(ae){f(k=>k.map(X=>X.id===ne?{...X,compilationStatus:"compiling"}:X));try{const k=await Xe("/insight/mcp-query/describe",{method:"POST",body:JSON.stringify({prompt:ae.content,summary:ee.content})}),X=await Xe("/yaml-workflows",{method:"POST",body:JSON.stringify({workflow_id:ee.workflowId,task_queue:"long-tail-system",workflow_name:"mcpQuery",name:k.tool_name,description:k.description,tags:k.tags,app_id:"longtail"})});await Xe(`/yaml-workflows/${X.id}/deploy`,{method:"POST"}),f(se=>se.map(W=>W.id===ne?{...W,compilationStatus:"done"}:W))}catch(k){const X=k instanceof Error?k.message:"Compilation failed";f(se=>se.map(W=>W.id===ne?{...W,compilationStatus:"error",compilationError:X}:W))}}},[o]);return m.jsx(Ig.Provider,{value:{helpOpen:s,setHelpOpen:a,toggleHelp:j,messages:o,sendMessage:B,pageContext:w,setPageContext:z,activeWorkflowId:h,clearMessages:M,compileMessage:V},children:r})}function Xg(){const r=T.useContext(Ig);if(!r)throw new Error("useHelpAssistant must be used within HelpAssistantProvider");return r}function g2(){const{helpOpen:r,toggleHelp:n}=Xg();return m.jsx("button",{onClick:n,className:"fixed right-3 z-[45] flex items-center justify-center w-10 h-10 rounded-full bg-surface-raised shadow-lg hover:scale-110 transition-transform duration-150 border border-accent/30",style:{bottom:"44px"},"aria-label":r?"Close help":"Ask for help",children:r?m.jsx(Po,{className:"w-5 h-5 text-text-tertiary",strokeWidth:1.5}):m.jsx("img",{src:`${Bn}/logo512.png`,alt:"Help",className:"w-8 h-8 -rotate-[120deg]"})})}const Kg=6048e5,y2=864e5,L0=6e4,H0=525600,P0=43200,$0=1440,Y0=Symbol.for("constructDateFrom");function hs(r,n){return typeof r=="function"?r(n):r&&typeof r=="object"&&Y0 in r?r[Y0](n):r instanceof Date?new r.constructor(n):new Date(n)}function nn(r,n){return hs(n||r,r)}let b2={};function Va(){return b2}function Ha(r,n){var d,g,y,E;const s=Va(),a=(n==null?void 0:n.weekStartsOn)??((g=(d=n==null?void 0:n.locale)==null?void 0:d.options)==null?void 0:g.weekStartsOn)??s.weekStartsOn??((E=(y=s.locale)==null?void 0:y.options)==null?void 0:E.weekStartsOn)??0,o=nn(r,n==null?void 0:n.in),f=o.getDay(),h=(f<a?7:0)+f-a;return o.setDate(o.getDate()-h),o.setHours(0,0,0,0),o}function Lo(r,n){return Ha(r,{...n,weekStartsOn:1})}function Zg(r,n){const s=nn(r,n==null?void 0:n.in),a=s.getFullYear(),o=hs(s,0);o.setFullYear(a+1,0,4),o.setHours(0,0,0,0);const f=Lo(o),h=hs(s,0);h.setFullYear(a,0,4),h.setHours(0,0,0,0);const d=Lo(h);return s.getTime()>=f.getTime()?a+1:s.getTime()>=d.getTime()?a:a-1}function Ho(r){const n=nn(r),s=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return s.setUTCFullYear(n.getFullYear()),+r-+s}function Wg(r,...n){const s=hs.bind(null,r||n.find(a=>typeof a=="object"));return n.map(s)}function G0(r,n){const s=nn(r,n==null?void 0:n.in);return s.setHours(0,0,0,0),s}function x2(r,n,s){const[a,o]=Wg(s==null?void 0:s.in,r,n),f=G0(a),h=G0(o),d=+f-Ho(f),g=+h-Ho(h);return Math.round((d-g)/y2)}function v2(r,n){const s=Zg(r,n),a=hs(r,0);return a.setFullYear(s,0,4),a.setHours(0,0,0,0),Lo(a)}function _2(r,n){const s=+nn(r)-+nn(n);return s<0?-1:s>0?1:s}function w2(r){return hs(r,Date.now())}function S2(r){return r instanceof Date||typeof r=="object"&&Object.prototype.toString.call(r)==="[object Date]"}function E2(r){return!(!S2(r)&&typeof r!="number"||isNaN(+nn(r)))}function A2(r){return n=>{const a=(r?Math[r]:Math.trunc)(n);return a===0?0:a}}function O2(r,n){const s=nn(r,n==null?void 0:n.in);return s.setFullYear(s.getFullYear(),0,1),s.setHours(0,0,0,0),s}const j2={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},T2=(r,n,s)=>{let a;const o=j2[r];return typeof o=="string"?a=o:n===1?a=o.one:a=o.other.replace("{{count}}",n.toString()),s!=null&&s.addSuffix?s.comparison&&s.comparison>0?"in "+a:a+" ago":a};function _f(r){return(n={})=>{const s=n.width?String(n.width):r.defaultWidth;return r.formats[s]||r.formats[r.defaultWidth]}}const N2={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},C2={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},k2={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},M2={date:_f({formats:N2,defaultWidth:"full"}),time:_f({formats:C2,defaultWidth:"full"}),dateTime:_f({formats:k2,defaultWidth:"full"})},R2={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},D2=(r,n,s,a)=>R2[r];function Oa(r){return(n,s)=>{const a=s!=null&&s.context?String(s.context):"standalone";let o;if(a==="formatting"&&r.formattingValues){const h=r.defaultFormattingWidth||r.defaultWidth,d=s!=null&&s.width?String(s.width):h;o=r.formattingValues[d]||r.formattingValues[h]}else{const h=r.defaultWidth,d=s!=null&&s.width?String(s.width):r.defaultWidth;o=r.values[d]||r.values[h]}const f=r.argumentCallback?r.argumentCallback(n):n;return o[f]}}const z2={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},q2={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},U2={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},B2={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},L2={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},H2={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},P2=(r,n)=>{const s=Number(r),a=s%100;if(a>20||a<10)switch(a%10){case 1:return s+"st";case 2:return s+"nd";case 3:return s+"rd"}return s+"th"},$2={ordinalNumber:P2,era:Oa({values:z2,defaultWidth:"wide"}),quarter:Oa({values:q2,defaultWidth:"wide",argumentCallback:r=>r-1}),month:Oa({values:U2,defaultWidth:"wide"}),day:Oa({values:B2,defaultWidth:"wide"}),dayPeriod:Oa({values:L2,defaultWidth:"wide",formattingValues:H2,defaultFormattingWidth:"wide"})};function ja(r){return(n,s={})=>{const a=s.width,o=a&&r.matchPatterns[a]||r.matchPatterns[r.defaultMatchWidth],f=n.match(o);if(!f)return null;const h=f[0],d=a&&r.parsePatterns[a]||r.parsePatterns[r.defaultParseWidth],g=Array.isArray(d)?G2(d,w=>w.test(h)):Y2(d,w=>w.test(h));let y;y=r.valueCallback?r.valueCallback(g):g,y=s.valueCallback?s.valueCallback(y):y;const E=n.slice(h.length);return{value:y,rest:E}}}function Y2(r,n){for(const s in r)if(Object.prototype.hasOwnProperty.call(r,s)&&n(r[s]))return s}function G2(r,n){for(let s=0;s<r.length;s++)if(n(r[s]))return s}function V2(r){return(n,s={})=>{const a=n.match(r.matchPattern);if(!a)return null;const o=a[0],f=n.match(r.parsePattern);if(!f)return null;let h=r.valueCallback?r.valueCallback(f[0]):f[0];h=s.valueCallback?s.valueCallback(h):h;const d=n.slice(o.length);return{value:h,rest:d}}}const F2=/^(\d+)(th|st|nd|rd)?/i,J2=/\d+/i,Q2={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},I2={any:[/^b/i,/^(a|c)/i]},X2={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},K2={any:[/1/i,/2/i,/3/i,/4/i]},Z2={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},W2={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},eS={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},tS={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},nS={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},sS={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},iS={ordinalNumber:V2({matchPattern:F2,parsePattern:J2,valueCallback:r=>parseInt(r,10)}),era:ja({matchPatterns:Q2,defaultMatchWidth:"wide",parsePatterns:I2,defaultParseWidth:"any"}),quarter:ja({matchPatterns:X2,defaultMatchWidth:"wide",parsePatterns:K2,defaultParseWidth:"any",valueCallback:r=>r+1}),month:ja({matchPatterns:Z2,defaultMatchWidth:"wide",parsePatterns:W2,defaultParseWidth:"any"}),day:ja({matchPatterns:eS,defaultMatchWidth:"wide",parsePatterns:tS,defaultParseWidth:"any"}),dayPeriod:ja({matchPatterns:nS,defaultMatchWidth:"any",parsePatterns:sS,defaultParseWidth:"any"})},ey={code:"en-US",formatDistance:T2,formatLong:M2,formatRelative:D2,localize:$2,match:iS,options:{weekStartsOn:0,firstWeekContainsDate:1}};function rS(r,n){const s=nn(r,n==null?void 0:n.in);return x2(s,O2(s))+1}function aS(r,n){const s=nn(r,n==null?void 0:n.in),a=+Lo(s)-+v2(s);return Math.round(a/Kg)+1}function ty(r,n){var E,w,j,z;const s=nn(r,n==null?void 0:n.in),a=s.getFullYear(),o=Va(),f=(n==null?void 0:n.firstWeekContainsDate)??((w=(E=n==null?void 0:n.locale)==null?void 0:E.options)==null?void 0:w.firstWeekContainsDate)??o.firstWeekContainsDate??((z=(j=o.locale)==null?void 0:j.options)==null?void 0:z.firstWeekContainsDate)??1,h=hs((n==null?void 0:n.in)||r,0);h.setFullYear(a+1,0,f),h.setHours(0,0,0,0);const d=Ha(h,n),g=hs((n==null?void 0:n.in)||r,0);g.setFullYear(a,0,f),g.setHours(0,0,0,0);const y=Ha(g,n);return+s>=+d?a+1:+s>=+y?a:a-1}function lS(r,n){var d,g,y,E;const s=Va(),a=(n==null?void 0:n.firstWeekContainsDate)??((g=(d=n==null?void 0:n.locale)==null?void 0:d.options)==null?void 0:g.firstWeekContainsDate)??s.firstWeekContainsDate??((E=(y=s.locale)==null?void 0:y.options)==null?void 0:E.firstWeekContainsDate)??1,o=ty(r,n),f=hs((n==null?void 0:n.in)||r,0);return f.setFullYear(o,0,a),f.setHours(0,0,0,0),Ha(f,n)}function oS(r,n){const s=nn(r,n==null?void 0:n.in),a=+Ha(s,n)-+lS(s,n);return Math.round(a/Kg)+1}function Ye(r,n){const s=r<0?"-":"",a=Math.abs(r).toString().padStart(n,"0");return s+a}const Gs={y(r,n){const s=r.getFullYear(),a=s>0?s:1-s;return Ye(n==="yy"?a%100:a,n.length)},M(r,n){const s=r.getMonth();return n==="M"?String(s+1):Ye(s+1,2)},d(r,n){return Ye(r.getDate(),n.length)},a(r,n){const s=r.getHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return s.toUpperCase();case"aaa":return s;case"aaaaa":return s[0];case"aaaa":default:return s==="am"?"a.m.":"p.m."}},h(r,n){return Ye(r.getHours()%12||12,n.length)},H(r,n){return Ye(r.getHours(),n.length)},m(r,n){return Ye(r.getMinutes(),n.length)},s(r,n){return Ye(r.getSeconds(),n.length)},S(r,n){const s=n.length,a=r.getMilliseconds(),o=Math.trunc(a*Math.pow(10,s-3));return Ye(o,n.length)}},pr={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},V0={G:function(r,n,s){const a=r.getFullYear()>0?1:0;switch(n){case"G":case"GG":case"GGG":return s.era(a,{width:"abbreviated"});case"GGGGG":return s.era(a,{width:"narrow"});case"GGGG":default:return s.era(a,{width:"wide"})}},y:function(r,n,s){if(n==="yo"){const a=r.getFullYear(),o=a>0?a:1-a;return s.ordinalNumber(o,{unit:"year"})}return Gs.y(r,n)},Y:function(r,n,s,a){const o=ty(r,a),f=o>0?o:1-o;if(n==="YY"){const h=f%100;return Ye(h,2)}return n==="Yo"?s.ordinalNumber(f,{unit:"year"}):Ye(f,n.length)},R:function(r,n){const s=Zg(r);return Ye(s,n.length)},u:function(r,n){const s=r.getFullYear();return Ye(s,n.length)},Q:function(r,n,s){const a=Math.ceil((r.getMonth()+1)/3);switch(n){case"Q":return String(a);case"QQ":return Ye(a,2);case"Qo":return s.ordinalNumber(a,{unit:"quarter"});case"QQQ":return s.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return s.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return s.quarter(a,{width:"wide",context:"formatting"})}},q:function(r,n,s){const a=Math.ceil((r.getMonth()+1)/3);switch(n){case"q":return String(a);case"qq":return Ye(a,2);case"qo":return s.ordinalNumber(a,{unit:"quarter"});case"qqq":return s.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return s.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return s.quarter(a,{width:"wide",context:"standalone"})}},M:function(r,n,s){const a=r.getMonth();switch(n){case"M":case"MM":return Gs.M(r,n);case"Mo":return s.ordinalNumber(a+1,{unit:"month"});case"MMM":return s.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return s.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return s.month(a,{width:"wide",context:"formatting"})}},L:function(r,n,s){const a=r.getMonth();switch(n){case"L":return String(a+1);case"LL":return Ye(a+1,2);case"Lo":return s.ordinalNumber(a+1,{unit:"month"});case"LLL":return s.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return s.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return s.month(a,{width:"wide",context:"standalone"})}},w:function(r,n,s,a){const o=oS(r,a);return n==="wo"?s.ordinalNumber(o,{unit:"week"}):Ye(o,n.length)},I:function(r,n,s){const a=aS(r);return n==="Io"?s.ordinalNumber(a,{unit:"week"}):Ye(a,n.length)},d:function(r,n,s){return n==="do"?s.ordinalNumber(r.getDate(),{unit:"date"}):Gs.d(r,n)},D:function(r,n,s){const a=rS(r);return n==="Do"?s.ordinalNumber(a,{unit:"dayOfYear"}):Ye(a,n.length)},E:function(r,n,s){const a=r.getDay();switch(n){case"E":case"EE":case"EEE":return s.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return s.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return s.day(a,{width:"short",context:"formatting"});case"EEEE":default:return s.day(a,{width:"wide",context:"formatting"})}},e:function(r,n,s,a){const o=r.getDay(),f=(o-a.weekStartsOn+8)%7||7;switch(n){case"e":return String(f);case"ee":return Ye(f,2);case"eo":return s.ordinalNumber(f,{unit:"day"});case"eee":return s.day(o,{width:"abbreviated",context:"formatting"});case"eeeee":return s.day(o,{width:"narrow",context:"formatting"});case"eeeeee":return s.day(o,{width:"short",context:"formatting"});case"eeee":default:return s.day(o,{width:"wide",context:"formatting"})}},c:function(r,n,s,a){const o=r.getDay(),f=(o-a.weekStartsOn+8)%7||7;switch(n){case"c":return String(f);case"cc":return Ye(f,n.length);case"co":return s.ordinalNumber(f,{unit:"day"});case"ccc":return s.day(o,{width:"abbreviated",context:"standalone"});case"ccccc":return s.day(o,{width:"narrow",context:"standalone"});case"cccccc":return s.day(o,{width:"short",context:"standalone"});case"cccc":default:return s.day(o,{width:"wide",context:"standalone"})}},i:function(r,n,s){const a=r.getDay(),o=a===0?7:a;switch(n){case"i":return String(o);case"ii":return Ye(o,n.length);case"io":return s.ordinalNumber(o,{unit:"day"});case"iii":return s.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return s.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return s.day(a,{width:"short",context:"formatting"});case"iiii":default:return s.day(a,{width:"wide",context:"formatting"})}},a:function(r,n,s){const o=r.getHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return s.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"aaa":return s.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return s.dayPeriod(o,{width:"narrow",context:"formatting"});case"aaaa":default:return s.dayPeriod(o,{width:"wide",context:"formatting"})}},b:function(r,n,s){const a=r.getHours();let o;switch(a===12?o=pr.noon:a===0?o=pr.midnight:o=a/12>=1?"pm":"am",n){case"b":case"bb":return s.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"bbb":return s.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return s.dayPeriod(o,{width:"narrow",context:"formatting"});case"bbbb":default:return s.dayPeriod(o,{width:"wide",context:"formatting"})}},B:function(r,n,s){const a=r.getHours();let o;switch(a>=17?o=pr.evening:a>=12?o=pr.afternoon:a>=4?o=pr.morning:o=pr.night,n){case"B":case"BB":case"BBB":return s.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"BBBBB":return s.dayPeriod(o,{width:"narrow",context:"formatting"});case"BBBB":default:return s.dayPeriod(o,{width:"wide",context:"formatting"})}},h:function(r,n,s){if(n==="ho"){let a=r.getHours()%12;return a===0&&(a=12),s.ordinalNumber(a,{unit:"hour"})}return Gs.h(r,n)},H:function(r,n,s){return n==="Ho"?s.ordinalNumber(r.getHours(),{unit:"hour"}):Gs.H(r,n)},K:function(r,n,s){const a=r.getHours()%12;return n==="Ko"?s.ordinalNumber(a,{unit:"hour"}):Ye(a,n.length)},k:function(r,n,s){let a=r.getHours();return a===0&&(a=24),n==="ko"?s.ordinalNumber(a,{unit:"hour"}):Ye(a,n.length)},m:function(r,n,s){return n==="mo"?s.ordinalNumber(r.getMinutes(),{unit:"minute"}):Gs.m(r,n)},s:function(r,n,s){return n==="so"?s.ordinalNumber(r.getSeconds(),{unit:"second"}):Gs.s(r,n)},S:function(r,n){return Gs.S(r,n)},X:function(r,n,s){const a=r.getTimezoneOffset();if(a===0)return"Z";switch(n){case"X":return J0(a);case"XXXX":case"XX":return Ei(a);case"XXXXX":case"XXX":default:return Ei(a,":")}},x:function(r,n,s){const a=r.getTimezoneOffset();switch(n){case"x":return J0(a);case"xxxx":case"xx":return Ei(a);case"xxxxx":case"xxx":default:return Ei(a,":")}},O:function(r,n,s){const a=r.getTimezoneOffset();switch(n){case"O":case"OO":case"OOO":return"GMT"+F0(a,":");case"OOOO":default:return"GMT"+Ei(a,":")}},z:function(r,n,s){const a=r.getTimezoneOffset();switch(n){case"z":case"zz":case"zzz":return"GMT"+F0(a,":");case"zzzz":default:return"GMT"+Ei(a,":")}},t:function(r,n,s){const a=Math.trunc(+r/1e3);return Ye(a,n.length)},T:function(r,n,s){return Ye(+r,n.length)}};function F0(r,n=""){const s=r>0?"-":"+",a=Math.abs(r),o=Math.trunc(a/60),f=a%60;return f===0?s+String(o):s+String(o)+n+Ye(f,2)}function J0(r,n){return r%60===0?(r>0?"-":"+")+Ye(Math.abs(r)/60,2):Ei(r,n)}function Ei(r,n=""){const s=r>0?"-":"+",a=Math.abs(r),o=Ye(Math.trunc(a/60),2),f=Ye(a%60,2);return s+o+n+f}const Q0=(r,n)=>{switch(r){case"P":return n.date({width:"short"});case"PP":return n.date({width:"medium"});case"PPP":return n.date({width:"long"});case"PPPP":default:return n.date({width:"full"})}},ny=(r,n)=>{switch(r){case"p":return n.time({width:"short"});case"pp":return n.time({width:"medium"});case"ppp":return n.time({width:"long"});case"pppp":default:return n.time({width:"full"})}},cS=(r,n)=>{const s=r.match(/(P+)(p+)?/)||[],a=s[1],o=s[2];if(!o)return Q0(r,n);let f;switch(a){case"P":f=n.dateTime({width:"short"});break;case"PP":f=n.dateTime({width:"medium"});break;case"PPP":f=n.dateTime({width:"long"});break;case"PPPP":default:f=n.dateTime({width:"full"});break}return f.replace("{{date}}",Q0(a,n)).replace("{{time}}",ny(o,n))},uS={p:ny,P:cS},fS=/^D+$/,hS=/^Y+$/,dS=["D","DD","YY","YYYY"];function mS(r){return fS.test(r)}function pS(r){return hS.test(r)}function gS(r,n,s){const a=yS(r,n,s);if(console.warn(a),dS.includes(r))throw new RangeError(a)}function yS(r,n,s){const a=r[0]==="Y"?"years":"days of the month";return`Use \`${r.toLowerCase()}\` instead of \`${r}\` (in \`${n}\`) for formatting ${a} to the input \`${s}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const bS=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,xS=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,vS=/^'([^]*?)'?$/,_S=/''/g,wS=/[a-zA-Z]/;function sy(r,n,s){var E,w,j,z;const a=Va(),o=a.locale??ey,f=a.firstWeekContainsDate??((w=(E=a.locale)==null?void 0:E.options)==null?void 0:w.firstWeekContainsDate)??1,h=a.weekStartsOn??((z=(j=a.locale)==null?void 0:j.options)==null?void 0:z.weekStartsOn)??0,d=nn(r,s==null?void 0:s.in);if(!E2(d))throw new RangeError("Invalid time value");let g=n.match(xS).map(M=>{const B=M[0];if(B==="p"||B==="P"){const V=uS[B];return V(M,o.formatLong)}return M}).join("").match(bS).map(M=>{if(M==="''")return{isToken:!1,value:"'"};const B=M[0];if(B==="'")return{isToken:!1,value:SS(M)};if(V0[B])return{isToken:!0,value:M};if(B.match(wS))throw new RangeError("Format string contains an unescaped latin alphabet character `"+B+"`");return{isToken:!1,value:M}});o.localize.preprocessor&&(g=o.localize.preprocessor(d,g));const y={firstWeekContainsDate:f,weekStartsOn:h,locale:o};return g.map(M=>{if(!M.isToken)return M.value;const B=M.value;(pS(B)||mS(B))&&gS(B,n,String(r));const V=V0[B[0]];return V(d,B,o.localize,y)}).join("")}function SS(r){const n=r.match(vS);return n?n[1].replace(_S,"'"):r}function ES(r,n,s){const a=Va(),o=(s==null?void 0:s.locale)??a.locale??ey,f=_2(r,n);if(isNaN(f))throw new RangeError("Invalid time value");const h=Object.assign({},s,{addSuffix:s==null?void 0:s.addSuffix,comparison:f}),[d,g]=Wg(s==null?void 0:s.in,...f>0?[n,r]:[r,n]),y=A2((s==null?void 0:s.roundingMethod)??"round"),E=g.getTime()-d.getTime(),w=E/L0,j=Ho(g)-Ho(d),z=(E-j)/L0,M=s==null?void 0:s.unit;let B;if(M?B=M:w<1?B="second":w<60?B="minute":w<$0?B="hour":z<P0?B="day":z<H0?B="month":B="year",B==="second"){const V=y(E/1e3);return o.formatDistance("xSeconds",V,h)}else if(B==="minute"){const V=y(w);return o.formatDistance("xMinutes",V,h)}else if(B==="hour"){const V=y(w/60);return o.formatDistance("xHours",V,h)}else if(B==="day"){const V=y(z/$0);return o.formatDistance("xDays",V,h)}else if(B==="month"){const V=y(z/P0);return V===12&&M!=="month"?o.formatDistance("xYears",1,h):o.formatDistance("xMonths",V,h)}else{const V=y(z/H0);return o.formatDistance("xYears",V,h)}}function AS(r,n){return ES(r,w2(r),n)}function OS(r){const n=new Date(r);return n.getTime()>Date.now()?"just now":AS(n,{addSuffix:!0})}function FE(r){return r<=0?"Expired":fh(r)}function jS(r){return r==null?"--":fh(r)}function fh(r){if(r<1e3)return`${Math.round(r)}ms`;if(r<6e4){const h=r/1e3;return Number.isInteger(h)?`${h}s`:`${h.toFixed(1)}s`}const n=Math.floor(r/1e3),s=Math.floor(n/86400),a=Math.floor(n%86400/3600),o=Math.floor(n%3600/60),f=n%60;return s>0?a>0?`${s}d ${a}h`:`${s}d`:a>0?o>0?`${a}h ${o}m`:`${a}h`:f>0?`${o}m ${f}s`:`${o}m`}function JE(r,n){const s=new Date(r).getTime(),a=n?new Date(n).getTime():Date.now();return fh(a-s)}function iy({options:r,children:n,className:s=""}){const[a,o]=T.useState(!1),[f,h]=T.useState(null),[d,g]=T.useState(null),y=T.useRef(null),E=T.useRef(void 0),w=T.useRef(void 0),j=220,z=T.useCallback(()=>{if(!y.current)return;const ne=y.current.getBoundingClientRect(),ee=window.innerWidth-j-8,pe=Math.max(8,Math.min(ne.left,ee));g({top:ne.bottom+4,left:pe})},[]),M=T.useCallback(async(ne,ee)=>{try{await navigator.clipboard.writeText(ne),h(ee),clearTimeout(E.current),E.current=setTimeout(()=>h(null),1200)}catch{}},[]),B=T.useCallback(()=>{clearTimeout(w.current),z(),o(!0)},[z]),V=T.useCallback(()=>{w.current=setTimeout(()=>o(!1),150)},[]);return T.useEffect(()=>()=>{clearTimeout(E.current),clearTimeout(w.current)},[]),m.jsxs("span",{ref:y,className:`inline-flex items-center cursor-default ${s}`,onMouseEnter:B,onMouseLeave:V,children:[n,a&&d&&ng.createPortal(m.jsx("span",{className:"fixed z-[9999] bg-surface-raised border border-surface-border rounded shadow-lg py-1 min-w-[180px]",style:{top:d.top,left:d.left},onMouseEnter:B,onMouseLeave:V,children:r.map(ne=>m.jsxs("button",{onClick:ee=>{ee.stopPropagation(),M(ne.value,ne.label)},className:"flex items-center justify-between w-full px-2.5 py-1 text-left hover:bg-surface-hover transition-colors",children:[m.jsx("span",{className:"text-[9px] font-medium uppercase tracking-wider text-text-tertiary w-10 shrink-0",children:ne.label}),m.jsx("span",{className:"text-[10px] font-mono text-text-secondary truncate ml-2",children:f===ne.label?"✓":ne.value})]},ne.label))}),document.body)]})}function TS(r,n){const s=new Date(r);switch(n){case"relative":return OS(r);case"datetime":return sy(s,"MMM d, yyyy h:mm a");case"time":return s.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}}function NS(r){const n=new Date(r);return[{label:"ms",value:String(n.getTime())},{label:"utc",value:n.toISOString()},{label:"local",value:sy(n,"MMM d, yyyy h:mm:ss a")}]}function CS({date:r,format:n="relative",className:s=""}){const[,a]=T.useState(0);T.useEffect(()=>{if(n!=="relative")return;const f=setInterval(()=>a(h=>h+1),3e4);return()=>clearInterval(f)},[n]);const o=T.useMemo(()=>NS(r),[r]);return m.jsx(iy,{options:o,children:m.jsx("time",{dateTime:r,className:`text-xs text-text-tertiary ${s}`,children:TS(r,n)})})}function kS({ms:r,className:n=""}){const s=jS(r),a=T.useMemo(()=>r==null?[]:[{label:"ms",value:String(r)},{label:"sec",value:`${(r/1e3).toFixed(3)}s`},{label:"text",value:s}],[r,s]);return r==null?m.jsx("span",{className:`text-xs text-text-tertiary ${n}`,children:"--"}):m.jsx(iy,{options:a,children:m.jsx("span",{className:`text-xs text-text-tertiary ${n}`,children:s})})}const MS=["sm","md","lg","full"],I0={sm:"w-[28rem] max-h-[40vh]",md:"w-[36rem] max-h-[60vh]",lg:"w-[48rem] max-h-[80vh]",full:"inset-4 w-auto max-h-none"},X0={sm:"Small",md:"Medium",lg:"Large",full:"Fullscreen"};function RS({which:r}){const n="stroke-current";switch(r){case"sm":return m.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:m.jsx("rect",{x:"5",y:"5",width:"7",height:"7",rx:"1.5",className:n,strokeWidth:"1.5"})});case"md":return m.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:m.jsx("rect",{x:"3",y:"3",width:"9",height:"9",rx:"1.5",className:n,strokeWidth:"1.5"})});case"lg":return m.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:m.jsx("rect",{x:"1.5",y:"1.5",width:"11",height:"11",rx:"1.5",className:n,strokeWidth:"1.5"})});case"full":return m.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:m.jsx("rect",{x:"0.75",y:"0.75",width:"12.5",height:"12.5",rx:"1.5",className:n,strokeWidth:"1.5"})})}}function DS({msg:r}){const[n,s]=T.useState(0);T.useEffect(()=>{const h=new Date(r.timestamp).getTime(),d=()=>s(Math.floor((Date.now()-h)/1e3));d();const g=setInterval(d,1e3);return()=>clearInterval(g)},[r.timestamp]);const a=Math.floor(n/60),o=n%60,f=a>0?`${a}m ${o}s`:`${o}s`;return m.jsxs("span",{className:"inline-flex flex-col gap-1.5",children:[m.jsxs("span",{className:"inline-flex items-center gap-1",children:[m.jsx("span",{className:"text-text-tertiary",children:"Thinking"}),m.jsx("span",{className:"inline-block w-1 h-1 rounded-full bg-text-tertiary animate-pulse"}),m.jsx("span",{className:"inline-block w-1 h-1 rounded-full bg-text-tertiary animate-pulse [animation-delay:150ms]"}),m.jsx("span",{className:"inline-block w-1 h-1 rounded-full bg-text-tertiary animate-pulse [animation-delay:300ms]"}),m.jsx("span",{className:"text-text-muted ml-1 tabular-nums",children:f})]}),r.workflowId&&m.jsxs(gr,{to:`/workflows/executions/${r.workflowId}`,className:"inline-flex items-center gap-1 text-[10px] text-accent/70 hover:text-accent transition-colors",children:[m.jsx(og,{className:"w-2.5 h-2.5",strokeWidth:1.5}),"watch execution"]})]})}function zS({msg:r,compileMessage:n}){const s=r.role==="assistant";return m.jsxs("div",{className:`flex items-center gap-1.5 ${s?"justify-start":"justify-end"}`,children:[m.jsx(CS,{date:r.timestamp,format:"time",className:"!text-[9px] text-text-muted/50"}),r.durationMs!=null&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-text-muted/30 text-[8px]",children:"·"}),m.jsx(kS,{ms:r.durationMs,className:"!text-[9px] text-text-muted/50"})]}),r.workflowId&&m.jsx(gr,{to:`/workflows/executions/${r.workflowId}`,className:"text-text-muted/40 hover:text-accent transition-colors",title:"View workflow execution",children:m.jsx(og,{className:"w-2.5 h-2.5",strokeWidth:1.5})}),s&&r.workflowId&&!r.pending&&m.jsx("button",{onClick:()=>n(r.id),disabled:r.compilationStatus==="compiling"||r.compilationStatus==="done",className:"transition-colors",title:r.compilationStatus==="done"?"Compiled — future queries will match this pipeline":r.compilationStatus==="error"?r.compilationError??"Compilation failed":r.compilationStatus==="compiling"?"Compiling...":"Compile to fast pipeline",children:m.jsx(Wx,{className:`w-2.5 h-2.5 ${r.compilationStatus==="done"?"text-status-success":r.compilationStatus==="error"?"text-status-error":r.compilationStatus==="compiling"?"text-accent/40 animate-pulse":"text-text-muted/40 hover:text-accent"}`,strokeWidth:1.5})})]})}function qS(){const{helpOpen:r,setHelpOpen:n,messages:s,sendMessage:a,pageContext:o,activeWorkflowId:f,clearMessages:h,compileMessage:d}=Xg(),[g,y]=T.useState(""),[E,w]=T.useState("md"),[j,z]=T.useState(!0),M=T.useRef(null),B=T.useRef(null);if(T.useEffect(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight)},[s]),T.useEffect(()=>{r&&B.current&&B.current.focus()},[r]),T.useEffect(()=>{if(!r)return;const k=X=>{X.key==="Escape"&&(E==="full"?w("lg"):E==="lg"?w("md"):E==="md"?w("sm"):n(!1))};return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)},[r,E,n]),!r)return null;const V=()=>{const k=g.trim();!k||f||(a(k),y(""),B.current&&(B.current.style.height="auto"))},ne=k=>{k.key==="Enter"&&!k.shiftKey&&(k.preventDefault(),V())},ee=E==="full",pe=o.page.replace(/-/g," "),ae=ee?{}:{bottom:"108px"};return m.jsxs("div",{className:`fixed z-[45] flex flex-col border border-surface-border rounded-lg overflow-hidden transition-all duration-300 ${ee?I0.full:`right-6 ${I0[E]}`} ${j?"bg-surface-raised shadow-xl":"bg-surface-raised/[0.03] shadow-lg shadow-black/5"}`,style:ae,onMouseEnter:()=>z(!0),onMouseLeave:()=>z(!1),children:[m.jsxs("div",{className:`flex items-center justify-between px-4 py-2.5 border-b border-surface-border shrink-0 transition-all duration-300 ${j?"opacity-100":"opacity-50 grayscale brightness-150"}`,children:[m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsx("p",{className:"text-xs font-medium text-text-primary truncate",children:"Help Assistant"}),m.jsx("p",{className:"text-[10px] text-text-tertiary truncate",children:pe})]}),m.jsxs("div",{className:"flex items-center gap-1 ml-2",children:[m.jsx("div",{className:"flex items-center gap-0.5 border border-surface-border rounded p-0.5",role:"radiogroup","aria-label":"Panel size",children:MS.map(k=>m.jsx("button",{onClick:()=>w(k),className:`p-1 rounded transition-colors ${k===E?"bg-accent/15 text-accent":"text-text-muted hover:text-text-secondary hover:bg-surface-hover"}`,role:"radio","aria-checked":k===E,"aria-label":X0[k],title:X0[k],children:m.jsx(RS,{which:k})},k))}),s.length>0&&m.jsx("button",{onClick:h,className:"p-1 text-text-tertiary hover:text-text-secondary transition-colors","aria-label":"Clear conversation",title:"Clear conversation",children:m.jsx(ev,{className:"w-3.5 h-3.5",strokeWidth:1.5})}),m.jsx("button",{onClick:()=>n(!1),className:"p-1 text-text-tertiary hover:text-text-primary transition-colors","aria-label":"Close",title:"Close",children:m.jsx(Po,{className:"w-3.5 h-3.5",strokeWidth:1.5})})]})]}),m.jsxs("div",{ref:M,className:`flex-1 overflow-y-auto px-4 py-3 space-y-3 min-h-[120px] transition-all duration-300 ${j?"opacity-100":"opacity-50 grayscale brightness-150"}`,children:[s.length===0&&m.jsx("p",{className:"text-xs text-text-tertiary text-center py-6",children:"Ask anything about what you're viewing."}),s.map(k=>m.jsxs("div",{className:`text-xs leading-relaxed ${k.role==="user"?"text-right":"text-left"}`,children:[m.jsx("div",{className:`inline-block max-w-[85%] px-3 py-2 rounded-md whitespace-pre-wrap ${k.role==="user"?"bg-accent/10 text-text-primary":"bg-surface-sunken text-text-secondary"}`,children:k.pending?m.jsx(DS,{msg:k}):k.role==="assistant"?m.jsx(uh,{content:k.content}):k.content}),!k.pending&&m.jsx("div",{className:"mt-0.5",children:m.jsx(zS,{msg:k,compileMessage:d})})]},k.id))]}),m.jsxs("div",{className:`border-t border-surface-border px-3 py-2.5 flex gap-2 shrink-0 transition-all duration-300 ${j?"opacity-100":"opacity-50 grayscale brightness-150"}`,children:[m.jsx("textarea",{ref:B,value:g,onChange:k=>{y(k.target.value);const X=k.target;X.style.height="auto",X.style.height=`${Math.min(X.scrollHeight,120)}px`},onKeyDown:ne,placeholder:"Ask a question...",rows:2,className:"flex-1 resize-none bg-surface text-xs text-text-primary placeholder:text-text-tertiary rounded px-2.5 py-1.5 border border-surface-border focus:outline-none focus:border-accent",style:{minHeight:"2.5rem"},disabled:!!f}),m.jsx("button",{onClick:V,disabled:!g.trim()||!!f,className:"px-2.5 py-1.5 text-accent hover:text-accent-hover disabled:text-text-muted transition-colors self-end","aria-label":"Send",children:m.jsx(tv,{className:"w-4 h-4",strokeWidth:1.5})})]})]})}function US(){var B;const{isSuperAdmin:r,hasRoleType:n,hasRole:s}=Oi(),{data:a}=bw(),o=!!((B=a==null?void 0:a.ai)!=null&&B.enabled),{collapsed:f,toggle:h}=Vg(),[d,g]=T.useState(!1),[y,E]=T.useState(!1),[w,j]=T.useState(()=>window.location.hash.startsWith("#docs")),z=Ws(),M=T.useRef(null);return T.useEffect(()=>{const V=M.current;V&&(V.classList.remove("animate-page-in"),V.offsetWidth,V.classList.add("animate-page-in"))},[z.pathname]),T.useEffect(()=>{const V=()=>{window.location.hash.startsWith("#docs")&&j(!0)};return window.addEventListener("hashchange",V),()=>window.removeEventListener("hashchange",V)},[]),m.jsxs("div",{className:"h-screen bg-surface flex flex-col",children:[m.jsx(Ew,{onToggleEventFeed:()=>g(V=>!V),onToggleDocs:()=>j(V=>!V)}),m.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[m.jsxs("aside",{className:`${f?"w-16":"w-60"} shrink-0 bg-surface-raised border-r border-surface-border flex flex-col transition-[width] duration-200 ease-out overflow-hidden relative z-20`,children:[m.jsxs("nav",{className:"flex-1 px-3 pt-[36px] pb-4 space-y-2 overflow-y-auto overflow-x-hidden",children:[m.jsx(Nw,{aiEnabled:o}),(r||n("admin")||s("engineer"))&&m.jsx(Cw,{}),o&&(r||n("admin")||s("engineer"))&&m.jsx(Mw,{}),(r||n("admin")||s("engineer"))&&m.jsx(Dw,{}),(r||n("admin"))&&m.jsx(qw,{})]}),m.jsx("button",{onClick:h,className:`shrink-0 py-3 text-text-tertiary hover:text-text-secondary transition-colors duration-150 ${f?"flex justify-center":"flex items-center px-7"}`,"aria-label":f?"Expand sidebar":"Collapse sidebar",children:f?m.jsx(nv,{className:"w-4 h-4 text-accent-muted",strokeWidth:1.5}):m.jsx(sv,{className:"w-4 h-4 text-accent-muted",strokeWidth:1.5})})]}),m.jsx("main",{className:"flex-1 overflow-y-auto",children:m.jsx("div",{ref:M,className:"max-w-dashboard mx-auto px-10 py-10 pb-16 animate-page-in",children:m.jsx(wo,{})})})]}),m.jsx(t2,{open:d,onToggle:()=>g(V=>!V),configOpen:y,onToggleConfig:()=>E(V=>!V)}),m.jsx(f2,{open:w,onClose:()=>{j(!1),history.replaceState(null,"",window.location.pathname+window.location.search)}}),o&&m.jsx(g2,{}),o&&m.jsx(qS,{})]})}function BS(){const{isAuthenticated:r}=Oi(),n=Ws();return r?m.jsx(vw,{children:m.jsx(p2,{children:m.jsx(US,{})})}):m.jsx(Fs,{to:"/login",state:{from:n.pathname},replace:!0})}function ry({provider:r,className:n="w-5 h-5"}){switch(r){case"google":return m.jsxs("svg",{className:n,viewBox:"0 0 24 24",fill:"currentColor",children:[m.jsx("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z",fill:"#4285F4"}),m.jsx("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z",fill:"#34A853"}),m.jsx("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z",fill:"#FBBC05"}),m.jsx("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z",fill:"#EA4335"})]});case"github":return m.jsx("svg",{className:n,viewBox:"0 0 24 24",fill:"currentColor",children:m.jsx("path",{d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0 0 22 12.017C22 6.484 17.522 2 12 2z"})});case"microsoft":return m.jsxs("svg",{className:n,viewBox:"0 0 24 24",fill:"currentColor",children:[m.jsx("path",{d:"M3 3h8.5v8.5H3z",fill:"#F25022"}),m.jsx("path",{d:"M12.5 3H21v8.5h-8.5z",fill:"#7FBA00"}),m.jsx("path",{d:"M3 12.5h8.5V21H3z",fill:"#00A4EF"}),m.jsx("path",{d:"M12.5 12.5H21V21h-8.5z",fill:"#FFB900"})]});case"anthropic":return m.jsx("svg",{className:n,viewBox:"0 0 24 24",fill:"currentColor",children:m.jsx("path",{d:"M13.827 3.52h3.603L24 20.48h-3.603l-6.57-16.96zm-7.258 0h3.767L16.906 20.48h-3.674l-1.343-3.461H6.396l-1.34 3.461H1.5l5.07-16.96zm2.327 5.14l-2.065 5.326h4.108l-2.043-5.326z"})});default:return m.jsxs("svg",{className:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[m.jsx("circle",{cx:"12",cy:"12",r:"10"}),m.jsx("path",{d:"M12 8v4l3 3"})]})}}async function LS(){return Xe("/auth/oauth/providers")}async function HS(r,n){const s=n?`?label=${encodeURIComponent(n)}`:"";return Xe(`/auth/oauth/connections/${r}${s}`,{method:"DELETE"})}function QE(){return Hn({queryKey:["oauth-connections"],queryFn:()=>Xe("/auth/oauth/connections")})}function IE(){const r=Nn();return Pn({mutationFn:({provider:n,label:s})=>HS(n,s),onSuccess:()=>{r.invalidateQueries({queryKey:["oauth-connections"]})}})}function PS(){var X;const{login:r,isAuthenticated:n}=Oi(),s=sg(),a=Ws(),o=new URLSearchParams(a.search),f=o.get("token"),h=o.get("error"),d=((X=a.state)==null?void 0:X.from)??o.get("returnTo")??"/",g=T.useRef(!1);f&&!g.current&&(g.current=!0,r(f,void 0,{displayName:o.get("displayName"),username:o.get("username")}));const[y,E]=T.useState(""),[w,j]=T.useState(""),[z,M]=T.useState(h||""),[B,V]=T.useState(!1),[ne,ee]=T.useState(!!f),[pe,ae]=T.useState([]);if(T.useEffect(()=>{f||LS().then(ae).catch(()=>{})},[]),T.useEffect(()=>{if(!ne)return;const se=setTimeout(()=>s(d,{replace:!0}),1500);return()=>clearTimeout(se)},[ne]),n&&!ne)return m.jsx(Fs,{to:d,replace:!0});const k=async se=>{var W,F;if(se.preventDefault(),M(""),!y.trim()||!w){M("Username and password are required");return}V(!0);try{const Z=await fetch(`${Bn}/api/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:y.trim(),password:w})}),le=await Z.json();if(!Z.ok){M(le.error||"Login failed");return}ee(!0),r(le.token,{username:y.trim(),password:w},{displayName:(W=le.user)==null?void 0:W.display_name,username:(F=le.user)==null?void 0:F.external_id})}catch{M("Unable to connect to server")}finally{V(!1)}};return m.jsx("div",{className:"min-h-screen bg-surface flex items-center justify-center overflow-hidden",children:m.jsxs("div",{className:"w-full max-w-md p-10",children:[m.jsx("div",{className:`mb-10 transition-all duration-[1500ms] ease-in ${ne?"translate-x-[120vw] -translate-y-[60vh] scale-[3] opacity-0":""}`,children:m.jsx(oh,{size:"lg",hideLabel:ne})}),m.jsxs("form",{onSubmit:k,className:`space-y-5 transition-opacity duration-300 ${ne?"opacity-0":""}`,children:[m.jsxs("div",{children:[m.jsx("label",{htmlFor:"username",className:"block text-sm font-medium text-text-secondary mb-2",children:"Username"}),m.jsx("input",{id:"username",type:"text",value:y,onChange:se=>E(se.target.value),className:"input",placeholder:"Enter your username",autoFocus:!ne,autoComplete:"username"})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"password",className:"block text-sm font-medium text-text-secondary mb-2",children:"Password"}),m.jsx("input",{id:"password",type:"password",value:w,onChange:se=>j(se.target.value),className:"input",placeholder:"Enter your password",autoComplete:"current-password"})]}),z&&m.jsx("p",{className:"text-sm text-status-error",children:z}),m.jsx("button",{type:"submit",className:"btn-primary w-full",disabled:B||ne,children:B?"Signing in...":"Sign In"}),pe.length>0&&m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"flex items-center gap-3 mt-6",children:[m.jsx("div",{className:"flex-1 h-px bg-border"}),m.jsx("span",{className:"text-xs text-text-tertiary",children:"or continue with"}),m.jsx("div",{className:"flex-1 h-px bg-border"})]}),m.jsx("div",{className:"space-y-2",children:pe.filter(se=>se.provider!=="anthropic").map(se=>m.jsxs("a",{href:`${Bn}/api/auth/oauth/${se.provider}?returnTo=${encodeURIComponent(d)}`,className:"btn-secondary w-full flex items-center justify-center gap-2",children:[m.jsx(ry,{provider:se.provider}),"Sign in with ",se.name]},se.provider))})]})]})]})})}function K0(){const{isAuthenticated:r}=Oi(),n=sg(),s=Ws(),a=new URLSearchParams(s.search),o=a.get("state")||"";T.useEffect(()=>{r||n(`/login?returnTo=${encodeURIComponent(s.pathname+s.search)}`)},[r]);const[f,h]=T.useState(""),[d,g]=T.useState(a.get("label")||"default"),[y,E]=T.useState(""),[w,j]=T.useState(!1),z=f.trim().startsWith("sk-ant-oat"),M=f.trim().startsWith("sk-ant-api"),B=V=>{V.preventDefault();const ne=f.trim();if(!ne){E("A token or API key is required");return}if(!ne.startsWith("sk-ant-")){E('Invalid format. Must start with "sk-ant-oat" (OAuth token) or "sk-ant-api" (API key)');return}j(!0),E("");const ee=`${Bn}/api/auth/oauth/anthropic/callback?code=${encodeURIComponent(ne)}&state=${encodeURIComponent(o)}`;window.location.href=ee};return m.jsx("div",{className:"min-h-screen bg-surface flex items-center justify-center",children:m.jsxs("div",{className:"w-full max-w-md p-10",children:[m.jsx("div",{className:"mb-10",children:m.jsx(oh,{size:"lg"})}),m.jsxs("div",{className:"flex items-center gap-2 mb-6",children:[m.jsx(ry,{provider:"anthropic",className:"w-6 h-6"}),m.jsx("h2",{className:"text-lg font-semibold text-text-primary",children:"Connect Anthropic"})]}),m.jsx("p",{className:"text-sm text-text-secondary mb-4",children:"Connect your Anthropic account so Claude Code tasks run under your credentials. Your token is encrypted at rest."}),m.jsxs("form",{onSubmit:B,className:"space-y-5",children:[m.jsxs("div",{children:[m.jsx("label",{htmlFor:"token",className:"block text-sm font-medium text-text-secondary mb-2",children:"OAuth Token or API Key"}),m.jsx("input",{id:"token",type:"password",value:f,onChange:V=>h(V.target.value),className:"input",placeholder:"sk-ant-oat01-... or sk-ant-api03-...",autoFocus:!0,autoComplete:"off"}),z&&m.jsx("p",{className:"text-xs text-status-success mt-1",children:"OAuth token detected — uses your Claude subscription (flat rate)"}),M&&m.jsx("p",{className:"text-xs text-status-warning mt-1",children:"API key detected — billed per-token from your Anthropic API account"})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"label",className:"block text-sm font-medium text-text-secondary mb-2",children:"Label"}),m.jsx("input",{id:"label",type:"text",value:d,onChange:V=>g(V.target.value.replace(/\s+/g,"-").toLowerCase()),className:"input",placeholder:"default",autoComplete:"off"}),m.jsx("p",{className:"text-xs text-text-tertiary mt-1",children:'A name for this credential. Use different labels to store multiple credentials (e.g., "subscription", "api-batch").'})]}),y&&m.jsx("p",{className:"text-sm text-status-error",children:y}),m.jsx("button",{type:"submit",className:"btn-primary w-full",disabled:w,children:w?"Validating...":"Connect"}),m.jsx("a",{href:"/",className:"block text-center text-sm text-text-tertiary hover:text-text-secondary",children:"Cancel"})]}),m.jsxs("div",{className:"mt-6 space-y-3 text-xs text-text-tertiary",children:[m.jsxs("div",{children:[m.jsx("span",{className:"font-medium text-text-secondary",children:"Recommended:"})," ","Run"," ",m.jsx("code",{className:"px-1 py-0.5 bg-surface-sunken rounded text-[11px]",children:"claude setup-token"})," ","in your terminal to generate an OAuth token that uses your subscription."]}),m.jsxs("div",{children:[m.jsx("span",{className:"font-medium text-text-secondary",children:"Alternative:"})," ","Use an API key from"," ",m.jsx("a",{href:"https://console.anthropic.com/settings/keys",target:"_blank",rel:"noopener noreferrer",className:"text-accent-secondary hover:underline",children:"console.anthropic.com"})," ","(billed per-token)."]})]})]})})}function wf({roleTypes:r,roleNames:n,redirectTo:s="/"}){const{isSuperAdmin:a,hasRole:o,hasRoleType:f}=Oi();return a?m.jsx(wo,{}):r&&r.some(h=>f(h))?m.jsx(wo,{}):n&&n.some(h=>o(h))?m.jsx(wo,{}):m.jsx(Fs,{to:s,replace:!0})}const $S=T.lazy(()=>Ae(()=>import("./ProcessesListPage-CPgiDbdS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]),import.meta.url).then(r=>({default:r.ProcessesListPage}))),YS=T.lazy(()=>Ae(()=>import("./ProcessDetailPage-qibro3Dm.js"),__vite__mapDeps([16,1,2,4,17,13,18,15,9,6,19,20,21]),import.meta.url).then(r=>({default:r.ProcessDetailPage}))),GS=T.lazy(()=>Ae(()=>import("./McpOverview-BdLivZv8.js"),__vite__mapDeps([22,1,23,24,25,26,12,13,27,6]),import.meta.url).then(r=>({default:r.McpOverview}))),VS=T.lazy(()=>Ae(()=>import("./McpRunsPage-CzVS7zcc.js"),__vite__mapDeps([28,1,24,25,26,5,6,7,8,15,13,9,29,12,11,10,14,30]),import.meta.url).then(r=>({default:r.McpRunsPage}))),FS=T.lazy(()=>Ae(()=>import("./McpRunDetailPage-DQJ41oKW.js"),__vite__mapDeps([31,1,24,18,12,13,32,6,33,34,14,35,36,11]),import.meta.url).then(r=>({default:r.McpRunDetailPage}))),JS=T.lazy(()=>Ae(()=>import("./McpQueryPage-AFV_QPwm.js"),__vite__mapDeps([37,1,12,13,7,8,11,10,14,9,29,15,30,5,6,4,38]),import.meta.url).then(r=>({default:r.McpQueryPage}))),QS=T.lazy(()=>Ae(()=>import("./McpQueryDetailPage-DKFkH1qa.js"),__vite__mapDeps([39,1,12,13,18,38,40,6,25,4,41,33,24,3,2,42,43,44,45,32,46,35]),import.meta.url).then(r=>({default:r.McpQueryDetailPage}))),IS=T.lazy(()=>Ae(()=>import("./EscalationsOverview-BfSrQ7A5.js"),__vite__mapDeps([47,1,4,12,13,27,6]),import.meta.url).then(r=>({default:r.EscalationsOverview}))),XS=T.lazy(()=>Ae(()=>import("./AvailableEscalationsPage-D2cxvpAK.js"),__vite__mapDeps([48,1,4,49,5,6,7,8,10,12,13,50,51,52,21,53,11,54,19,15,9,55,30,14]),import.meta.url).then(r=>({default:r.AvailableEscalationsPage}))),KS=T.lazy(()=>Ae(()=>import("./OperatorDashboard-B_QmNzLw.js"),__vite__mapDeps([56,1,4,49,5,6,7,8,12,13,10,30,53,11,54,19,15,9,55,14]),import.meta.url).then(r=>({default:r.OperatorDashboard}))),ZS=T.lazy(()=>Ae(()=>import("./index-DUaF8VYe.js"),__vite__mapDeps([57,1,34,49,12,13,55,3,4,20,21,51,50,18,19,32,6,33]),import.meta.url).then(r=>({default:r.EscalationDetailPage}))),WS=T.lazy(()=>Ae(()=>import("./WorkflowsOverview-Reab_xHT.js"),__vite__mapDeps([58,1,3,4,12,13,27,6]),import.meta.url).then(r=>({default:r.WorkflowsOverview}))),eE=T.lazy(()=>Ae(()=>import("./index-DAQvhgrL.js"),__vite__mapDeps([59,1,3,12,13,15,44,45,6,7,8,60,46,18]),import.meta.url).then(r=>({default:r.StartWorkflowPage}))),tE=T.lazy(()=>Ae(()=>import("./index-DAQvhgrL.js"),__vite__mapDeps([59,1,3,12,13,15,44,45,6,7,8,60,46,18]),import.meta.url).then(r=>({default:r.DurableInvokePage}))),nE=T.lazy(()=>Ae(()=>import("./WorkflowsDashboard-DL6oRbka.js"),__vite__mapDeps([61,1,9,29,3,4,5,6,7,8,15,13,12,11,10,14,30]),import.meta.url).then(r=>({default:()=>r.WorkflowsDashboard({tier:"durable"})}))),sE=T.lazy(()=>Ae(()=>import("./WorkflowsDashboard-DL6oRbka.js"),__vite__mapDeps([61,1,9,29,3,4,5,6,7,8,15,13,12,11,10,14,30]),import.meta.url).then(r=>({default:()=>r.WorkflowsDashboard({tier:"all"})}))),iE=T.lazy(()=>Ae(()=>import("./YamlWorkflowsPage-BoFstOcp.js"),__vite__mapDeps([62,1,25,40,5,6,63,12,13,11,8,43,44,45,42,60,46,18,64]),import.meta.url).then(r=>({default:r.YamlWorkflowsPage}))),rE=T.lazy(()=>Ae(()=>import("./TasksListPage-BQjjNjRC.js"),__vite__mapDeps([65,1,2,3,5,6,7,8,18,54,46,10,11,12,13,15]),import.meta.url).then(r=>({default:r.TasksListPage}))),aE=T.lazy(()=>Ae(()=>import("./TaskDetailPage-buNgjwiz.js"),__vite__mapDeps([66,1,2,18,54,12,13,6]),import.meta.url).then(r=>({default:r.TaskDetailPage}))),Z0=T.lazy(()=>Ae(()=>import("./WorkflowExecutionPage-BQbIIdIA.js"),__vite__mapDeps([67,1,3,4,34,2,12,13,33,14,18,32,6,35,36,11]),import.meta.url).then(r=>({default:r.WorkflowExecutionPage}))),lE=T.lazy(()=>Ae(()=>import("./AdminDashboard-Jwr3Fsaz.js"),__vite__mapDeps([68,1,2,4,23,17,13,6]),import.meta.url).then(r=>({default:r.AdminDashboard}))),oE=T.lazy(()=>Ae(()=>import("./index-wlL3EZ14.js"),__vite__mapDeps([69,1,3,7,8,11,30,5,6,12,13,70,15]),import.meta.url).then(r=>({default:r.WorkersPage}))),cE=T.lazy(()=>Ae(()=>import("./index-CdUj8mKq.js"),__vite__mapDeps([71,1,3,7,8,72,52,6,11,30,5,12,13,19,70,15,73,49,44,45]),import.meta.url).then(r=>({default:r.WorkflowConfigsPage}))),W0=T.lazy(()=>Ae(()=>import("./index-CdUj8mKq.js"),__vite__mapDeps([71,1,3,7,8,72,52,6,11,30,5,12,13,19,70,15,73,49,44,45]),import.meta.url).then(r=>({default:r.WorkflowConfigDetailPage}))),uE=T.lazy(()=>Ae(()=>import("./index-C42ACUTi.js"),__vite__mapDeps([74,1,23,8,72,52,6,12,13,11,10,5,63,75,43,44,45,42,64,30,18]),import.meta.url).then(r=>({default:r.McpServersPage}))),eg=T.lazy(()=>Ae(()=>import("./index-BVXXvXlF.js"),__vite__mapDeps([76,1,23,73,12,13,41,6]),import.meta.url).then(r=>({default:r.McpServerDetailPage}))),fE=T.lazy(()=>Ae(()=>import("./index-MO0YnTPi.js"),__vite__mapDeps([77,1,21,5,6,7,8,10,11,9,72,52,30,12,13,19,45,49,46]),import.meta.url).then(r=>({default:r.UsersPage}))),hE=T.lazy(()=>Ae(()=>import("./RolesPage-BAj88I_Y.js"),__vite__mapDeps([78,1,49,7,8,72,52,6,12,13,19,30]),import.meta.url).then(r=>({default:r.RolesPage}))),dE=T.lazy(()=>Ae(()=>import("./index-CHBiEYmf.js"),__vite__mapDeps([79,1,12,13,52,6,50]),import.meta.url).then(r=>({default:r.MaintenancePage}))),mE=T.lazy(()=>Ae(()=>import("./index-Dp8iH4i2.js"),__vite__mapDeps([80,1,17,13,11,5,6,81,52,33,70,7,8,30]),import.meta.url).then(r=>({default:r.ControlPlanePage}))),pE=T.lazy(()=>Ae(()=>import("./index-BRYCB_g0.js"),__vite__mapDeps([82,1,6,81,5,7,8,10,11,9,12,13,14]),import.meta.url).then(r=>({default:r.StreamMessagesPage}))),gE=T.lazy(()=>Ae(()=>import("./CredentialsPage-BQNraRZu.js"),__vite__mapDeps([83,1,12,13,46,72,52,6]),import.meta.url).then(r=>({default:r.CredentialsPage}))),yE=T.lazy(()=>Ae(()=>import("./index-B77P0ssX.js"),__vite__mapDeps([84,1,6,12,13,11,14,8,85,46]),import.meta.url).then(r=>({default:r.FilesPage}))),bE=T.lazy(()=>Ae(()=>import("./index-0i5oHs_4.js"),__vite__mapDeps([86,1,12,13,11,14,10,8,85,46,87,41,6]),import.meta.url).then(r=>({default:r.KnowledgePage}))),xE=T.lazy(()=>Ae(()=>import("./HomePage-RO3qbF38.js"),__vite__mapDeps([88,1,3,24,81,2,4,19,13,15,14,89,6]),import.meta.url).then(r=>({default:r.HomePage}))),vE=T.lazy(()=>Ae(()=>import("./AgentsPage-DzpWsTFO.js"),__vite__mapDeps([90,1,91,4,5,6,7,8,10,11,12,13,14]),import.meta.url).then(r=>({default:r.AgentsPage}))),_E=T.lazy(()=>Ae(()=>import("./AgentDetailPage-Cw7foCHd.js"),__vite__mapDeps([92,1,91,93,13,4,89,15,6]),import.meta.url).then(r=>({default:r.AgentDetailPage}))),tg=T.lazy(()=>Ae(()=>import("./AgentConfigPage-DbqbFXEq.js"),__vite__mapDeps([94,1,91,93,13,12,87,43,44,45,3,25,95,96,89,15,6]),import.meta.url).then(r=>({default:r.AgentConfigPage}))),wE=T.lazy(()=>Ae(()=>import("./CapabilitiesPage-BTd-uYTM.js"),__vite__mapDeps([97,1,95,75,23,43,44,45,13,42,64,6,12]),import.meta.url).then(r=>({default:r.CapabilitiesPage}))),SE=T.lazy(()=>Ae(()=>import("./TopicsPage-DLyRlo0A.js"),__vite__mapDeps([98,1,96,5,6,7,8,10,11,12,13,14]),import.meta.url).then(r=>({default:r.TopicsPage}))),EE=T.lazy(()=>Ae(()=>import("./TopicDetailPage-CGim5yi0.js"),__vite__mapDeps([99,1,96,14,13,6]),import.meta.url).then(r=>({default:r.TopicDetailPage})));function AE(){return m.jsxs("div",{className:"animate-pulse space-y-4",children:[m.jsx("div",{className:"h-8 bg-surface-sunken rounded w-48"}),m.jsx("div",{className:"h-40 bg-surface-sunken rounded"})]})}function xe({children:r}){return m.jsx(T.Suspense,{fallback:m.jsx(AE,{}),children:m.jsx("div",{className:"animate-page-enter",children:r})})}const ay=new yx({defaultOptions:{queries:{staleTime:1e4,retry:(r,n)=>n instanceof Error&&n.message==="Session expired"?!1:r<1}}});window.addEventListener("auth:unauthorized",()=>{ay.clear(),sessionStorage.removeItem("lt_token"),sessionStorage.removeItem("lt_credentials"),sessionStorage.removeItem("lt_user_info");const n=`${window.__LT_BASE__||""}/login`;window.location.pathname!==n&&(window.location.href=`${n}?returnTo=${encodeURIComponent(window.location.pathname)}`)});const OE=vx([{path:"/login",element:m.jsx(PS,{})},{path:"/connect/anthropic",element:m.jsx(K0,{})},{path:"/connect/:provider",element:m.jsx(K0,{})},{path:"/",element:m.jsx(BS,{}),children:[{index:!0,element:m.jsx(xe,{children:m.jsx(xE,{})})},{path:"processes/all",element:m.jsx(xe,{children:m.jsx($S,{})})},{path:"processes/detail/:originId",element:m.jsx(xe,{children:m.jsx(YS,{})})},{path:"credentials",element:m.jsx(xe,{children:m.jsx(gE,{})})},{path:"connections",element:m.jsx(Fs,{to:"/credentials",replace:!0})},{path:"escalations",element:m.jsx(xe,{children:m.jsx(IS,{})})},{path:"escalations/available",element:m.jsx(xe,{children:m.jsx(XS,{})})},{path:"escalations/queue",element:m.jsx(xe,{children:m.jsx(KS,{})})},{path:"escalations/detail/:id",element:m.jsx(xe,{children:m.jsx(ZS,{})})},{path:"capabilities",element:m.jsx(xe,{children:m.jsx(wE,{})})},{path:"agents",element:m.jsx(xe,{children:m.jsx(vE,{})})},{path:"agents/new",element:m.jsx(xe,{children:m.jsx(tg,{})})},{path:"agents/:id",element:m.jsx(xe,{children:m.jsx(_E,{})})},{path:"agents/:id/edit",element:m.jsx(xe,{children:m.jsx(tg,{})})},{path:"topics",element:m.jsx(xe,{children:m.jsx(SE,{})})},{path:"topics/:topic",element:m.jsx(xe,{children:m.jsx(EE,{})})},{element:m.jsx(wf,{roleTypes:["admin","superadmin"],roleNames:["engineer"]}),children:[{path:"workflows",element:m.jsx(xe,{children:m.jsx(WS,{})})},{path:"workflows/executions",element:m.jsx(xe,{children:m.jsx(sE,{})})},{path:"workflows/durable/executions",element:m.jsx(xe,{children:m.jsx(nE,{})})},{path:"workflows/durable/executions/:workflowId",element:m.jsx(xe,{children:m.jsx(Z0,{})})},{path:"workflows/tasks",element:m.jsx(xe,{children:m.jsx(rE,{})})},{path:"workflows/tasks/detail/:id",element:m.jsx(xe,{children:m.jsx(aE,{})})},{path:"workflows/executions/:workflowId",element:m.jsx(xe,{children:m.jsx(Z0,{})})},{path:"workflows/start",element:m.jsx(xe,{children:m.jsx(eE,{})})},{path:"workflows/durable/invoke",element:m.jsx(xe,{children:m.jsx(tE,{})})},{path:"workflows/cron",element:m.jsx(Fs,{to:"/workflows/start?mode=schedule",replace:!0})},{path:"workflows/workers",element:m.jsx(xe,{children:m.jsx(oE,{})})},{path:"workflows/registry",element:m.jsx(xe,{children:m.jsx(cE,{})})},{path:"workflows/registry/new",element:m.jsx(xe,{children:m.jsx(W0,{})})},{path:"workflows/registry/:workflowType",element:m.jsx(xe,{children:m.jsx(W0,{})})}]},{element:m.jsx(wf,{roleTypes:["admin","superadmin"],roleNames:["engineer"]}),children:[{path:"mcp",element:m.jsx(xe,{children:m.jsx(GS,{})})},{path:"mcp/queries",element:m.jsx(xe,{children:m.jsx(JS,{})})},{path:"mcp/queries/:workflowId",element:m.jsx(xe,{children:m.jsx(QS,{})})},{path:"mcp/tools",element:m.jsx(Fs,{to:"/mcp/servers",replace:!0})},{path:"mcp/servers",element:m.jsx(xe,{children:m.jsx(uE,{})})},{path:"mcp/servers/new",element:m.jsx(xe,{children:m.jsx(eg,{})})},{path:"mcp/servers/:serverId",element:m.jsx(xe,{children:m.jsx(eg,{})})},{path:"mcp/workflows",element:m.jsx(xe,{children:m.jsx(iE,{})})},{path:"mcp/executions",element:m.jsx(xe,{children:m.jsx(VS,{})})},{path:"mcp/executions/:jobId",element:m.jsx(xe,{children:m.jsx(FS,{})})},{path:"files",element:m.jsx(xe,{children:m.jsx(yE,{})})},{path:"knowledge",element:m.jsx(xe,{children:m.jsx(bE,{})})}]},{element:m.jsx(wf,{roleTypes:["admin","superadmin"]}),children:[{path:"admin",element:m.jsx(xe,{children:m.jsx(lE,{})})},{path:"admin/users",element:m.jsx(xe,{children:m.jsx(fE,{})})},{path:"admin/bots",element:m.jsx(Fs,{to:"/admin/users?tab=service-accounts",replace:!0})},{path:"admin/escalation-chains",element:m.jsx(Fs,{to:"/admin/roles",replace:!0})},{path:"admin/roles",element:m.jsx(xe,{children:m.jsx(hE,{})})},{path:"admin/maintenance",element:m.jsx(xe,{children:m.jsx(dE,{})})},{path:"admin/controlplane",element:m.jsx(xe,{children:m.jsx(mE,{})})},{path:"admin/streams",element:m.jsx(xe,{children:m.jsx(pE,{})})}]}]}],{basename:window.__LT_BASE__||"/"});function jE(){return m.jsx(bx,{client:ay,children:m.jsx(hv,{children:m.jsx(gw,{children:m.jsx(_x,{router:OE})})})})}ov.createRoot(document.getElementById("root")).render(m.jsx(T.StrictMode,{children:m.jsx(jE,{})}));export{QE as A,IE as B,ch as C,kS as D,fg as E,Jg as F,Zw as J,Bn as L,p_ as N,ry as O,Hw as S,JE as a,Xe as b,y_ as c,CS as d,zE as e,jS as f,UE as g,LE as h,RE as i,Oi as j,PE as k,$E as l,YE as m,GE as n,VE as o,DE as p,ww as q,_w as r,BE as s,qE as t,bw as u,HE as v,sy as w,iy as x,FE as y,fh as z};
|
|
63
|
-
//# sourceMappingURL=index-
|
|
62
|
+
... (truncated)`});const se=`${d2(o.concat(pe))}${ne}`;try{const Z=(await Xe("/insight/mcp-query",{method:"POST",body:JSON.stringify({prompt:se,tags:k.suggestedTags,context:k,wait:!1,direct:!0})})).workflow_id;d(Z),f(le=>le.map(re=>re.id===ae.id?{...re,workflowId:Z}:re)),E.current&&clearInterval(E.current),E.current=setInterval(async()=>{var le;try{const re=await Xe(`/workflows/${Z}/result`),qe=(le=re==null?void 0:re.result)==null?void 0:le.data;if(qe){E.current&&clearInterval(E.current),E.current=null,d(null);const Ge=m2(qe);let Le;try{Le=(await Xe(`/workflow-states/${Z}/execution`)).duration_ms}catch{}f($=>$.map(te=>te.id===ae.id?{...te,content:Ge,timestamp:new Date().toISOString(),pending:!1,durationMs:Le}:te))}}catch{}},3e3)}catch{f(F=>F.map(Z=>Z.id===ae.id?{...Z,content:"Failed to submit query. Please try again.",pending:!1}:Z))}},[o,w]),V=T.useCallback(async ne=>{const ee=o.find(k=>k.id===ne);if(!(ee!=null&&ee.workflowId)||ee.compilationStatus==="compiling"||ee.compilationStatus==="done")return;const pe=o.indexOf(ee),ae=o.slice(0,pe).reverse().find(k=>k.role==="user");if(ae){f(k=>k.map(X=>X.id===ne?{...X,compilationStatus:"compiling"}:X));try{const k=await Xe("/insight/mcp-query/describe",{method:"POST",body:JSON.stringify({prompt:ae.content,summary:ee.content})}),X=await Xe("/yaml-workflows",{method:"POST",body:JSON.stringify({workflow_id:ee.workflowId,task_queue:"long-tail-system",workflow_name:"mcpQuery",name:k.tool_name,description:k.description,tags:k.tags,app_id:"longtail"})});await Xe(`/yaml-workflows/${X.id}/deploy`,{method:"POST"}),f(se=>se.map(W=>W.id===ne?{...W,compilationStatus:"done"}:W))}catch(k){const X=k instanceof Error?k.message:"Compilation failed";f(se=>se.map(W=>W.id===ne?{...W,compilationStatus:"error",compilationError:X}:W))}}},[o]);return m.jsx(Ig.Provider,{value:{helpOpen:s,setHelpOpen:a,toggleHelp:j,messages:o,sendMessage:B,pageContext:w,setPageContext:z,activeWorkflowId:h,clearMessages:M,compileMessage:V},children:r})}function Xg(){const r=T.useContext(Ig);if(!r)throw new Error("useHelpAssistant must be used within HelpAssistantProvider");return r}function g2(){const{helpOpen:r,toggleHelp:n}=Xg();return m.jsx("button",{onClick:n,className:"fixed right-3 z-[45] flex items-center justify-center w-10 h-10 rounded-full bg-surface-raised shadow-lg hover:scale-110 transition-transform duration-150 border border-accent/30",style:{bottom:"44px"},"aria-label":r?"Close help":"Ask for help",children:r?m.jsx(Po,{className:"w-5 h-5 text-text-tertiary",strokeWidth:1.5}):m.jsx("img",{src:`${Bn}/logo512.png`,alt:"Help",className:"w-8 h-8 -rotate-[120deg]"})})}const Kg=6048e5,y2=864e5,L0=6e4,H0=525600,P0=43200,$0=1440,Y0=Symbol.for("constructDateFrom");function hs(r,n){return typeof r=="function"?r(n):r&&typeof r=="object"&&Y0 in r?r[Y0](n):r instanceof Date?new r.constructor(n):new Date(n)}function nn(r,n){return hs(n||r,r)}let b2={};function Va(){return b2}function Ha(r,n){var d,g,y,E;const s=Va(),a=(n==null?void 0:n.weekStartsOn)??((g=(d=n==null?void 0:n.locale)==null?void 0:d.options)==null?void 0:g.weekStartsOn)??s.weekStartsOn??((E=(y=s.locale)==null?void 0:y.options)==null?void 0:E.weekStartsOn)??0,o=nn(r,n==null?void 0:n.in),f=o.getDay(),h=(f<a?7:0)+f-a;return o.setDate(o.getDate()-h),o.setHours(0,0,0,0),o}function Lo(r,n){return Ha(r,{...n,weekStartsOn:1})}function Zg(r,n){const s=nn(r,n==null?void 0:n.in),a=s.getFullYear(),o=hs(s,0);o.setFullYear(a+1,0,4),o.setHours(0,0,0,0);const f=Lo(o),h=hs(s,0);h.setFullYear(a,0,4),h.setHours(0,0,0,0);const d=Lo(h);return s.getTime()>=f.getTime()?a+1:s.getTime()>=d.getTime()?a:a-1}function Ho(r){const n=nn(r),s=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return s.setUTCFullYear(n.getFullYear()),+r-+s}function Wg(r,...n){const s=hs.bind(null,r||n.find(a=>typeof a=="object"));return n.map(s)}function G0(r,n){const s=nn(r,n==null?void 0:n.in);return s.setHours(0,0,0,0),s}function x2(r,n,s){const[a,o]=Wg(s==null?void 0:s.in,r,n),f=G0(a),h=G0(o),d=+f-Ho(f),g=+h-Ho(h);return Math.round((d-g)/y2)}function v2(r,n){const s=Zg(r,n),a=hs(r,0);return a.setFullYear(s,0,4),a.setHours(0,0,0,0),Lo(a)}function _2(r,n){const s=+nn(r)-+nn(n);return s<0?-1:s>0?1:s}function w2(r){return hs(r,Date.now())}function S2(r){return r instanceof Date||typeof r=="object"&&Object.prototype.toString.call(r)==="[object Date]"}function E2(r){return!(!S2(r)&&typeof r!="number"||isNaN(+nn(r)))}function A2(r){return n=>{const a=(r?Math[r]:Math.trunc)(n);return a===0?0:a}}function O2(r,n){const s=nn(r,n==null?void 0:n.in);return s.setFullYear(s.getFullYear(),0,1),s.setHours(0,0,0,0),s}const j2={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},T2=(r,n,s)=>{let a;const o=j2[r];return typeof o=="string"?a=o:n===1?a=o.one:a=o.other.replace("{{count}}",n.toString()),s!=null&&s.addSuffix?s.comparison&&s.comparison>0?"in "+a:a+" ago":a};function _f(r){return(n={})=>{const s=n.width?String(n.width):r.defaultWidth;return r.formats[s]||r.formats[r.defaultWidth]}}const N2={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},C2={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},k2={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},M2={date:_f({formats:N2,defaultWidth:"full"}),time:_f({formats:C2,defaultWidth:"full"}),dateTime:_f({formats:k2,defaultWidth:"full"})},R2={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},D2=(r,n,s,a)=>R2[r];function Oa(r){return(n,s)=>{const a=s!=null&&s.context?String(s.context):"standalone";let o;if(a==="formatting"&&r.formattingValues){const h=r.defaultFormattingWidth||r.defaultWidth,d=s!=null&&s.width?String(s.width):h;o=r.formattingValues[d]||r.formattingValues[h]}else{const h=r.defaultWidth,d=s!=null&&s.width?String(s.width):r.defaultWidth;o=r.values[d]||r.values[h]}const f=r.argumentCallback?r.argumentCallback(n):n;return o[f]}}const z2={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},q2={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},U2={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},B2={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},L2={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},H2={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},P2=(r,n)=>{const s=Number(r),a=s%100;if(a>20||a<10)switch(a%10){case 1:return s+"st";case 2:return s+"nd";case 3:return s+"rd"}return s+"th"},$2={ordinalNumber:P2,era:Oa({values:z2,defaultWidth:"wide"}),quarter:Oa({values:q2,defaultWidth:"wide",argumentCallback:r=>r-1}),month:Oa({values:U2,defaultWidth:"wide"}),day:Oa({values:B2,defaultWidth:"wide"}),dayPeriod:Oa({values:L2,defaultWidth:"wide",formattingValues:H2,defaultFormattingWidth:"wide"})};function ja(r){return(n,s={})=>{const a=s.width,o=a&&r.matchPatterns[a]||r.matchPatterns[r.defaultMatchWidth],f=n.match(o);if(!f)return null;const h=f[0],d=a&&r.parsePatterns[a]||r.parsePatterns[r.defaultParseWidth],g=Array.isArray(d)?G2(d,w=>w.test(h)):Y2(d,w=>w.test(h));let y;y=r.valueCallback?r.valueCallback(g):g,y=s.valueCallback?s.valueCallback(y):y;const E=n.slice(h.length);return{value:y,rest:E}}}function Y2(r,n){for(const s in r)if(Object.prototype.hasOwnProperty.call(r,s)&&n(r[s]))return s}function G2(r,n){for(let s=0;s<r.length;s++)if(n(r[s]))return s}function V2(r){return(n,s={})=>{const a=n.match(r.matchPattern);if(!a)return null;const o=a[0],f=n.match(r.parsePattern);if(!f)return null;let h=r.valueCallback?r.valueCallback(f[0]):f[0];h=s.valueCallback?s.valueCallback(h):h;const d=n.slice(o.length);return{value:h,rest:d}}}const F2=/^(\d+)(th|st|nd|rd)?/i,J2=/\d+/i,Q2={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},I2={any:[/^b/i,/^(a|c)/i]},X2={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},K2={any:[/1/i,/2/i,/3/i,/4/i]},Z2={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},W2={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},eS={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},tS={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},nS={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},sS={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},iS={ordinalNumber:V2({matchPattern:F2,parsePattern:J2,valueCallback:r=>parseInt(r,10)}),era:ja({matchPatterns:Q2,defaultMatchWidth:"wide",parsePatterns:I2,defaultParseWidth:"any"}),quarter:ja({matchPatterns:X2,defaultMatchWidth:"wide",parsePatterns:K2,defaultParseWidth:"any",valueCallback:r=>r+1}),month:ja({matchPatterns:Z2,defaultMatchWidth:"wide",parsePatterns:W2,defaultParseWidth:"any"}),day:ja({matchPatterns:eS,defaultMatchWidth:"wide",parsePatterns:tS,defaultParseWidth:"any"}),dayPeriod:ja({matchPatterns:nS,defaultMatchWidth:"any",parsePatterns:sS,defaultParseWidth:"any"})},ey={code:"en-US",formatDistance:T2,formatLong:M2,formatRelative:D2,localize:$2,match:iS,options:{weekStartsOn:0,firstWeekContainsDate:1}};function rS(r,n){const s=nn(r,n==null?void 0:n.in);return x2(s,O2(s))+1}function aS(r,n){const s=nn(r,n==null?void 0:n.in),a=+Lo(s)-+v2(s);return Math.round(a/Kg)+1}function ty(r,n){var E,w,j,z;const s=nn(r,n==null?void 0:n.in),a=s.getFullYear(),o=Va(),f=(n==null?void 0:n.firstWeekContainsDate)??((w=(E=n==null?void 0:n.locale)==null?void 0:E.options)==null?void 0:w.firstWeekContainsDate)??o.firstWeekContainsDate??((z=(j=o.locale)==null?void 0:j.options)==null?void 0:z.firstWeekContainsDate)??1,h=hs((n==null?void 0:n.in)||r,0);h.setFullYear(a+1,0,f),h.setHours(0,0,0,0);const d=Ha(h,n),g=hs((n==null?void 0:n.in)||r,0);g.setFullYear(a,0,f),g.setHours(0,0,0,0);const y=Ha(g,n);return+s>=+d?a+1:+s>=+y?a:a-1}function lS(r,n){var d,g,y,E;const s=Va(),a=(n==null?void 0:n.firstWeekContainsDate)??((g=(d=n==null?void 0:n.locale)==null?void 0:d.options)==null?void 0:g.firstWeekContainsDate)??s.firstWeekContainsDate??((E=(y=s.locale)==null?void 0:y.options)==null?void 0:E.firstWeekContainsDate)??1,o=ty(r,n),f=hs((n==null?void 0:n.in)||r,0);return f.setFullYear(o,0,a),f.setHours(0,0,0,0),Ha(f,n)}function oS(r,n){const s=nn(r,n==null?void 0:n.in),a=+Ha(s,n)-+lS(s,n);return Math.round(a/Kg)+1}function Ye(r,n){const s=r<0?"-":"",a=Math.abs(r).toString().padStart(n,"0");return s+a}const Gs={y(r,n){const s=r.getFullYear(),a=s>0?s:1-s;return Ye(n==="yy"?a%100:a,n.length)},M(r,n){const s=r.getMonth();return n==="M"?String(s+1):Ye(s+1,2)},d(r,n){return Ye(r.getDate(),n.length)},a(r,n){const s=r.getHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return s.toUpperCase();case"aaa":return s;case"aaaaa":return s[0];case"aaaa":default:return s==="am"?"a.m.":"p.m."}},h(r,n){return Ye(r.getHours()%12||12,n.length)},H(r,n){return Ye(r.getHours(),n.length)},m(r,n){return Ye(r.getMinutes(),n.length)},s(r,n){return Ye(r.getSeconds(),n.length)},S(r,n){const s=n.length,a=r.getMilliseconds(),o=Math.trunc(a*Math.pow(10,s-3));return Ye(o,n.length)}},pr={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},V0={G:function(r,n,s){const a=r.getFullYear()>0?1:0;switch(n){case"G":case"GG":case"GGG":return s.era(a,{width:"abbreviated"});case"GGGGG":return s.era(a,{width:"narrow"});case"GGGG":default:return s.era(a,{width:"wide"})}},y:function(r,n,s){if(n==="yo"){const a=r.getFullYear(),o=a>0?a:1-a;return s.ordinalNumber(o,{unit:"year"})}return Gs.y(r,n)},Y:function(r,n,s,a){const o=ty(r,a),f=o>0?o:1-o;if(n==="YY"){const h=f%100;return Ye(h,2)}return n==="Yo"?s.ordinalNumber(f,{unit:"year"}):Ye(f,n.length)},R:function(r,n){const s=Zg(r);return Ye(s,n.length)},u:function(r,n){const s=r.getFullYear();return Ye(s,n.length)},Q:function(r,n,s){const a=Math.ceil((r.getMonth()+1)/3);switch(n){case"Q":return String(a);case"QQ":return Ye(a,2);case"Qo":return s.ordinalNumber(a,{unit:"quarter"});case"QQQ":return s.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return s.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return s.quarter(a,{width:"wide",context:"formatting"})}},q:function(r,n,s){const a=Math.ceil((r.getMonth()+1)/3);switch(n){case"q":return String(a);case"qq":return Ye(a,2);case"qo":return s.ordinalNumber(a,{unit:"quarter"});case"qqq":return s.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return s.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return s.quarter(a,{width:"wide",context:"standalone"})}},M:function(r,n,s){const a=r.getMonth();switch(n){case"M":case"MM":return Gs.M(r,n);case"Mo":return s.ordinalNumber(a+1,{unit:"month"});case"MMM":return s.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return s.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return s.month(a,{width:"wide",context:"formatting"})}},L:function(r,n,s){const a=r.getMonth();switch(n){case"L":return String(a+1);case"LL":return Ye(a+1,2);case"Lo":return s.ordinalNumber(a+1,{unit:"month"});case"LLL":return s.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return s.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return s.month(a,{width:"wide",context:"standalone"})}},w:function(r,n,s,a){const o=oS(r,a);return n==="wo"?s.ordinalNumber(o,{unit:"week"}):Ye(o,n.length)},I:function(r,n,s){const a=aS(r);return n==="Io"?s.ordinalNumber(a,{unit:"week"}):Ye(a,n.length)},d:function(r,n,s){return n==="do"?s.ordinalNumber(r.getDate(),{unit:"date"}):Gs.d(r,n)},D:function(r,n,s){const a=rS(r);return n==="Do"?s.ordinalNumber(a,{unit:"dayOfYear"}):Ye(a,n.length)},E:function(r,n,s){const a=r.getDay();switch(n){case"E":case"EE":case"EEE":return s.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return s.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return s.day(a,{width:"short",context:"formatting"});case"EEEE":default:return s.day(a,{width:"wide",context:"formatting"})}},e:function(r,n,s,a){const o=r.getDay(),f=(o-a.weekStartsOn+8)%7||7;switch(n){case"e":return String(f);case"ee":return Ye(f,2);case"eo":return s.ordinalNumber(f,{unit:"day"});case"eee":return s.day(o,{width:"abbreviated",context:"formatting"});case"eeeee":return s.day(o,{width:"narrow",context:"formatting"});case"eeeeee":return s.day(o,{width:"short",context:"formatting"});case"eeee":default:return s.day(o,{width:"wide",context:"formatting"})}},c:function(r,n,s,a){const o=r.getDay(),f=(o-a.weekStartsOn+8)%7||7;switch(n){case"c":return String(f);case"cc":return Ye(f,n.length);case"co":return s.ordinalNumber(f,{unit:"day"});case"ccc":return s.day(o,{width:"abbreviated",context:"standalone"});case"ccccc":return s.day(o,{width:"narrow",context:"standalone"});case"cccccc":return s.day(o,{width:"short",context:"standalone"});case"cccc":default:return s.day(o,{width:"wide",context:"standalone"})}},i:function(r,n,s){const a=r.getDay(),o=a===0?7:a;switch(n){case"i":return String(o);case"ii":return Ye(o,n.length);case"io":return s.ordinalNumber(o,{unit:"day"});case"iii":return s.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return s.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return s.day(a,{width:"short",context:"formatting"});case"iiii":default:return s.day(a,{width:"wide",context:"formatting"})}},a:function(r,n,s){const o=r.getHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return s.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"aaa":return s.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return s.dayPeriod(o,{width:"narrow",context:"formatting"});case"aaaa":default:return s.dayPeriod(o,{width:"wide",context:"formatting"})}},b:function(r,n,s){const a=r.getHours();let o;switch(a===12?o=pr.noon:a===0?o=pr.midnight:o=a/12>=1?"pm":"am",n){case"b":case"bb":return s.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"bbb":return s.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return s.dayPeriod(o,{width:"narrow",context:"formatting"});case"bbbb":default:return s.dayPeriod(o,{width:"wide",context:"formatting"})}},B:function(r,n,s){const a=r.getHours();let o;switch(a>=17?o=pr.evening:a>=12?o=pr.afternoon:a>=4?o=pr.morning:o=pr.night,n){case"B":case"BB":case"BBB":return s.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"BBBBB":return s.dayPeriod(o,{width:"narrow",context:"formatting"});case"BBBB":default:return s.dayPeriod(o,{width:"wide",context:"formatting"})}},h:function(r,n,s){if(n==="ho"){let a=r.getHours()%12;return a===0&&(a=12),s.ordinalNumber(a,{unit:"hour"})}return Gs.h(r,n)},H:function(r,n,s){return n==="Ho"?s.ordinalNumber(r.getHours(),{unit:"hour"}):Gs.H(r,n)},K:function(r,n,s){const a=r.getHours()%12;return n==="Ko"?s.ordinalNumber(a,{unit:"hour"}):Ye(a,n.length)},k:function(r,n,s){let a=r.getHours();return a===0&&(a=24),n==="ko"?s.ordinalNumber(a,{unit:"hour"}):Ye(a,n.length)},m:function(r,n,s){return n==="mo"?s.ordinalNumber(r.getMinutes(),{unit:"minute"}):Gs.m(r,n)},s:function(r,n,s){return n==="so"?s.ordinalNumber(r.getSeconds(),{unit:"second"}):Gs.s(r,n)},S:function(r,n){return Gs.S(r,n)},X:function(r,n,s){const a=r.getTimezoneOffset();if(a===0)return"Z";switch(n){case"X":return J0(a);case"XXXX":case"XX":return Ei(a);case"XXXXX":case"XXX":default:return Ei(a,":")}},x:function(r,n,s){const a=r.getTimezoneOffset();switch(n){case"x":return J0(a);case"xxxx":case"xx":return Ei(a);case"xxxxx":case"xxx":default:return Ei(a,":")}},O:function(r,n,s){const a=r.getTimezoneOffset();switch(n){case"O":case"OO":case"OOO":return"GMT"+F0(a,":");case"OOOO":default:return"GMT"+Ei(a,":")}},z:function(r,n,s){const a=r.getTimezoneOffset();switch(n){case"z":case"zz":case"zzz":return"GMT"+F0(a,":");case"zzzz":default:return"GMT"+Ei(a,":")}},t:function(r,n,s){const a=Math.trunc(+r/1e3);return Ye(a,n.length)},T:function(r,n,s){return Ye(+r,n.length)}};function F0(r,n=""){const s=r>0?"-":"+",a=Math.abs(r),o=Math.trunc(a/60),f=a%60;return f===0?s+String(o):s+String(o)+n+Ye(f,2)}function J0(r,n){return r%60===0?(r>0?"-":"+")+Ye(Math.abs(r)/60,2):Ei(r,n)}function Ei(r,n=""){const s=r>0?"-":"+",a=Math.abs(r),o=Ye(Math.trunc(a/60),2),f=Ye(a%60,2);return s+o+n+f}const Q0=(r,n)=>{switch(r){case"P":return n.date({width:"short"});case"PP":return n.date({width:"medium"});case"PPP":return n.date({width:"long"});case"PPPP":default:return n.date({width:"full"})}},ny=(r,n)=>{switch(r){case"p":return n.time({width:"short"});case"pp":return n.time({width:"medium"});case"ppp":return n.time({width:"long"});case"pppp":default:return n.time({width:"full"})}},cS=(r,n)=>{const s=r.match(/(P+)(p+)?/)||[],a=s[1],o=s[2];if(!o)return Q0(r,n);let f;switch(a){case"P":f=n.dateTime({width:"short"});break;case"PP":f=n.dateTime({width:"medium"});break;case"PPP":f=n.dateTime({width:"long"});break;case"PPPP":default:f=n.dateTime({width:"full"});break}return f.replace("{{date}}",Q0(a,n)).replace("{{time}}",ny(o,n))},uS={p:ny,P:cS},fS=/^D+$/,hS=/^Y+$/,dS=["D","DD","YY","YYYY"];function mS(r){return fS.test(r)}function pS(r){return hS.test(r)}function gS(r,n,s){const a=yS(r,n,s);if(console.warn(a),dS.includes(r))throw new RangeError(a)}function yS(r,n,s){const a=r[0]==="Y"?"years":"days of the month";return`Use \`${r.toLowerCase()}\` instead of \`${r}\` (in \`${n}\`) for formatting ${a} to the input \`${s}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const bS=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,xS=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,vS=/^'([^]*?)'?$/,_S=/''/g,wS=/[a-zA-Z]/;function sy(r,n,s){var E,w,j,z;const a=Va(),o=a.locale??ey,f=a.firstWeekContainsDate??((w=(E=a.locale)==null?void 0:E.options)==null?void 0:w.firstWeekContainsDate)??1,h=a.weekStartsOn??((z=(j=a.locale)==null?void 0:j.options)==null?void 0:z.weekStartsOn)??0,d=nn(r,s==null?void 0:s.in);if(!E2(d))throw new RangeError("Invalid time value");let g=n.match(xS).map(M=>{const B=M[0];if(B==="p"||B==="P"){const V=uS[B];return V(M,o.formatLong)}return M}).join("").match(bS).map(M=>{if(M==="''")return{isToken:!1,value:"'"};const B=M[0];if(B==="'")return{isToken:!1,value:SS(M)};if(V0[B])return{isToken:!0,value:M};if(B.match(wS))throw new RangeError("Format string contains an unescaped latin alphabet character `"+B+"`");return{isToken:!1,value:M}});o.localize.preprocessor&&(g=o.localize.preprocessor(d,g));const y={firstWeekContainsDate:f,weekStartsOn:h,locale:o};return g.map(M=>{if(!M.isToken)return M.value;const B=M.value;(pS(B)||mS(B))&&gS(B,n,String(r));const V=V0[B[0]];return V(d,B,o.localize,y)}).join("")}function SS(r){const n=r.match(vS);return n?n[1].replace(_S,"'"):r}function ES(r,n,s){const a=Va(),o=(s==null?void 0:s.locale)??a.locale??ey,f=_2(r,n);if(isNaN(f))throw new RangeError("Invalid time value");const h=Object.assign({},s,{addSuffix:s==null?void 0:s.addSuffix,comparison:f}),[d,g]=Wg(s==null?void 0:s.in,...f>0?[n,r]:[r,n]),y=A2((s==null?void 0:s.roundingMethod)??"round"),E=g.getTime()-d.getTime(),w=E/L0,j=Ho(g)-Ho(d),z=(E-j)/L0,M=s==null?void 0:s.unit;let B;if(M?B=M:w<1?B="second":w<60?B="minute":w<$0?B="hour":z<P0?B="day":z<H0?B="month":B="year",B==="second"){const V=y(E/1e3);return o.formatDistance("xSeconds",V,h)}else if(B==="minute"){const V=y(w);return o.formatDistance("xMinutes",V,h)}else if(B==="hour"){const V=y(w/60);return o.formatDistance("xHours",V,h)}else if(B==="day"){const V=y(z/$0);return o.formatDistance("xDays",V,h)}else if(B==="month"){const V=y(z/P0);return V===12&&M!=="month"?o.formatDistance("xYears",1,h):o.formatDistance("xMonths",V,h)}else{const V=y(z/H0);return o.formatDistance("xYears",V,h)}}function AS(r,n){return ES(r,w2(r),n)}function OS(r){const n=new Date(r);return n.getTime()>Date.now()?"just now":AS(n,{addSuffix:!0})}function FE(r){return r<=0?"Expired":fh(r)}function jS(r){return r==null?"--":fh(r)}function fh(r){if(r<1e3)return`${Math.round(r)}ms`;if(r<6e4){const h=r/1e3;return Number.isInteger(h)?`${h}s`:`${h.toFixed(1)}s`}const n=Math.floor(r/1e3),s=Math.floor(n/86400),a=Math.floor(n%86400/3600),o=Math.floor(n%3600/60),f=n%60;return s>0?a>0?`${s}d ${a}h`:`${s}d`:a>0?o>0?`${a}h ${o}m`:`${a}h`:f>0?`${o}m ${f}s`:`${o}m`}function JE(r,n){const s=new Date(r).getTime(),a=n?new Date(n).getTime():Date.now();return fh(a-s)}function iy({options:r,children:n,className:s=""}){const[a,o]=T.useState(!1),[f,h]=T.useState(null),[d,g]=T.useState(null),y=T.useRef(null),E=T.useRef(void 0),w=T.useRef(void 0),j=220,z=T.useCallback(()=>{if(!y.current)return;const ne=y.current.getBoundingClientRect(),ee=window.innerWidth-j-8,pe=Math.max(8,Math.min(ne.left,ee));g({top:ne.bottom+4,left:pe})},[]),M=T.useCallback(async(ne,ee)=>{try{await navigator.clipboard.writeText(ne),h(ee),clearTimeout(E.current),E.current=setTimeout(()=>h(null),1200)}catch{}},[]),B=T.useCallback(()=>{clearTimeout(w.current),z(),o(!0)},[z]),V=T.useCallback(()=>{w.current=setTimeout(()=>o(!1),150)},[]);return T.useEffect(()=>()=>{clearTimeout(E.current),clearTimeout(w.current)},[]),m.jsxs("span",{ref:y,className:`inline-flex items-center cursor-default ${s}`,onMouseEnter:B,onMouseLeave:V,children:[n,a&&d&&ng.createPortal(m.jsx("span",{className:"fixed z-[9999] bg-surface-raised border border-surface-border rounded shadow-lg py-1 min-w-[180px]",style:{top:d.top,left:d.left},onMouseEnter:B,onMouseLeave:V,children:r.map(ne=>m.jsxs("button",{onClick:ee=>{ee.stopPropagation(),M(ne.value,ne.label)},className:"flex items-center justify-between w-full px-2.5 py-1 text-left hover:bg-surface-hover transition-colors",children:[m.jsx("span",{className:"text-[9px] font-medium uppercase tracking-wider text-text-tertiary w-10 shrink-0",children:ne.label}),m.jsx("span",{className:"text-[10px] font-mono text-text-secondary truncate ml-2",children:f===ne.label?"✓":ne.value})]},ne.label))}),document.body)]})}function TS(r,n){const s=new Date(r);switch(n){case"relative":return OS(r);case"datetime":return sy(s,"MMM d, yyyy h:mm a");case"time":return s.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}}function NS(r){const n=new Date(r);return[{label:"ms",value:String(n.getTime())},{label:"utc",value:n.toISOString()},{label:"local",value:sy(n,"MMM d, yyyy h:mm:ss a")}]}function CS({date:r,format:n="relative",className:s=""}){const[,a]=T.useState(0);T.useEffect(()=>{if(n!=="relative")return;const f=setInterval(()=>a(h=>h+1),3e4);return()=>clearInterval(f)},[n]);const o=T.useMemo(()=>NS(r),[r]);return m.jsx(iy,{options:o,children:m.jsx("time",{dateTime:r,className:`text-xs text-text-tertiary ${s}`,children:TS(r,n)})})}function kS({ms:r,className:n=""}){const s=jS(r),a=T.useMemo(()=>r==null?[]:[{label:"ms",value:String(r)},{label:"sec",value:`${(r/1e3).toFixed(3)}s`},{label:"text",value:s}],[r,s]);return r==null?m.jsx("span",{className:`text-xs text-text-tertiary ${n}`,children:"--"}):m.jsx(iy,{options:a,children:m.jsx("span",{className:`text-xs text-text-tertiary ${n}`,children:s})})}const MS=["sm","md","lg","full"],I0={sm:"w-[28rem] max-h-[40vh]",md:"w-[36rem] max-h-[60vh]",lg:"w-[48rem] max-h-[80vh]",full:"inset-4 w-auto max-h-none"},X0={sm:"Small",md:"Medium",lg:"Large",full:"Fullscreen"};function RS({which:r}){const n="stroke-current";switch(r){case"sm":return m.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:m.jsx("rect",{x:"5",y:"5",width:"7",height:"7",rx:"1.5",className:n,strokeWidth:"1.5"})});case"md":return m.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:m.jsx("rect",{x:"3",y:"3",width:"9",height:"9",rx:"1.5",className:n,strokeWidth:"1.5"})});case"lg":return m.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:m.jsx("rect",{x:"1.5",y:"1.5",width:"11",height:"11",rx:"1.5",className:n,strokeWidth:"1.5"})});case"full":return m.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:m.jsx("rect",{x:"0.75",y:"0.75",width:"12.5",height:"12.5",rx:"1.5",className:n,strokeWidth:"1.5"})})}}function DS({msg:r}){const[n,s]=T.useState(0);T.useEffect(()=>{const h=new Date(r.timestamp).getTime(),d=()=>s(Math.floor((Date.now()-h)/1e3));d();const g=setInterval(d,1e3);return()=>clearInterval(g)},[r.timestamp]);const a=Math.floor(n/60),o=n%60,f=a>0?`${a}m ${o}s`:`${o}s`;return m.jsxs("span",{className:"inline-flex flex-col gap-1.5",children:[m.jsxs("span",{className:"inline-flex items-center gap-1",children:[m.jsx("span",{className:"text-text-tertiary",children:"Thinking"}),m.jsx("span",{className:"inline-block w-1 h-1 rounded-full bg-text-tertiary animate-pulse"}),m.jsx("span",{className:"inline-block w-1 h-1 rounded-full bg-text-tertiary animate-pulse [animation-delay:150ms]"}),m.jsx("span",{className:"inline-block w-1 h-1 rounded-full bg-text-tertiary animate-pulse [animation-delay:300ms]"}),m.jsx("span",{className:"text-text-muted ml-1 tabular-nums",children:f})]}),r.workflowId&&m.jsxs(gr,{to:`/workflows/executions/${r.workflowId}`,className:"inline-flex items-center gap-1 text-[10px] text-accent/70 hover:text-accent transition-colors",children:[m.jsx(og,{className:"w-2.5 h-2.5",strokeWidth:1.5}),"watch execution"]})]})}function zS({msg:r,compileMessage:n}){const s=r.role==="assistant";return m.jsxs("div",{className:`flex items-center gap-1.5 ${s?"justify-start":"justify-end"}`,children:[m.jsx(CS,{date:r.timestamp,format:"time",className:"!text-[9px] text-text-muted/50"}),r.durationMs!=null&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-text-muted/30 text-[8px]",children:"·"}),m.jsx(kS,{ms:r.durationMs,className:"!text-[9px] text-text-muted/50"})]}),r.workflowId&&m.jsx(gr,{to:`/workflows/executions/${r.workflowId}`,className:"text-text-muted/40 hover:text-accent transition-colors",title:"View workflow execution",children:m.jsx(og,{className:"w-2.5 h-2.5",strokeWidth:1.5})}),s&&r.workflowId&&!r.pending&&m.jsx("button",{onClick:()=>n(r.id),disabled:r.compilationStatus==="compiling"||r.compilationStatus==="done",className:"transition-colors",title:r.compilationStatus==="done"?"Compiled — future queries will match this pipeline":r.compilationStatus==="error"?r.compilationError??"Compilation failed":r.compilationStatus==="compiling"?"Compiling...":"Compile to fast pipeline",children:m.jsx(Wx,{className:`w-2.5 h-2.5 ${r.compilationStatus==="done"?"text-status-success":r.compilationStatus==="error"?"text-status-error":r.compilationStatus==="compiling"?"text-accent/40 animate-pulse":"text-text-muted/40 hover:text-accent"}`,strokeWidth:1.5})})]})}function qS(){const{helpOpen:r,setHelpOpen:n,messages:s,sendMessage:a,pageContext:o,activeWorkflowId:f,clearMessages:h,compileMessage:d}=Xg(),[g,y]=T.useState(""),[E,w]=T.useState("md"),[j,z]=T.useState(!0),M=T.useRef(null),B=T.useRef(null);if(T.useEffect(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight)},[s]),T.useEffect(()=>{r&&B.current&&B.current.focus()},[r]),T.useEffect(()=>{if(!r)return;const k=X=>{X.key==="Escape"&&(E==="full"?w("lg"):E==="lg"?w("md"):E==="md"?w("sm"):n(!1))};return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)},[r,E,n]),!r)return null;const V=()=>{const k=g.trim();!k||f||(a(k),y(""),B.current&&(B.current.style.height="auto"))},ne=k=>{k.key==="Enter"&&!k.shiftKey&&(k.preventDefault(),V())},ee=E==="full",pe=o.page.replace(/-/g," "),ae=ee?{}:{bottom:"108px"};return m.jsxs("div",{className:`fixed z-[45] flex flex-col border border-surface-border rounded-lg overflow-hidden transition-all duration-300 ${ee?I0.full:`right-6 ${I0[E]}`} ${j?"bg-surface-raised shadow-xl":"bg-surface-raised/[0.03] shadow-lg shadow-black/5"}`,style:ae,onMouseEnter:()=>z(!0),onMouseLeave:()=>z(!1),children:[m.jsxs("div",{className:`flex items-center justify-between px-4 py-2.5 border-b border-surface-border shrink-0 transition-all duration-300 ${j?"opacity-100":"opacity-50 grayscale brightness-150"}`,children:[m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsx("p",{className:"text-xs font-medium text-text-primary truncate",children:"Help Assistant"}),m.jsx("p",{className:"text-[10px] text-text-tertiary truncate",children:pe})]}),m.jsxs("div",{className:"flex items-center gap-1 ml-2",children:[m.jsx("div",{className:"flex items-center gap-0.5 border border-surface-border rounded p-0.5",role:"radiogroup","aria-label":"Panel size",children:MS.map(k=>m.jsx("button",{onClick:()=>w(k),className:`p-1 rounded transition-colors ${k===E?"bg-accent/15 text-accent":"text-text-muted hover:text-text-secondary hover:bg-surface-hover"}`,role:"radio","aria-checked":k===E,"aria-label":X0[k],title:X0[k],children:m.jsx(RS,{which:k})},k))}),s.length>0&&m.jsx("button",{onClick:h,className:"p-1 text-text-tertiary hover:text-text-secondary transition-colors","aria-label":"Clear conversation",title:"Clear conversation",children:m.jsx(ev,{className:"w-3.5 h-3.5",strokeWidth:1.5})}),m.jsx("button",{onClick:()=>n(!1),className:"p-1 text-text-tertiary hover:text-text-primary transition-colors","aria-label":"Close",title:"Close",children:m.jsx(Po,{className:"w-3.5 h-3.5",strokeWidth:1.5})})]})]}),m.jsxs("div",{ref:M,className:`flex-1 overflow-y-auto px-4 py-3 space-y-3 min-h-[120px] transition-all duration-300 ${j?"opacity-100":"opacity-50 grayscale brightness-150"}`,children:[s.length===0&&m.jsx("p",{className:"text-xs text-text-tertiary text-center py-6",children:"Ask anything about what you're viewing."}),s.map(k=>m.jsxs("div",{className:`text-xs leading-relaxed ${k.role==="user"?"text-right":"text-left"}`,children:[m.jsx("div",{className:`inline-block max-w-[85%] px-3 py-2 rounded-md whitespace-pre-wrap ${k.role==="user"?"bg-accent/10 text-text-primary":"bg-surface-sunken text-text-secondary"}`,children:k.pending?m.jsx(DS,{msg:k}):k.role==="assistant"?m.jsx(uh,{content:k.content}):k.content}),!k.pending&&m.jsx("div",{className:"mt-0.5",children:m.jsx(zS,{msg:k,compileMessage:d})})]},k.id))]}),m.jsxs("div",{className:`border-t border-surface-border px-3 py-2.5 flex gap-2 shrink-0 transition-all duration-300 ${j?"opacity-100":"opacity-50 grayscale brightness-150"}`,children:[m.jsx("textarea",{ref:B,value:g,onChange:k=>{y(k.target.value);const X=k.target;X.style.height="auto",X.style.height=`${Math.min(X.scrollHeight,120)}px`},onKeyDown:ne,placeholder:"Ask a question...",rows:2,className:"flex-1 resize-none bg-surface text-xs text-text-primary placeholder:text-text-tertiary rounded px-2.5 py-1.5 border border-surface-border focus:outline-none focus:border-accent",style:{minHeight:"2.5rem"},disabled:!!f}),m.jsx("button",{onClick:V,disabled:!g.trim()||!!f,className:"px-2.5 py-1.5 text-accent hover:text-accent-hover disabled:text-text-muted transition-colors self-end","aria-label":"Send",children:m.jsx(tv,{className:"w-4 h-4",strokeWidth:1.5})})]})]})}function US(){var B;const{isSuperAdmin:r,hasRoleType:n,hasRole:s}=Oi(),{data:a}=bw(),o=!!((B=a==null?void 0:a.ai)!=null&&B.enabled),{collapsed:f,toggle:h}=Vg(),[d,g]=T.useState(!1),[y,E]=T.useState(!1),[w,j]=T.useState(()=>window.location.hash.startsWith("#docs")),z=Ws(),M=T.useRef(null);return T.useEffect(()=>{const V=M.current;V&&(V.classList.remove("animate-page-in"),V.offsetWidth,V.classList.add("animate-page-in"))},[z.pathname]),T.useEffect(()=>{const V=()=>{window.location.hash.startsWith("#docs")&&j(!0)};return window.addEventListener("hashchange",V),()=>window.removeEventListener("hashchange",V)},[]),m.jsxs("div",{className:"h-screen bg-surface flex flex-col",children:[m.jsx(Ew,{onToggleEventFeed:()=>g(V=>!V),onToggleDocs:()=>j(V=>!V)}),m.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[m.jsxs("aside",{className:`${f?"w-16":"w-60"} shrink-0 bg-surface-raised border-r border-surface-border flex flex-col transition-[width] duration-200 ease-out overflow-hidden relative z-20`,children:[m.jsxs("nav",{className:"flex-1 px-3 pt-[36px] pb-4 space-y-2 overflow-y-auto overflow-x-hidden",children:[m.jsx(Nw,{aiEnabled:o}),(r||n("admin")||s("engineer"))&&m.jsx(Cw,{}),o&&(r||n("admin")||s("engineer"))&&m.jsx(Mw,{}),(r||n("admin")||s("engineer"))&&m.jsx(Dw,{}),(r||n("admin"))&&m.jsx(qw,{})]}),m.jsx("button",{onClick:h,className:`shrink-0 py-3 text-text-tertiary hover:text-text-secondary transition-colors duration-150 ${f?"flex justify-center":"flex items-center px-7"}`,"aria-label":f?"Expand sidebar":"Collapse sidebar",children:f?m.jsx(nv,{className:"w-4 h-4 text-accent-muted",strokeWidth:1.5}):m.jsx(sv,{className:"w-4 h-4 text-accent-muted",strokeWidth:1.5})})]}),m.jsx("main",{className:"flex-1 overflow-y-auto",children:m.jsx("div",{ref:M,className:"max-w-dashboard mx-auto px-10 py-10 pb-16 animate-page-in",children:m.jsx(wo,{})})})]}),m.jsx(t2,{open:d,onToggle:()=>g(V=>!V),configOpen:y,onToggleConfig:()=>E(V=>!V)}),m.jsx(f2,{open:w,onClose:()=>{j(!1),history.replaceState(null,"",window.location.pathname+window.location.search)}}),o&&m.jsx(g2,{}),o&&m.jsx(qS,{})]})}function BS(){const{isAuthenticated:r}=Oi(),n=Ws();return r?m.jsx(vw,{children:m.jsx(p2,{children:m.jsx(US,{})})}):m.jsx(Fs,{to:"/login",state:{from:n.pathname},replace:!0})}function ry({provider:r,className:n="w-5 h-5"}){switch(r){case"google":return m.jsxs("svg",{className:n,viewBox:"0 0 24 24",fill:"currentColor",children:[m.jsx("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z",fill:"#4285F4"}),m.jsx("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z",fill:"#34A853"}),m.jsx("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z",fill:"#FBBC05"}),m.jsx("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z",fill:"#EA4335"})]});case"github":return m.jsx("svg",{className:n,viewBox:"0 0 24 24",fill:"currentColor",children:m.jsx("path",{d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0 0 22 12.017C22 6.484 17.522 2 12 2z"})});case"microsoft":return m.jsxs("svg",{className:n,viewBox:"0 0 24 24",fill:"currentColor",children:[m.jsx("path",{d:"M3 3h8.5v8.5H3z",fill:"#F25022"}),m.jsx("path",{d:"M12.5 3H21v8.5h-8.5z",fill:"#7FBA00"}),m.jsx("path",{d:"M3 12.5h8.5V21H3z",fill:"#00A4EF"}),m.jsx("path",{d:"M12.5 12.5H21V21h-8.5z",fill:"#FFB900"})]});case"anthropic":return m.jsx("svg",{className:n,viewBox:"0 0 24 24",fill:"currentColor",children:m.jsx("path",{d:"M13.827 3.52h3.603L24 20.48h-3.603l-6.57-16.96zm-7.258 0h3.767L16.906 20.48h-3.674l-1.343-3.461H6.396l-1.34 3.461H1.5l5.07-16.96zm2.327 5.14l-2.065 5.326h4.108l-2.043-5.326z"})});default:return m.jsxs("svg",{className:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[m.jsx("circle",{cx:"12",cy:"12",r:"10"}),m.jsx("path",{d:"M12 8v4l3 3"})]})}}async function LS(){return Xe("/auth/oauth/providers")}async function HS(r,n){const s=n?`?label=${encodeURIComponent(n)}`:"";return Xe(`/auth/oauth/connections/${r}${s}`,{method:"DELETE"})}function QE(){return Hn({queryKey:["oauth-connections"],queryFn:()=>Xe("/auth/oauth/connections")})}function IE(){const r=Nn();return Pn({mutationFn:({provider:n,label:s})=>HS(n,s),onSuccess:()=>{r.invalidateQueries({queryKey:["oauth-connections"]})}})}function PS(){var X;const{login:r,isAuthenticated:n}=Oi(),s=sg(),a=Ws(),o=new URLSearchParams(a.search),f=o.get("token"),h=o.get("error"),d=((X=a.state)==null?void 0:X.from)??o.get("returnTo")??"/",g=T.useRef(!1);f&&!g.current&&(g.current=!0,r(f,void 0,{displayName:o.get("displayName"),username:o.get("username")}));const[y,E]=T.useState(""),[w,j]=T.useState(""),[z,M]=T.useState(h||""),[B,V]=T.useState(!1),[ne,ee]=T.useState(!!f),[pe,ae]=T.useState([]);if(T.useEffect(()=>{f||LS().then(ae).catch(()=>{})},[]),T.useEffect(()=>{if(!ne)return;const se=setTimeout(()=>s(d,{replace:!0}),1500);return()=>clearTimeout(se)},[ne]),n&&!ne)return m.jsx(Fs,{to:d,replace:!0});const k=async se=>{var W,F;if(se.preventDefault(),M(""),!y.trim()||!w){M("Username and password are required");return}V(!0);try{const Z=await fetch(`${Bn}/api/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:y.trim(),password:w})}),le=await Z.json();if(!Z.ok){M(le.error||"Login failed");return}ee(!0),r(le.token,{username:y.trim(),password:w},{displayName:(W=le.user)==null?void 0:W.display_name,username:(F=le.user)==null?void 0:F.external_id})}catch{M("Unable to connect to server")}finally{V(!1)}};return m.jsx("div",{className:"min-h-screen bg-surface flex items-center justify-center overflow-hidden",children:m.jsxs("div",{className:"w-full max-w-md p-10",children:[m.jsx("div",{className:`mb-10 transition-all duration-[1500ms] ease-in ${ne?"translate-x-[120vw] -translate-y-[60vh] scale-[3] opacity-0":""}`,children:m.jsx(oh,{size:"lg",hideLabel:ne})}),m.jsxs("form",{onSubmit:k,className:`space-y-5 transition-opacity duration-300 ${ne?"opacity-0":""}`,children:[m.jsxs("div",{children:[m.jsx("label",{htmlFor:"username",className:"block text-sm font-medium text-text-secondary mb-2",children:"Username"}),m.jsx("input",{id:"username",type:"text",value:y,onChange:se=>E(se.target.value),className:"input",placeholder:"Enter your username",autoFocus:!ne,autoComplete:"username"})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"password",className:"block text-sm font-medium text-text-secondary mb-2",children:"Password"}),m.jsx("input",{id:"password",type:"password",value:w,onChange:se=>j(se.target.value),className:"input",placeholder:"Enter your password",autoComplete:"current-password"})]}),z&&m.jsx("p",{className:"text-sm text-status-error",children:z}),m.jsx("button",{type:"submit",className:"btn-primary w-full",disabled:B||ne,children:B?"Signing in...":"Sign In"}),pe.length>0&&m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"flex items-center gap-3 mt-6",children:[m.jsx("div",{className:"flex-1 h-px bg-border"}),m.jsx("span",{className:"text-xs text-text-tertiary",children:"or continue with"}),m.jsx("div",{className:"flex-1 h-px bg-border"})]}),m.jsx("div",{className:"space-y-2",children:pe.filter(se=>se.provider!=="anthropic").map(se=>m.jsxs("a",{href:`${Bn}/api/auth/oauth/${se.provider}?returnTo=${encodeURIComponent(d)}`,className:"btn-secondary w-full flex items-center justify-center gap-2",children:[m.jsx(ry,{provider:se.provider}),"Sign in with ",se.name]},se.provider))})]})]})]})})}function K0(){const{isAuthenticated:r}=Oi(),n=sg(),s=Ws(),a=new URLSearchParams(s.search),o=a.get("state")||"";T.useEffect(()=>{r||n(`/login?returnTo=${encodeURIComponent(s.pathname+s.search)}`)},[r]);const[f,h]=T.useState(""),[d,g]=T.useState(a.get("label")||"default"),[y,E]=T.useState(""),[w,j]=T.useState(!1),z=f.trim().startsWith("sk-ant-oat"),M=f.trim().startsWith("sk-ant-api"),B=V=>{V.preventDefault();const ne=f.trim();if(!ne){E("A token or API key is required");return}if(!ne.startsWith("sk-ant-")){E('Invalid format. Must start with "sk-ant-oat" (OAuth token) or "sk-ant-api" (API key)');return}j(!0),E("");const ee=`${Bn}/api/auth/oauth/anthropic/callback?code=${encodeURIComponent(ne)}&state=${encodeURIComponent(o)}`;window.location.href=ee};return m.jsx("div",{className:"min-h-screen bg-surface flex items-center justify-center",children:m.jsxs("div",{className:"w-full max-w-md p-10",children:[m.jsx("div",{className:"mb-10",children:m.jsx(oh,{size:"lg"})}),m.jsxs("div",{className:"flex items-center gap-2 mb-6",children:[m.jsx(ry,{provider:"anthropic",className:"w-6 h-6"}),m.jsx("h2",{className:"text-lg font-semibold text-text-primary",children:"Connect Anthropic"})]}),m.jsx("p",{className:"text-sm text-text-secondary mb-4",children:"Connect your Anthropic account so Claude Code tasks run under your credentials. Your token is encrypted at rest."}),m.jsxs("form",{onSubmit:B,className:"space-y-5",children:[m.jsxs("div",{children:[m.jsx("label",{htmlFor:"token",className:"block text-sm font-medium text-text-secondary mb-2",children:"OAuth Token or API Key"}),m.jsx("input",{id:"token",type:"password",value:f,onChange:V=>h(V.target.value),className:"input",placeholder:"sk-ant-oat01-... or sk-ant-api03-...",autoFocus:!0,autoComplete:"off"}),z&&m.jsx("p",{className:"text-xs text-status-success mt-1",children:"OAuth token detected — uses your Claude subscription (flat rate)"}),M&&m.jsx("p",{className:"text-xs text-status-warning mt-1",children:"API key detected — billed per-token from your Anthropic API account"})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"label",className:"block text-sm font-medium text-text-secondary mb-2",children:"Label"}),m.jsx("input",{id:"label",type:"text",value:d,onChange:V=>g(V.target.value.replace(/\s+/g,"-").toLowerCase()),className:"input",placeholder:"default",autoComplete:"off"}),m.jsx("p",{className:"text-xs text-text-tertiary mt-1",children:'A name for this credential. Use different labels to store multiple credentials (e.g., "subscription", "api-batch").'})]}),y&&m.jsx("p",{className:"text-sm text-status-error",children:y}),m.jsx("button",{type:"submit",className:"btn-primary w-full",disabled:w,children:w?"Validating...":"Connect"}),m.jsx("a",{href:"/",className:"block text-center text-sm text-text-tertiary hover:text-text-secondary",children:"Cancel"})]}),m.jsxs("div",{className:"mt-6 space-y-3 text-xs text-text-tertiary",children:[m.jsxs("div",{children:[m.jsx("span",{className:"font-medium text-text-secondary",children:"Recommended:"})," ","Run"," ",m.jsx("code",{className:"px-1 py-0.5 bg-surface-sunken rounded text-[11px]",children:"claude setup-token"})," ","in your terminal to generate an OAuth token that uses your subscription."]}),m.jsxs("div",{children:[m.jsx("span",{className:"font-medium text-text-secondary",children:"Alternative:"})," ","Use an API key from"," ",m.jsx("a",{href:"https://console.anthropic.com/settings/keys",target:"_blank",rel:"noopener noreferrer",className:"text-accent-secondary hover:underline",children:"console.anthropic.com"})," ","(billed per-token)."]})]})]})})}function wf({roleTypes:r,roleNames:n,redirectTo:s="/"}){const{isSuperAdmin:a,hasRole:o,hasRoleType:f}=Oi();return a?m.jsx(wo,{}):r&&r.some(h=>f(h))?m.jsx(wo,{}):n&&n.some(h=>o(h))?m.jsx(wo,{}):m.jsx(Fs,{to:s,replace:!0})}const $S=T.lazy(()=>Ae(()=>import("./ProcessesListPage-Sa-bjC-g.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]),import.meta.url).then(r=>({default:r.ProcessesListPage}))),YS=T.lazy(()=>Ae(()=>import("./ProcessDetailPage-Dc5ASJpQ.js"),__vite__mapDeps([16,1,2,4,17,13,18,15,9,6,19,20,21]),import.meta.url).then(r=>({default:r.ProcessDetailPage}))),GS=T.lazy(()=>Ae(()=>import("./McpOverview-whVRP_Nj.js"),__vite__mapDeps([22,1,23,24,25,26,12,13,27,6]),import.meta.url).then(r=>({default:r.McpOverview}))),VS=T.lazy(()=>Ae(()=>import("./McpRunsPage-BA6AVpi_.js"),__vite__mapDeps([28,1,24,25,26,5,6,7,8,15,13,9,29,12,11,10,14,30]),import.meta.url).then(r=>({default:r.McpRunsPage}))),FS=T.lazy(()=>Ae(()=>import("./McpRunDetailPage-QEz8BCTu.js"),__vite__mapDeps([31,1,24,18,12,13,32,6,33,34,14,35,36,11]),import.meta.url).then(r=>({default:r.McpRunDetailPage}))),JS=T.lazy(()=>Ae(()=>import("./McpQueryPage-DciK6r7r.js"),__vite__mapDeps([37,1,12,13,7,8,11,10,14,9,29,15,30,5,6,4,38]),import.meta.url).then(r=>({default:r.McpQueryPage}))),QS=T.lazy(()=>Ae(()=>import("./McpQueryDetailPage-DPuujJkH.js"),__vite__mapDeps([39,1,12,13,18,38,40,6,25,4,41,33,24,3,2,42,43,44,45,32,46,35]),import.meta.url).then(r=>({default:r.McpQueryDetailPage}))),IS=T.lazy(()=>Ae(()=>import("./EscalationsOverview-CTB8AEBd.js"),__vite__mapDeps([47,1,4,12,13,27,6]),import.meta.url).then(r=>({default:r.EscalationsOverview}))),XS=T.lazy(()=>Ae(()=>import("./AvailableEscalationsPage-BWHThQDC.js"),__vite__mapDeps([48,1,4,49,5,6,7,8,10,12,13,50,51,52,21,53,11,54,19,15,9,55,30,14]),import.meta.url).then(r=>({default:r.AvailableEscalationsPage}))),KS=T.lazy(()=>Ae(()=>import("./OperatorDashboard-DrUMzwnl.js"),__vite__mapDeps([56,1,4,49,5,6,7,8,12,13,10,30,53,11,54,19,15,9,55,14]),import.meta.url).then(r=>({default:r.OperatorDashboard}))),ZS=T.lazy(()=>Ae(()=>import("./index-CKDOaej4.js"),__vite__mapDeps([57,1,34,49,12,13,55,3,4,20,21,51,50,18,19,32,6,33]),import.meta.url).then(r=>({default:r.EscalationDetailPage}))),WS=T.lazy(()=>Ae(()=>import("./WorkflowsOverview-YFc_KBMS.js"),__vite__mapDeps([58,1,3,4,12,13,27,6]),import.meta.url).then(r=>({default:r.WorkflowsOverview}))),eE=T.lazy(()=>Ae(()=>import("./index-DVqtJBno.js"),__vite__mapDeps([59,1,3,12,13,15,44,45,6,7,8,60,46,18]),import.meta.url).then(r=>({default:r.StartWorkflowPage}))),tE=T.lazy(()=>Ae(()=>import("./index-DVqtJBno.js"),__vite__mapDeps([59,1,3,12,13,15,44,45,6,7,8,60,46,18]),import.meta.url).then(r=>({default:r.DurableInvokePage}))),nE=T.lazy(()=>Ae(()=>import("./WorkflowsDashboard-BF7FpMmk.js"),__vite__mapDeps([61,1,9,29,3,4,5,6,7,8,15,13,12,11,10,14,30]),import.meta.url).then(r=>({default:()=>r.WorkflowsDashboard({tier:"durable"})}))),sE=T.lazy(()=>Ae(()=>import("./WorkflowsDashboard-BF7FpMmk.js"),__vite__mapDeps([61,1,9,29,3,4,5,6,7,8,15,13,12,11,10,14,30]),import.meta.url).then(r=>({default:()=>r.WorkflowsDashboard({tier:"all"})}))),iE=T.lazy(()=>Ae(()=>import("./YamlWorkflowsPage-BOLs5KTB.js"),__vite__mapDeps([62,1,25,40,5,6,63,12,13,11,8,43,44,45,42,60,46,18,64]),import.meta.url).then(r=>({default:r.YamlWorkflowsPage}))),rE=T.lazy(()=>Ae(()=>import("./TasksListPage-xdNmQsNE.js"),__vite__mapDeps([65,1,2,3,5,6,7,8,18,54,46,10,11,12,13,15]),import.meta.url).then(r=>({default:r.TasksListPage}))),aE=T.lazy(()=>Ae(()=>import("./TaskDetailPage-CI4JTC62.js"),__vite__mapDeps([66,1,2,18,54,12,13,6]),import.meta.url).then(r=>({default:r.TaskDetailPage}))),Z0=T.lazy(()=>Ae(()=>import("./WorkflowExecutionPage-DqMqDb1h.js"),__vite__mapDeps([67,1,3,4,34,2,12,13,33,14,18,32,6,35,36,11]),import.meta.url).then(r=>({default:r.WorkflowExecutionPage}))),lE=T.lazy(()=>Ae(()=>import("./AdminDashboard-BuqyRY2r.js"),__vite__mapDeps([68,1,2,4,23,17,13,6]),import.meta.url).then(r=>({default:r.AdminDashboard}))),oE=T.lazy(()=>Ae(()=>import("./index-Cnpo94XG.js"),__vite__mapDeps([69,1,3,7,8,11,30,5,6,12,13,70,15]),import.meta.url).then(r=>({default:r.WorkersPage}))),cE=T.lazy(()=>Ae(()=>import("./index-DFuHrLll.js"),__vite__mapDeps([71,1,3,7,8,72,52,6,11,30,5,12,13,19,70,15,73,49,44,45]),import.meta.url).then(r=>({default:r.WorkflowConfigsPage}))),W0=T.lazy(()=>Ae(()=>import("./index-DFuHrLll.js"),__vite__mapDeps([71,1,3,7,8,72,52,6,11,30,5,12,13,19,70,15,73,49,44,45]),import.meta.url).then(r=>({default:r.WorkflowConfigDetailPage}))),uE=T.lazy(()=>Ae(()=>import("./index-DT0JeuiL.js"),__vite__mapDeps([74,1,23,8,72,52,6,12,13,11,10,5,63,75,43,44,45,42,64,30,18]),import.meta.url).then(r=>({default:r.McpServersPage}))),eg=T.lazy(()=>Ae(()=>import("./index-CihScSLF.js"),__vite__mapDeps([76,1,23,73,12,13,41,6]),import.meta.url).then(r=>({default:r.McpServerDetailPage}))),fE=T.lazy(()=>Ae(()=>import("./index-DT68ewTC.js"),__vite__mapDeps([77,1,21,5,6,7,8,10,11,9,72,52,30,12,13,19,45,49,46]),import.meta.url).then(r=>({default:r.UsersPage}))),hE=T.lazy(()=>Ae(()=>import("./RolesPage-DmO8Jlbw.js"),__vite__mapDeps([78,1,49,7,8,72,52,6,12,13,19,30]),import.meta.url).then(r=>({default:r.RolesPage}))),dE=T.lazy(()=>Ae(()=>import("./index-BkCkBW_D.js"),__vite__mapDeps([79,1,12,13,52,6,50]),import.meta.url).then(r=>({default:r.MaintenancePage}))),mE=T.lazy(()=>Ae(()=>import("./index-CcvHiZW-.js"),__vite__mapDeps([80,1,17,13,11,5,6,81,52,33,70,7,8,30]),import.meta.url).then(r=>({default:r.ControlPlanePage}))),pE=T.lazy(()=>Ae(()=>import("./index-7Fbktqcl.js"),__vite__mapDeps([82,1,6,81,5,7,8,10,11,9,12,13,14]),import.meta.url).then(r=>({default:r.StreamMessagesPage}))),gE=T.lazy(()=>Ae(()=>import("./CredentialsPage-f6niro9_.js"),__vite__mapDeps([83,1,12,13,46,72,52,6]),import.meta.url).then(r=>({default:r.CredentialsPage}))),yE=T.lazy(()=>Ae(()=>import("./index-BkOv2dQA.js"),__vite__mapDeps([84,1,6,12,13,11,14,8,85,46]),import.meta.url).then(r=>({default:r.FilesPage}))),bE=T.lazy(()=>Ae(()=>import("./index-DGpIF_Td.js"),__vite__mapDeps([86,1,12,13,11,14,10,8,85,46,87,41,6]),import.meta.url).then(r=>({default:r.KnowledgePage}))),xE=T.lazy(()=>Ae(()=>import("./HomePage-Bjxnjv6p.js"),__vite__mapDeps([88,1,3,24,81,2,4,19,13,15,14,89,6]),import.meta.url).then(r=>({default:r.HomePage}))),vE=T.lazy(()=>Ae(()=>import("./AgentsPage-B5gYDSOX.js"),__vite__mapDeps([90,1,91,4,5,6,7,8,10,11,12,13,14]),import.meta.url).then(r=>({default:r.AgentsPage}))),_E=T.lazy(()=>Ae(()=>import("./AgentDetailPage-0Kq-tBF2.js"),__vite__mapDeps([92,1,91,93,13,4,89,15,6]),import.meta.url).then(r=>({default:r.AgentDetailPage}))),tg=T.lazy(()=>Ae(()=>import("./AgentConfigPage-Bum1dUIi.js"),__vite__mapDeps([94,1,91,93,13,12,87,43,44,45,3,25,95,96,89,15,6]),import.meta.url).then(r=>({default:r.AgentConfigPage}))),wE=T.lazy(()=>Ae(()=>import("./CapabilitiesPage-CkiJROX-.js"),__vite__mapDeps([97,1,95,75,23,43,44,45,13,42,64,6,12]),import.meta.url).then(r=>({default:r.CapabilitiesPage}))),SE=T.lazy(()=>Ae(()=>import("./TopicsPage-B3QZNlWz.js"),__vite__mapDeps([98,1,96,5,6,7,8,10,11,12,13,14]),import.meta.url).then(r=>({default:r.TopicsPage}))),EE=T.lazy(()=>Ae(()=>import("./TopicDetailPage-YeGQA0vD.js"),__vite__mapDeps([99,1,96,14,13,6]),import.meta.url).then(r=>({default:r.TopicDetailPage})));function AE(){return m.jsxs("div",{className:"animate-pulse space-y-4",children:[m.jsx("div",{className:"h-8 bg-surface-sunken rounded w-48"}),m.jsx("div",{className:"h-40 bg-surface-sunken rounded"})]})}function xe({children:r}){return m.jsx(T.Suspense,{fallback:m.jsx(AE,{}),children:m.jsx("div",{className:"animate-page-enter",children:r})})}const ay=new yx({defaultOptions:{queries:{staleTime:1e4,retry:(r,n)=>n instanceof Error&&n.message==="Session expired"?!1:r<1}}});window.addEventListener("auth:unauthorized",()=>{ay.clear(),sessionStorage.removeItem("lt_token"),sessionStorage.removeItem("lt_credentials"),sessionStorage.removeItem("lt_user_info");const n=`${window.__LT_BASE__||""}/login`;window.location.pathname!==n&&(window.location.href=`${n}?returnTo=${encodeURIComponent(window.location.pathname)}`)});const OE=vx([{path:"/login",element:m.jsx(PS,{})},{path:"/connect/anthropic",element:m.jsx(K0,{})},{path:"/connect/:provider",element:m.jsx(K0,{})},{path:"/",element:m.jsx(BS,{}),children:[{index:!0,element:m.jsx(xe,{children:m.jsx(xE,{})})},{path:"processes/all",element:m.jsx(xe,{children:m.jsx($S,{})})},{path:"processes/detail/:originId",element:m.jsx(xe,{children:m.jsx(YS,{})})},{path:"credentials",element:m.jsx(xe,{children:m.jsx(gE,{})})},{path:"connections",element:m.jsx(Fs,{to:"/credentials",replace:!0})},{path:"escalations",element:m.jsx(xe,{children:m.jsx(IS,{})})},{path:"escalations/available",element:m.jsx(xe,{children:m.jsx(XS,{})})},{path:"escalations/queue",element:m.jsx(xe,{children:m.jsx(KS,{})})},{path:"escalations/detail/:id",element:m.jsx(xe,{children:m.jsx(ZS,{})})},{path:"capabilities",element:m.jsx(xe,{children:m.jsx(wE,{})})},{path:"agents",element:m.jsx(xe,{children:m.jsx(vE,{})})},{path:"agents/new",element:m.jsx(xe,{children:m.jsx(tg,{})})},{path:"agents/:id",element:m.jsx(xe,{children:m.jsx(_E,{})})},{path:"agents/:id/edit",element:m.jsx(xe,{children:m.jsx(tg,{})})},{path:"topics",element:m.jsx(xe,{children:m.jsx(SE,{})})},{path:"topics/:topic",element:m.jsx(xe,{children:m.jsx(EE,{})})},{element:m.jsx(wf,{roleTypes:["admin","superadmin"],roleNames:["engineer"]}),children:[{path:"workflows",element:m.jsx(xe,{children:m.jsx(WS,{})})},{path:"workflows/executions",element:m.jsx(xe,{children:m.jsx(sE,{})})},{path:"workflows/durable/executions",element:m.jsx(xe,{children:m.jsx(nE,{})})},{path:"workflows/durable/executions/:workflowId",element:m.jsx(xe,{children:m.jsx(Z0,{})})},{path:"workflows/tasks",element:m.jsx(xe,{children:m.jsx(rE,{})})},{path:"workflows/tasks/detail/:id",element:m.jsx(xe,{children:m.jsx(aE,{})})},{path:"workflows/executions/:workflowId",element:m.jsx(xe,{children:m.jsx(Z0,{})})},{path:"workflows/start",element:m.jsx(xe,{children:m.jsx(eE,{})})},{path:"workflows/durable/invoke",element:m.jsx(xe,{children:m.jsx(tE,{})})},{path:"workflows/cron",element:m.jsx(Fs,{to:"/workflows/start?mode=schedule",replace:!0})},{path:"workflows/workers",element:m.jsx(xe,{children:m.jsx(oE,{})})},{path:"workflows/registry",element:m.jsx(xe,{children:m.jsx(cE,{})})},{path:"workflows/registry/new",element:m.jsx(xe,{children:m.jsx(W0,{})})},{path:"workflows/registry/:workflowType",element:m.jsx(xe,{children:m.jsx(W0,{})})}]},{element:m.jsx(wf,{roleTypes:["admin","superadmin"],roleNames:["engineer"]}),children:[{path:"mcp",element:m.jsx(xe,{children:m.jsx(GS,{})})},{path:"mcp/queries",element:m.jsx(xe,{children:m.jsx(JS,{})})},{path:"mcp/queries/:workflowId",element:m.jsx(xe,{children:m.jsx(QS,{})})},{path:"mcp/tools",element:m.jsx(Fs,{to:"/mcp/servers",replace:!0})},{path:"mcp/servers",element:m.jsx(xe,{children:m.jsx(uE,{})})},{path:"mcp/servers/new",element:m.jsx(xe,{children:m.jsx(eg,{})})},{path:"mcp/servers/:serverId",element:m.jsx(xe,{children:m.jsx(eg,{})})},{path:"mcp/workflows",element:m.jsx(xe,{children:m.jsx(iE,{})})},{path:"mcp/executions",element:m.jsx(xe,{children:m.jsx(VS,{})})},{path:"mcp/executions/:jobId",element:m.jsx(xe,{children:m.jsx(FS,{})})},{path:"files",element:m.jsx(xe,{children:m.jsx(yE,{})})},{path:"knowledge",element:m.jsx(xe,{children:m.jsx(bE,{})})}]},{element:m.jsx(wf,{roleTypes:["admin","superadmin"]}),children:[{path:"admin",element:m.jsx(xe,{children:m.jsx(lE,{})})},{path:"admin/users",element:m.jsx(xe,{children:m.jsx(fE,{})})},{path:"admin/bots",element:m.jsx(Fs,{to:"/admin/users?tab=service-accounts",replace:!0})},{path:"admin/escalation-chains",element:m.jsx(Fs,{to:"/admin/roles",replace:!0})},{path:"admin/roles",element:m.jsx(xe,{children:m.jsx(hE,{})})},{path:"admin/maintenance",element:m.jsx(xe,{children:m.jsx(dE,{})})},{path:"admin/controlplane",element:m.jsx(xe,{children:m.jsx(mE,{})})},{path:"admin/streams",element:m.jsx(xe,{children:m.jsx(pE,{})})}]}]}],{basename:window.__LT_BASE__||"/"});function jE(){return m.jsx(bx,{client:ay,children:m.jsx(hv,{children:m.jsx(gw,{children:m.jsx(_x,{router:OE})})})})}ov.createRoot(document.getElementById("root")).render(m.jsx(T.StrictMode,{children:m.jsx(jE,{})}));export{QE as A,IE as B,ch as C,kS as D,fg as E,Jg as F,Zw as J,Bn as L,p_ as N,ry as O,Hw as S,JE as a,Xe as b,y_ as c,CS as d,zE as e,jS as f,UE as g,LE as h,RE as i,Oi as j,PE as k,$E as l,YE as m,GE as n,VE as o,DE as p,ww as q,_w as r,BE as s,qE as t,bw as u,HE as v,sy as w,iy as x,FE as y,fh as z};
|
|
63
|
+
//# sourceMappingURL=index-DYmrNJ_H.js.map
|