ryco-cli 0.1.23 → 0.1.24
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/dist/bin.cjs +228 -88
- package/dist/bin.mjs +230 -90
- package/dist/client/assets/AccountSettings-ApnDA1f-.js +1 -0
- package/dist/client/assets/AiFocusSettings-CNmGHEcA.js +1 -0
- package/dist/client/assets/{AnimatedHeight-D9bpLPqe.js → AnimatedHeight-i0YhvlGD.js} +1 -1
- package/dist/client/assets/AppearanceSettings-BG8W4DP0.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-AgPy06Mx.js +1 -0
- package/dist/client/assets/BrowserPanel-BWztlNuL.js +1 -0
- package/dist/client/assets/ChatRightPanel-a6UOHNMm.js +194 -0
- package/dist/client/assets/ChatThreadRouteView-CWoBLzR_.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-B2iKWCUi.js +1 -0
- package/dist/client/assets/CompositeRoot-C1G-Ejus.js +1 -0
- package/dist/client/assets/ComputerUseSettings-CPwWoHWj.js +1 -0
- package/dist/client/assets/ConnectionsSettings-CPMkuxza.js +7 -0
- package/dist/client/assets/ContextHandoffEndpointLabel-BildLLDY.js +4 -0
- package/dist/client/assets/DiagnosticsSettings-DvnNz2AZ.js +2 -0
- package/dist/client/assets/DialogHandle-8o3kfoiI.js +1 -0
- package/dist/client/assets/DialogPopup-CLw6NCkW.js +1 -0
- package/dist/client/assets/DialogRoot-SKkIuQHA.js +1 -0
- package/dist/client/assets/DialogTitle-DCHX74Tz.js +1 -0
- package/dist/client/assets/DialogTrigger-Bl_fcIV2.js +1 -0
- package/dist/client/assets/DialogViewport-DVDl03yd.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-CEDYjbKq.js +1 -0
- package/dist/client/assets/{ExternalIdentityWeb.logic-pjD4pCDd.js → ExternalIdentityWeb.logic-arHvT6AX.js} +1 -1
- package/dist/client/assets/GlassSurface-GY6owikG.js +1 -0
- package/dist/client/assets/HostedConnectionControls-COUhSe9x.js +1 -0
- package/dist/client/assets/HostedHubRoot-BTWc0XoQ.js +2 -0
- package/dist/client/assets/HostedNativeAuthorizationRoute-DZhYxv--.js +2 -0
- package/dist/client/assets/HostedRelayTrustNotice-Bl6On0Yi.js +1 -0
- package/dist/client/assets/IntegrationsSettingsPanel-n9owMZf-.js +2 -0
- package/dist/client/assets/KeybindingsSettings-CPtXx-W2.js +7 -0
- package/dist/client/assets/LazyBrowserPanel-SUIBB7B4.js +2 -0
- package/dist/client/assets/McpServersSettings-BWIUud0Z.js +6 -0
- package/dist/client/assets/MobileSheet-NTayGHF6.js +1 -0
- package/dist/client/assets/NodeSecuritySettings-BFifrshE.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-D7WuuNWZ.js +1 -0
- package/dist/client/assets/PhoneGetAppInterstitial-R0cqI17q.js +1 -0
- package/dist/client/assets/PhoneHome-FqWvnJP_.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-w5PJnoBc.js +2 -0
- package/dist/client/assets/ProviderModelPicker-dwWhl7Uf.js +1 -0
- package/dist/client/assets/ProvidersSettingsPanel-Ww1ch3xA.js +1 -0
- package/dist/client/assets/QuitShortcutFeedback-CklL3jMd.js +1 -0
- package/dist/client/assets/RedactedSensitiveText-CLPBtvH1.js +1 -0
- package/dist/client/assets/RootAppShell-BdQCs2XJ.js +7 -0
- package/dist/client/assets/Separator-CpYBhf-I.js +1 -0
- package/dist/client/assets/SettingsDialog-DeMzEeCP.js +2 -0
- package/dist/client/assets/SettingsPanels-ZxNz9ZfL.js +3 -0
- package/dist/client/assets/SettingsPanels.editor-9pSZP875.js +1 -0
- package/dist/client/assets/SourceControlSettings-C1F3Brcn.js +1 -0
- package/dist/client/assets/StatisticsPage-C7v-6CTr.js +1 -0
- package/dist/client/assets/StatisticsPanel-CeIjiBm8.js +1 -0
- package/dist/client/assets/StatisticsSettingsLink-5s_violW.js +1 -0
- package/dist/client/assets/{ThreadTerminalDrawer-DcZk76Y9.js → ThreadTerminalDrawer-CHZ60lPI.js} +11 -11
- package/dist/client/assets/{ThreadWorkspacePanel-Shhau2BD.js → ThreadWorkspacePanel-Ct5kMcuY.js} +17 -17
- package/dist/client/assets/activity-BMBx2Fu0.js +1 -0
- package/dist/client/assets/alert-CXnC_RJc.js +1 -0
- package/dist/client/assets/{appChrome-CiOQzE1d.js → appChrome-BzM66lXM.js} +1 -1
- package/dist/client/assets/arrow-left-CymyVbCi.js +1 -0
- package/dist/client/assets/arrow-right-9wyq4YVq.js +1 -0
- package/dist/client/assets/arrow-up-right-mfU38K6p.js +1 -0
- package/dist/client/assets/authorization-CjOFkg7b.js +1 -0
- package/dist/client/assets/badge-Dg7mXiOh.js +1 -0
- package/dist/client/assets/bot-BR3RyOWP.js +1 -0
- package/dist/client/assets/{capabilities-BTd0MRtv.js → capabilities-C8sxDbKT.js} +1 -1
- package/dist/client/assets/chart-column-CcRi3pAd.js +1 -0
- package/dist/client/assets/chevron-right-CuUjBsQV.js +1 -0
- package/dist/client/assets/clipboard-copy-ezz8rnaT.js +1 -0
- package/dist/client/assets/data-list-ZLhzdlED.js +1 -0
- package/dist/client/assets/desktopWorkspace-P28r2lN2.js +1 -0
- package/dist/client/assets/download-BA9L9tK9.js +1 -0
- package/dist/client/assets/editorPreferences-DeKdSV3s.js +1 -0
- package/dist/client/assets/empty-3NpXLnAM.js +1 -0
- package/dist/client/assets/group-D5qBdsaB.js +1 -0
- package/dist/client/assets/hostedConnectionCoordinator-CLV-JD1S.js +1 -0
- package/dist/client/assets/{hostedPairing-PogXRAb7.js → hostedPairing-B_ylEEDa.js} +1 -1
- package/dist/client/assets/hubRoutes-EWJ3Gdod.js +1 -0
- package/dist/client/assets/{index-D5j6WG7w.js → index-DxCd1PgA.js} +2 -2
- package/dist/client/assets/input-DrOL1KPS.js +1 -0
- package/dist/client/assets/kbd-rWDjJnWX.js +1 -0
- package/dist/client/assets/key-round-D2DtQ7aS.js +1 -0
- package/dist/client/assets/layers-DtSJWmwy.js +1 -0
- package/dist/client/assets/log-out-YAp9fsOg.js +1 -0
- package/dist/client/assets/{logging-DfaR8ACp.js → logging-BuUPX1SP.js} +1 -1
- package/dist/client/assets/main-BbtLAX7M.js +9 -0
- package/dist/client/assets/{main-CRk9p9SC.css → main-D4CtFNPY.css} +1 -1
- package/dist/client/assets/monitor-OyD484tI.js +1 -0
- package/dist/client/assets/palette-D18VboLH.js +1 -0
- package/dist/client/assets/play-d3KUi4G6.js +1 -0
- package/dist/client/assets/primary-D_D7eLwT.js +2 -0
- package/dist/client/assets/{providerDriverMeta-Cl-ADdmZ.js → providerDriverMeta-DNTocCcU.js} +1 -1
- package/dist/client/assets/providerModels-bFbEIfL9.js +1 -0
- package/dist/client/assets/{qr-code-Bun4dpvz.js → qr-code-Bk1kdf_k.js} +1 -1
- package/dist/client/assets/qr-code-MAZkoKtL.js +1 -0
- package/dist/client/assets/radio-group-D-VCGinX.js +2 -0
- package/dist/client/assets/refresh-cw-DY3_Ph-S.js +1 -0
- package/dist/client/assets/runtime-Djy96GJd.js +17 -0
- package/dist/client/assets/save-ugJXuJRM.js +1 -0
- package/dist/client/assets/scroll-area-BMnGzd2a.js +1 -0
- package/dist/client/assets/scrollEdges-QLSFwGSQ.js +1 -0
- package/dist/client/assets/separator-BwUYkCkX.js +1 -0
- package/dist/client/assets/settingsLayout-C6SUmJVB.js +1 -0
- package/dist/client/assets/sheet-DLy4aeVa.js +1 -0
- package/dist/client/assets/shield-Zq_ygsnJ.js +1 -0
- package/dist/client/assets/shield-alert-DfUhTI4-.js +1 -0
- package/dist/client/assets/shield-check-CO4SMhAs.js +1 -0
- package/dist/client/assets/sidebar-DNnW-a2V.js +1 -0
- package/dist/client/assets/sidebarProjectFolders-ygpaKZM6.js +4 -0
- package/dist/client/assets/sidebarStatusText-CawrXnx0.js +1 -0
- package/dist/client/assets/skeleton-DRm4_OvB.js +1 -0
- package/dist/client/assets/smartphone-O2VACDhU.js +1 -0
- package/dist/client/assets/sparkles-isHutYWU.js +1 -0
- package/dist/client/assets/src-BSuAGqhK.js +14 -0
- package/dist/client/assets/star-7UHEnC3x.js +1 -0
- package/dist/client/assets/{switch-COrEGDkz.js → switch-DD1qVLgN.js} +9 -9
- package/dist/client/assets/toastHelpers-CSQRKo4F.js +1 -0
- package/dist/client/assets/toggle-CaKBNe6W.js +1 -0
- package/dist/client/assets/toggle-group-UeFeTI3u.js +1 -0
- package/dist/client/assets/tokenModePresentation-DV56ekA4.js +1 -0
- package/dist/client/assets/tooltip-DXvXxL37.js +1 -0
- package/dist/client/assets/unplug-DisTpujT.js +1 -0
- package/dist/client/assets/useAppSidebarCollapsed-CaAsLi1q.js +1 -0
- package/dist/client/assets/useBaseUiId-CJN4MvrU.js +1 -0
- package/dist/client/assets/useLabelableId-BsDFG9Oj.js +1 -0
- package/dist/client/assets/useNavigate-cLfxn_9L.js +1 -0
- package/dist/client/assets/usePhoneThreadActions-rekHL1Mi.js +1 -0
- package/dist/client/assets/usePopupViewport-kXU31P6l.js +1 -0
- package/dist/client/assets/useScrollLock-DjMxrUJe.js +1 -0
- package/dist/client/assets/{useStatistics-DfLU9_Qu.js → useStatistics-BYP-9CmW.js} +15 -15
- package/dist/client/assets/useTriggerFocusGuards-DuAm2B8C.js +1 -0
- package/dist/client/assets/useValueChanged-DreFjrMK.js +1 -0
- package/dist/client/assets/user-round-DctamWV6.js +1 -0
- package/dist/client/assets/{vscode-icons-Dgo7Sslf.js → vscode-icons-Dw-LGJAv.js} +1 -1
- package/dist/client/assets/{workspaceMetadataProjection-UiprkDbH.js → workspaceMetadataProjection-BL4sEIL2.js} +1 -1
- package/dist/client/assets/wrench-Ds8eZerZ.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/resource-monitor/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/package.json +1 -1
- package/dist/client/assets/AccountSettings-DGvZzAqN.js +0 -1
- package/dist/client/assets/AiFocusSettings-D8wZfNES.js +0 -1
- package/dist/client/assets/AppearanceSettings-BFo6g6_s.js +0 -1
- package/dist/client/assets/BranchToolbar.logic-CmO2U1U7.js +0 -1
- package/dist/client/assets/BrowserPanel-r6is5C3e.js +0 -1
- package/dist/client/assets/ChatRightPanel-BewXBRFZ.js +0 -194
- package/dist/client/assets/ChatThreadRouteView-CC_6FmHd.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-ftA_Xg2G.js +0 -1
- package/dist/client/assets/CompositeRoot-arlgwzfX.js +0 -1
- package/dist/client/assets/ComputerUseSettings-V-oMtddy.js +0 -1
- package/dist/client/assets/ConnectionsSettings-BrFvrRjz.js +0 -7
- package/dist/client/assets/ContextHandoffEndpointLabel-CPeU4K5A.js +0 -4
- package/dist/client/assets/DiagnosticsSettings-Dk3JaIOU.js +0 -2
- package/dist/client/assets/DialogHandle-00ZXxxpz.js +0 -1
- package/dist/client/assets/DialogPopup-mazVJKyB.js +0 -1
- package/dist/client/assets/DialogRoot-CWlzx19Z.js +0 -1
- package/dist/client/assets/DialogTitle-CKaEtTky.js +0 -1
- package/dist/client/assets/DialogTrigger-CiElTNmo.js +0 -1
- package/dist/client/assets/DialogViewport-a5beR5bY.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-DMwnSfgh.js +0 -1
- package/dist/client/assets/FloatingPortalLite-DWdtHKob.js +0 -1
- package/dist/client/assets/GlassSurface-BqfxDYiR.js +0 -1
- package/dist/client/assets/HostedConnectionControls-BmJd89CC.js +0 -1
- package/dist/client/assets/HostedHubRoot-CRIiJ67A.js +0 -2
- package/dist/client/assets/HostedNativeAuthorizationRoute-DcksCt9n.js +0 -2
- package/dist/client/assets/HostedRelayTrustNotice-C9pl5h2a.js +0 -1
- package/dist/client/assets/IntegrationsSettingsPanel-BnfjyLrM.js +0 -2
- package/dist/client/assets/KeybindingsSettings-CkW7lzvz.js +0 -7
- package/dist/client/assets/LazyBrowserPanel-C6uMUmoV.js +0 -2
- package/dist/client/assets/McpServersSettings-BdXgS-Pm.js +0 -6
- package/dist/client/assets/MobileSheet-D19YdeQ9.js +0 -1
- package/dist/client/assets/NodeSecuritySettings-BfcBgtEg.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-YY54IT7P.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitial-9r6NwJP8.js +0 -1
- package/dist/client/assets/PhoneHome-DnEJp0bU.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-NKJrLCxU.js +0 -2
- package/dist/client/assets/ProviderModelPicker-CYGv-4fE.js +0 -1
- package/dist/client/assets/ProvidersSettingsPanel-DsXHij4h.js +0 -1
- package/dist/client/assets/QuitShortcutFeedback-BVyYaNtd.js +0 -1
- package/dist/client/assets/RedactedSensitiveText-D8j7kpow.js +0 -1
- package/dist/client/assets/RootAppShell-D7c8sbA0.js +0 -7
- package/dist/client/assets/Separator-Bn8l1oSK.js +0 -1
- package/dist/client/assets/SettingsDialog-BlPX1mT8.js +0 -2
- package/dist/client/assets/SettingsPanels-CeuvwIV_.js +0 -3
- package/dist/client/assets/SettingsPanels.editor-CLJJeKLI.js +0 -1
- package/dist/client/assets/SourceControlSettings-D-GeZ6PW.js +0 -1
- package/dist/client/assets/StatisticsPage-poomFDoQ.js +0 -1
- package/dist/client/assets/StatisticsPanel-DbGgCCpZ.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-Brc9--O7.js +0 -1
- package/dist/client/assets/activity-Dy-wOS-S.js +0 -1
- package/dist/client/assets/alert-4WZo8oMe.js +0 -1
- package/dist/client/assets/arrow-left-gLRAasih.js +0 -1
- package/dist/client/assets/arrow-right-CAK2t4QL.js +0 -1
- package/dist/client/assets/arrow-up-right-DP0hmMEB.js +0 -1
- package/dist/client/assets/authorization-K_UCP_xh.js +0 -1
- package/dist/client/assets/badge-CYDyJZRJ.js +0 -1
- package/dist/client/assets/bot-CCrx5oCt.js +0 -1
- package/dist/client/assets/button-QrCU0tNP.js +0 -1
- package/dist/client/assets/chart-column-BvK6lSzG.js +0 -1
- package/dist/client/assets/chevron-down-yka18-iP.js +0 -1
- package/dist/client/assets/chevron-right-CHyIXx5W.js +0 -1
- package/dist/client/assets/clamp-D0kAXd-u.js +0 -1
- package/dist/client/assets/clipboard-copy-DfdkWOiT.js +0 -1
- package/dist/client/assets/copy-riIPLkKV.js +0 -1
- package/dist/client/assets/data-list-CsiYTho5.js +0 -1
- package/dist/client/assets/download-B0lbSdq5.js +0 -1
- package/dist/client/assets/editorPreferences-Cf2Smgu1.js +0 -1
- package/dist/client/assets/empty-CHk0OiOB.js +0 -1
- package/dist/client/assets/group-DfFZdj79.js +0 -1
- package/dist/client/assets/hostedConnectionCoordinator-DZh1yVqz.js +0 -1
- package/dist/client/assets/input-BAC5Cd3b.js +0 -1
- package/dist/client/assets/kbd-CMUW8K7b.js +0 -1
- package/dist/client/assets/key-round-Cm6itp2V.js +0 -1
- package/dist/client/assets/layers-DoDpJao_.js +0 -1
- package/dist/client/assets/loader-circle-D0CNb5GI.js +0 -1
- package/dist/client/assets/log-out-BuoOiS45.js +0 -1
- package/dist/client/assets/main-DaXSCt8g.js +0 -9
- package/dist/client/assets/monitor-Dyigmrl2.js +0 -1
- package/dist/client/assets/palette-kIM_geXk.js +0 -1
- package/dist/client/assets/play-Dh8XDMnw.js +0 -1
- package/dist/client/assets/primary-DjXNHNGV.js +0 -2
- package/dist/client/assets/providerModels-dpugJUmV.js +0 -1
- package/dist/client/assets/qr-code-CkI1p05P.js +0 -1
- package/dist/client/assets/radio-group-Hh0oQGyf.js +0 -2
- package/dist/client/assets/react-dom-x9LNwWQc.js +0 -1
- package/dist/client/assets/refresh-cw-MqmsC7V0.js +0 -1
- package/dist/client/assets/runtime-L56puJDA.js +0 -17
- package/dist/client/assets/save-BSB81i-r.js +0 -1
- package/dist/client/assets/scroll-area-DCGCzd6v.js +0 -1
- package/dist/client/assets/scrollEdges-DIzjkUJG.js +0 -1
- package/dist/client/assets/separator-YeH3P39x.js +0 -1
- package/dist/client/assets/settingsLayout-CmNqO2kB.js +0 -1
- package/dist/client/assets/settingsSections.logic-Bg960p_I.js +0 -1
- package/dist/client/assets/sheet-CTbjQ5Bv.js +0 -1
- package/dist/client/assets/shield-DlqCO-0N.js +0 -1
- package/dist/client/assets/shield-alert-BrZ-Rb8N.js +0 -1
- package/dist/client/assets/shield-check-DHxdM6te.js +0 -1
- package/dist/client/assets/sidebar-4cwEndEB.js +0 -1
- package/dist/client/assets/sidebarProjectFolders-C7WDwUYJ.js +0 -4
- package/dist/client/assets/sidebarStatusText-Cq_MMykN.js +0 -1
- package/dist/client/assets/skeleton-BlostfCS.js +0 -1
- package/dist/client/assets/smartphone-OaA-Xj_d.js +0 -1
- package/dist/client/assets/sparkles-BXwkPX2M.js +0 -1
- package/dist/client/assets/src-gDjuIvMO.js +0 -14
- package/dist/client/assets/star-BjaAYD-x.js +0 -1
- package/dist/client/assets/toast-C_F1LeME.js +0 -1
- package/dist/client/assets/toggle-BPNEBXg_.js +0 -1
- package/dist/client/assets/toggle-group-BC1zJ9xi.js +0 -1
- package/dist/client/assets/tokenModePresentation-DUJ8DMTy.js +0 -1
- package/dist/client/assets/tooltip-iy3_osu5.js +0 -1
- package/dist/client/assets/triangle-alert-YXqtFxD6.js +0 -1
- package/dist/client/assets/unplug-e3z4rXgY.js +0 -1
- package/dist/client/assets/useAppSidebarCollapsed-mtvJ7qbW.js +0 -1
- package/dist/client/assets/useLabelableId-NJQsKdL6.js +0 -1
- package/dist/client/assets/useNavigate-2tVq4iZ2.js +0 -1
- package/dist/client/assets/usePhoneThreadActions-97AsVVIR.js +0 -1
- package/dist/client/assets/usePopupViewport-8OM2irPK.js +0 -1
- package/dist/client/assets/usePositioner-0Kb-C4al.js +0 -1
- package/dist/client/assets/useRenderElement-D0HVF5g_.js +0 -1
- package/dist/client/assets/useRouter-CcIDS3PN.js +0 -1
- package/dist/client/assets/useScrollLock-AUqaSAkf.js +0 -1
- package/dist/client/assets/useSwipeDismiss-CcW-GPO_.js +0 -1
- package/dist/client/assets/useTriggerFocusGuards-ChBvppef.js +0 -1
- package/dist/client/assets/useValueChanged-CThCTn4h.js +0 -1
- package/dist/client/assets/user-round-evbX_eto.js +0 -1
- package/dist/client/assets/utils-5-6TOrS1.js +0 -1
- package/dist/client/assets/visuallyHidden-BRaogTVF.js +0 -1
- package/dist/client/assets/wrench-mA--bcId.js +0 -1
- package/dist/client/assets/x-_SjFRYll.js +0 -1
package/dist/bin.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import { $ as AgentControlExternalCapabilitiesResult, $a as ProviderInstanceId, $i as ThreadMessageSentPayload, $n as UsageReadError, $o as CheckpointRef, $r as OrchestrationActorKind, $t as AgentControlMcpReadDeviceStateResult, A as AGENT_CONTROL_EXTERNAL_MCP_TOOL_NAMES, Aa as WORK_ITEM_DETAIL_COMMENT_BODY_MAX_BYTES, Ai as PROVIDER_SEND_TURN_MAX_FILE_BYTES, An as AtlassianCapability, Ao as RELAY_AUTHENTICATION_DEADLINE_MS, Ar as CHAT_ATTACHMENT_READ_CHUNK_BYTES, At as AgentControlMcpOrchestrationEventsResult, B as AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_DEFAULT, Bi as ProjectionPendingApprovalStatus, Bn as McpInventoryTool, Bo as RelayEffectiveRole, Br as ContextHandoffActivityPayload, Bt as AgentControlMcpProposeDeviceOpenUrlInput, C as AGENT_CONTROL_AUTOMATION_MIN_INTERVAL_MS, Ca as WorktreeSourceControlStateUpdatedPayload$1, Ci as OrchestrationStopBackgroundTaskError, Cn as DEVICE_SWIPE_DURATION_MAX_MS, Co as NATIVE_E2EE_MAX_GRANT_KEYS, Cr as ProviderRespondToUserInputInput, Ct as AgentControlMcpListDevicesResult, D as AGENT_CONTROL_ERROR_CODES, Da as WorktreeId, Di as OrchestrationThreadHistoryError, Dn as ThreadPriorityBatchSnapshot, Do as HubEnrollmentStartResult, Dr as ProviderStopBackgroundTaskInput, Dt as AgentControlMcpListThreadsResult, E as AGENT_CONTROL_DEVICE_ACTION_KINDS, Ea as Worktree, Ei as OrchestrationThreadHistoryCursor, En as DeviceUdid, Eo as HubEnrollmentCeremonyDetail, Er as ProviderSteerTurnInput, Et as AgentControlMcpListThreadsInput, F as AGENT_CONTROL_MCP_OPERATIONAL_RANGE_MAX_MS, Fa as SourceControlRepositoryError, Fi as ProjectDeletedPayload$1, Fn as GitCommandError, Fo as RELAY_MAX_RETRY_AFTER_MS, Fr as CONTEXT_HANDOFF_MAX_INPUT_CHARS, Ft as AgentControlMcpProposeDeviceBootInput, G as AgentControlActionKind, Ga as ThreadPriorityFingerprint, Gi as ThreadActivityAppendedPayload$1, Gn as McpServer, Go as AuthCreatePairingCredentialInput, Gr as ContextHandoffMode, Gt as AgentControlMcpProposeProjectUpdateInput, H as AGENT_CONTROL_RISK_TAGS, Ha as VcsUnsupportedOperationError, Hi as ProviderInteractionMode, Hn as McpOauthLoginResult, Ho as RelayProtocolVersion, Hr as ContextHandoffDigest, Ht as AgentControlMcpProposeDeviceShutdownInput, I as AGENT_CONTROL_MCP_OPERATIONAL_RETENTION_MS, Ii as ProjectMetaUpdatedPayload$1, In as GitManagerError, Io as RELAY_MAX_RPC_MESSAGE_BYTES, Ir as CONTEXT_HANDOFF_WS_METHODS, It as AgentControlMcpProposeDeviceDetachInput, J as AgentControlAutomationDefinition, Ja as DEFAULT_GIT_TEXT_GENERATION_OPTIONS_BY_PROVIDER, Ji as ThreadCreatedPayload$1, Jn as McpServerWritableConfig, Jo as AuthRpcError, Jr as DEFAULT_PROVIDER_INTERACTION_MODE, Jt as AgentControlMcpReadAutomationInput, K as AgentControlActionPlan, Ki as ThreadArchivedPayload$1, Kn as McpServerConfig, Ko as AuthRevokeClientSessionInput, Kr as DEFAULT_AGENT_TOKEN_MODE, Kt as AgentControlMcpProposeSettingsChangeInput, L as AGENT_CONTROL_MCP_READ_THREAD_TEXT_BUDGET_CHARS, La as VcsDriverKind, Li as ProjectMetadataDir, Ln as TextGenerationError, Lo as RELAY_SUPPORTED_VERSION_RANGE, Lr as ChatAttachment, Lt as AgentControlMcpProposeDeviceInputInput, M as AGENT_CONTROL_EXTERNAL_PROPOSAL_TTL_MS, Ma as WorkItemProviderKind, Mi as PROVIDER_SEND_TURN_MAX_INPUT_CHARS, Mn as AtlassianConnectionKind, Mo as RELAY_MAX_CONTROL_FRAME_BYTES, Mr as CONTEXT_HANDOFF_ERROR_MAX_CHARS, Mt as AgentControlMcpProposeAutomationCreateInput, N as AGENT_CONTROL_MCP_AUTOMATION_LIST_PROMPT_MAX_CHARS, Ni as ProjectAvatarSetPayload$1, Nn as AtlassianConnectionStatus, Nr as CONTEXT_HANDOFF_INSPECTION_CHUNK_MAX_BYTES, Nt as AgentControlMcpProposeAutomationUpdateInput, O as AGENT_CONTROL_EXTERNAL_CREDENTIAL_AUDIENCE, Oa as ThreadGoal, Oi as OrchestrationWorktreeShell, On as ThreadPriorityCandidateRanking, Oo as HubIdentitySummary, Or as ProviderStopSessionInput, Ot as AgentControlMcpMutationResult, P as AGENT_CONTROL_MCP_MESSAGE_TEXT_MAX_CHARS, Pa as SourceControlProviderError, Pi as ProjectCreatedPayload$1, Pn as AtlassianProduct, Po as RELAY_MAX_DATA_FRAME_BYTES, Pt as AgentControlMcpProposeDeviceAttachInput, Q as AgentControlCapability, Qa as ProviderDriverKind, Qi as ThreadInteractionModeSetPayload$1, Qn as OpinionatedPluginError, Qo as AuthSessionId, Qr as ORCHESTRATION_WS_METHODS, Qt as AgentControlMcpReadDeviceStateInput, R as AGENT_CONTROL_MCP_TOOLS, Ri as ProjectScript, Rn as McpInventoryResource, Ro as RelayCapability, Rr as ChatAttachmentReadError, Rt as AgentControlMcpProposeDeviceInstallInput, S as AGENT_CONTROL_AUTOMATION_MAX_HORIZON_MS, Sa as WorktreeRestoredPayload$1, Si as OrchestrationShellSnapshot, Sn as DEVICE_FRAME_MAGIC, So as HubDeviceGrantClaims, Sr as ProviderRespondToRequestInput, St as AgentControlMcpListDevicesInput, T as AGENT_CONTROL_CAPABILITIES, Ta as StatusBucket, Ti as OrchestrationThreadActivityTone, Tn as DeviceRpcError, To as HubConnectorStatus, Tr as ProviderSessionStartInput, Tt as AgentControlMcpListProjectsResult, U as AGENT_CONTROL_TERMINAL_PROPOSAL_STATUSES, Ua as ThreadPriorityBatchId, Ui as ProviderSessionRuntimeStatus, Un as McpProviderCapabilities, Uo as AuthBootstrapInput, Ur as ContextHandoffEndpointSnapshot, Ut as AgentControlMcpProposeProjectCreateInput, V as AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_MAX, Vn as McpListServersResult, Vo as RelayFrame, Vr as ContextHandoffAppliedBudget, Vt as AgentControlMcpProposeDeviceRecordingInput, W as AGENT_CONTROL_WS_METHODS, Wa as ThreadPriorityCandidateId, Wi as RuntimeMode, Wn as McpProviderSupport, Wo as AuthClientMetadataDeviceType, Wr as ContextHandoffInspectionError, Wt as AgentControlMcpProposeProjectRemoveInput, X as AgentControlAutomationRun, Xa as MODEL_SLUG_ALIASES_BY_PROVIDER, Xi as ThreadGoalClearedPayload$1, Xn as McpWorkspace, Xo as AtlassianConnectionId, Xr as ModelContextWindowMetadata, Xt as AgentControlMcpReadControlRequestInput, Y as AgentControlAutomationId, Ya as DEFAULT_MODEL, Yi as ThreadDeletedPayload$1, Yn as McpSettingsError, Yo as ApprovalRequestId, Yr as FileAttachmentCreateUploadUrlError, Yt as AgentControlMcpReadAutomationResult, Z as AgentControlAutomationRunId, Za as ModelCapabilities, Zi as ThreadGoalUpdatedPayload$1, Zn as McpWorkspaceId, Zo as AtlassianResourceId, Zr as ModelSelection, Zt as AgentControlMcpReadDeviceContentInput, _ as ProjectReadFileError, _a as WorktreeArchivedPayload$1, _i as OrchestrationProposedPlanId, _n as AgentControlRequestId, _r as THREAD_JUMP_KEYBINDING_COMMANDS, _s as TurnId, _t as AgentControlMcpInterruptThreadInput, a as ComputerUseBridgeConfig, aa as ThreadSessionSetPayload$1, ai as OrchestrationDispatchCommandError, an as AgentControlMcpUpdateThreadInput, ao as TerminalNotRunningError, ar as CursorSettings, as as MessageId, at as AgentControlExternalTaskId, b as ProjectWriteFileError, ba as WorktreeManualPositionSetPayload$1, bi as OrchestrationSession, bn as AgentControlRpcError, bo as LocalIntroductionCompleteRequest, br as isToolLifecycleItemType, bt as AgentControlMcpListAutomationsInput, c as WS_METHODS, ca as ThreadSnoozedPayload, ci as OrchestrationEventType, cn as AgentControlOperationId, co as EDITORS, cr as OpenCodeSettings, cs as ProjectId, ct as AgentControlIntegrationId, d as WsRpcGroup, da as ThreadTurnDiffCompletedPayload$1, di as OrchestrationGetTaskOutputError, dn as AgentControlPlanDigest, do as DESKTOP_NATIVE_NODE_CLAIM_DESCRIPTOR_PATH, dr as ThreadEnvMode, dt as AgentControlMcpControlRequestResult, ea as ThreadMetaUpdatedPayload$1, ei as OrchestrationAggregateKind, en as AgentControlMcpReadThreadInput, eo as defaultInstanceIdForDriver, er as ServerProvider, es as CommandId, et as AgentControlExternalCreateTaskInput, f as FilesystemBrowseError, fa as ThreadTurnInterruptRequestedPayload$1, fi as OrchestrationGetTurnDiffError, fn as AgentControlPrincipal, fo as DESKTOP_NATIVE_NODE_CLAIM_MAX_BODY_BYTES, fr as KeybindingRule, fs as RuntimeSessionId, ft as AgentControlMcpCreateThreadsInput, g as ProjectReadFileBinaryError, ga as TurnDispatchMode, gi as OrchestrationMessageRole, gn as AgentControlProposalStatus, go as LOCAL_INTRODUCTION_COMPLETE_PATH, gr as ResolvedKeybindingRule, gs as TrimmedNonEmptyString, gt as AgentControlMcpInstallationId, h as ProjectListEntriesError, ha as ThreadUnsnoozedPayload, hi as OrchestrationMessage, hn as AgentControlProposalId, ho as DesktopNativeNodeClaimSignRequest, hr as MODEL_PICKER_JUMP_KEYBINDING_COMMANDS, hs as ThreadId, ht as AgentControlMcpInstallation, i as fromLenientJson, ia as ThreadRuntimeModeSetPayload$1, ii as OrchestrationCommandReceiptStatus, in as AgentControlMcpSettingsSummaryResult, io as TerminalHistoryError, ir as CopilotSettings, is as IsoDateTime, it as AgentControlExternalRpcError, j as AGENT_CONTROL_EXTERNAL_PAIRING_CODE_TTL_MS, ja as WorkItemProviderError, ji as PROVIDER_SEND_TURN_MAX_IMAGE_BYTES, jn as AtlassianConnectionError, jo as RELAY_FRAME_TYPES, jr as CONTEXT_HANDOFF_ACTIVITY_KIND, jt as AgentControlMcpProposeAutomationCancelInput, k as AGENT_CONTROL_EXTERNAL_MCP_TOOLS, ka as WORK_ITEM_DETAIL_BODY_MAX_BYTES, ki as PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES, kn as ThreadPriorityRpcError, ko as HubGrantVerificationKeyId, kr as AgentTokenMode, kt as AgentControlMcpOperationalReadInput, l as WsDeviceRpcGroup, la as ThreadStatusBucketOverriddenPayload$1, li as OrchestrationGetFullThreadDiffError, ln as AgentControlOperationState, lo as OpenError, lr as ServerSettings, lt as AgentControlMcpCapabilitiesResult, ma as ThreadUnsettledPayload$1, mi as OrchestrationGetWorkflowScriptError, mn as AgentControlProposal, mo as DesktopNativeNodeClaimCommitRequest, mr as KeybindingsConfigError, mt as AgentControlMcpDiagnosticsSummaryResult, n as decodeJsonResult, na as ThreadProposedPlanUpsertedPayload$1, ni as OrchestrationCheckpointStatus, nn as AgentControlMcpRecentActivityResult, nr as ClaudeSettings, ns as EnvironmentId, nt as AgentControlExternalOverviewResult, o as ComputerUseRequest, oa as ThreadSettledPayload$1, oi as OrchestrationEvent, on as AgentControlMcpWaitForControlRequestInput, oo as TerminalSessionLookupError, or as DEFAULT_SERVER_SETTINGS, os as NonNegativeInt, ot as AgentControlExternalTaskIdInput, p as PROJECT_READ_FILE_BINARY_MAX_BYTES, pa as ThreadUnarchivedPayload$1, pi as OrchestrationGetTurnDiffResult, pn as AgentControlPromptSummary, po as DESKTOP_NATIVE_NODE_CLAIM_SIGN_PATH, pr as KeybindingsConfig, pt as AgentControlMcpDiagnosticsSummaryInput, q as AgentControlAutomation, qa as DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER, qi as ThreadAttachedToWorktreePayload$1, qn as McpServerName, qo as AuthRevokePairingLinkInput, qr as DEFAULT_PROJECT_METADATA_DIR, qt as AgentControlMcpProviderRuntimeEventsResult, r as formatSchemaError, ra as ThreadRevertedPayload$1, ri as OrchestrationCheckpointSummary, rn as AgentControlMcpSendMessageInput, ro as TerminalCwdError, rr as CodexSettings, rs as EventId, rt as AgentControlExternalProjectScope, s as ComputerUseResult, sa as ThreadSettlementOverride, si as OrchestrationEventMetadata, sn as AgentControlOperation, so as TerminalSubscriptionResyncError, sr as GrokSettings, ss as PositiveInt, st as AgentControlExternalWaitForTaskInput, t as collectUint8StreamText, ta as ThreadPriorityProjectedRanking, ti as OrchestrationCheckpointFile, tn as AgentControlMcpReadThreadResult, to as isProviderDriverKind, tr as ServerProviderUpdateError, ts as ContextHandoffId, tt as AgentControlExternalIntegration, u as WsHostedRpcGroup, ua as ThreadTokenModeSetPayload$1, ui as OrchestrationGetSnapshotError, un as AgentControlOperationStatus, uo as DESKTOP_NATIVE_NODE_CLAIM_COMMIT_PATH, ur as ServerSettingsError, ut as AgentControlMcpContextResult, v as ProjectSearchEntriesError, va as WorktreeCreatedPayload$1, vi as OrchestrationReadModel, vn as AgentControlResultEnvelope, vo as LOCAL_INTRODUCTION_DESCRIPTOR_PATH, vr as RuntimeSubagentStatus, vt as AgentControlMcpListAutomationRunsInput, w as AGENT_CONTROL_AUTOMATION_PROPOSAL_TTL_MS, wa as PullRequestState, wi as OrchestrationThread, wn as DEVICE_WS_METHODS, wo as NodeE2eeAdmissionPolicy, wr as ProviderSendTurnInput, wt as AgentControlMcpListProjectsInput, x as AGENT_CONTROL_ACTION_CAPABILITIES, xa as WorktreeMetaUpdatedPayload$1, xi as OrchestrationSessionStatus, xn as DEVICE_CAPABILITY_LABELS, xo as HUB_DEVICE_GRANT_MAX_BYTES, xr as ProviderInterruptTurnInput, xt as AgentControlMcpListAutomationsResult, y as ProjectStageFileReferenceError, ya as WorktreeDeletedPayload$1, yi as OrchestrationReplayEventsError, yn as AgentControlRiskTag, yo as LOCAL_INTRODUCTION_MAX_BODY_BYTES, yr as ToolLifecycleItemType, yt as AgentControlMcpListAutomationRunsResult, z as AGENT_CONTROL_MCP_TOOL_NAMES, za as VcsProcessExitError, zi as ProjectionPendingApprovalDecision, zn as McpInventoryResourceTemplate, zo as RelayChannelId, zr as ClientOrchestrationCommand, zt as AgentControlMcpProposeDeviceLaunchInput } from "./collectUint8StreamText-C_VNyArd.mjs";
|
|
3
|
+
import { $ as AgentControlExternalCapabilitiesResult, $a as ProviderInstanceId, $i as ThreadMessageSentPayload, $n as UsageReadError, $o as CheckpointRef, $r as OrchestrationActorKind, $t as AgentControlMcpReadDeviceStateResult, A as AGENT_CONTROL_EXTERNAL_MCP_TOOL_NAMES, Aa as WORK_ITEM_DETAIL_COMMENT_BODY_MAX_BYTES, Ai as PROVIDER_SEND_TURN_MAX_FILE_BYTES, An as AtlassianCapability, Ao as RELAY_AUTHENTICATION_DEADLINE_MS, Ar as CHAT_ATTACHMENT_READ_CHUNK_BYTES, At as AgentControlMcpOrchestrationEventsResult, B as AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_DEFAULT, Bi as ProjectionPendingApprovalStatus, Bn as McpInventoryTool, Bo as RelayEffectiveRole, Br as ContextHandoffActivityPayload, Bt as AgentControlMcpProposeDeviceOpenUrlInput, C as AGENT_CONTROL_AUTOMATION_MIN_INTERVAL_MS, Ca as WorktreeSourceControlStateUpdatedPayload$1, Ci as OrchestrationStopBackgroundTaskError, Cn as DEVICE_SWIPE_DURATION_MAX_MS, Co as NATIVE_E2EE_MAX_GRANT_KEYS, Cr as ProviderRespondToUserInputInput, Ct as AgentControlMcpListDevicesResult, D as AGENT_CONTROL_ERROR_CODES, Da as WorktreeId, Di as OrchestrationThreadHistoryError, Dn as ThreadPriorityBatchSnapshot, Do as HubEnrollmentStartResult, Dr as ProviderStopBackgroundTaskInput, Dt as AgentControlMcpListThreadsResult, E as AGENT_CONTROL_DEVICE_ACTION_KINDS, Ea as Worktree, Ei as OrchestrationThreadHistoryCursor, En as DeviceUdid, Eo as HubEnrollmentCeremonyDetail, Er as ProviderSteerTurnInput, Et as AgentControlMcpListThreadsInput, F as AGENT_CONTROL_MCP_OPERATIONAL_RANGE_MAX_MS, Fa as SourceControlRepositoryError, Fi as ProjectDeletedPayload$1, Fn as GitCommandError, Fo as RELAY_MAX_RETRY_AFTER_MS, Fr as CONTEXT_HANDOFF_MAX_INPUT_CHARS, Ft as AgentControlMcpProposeDeviceBootInput, G as AgentControlActionKind, Ga as ThreadPriorityFingerprint, Gi as ThreadActivityAppendedPayload$1, Gn as McpServer, Go as AuthCreatePairingCredentialInput, Gr as ContextHandoffMode, Gt as AgentControlMcpProposeProjectUpdateInput, H as AGENT_CONTROL_RISK_TAGS, Ha as VcsUnsupportedOperationError, Hi as ProviderInteractionMode, Hn as McpOauthLoginResult, Ho as RelayProtocolVersion, Hr as ContextHandoffDigest, Ht as AgentControlMcpProposeDeviceShutdownInput, I as AGENT_CONTROL_MCP_OPERATIONAL_RETENTION_MS, Ii as ProjectMetaUpdatedPayload$1, In as GitManagerError, Io as RELAY_MAX_RPC_MESSAGE_BYTES, Ir as CONTEXT_HANDOFF_WS_METHODS, It as AgentControlMcpProposeDeviceDetachInput, J as AgentControlAutomationDefinition, Ja as DEFAULT_GIT_TEXT_GENERATION_OPTIONS_BY_PROVIDER, Ji as ThreadCreatedPayload$1, Jn as McpServerWritableConfig, Jo as AuthRpcError, Jr as DEFAULT_PROVIDER_INTERACTION_MODE, Jt as AgentControlMcpReadAutomationInput, K as AgentControlActionPlan, Ki as ThreadArchivedPayload$1, Kn as McpServerConfig, Ko as AuthRevokeClientSessionInput, Kr as DEFAULT_AGENT_TOKEN_MODE, Kt as AgentControlMcpProposeSettingsChangeInput, L as AGENT_CONTROL_MCP_READ_THREAD_TEXT_BUDGET_CHARS, La as VcsDriverKind, Li as ProjectMetadataDir, Ln as TextGenerationError, Lo as RELAY_SUPPORTED_VERSION_RANGE, Lr as ChatAttachment, Lt as AgentControlMcpProposeDeviceInputInput, M as AGENT_CONTROL_EXTERNAL_PROPOSAL_TTL_MS, Ma as WorkItemProviderKind, Mi as PROVIDER_SEND_TURN_MAX_INPUT_CHARS, Mn as AtlassianConnectionKind, Mo as RELAY_MAX_CONTROL_FRAME_BYTES, Mr as CONTEXT_HANDOFF_ERROR_MAX_CHARS, Mt as AgentControlMcpProposeAutomationCreateInput, N as AGENT_CONTROL_MCP_AUTOMATION_LIST_PROMPT_MAX_CHARS, Ni as ProjectAvatarSetPayload$1, Nn as AtlassianConnectionStatus, Nr as CONTEXT_HANDOFF_INSPECTION_CHUNK_MAX_BYTES, Nt as AgentControlMcpProposeAutomationUpdateInput, O as AGENT_CONTROL_EXTERNAL_CREDENTIAL_AUDIENCE, Oa as ThreadGoal, Oi as OrchestrationWorktreeShell, On as ThreadPriorityCandidateRanking, Oo as HubIdentitySummary, Or as ProviderStopSessionInput, Ot as AgentControlMcpMutationResult, P as AGENT_CONTROL_MCP_MESSAGE_TEXT_MAX_CHARS, Pa as SourceControlProviderError, Pi as ProjectCreatedPayload$1, Pn as AtlassianProduct, Po as RELAY_MAX_DATA_FRAME_BYTES, Pt as AgentControlMcpProposeDeviceAttachInput, Q as AgentControlCapability, Qa as ProviderDriverKind, Qi as ThreadInteractionModeSetPayload$1, Qn as OpinionatedPluginError, Qo as AuthSessionId, Qr as ORCHESTRATION_WS_METHODS, Qt as AgentControlMcpReadDeviceStateInput, R as AGENT_CONTROL_MCP_TOOLS, Ri as ProjectScript, Rn as McpInventoryResource, Ro as RelayCapability, Rr as ChatAttachmentReadError, Rt as AgentControlMcpProposeDeviceInstallInput, S as AGENT_CONTROL_AUTOMATION_MAX_HORIZON_MS, Sa as WorktreeRestoredPayload$1, Si as OrchestrationShellSnapshot, Sn as DEVICE_FRAME_MAGIC, So as HubDeviceGrantClaims, Sr as ProviderRespondToRequestInput, St as AgentControlMcpListDevicesInput, T as AGENT_CONTROL_CAPABILITIES, Ta as StatusBucket, Ti as OrchestrationThreadActivityTone, Tn as DeviceRpcError, To as HubConnectorStatus, Tr as ProviderSessionStartInput, Tt as AgentControlMcpListProjectsResult, U as AGENT_CONTROL_TERMINAL_PROPOSAL_STATUSES, Ua as ThreadPriorityBatchId, Ui as ProviderSessionRuntimeStatus, Un as McpProviderCapabilities, Uo as AuthBootstrapInput, Ur as ContextHandoffEndpointSnapshot, Ut as AgentControlMcpProposeProjectCreateInput, V as AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_MAX, Vn as McpListServersResult, Vo as RelayFrame, Vr as ContextHandoffAppliedBudget, Vt as AgentControlMcpProposeDeviceRecordingInput, W as AGENT_CONTROL_WS_METHODS, Wa as ThreadPriorityCandidateId, Wi as RuntimeMode, Wn as McpProviderSupport, Wo as AuthClientMetadataDeviceType, Wr as ContextHandoffInspectionError, Wt as AgentControlMcpProposeProjectRemoveInput, X as AgentControlAutomationRun, Xa as MODEL_SLUG_ALIASES_BY_PROVIDER, Xi as ThreadGoalClearedPayload$1, Xn as McpWorkspace, Xo as AtlassianConnectionId, Xr as ModelContextWindowMetadata, Xt as AgentControlMcpReadControlRequestInput, Y as AgentControlAutomationId, Ya as DEFAULT_MODEL, Yi as ThreadDeletedPayload$1, Yn as McpSettingsError, Yo as ApprovalRequestId, Yr as FileAttachmentCreateUploadUrlError, Yt as AgentControlMcpReadAutomationResult, Z as AgentControlAutomationRunId, Za as ModelCapabilities, Zi as ThreadGoalUpdatedPayload$1, Zn as McpWorkspaceId, Zo as AtlassianResourceId, Zr as ModelSelection, Zt as AgentControlMcpReadDeviceContentInput, _ as ProjectReadFileError, _a as WorktreeArchivedPayload$1, _i as OrchestrationProposedPlanId, _n as AgentControlRequestId, _o as LOCAL_INTRODUCTION_CONTROL_HEADER, _r as THREAD_JUMP_KEYBINDING_COMMANDS, _s as TurnId, _t as AgentControlMcpInterruptThreadInput, a as ComputerUseBridgeConfig, aa as ThreadSessionSetPayload$1, ai as OrchestrationDispatchCommandError, an as AgentControlMcpUpdateThreadInput, ao as TerminalNotRunningError, ar as CursorSettings, as as MessageId, at as AgentControlExternalTaskId, b as ProjectWriteFileError, ba as WorktreeManualPositionSetPayload$1, bi as OrchestrationSession, bn as AgentControlRpcError, bo as LocalIntroductionCompleteRequest, br as isToolLifecycleItemType, bt as AgentControlMcpListAutomationsInput, c as WS_METHODS, ca as ThreadSnoozedPayload, ci as OrchestrationEventType, cn as AgentControlOperationId, co as EDITORS, cr as OpenCodeSettings, cs as ProjectId, ct as AgentControlIntegrationId, d as WsRpcGroup, da as ThreadTurnDiffCompletedPayload$1, di as OrchestrationGetTaskOutputError, dn as AgentControlPlanDigest, do as DESKTOP_NATIVE_NODE_CLAIM_DESCRIPTOR_PATH, dr as ThreadEnvMode, dt as AgentControlMcpControlRequestResult, ea as ThreadMetaUpdatedPayload$1, ei as OrchestrationAggregateKind, en as AgentControlMcpReadThreadInput, eo as defaultInstanceIdForDriver, er as ServerProvider, es as CommandId, et as AgentControlExternalCreateTaskInput, f as FilesystemBrowseError, fa as ThreadTurnInterruptRequestedPayload$1, fi as OrchestrationGetTurnDiffError, fn as AgentControlPrincipal, fo as DESKTOP_NATIVE_NODE_CLAIM_MAX_BODY_BYTES, fr as KeybindingRule, fs as RuntimeSessionId, ft as AgentControlMcpCreateThreadsInput, g as ProjectReadFileBinaryError, ga as TurnDispatchMode, gi as OrchestrationMessageRole, gn as AgentControlProposalStatus, go as LOCAL_INTRODUCTION_COMPLETE_PATH, gr as ResolvedKeybindingRule, gs as TrimmedNonEmptyString, gt as AgentControlMcpInstallationId, h as ProjectListEntriesError, ha as ThreadUnsnoozedPayload, hi as OrchestrationMessage, hn as AgentControlProposalId, ho as DesktopNativeNodeClaimSignRequest, hr as MODEL_PICKER_JUMP_KEYBINDING_COMMANDS, hs as ThreadId, ht as AgentControlMcpInstallation, i as fromLenientJson, ia as ThreadRuntimeModeSetPayload$1, ii as OrchestrationCommandReceiptStatus, in as AgentControlMcpSettingsSummaryResult, io as TerminalHistoryError, ir as CopilotSettings, is as IsoDateTime, it as AgentControlExternalRpcError, j as AGENT_CONTROL_EXTERNAL_PAIRING_CODE_TTL_MS, ja as WorkItemProviderError, ji as PROVIDER_SEND_TURN_MAX_IMAGE_BYTES, jn as AtlassianConnectionError, jo as RELAY_FRAME_TYPES, jr as CONTEXT_HANDOFF_ACTIVITY_KIND, jt as AgentControlMcpProposeAutomationCancelInput, k as AGENT_CONTROL_EXTERNAL_MCP_TOOLS, ka as WORK_ITEM_DETAIL_BODY_MAX_BYTES, ki as PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES, kn as ThreadPriorityRpcError, ko as HubGrantVerificationKeyId, kr as AgentTokenMode, kt as AgentControlMcpOperationalReadInput, l as WsDeviceRpcGroup, la as ThreadStatusBucketOverriddenPayload$1, li as OrchestrationGetFullThreadDiffError, ln as AgentControlOperationState, lo as OpenError, lr as ServerSettings, lt as AgentControlMcpCapabilitiesResult, ma as ThreadUnsettledPayload$1, mi as OrchestrationGetWorkflowScriptError, mn as AgentControlProposal, mo as DesktopNativeNodeClaimCommitRequest, mr as KeybindingsConfigError, mt as AgentControlMcpDiagnosticsSummaryResult, n as decodeJsonResult, na as ThreadProposedPlanUpsertedPayload$1, ni as OrchestrationCheckpointStatus, nn as AgentControlMcpRecentActivityResult, nr as ClaudeSettings, ns as EnvironmentId, nt as AgentControlExternalOverviewResult, o as ComputerUseRequest, oa as ThreadSettledPayload$1, oi as OrchestrationEvent, on as AgentControlMcpWaitForControlRequestInput, oo as TerminalSessionLookupError, or as DEFAULT_SERVER_SETTINGS, os as NonNegativeInt, ot as AgentControlExternalTaskIdInput, p as PROJECT_READ_FILE_BINARY_MAX_BYTES, pa as ThreadUnarchivedPayload$1, pi as OrchestrationGetTurnDiffResult, pn as AgentControlPromptSummary, po as DESKTOP_NATIVE_NODE_CLAIM_SIGN_PATH, pr as KeybindingsConfig, pt as AgentControlMcpDiagnosticsSummaryInput, q as AgentControlAutomation, qa as DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER, qi as ThreadAttachedToWorktreePayload$1, qn as McpServerName, qo as AuthRevokePairingLinkInput, qr as DEFAULT_PROJECT_METADATA_DIR, qt as AgentControlMcpProviderRuntimeEventsResult, r as formatSchemaError, ra as ThreadRevertedPayload$1, ri as OrchestrationCheckpointSummary, rn as AgentControlMcpSendMessageInput, ro as TerminalCwdError, rr as CodexSettings, rs as EventId, rt as AgentControlExternalProjectScope, s as ComputerUseResult, sa as ThreadSettlementOverride, si as OrchestrationEventMetadata, sn as AgentControlOperation, so as TerminalSubscriptionResyncError, sr as GrokSettings, ss as PositiveInt, st as AgentControlExternalWaitForTaskInput, t as collectUint8StreamText, ta as ThreadPriorityProjectedRanking, ti as OrchestrationCheckpointFile, tn as AgentControlMcpReadThreadResult, to as isProviderDriverKind, tr as ServerProviderUpdateError, ts as ContextHandoffId, tt as AgentControlExternalIntegration, u as WsHostedRpcGroup, ua as ThreadTokenModeSetPayload$1, ui as OrchestrationGetSnapshotError, un as AgentControlOperationStatus, uo as DESKTOP_NATIVE_NODE_CLAIM_COMMIT_PATH, ur as ServerSettingsError, ut as AgentControlMcpContextResult, v as ProjectSearchEntriesError, va as WorktreeCreatedPayload$1, vi as OrchestrationReadModel, vn as AgentControlResultEnvelope, vo as LOCAL_INTRODUCTION_DESCRIPTOR_PATH, vr as RuntimeSubagentStatus, vt as AgentControlMcpListAutomationRunsInput, w as AGENT_CONTROL_AUTOMATION_PROPOSAL_TTL_MS, wa as PullRequestState, wi as OrchestrationThread, wn as DEVICE_WS_METHODS, wo as NodeE2eeAdmissionPolicy, wr as ProviderSendTurnInput, wt as AgentControlMcpListProjectsInput, x as AGENT_CONTROL_ACTION_CAPABILITIES, xa as WorktreeMetaUpdatedPayload$1, xi as OrchestrationSessionStatus, xn as DEVICE_CAPABILITY_LABELS, xo as HUB_DEVICE_GRANT_MAX_BYTES, xr as ProviderInterruptTurnInput, xt as AgentControlMcpListAutomationsResult, y as ProjectStageFileReferenceError, ya as WorktreeDeletedPayload$1, yi as OrchestrationReplayEventsError, yn as AgentControlRiskTag, yo as LOCAL_INTRODUCTION_MAX_BODY_BYTES, yr as ToolLifecycleItemType, yt as AgentControlMcpListAutomationRunsResult, z as AGENT_CONTROL_MCP_TOOL_NAMES, za as VcsProcessExitError, zi as ProjectionPendingApprovalDecision, zn as McpInventoryResourceTemplate, zo as RelayChannelId, zr as ClientOrchestrationCommand, zt as AgentControlMcpProposeDeviceLaunchInput } from "./collectUint8StreamText-C_VNyArd.mjs";
|
|
4
4
|
import { $ as normalizeGitRemoteUrl, A as runtimeQueueBlockedDuration, B as startupCommandGateQueueHighWater, C as providerStartupQueueHighWater, Ct as decode, D as providerTurnsTotal, E as providerTurnMetricAttributes, Et as Type, F as runtimeQueueHighWater, G as LocalDiagnosticsMetrics, H as terminalRestartsTotal, I as runtimeQueueOverflowsTotal, J as buildTemporaryWorktreeBranchName, K as LocalDiagnosticsMetricsLive, L as runtimeQueueRecoveriesTotal, M as runtimeQueueDepth, N as runtimeQueueDequeuesTotal, O as rpcRequestDuration, P as runtimeQueueEnqueuesTotal, Q as mergeGitStatusParts, R as startupCommandGateEnqueuesTotal, S as providerStartupQueueDepth, St as Tokeniser, T as providerTurnDuration, Tt as rfc8949EncodeOptions, U as terminalSessionsTotal, V as startupCommandGateQueueWaitDuration, W as withMetrics, X as detectSourceControlProviderFromGitRemoteUrl, Y as dedupeRemoteBranchesWithLocalMatches, Z as isTemporaryWorktreeBranch, _ as providerRuntimeEventsTotal, _t as encodeNodeKeyRotationTranscript, a as contextHandoffsTotal, at as DEFAULT_PORT, b as providerStaleStopTimeoutsTotal, bt as formatNodePublicKeyFingerprint, c as increment, ct as deriveServerPaths, d as orchestrationCommandAckDuration, dt as resolveManagedWorktreesRoot, et as resolveAutoFeatureBranchName, f as orchestrationCommandDuration, ft as resolveNodeE2eePolicyConfig, g as providerMetricAttributes, gt as encodeNodeAuthenticationTranscript, h as providerEventLogRecordsDroppedTotal, ht as encodeNativeNodeClaimTranscript, i as contextHandoffPreparationDuration, it as outcomeFromExit, j as runtimeQueueCoalescedTotal, k as rpcRequestsTotal, l as metricAttributes, lt as ensureServerDirectories, m as orchestrationEventsProcessedTotal, mt as canonicalizeHubOrigin, n as contextHandoffContextEntriesTotal, nt as sanitizeFeatureBranchName, o as gitCommandDuration, ot as RuntimeMode$1, p as orchestrationCommandsTotal, pt as resolveStaticDir, q as WORKTREE_BRANCH_PREFIX, r as contextHandoffDispatchDuration, rt as compactTraceAttributes, s as gitCommandsTotal, st as ServerConfig, t as contextHandoffContextBytesTotal, tt as sanitizeBranchFragment, u as metricNames, ut as resolveHubConnectorConfig, v as providerRuntimeStaleEventsTotal, vt as equalNodeIdentityBytes, w as providerStartupQueueWaitDuration, wt as encode, x as providerStartupAdmissionTotal, xt as normalizeHubNodeName, y as providerSessionsTotal, yt as fingerprintNodePublicKey, z as startupCommandGateQueueDepth } from "./Metrics-a1h4iBQi.mjs";
|
|
5
5
|
import { a as makeForgejoDiscovery, c as sourceBranch, d as firstNonEmptyLine, f as probeSourceControlProvider, h as layer$21, i as makeBitbucketDiscovery, m as VcsProcess, n as githubDiscovery, o as SourceControlProvider, p as refineUnknownRemoteProvider, r as gitlabDiscovery, s as parseSourceControlOwnerRef, t as azureDevOpsDiscovery, u as detailFromCause } from "./SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs";
|
|
6
6
|
import { n as detectSourceControlProviderFromRemoteUrl, r as getChangeRequestTerminologyForKind } from "./sourceControl-BiEBxN01.mjs";
|
|
@@ -14,7 +14,7 @@ import { Socket, createServer } from "node:net";
|
|
|
14
14
|
import { Array as Array$1, Cache, Cause, Clock, Config, Console, Context, Data, DateTime, Deferred, Duration, Effect, Encoding, Equal, Exit, Fiber, FileSystem, Layer, Logger, Metric, Option, Order, Path, Predicate, PubSub, Queue, Redacted, Ref, References, Result, Schedule, Schema, SchemaGetter, SchemaIssue, SchemaTransformation, Scope, Semaphore, Stream, Struct, SubscriptionRef, SynchronizedRef, Tracer, TxQueue, TxRef } from "effect";
|
|
15
15
|
import * as Schema$1 from "effect/Schema";
|
|
16
16
|
import * as P from "effect/Predicate";
|
|
17
|
-
import { FetchHttpClient, HttpBody, HttpClient, HttpClientRequest, HttpClientResponse, HttpRouter, HttpServer, HttpServerRequest, HttpServerResponse, Multipart } from "effect/unstable/http";
|
|
17
|
+
import { FetchHttpClient, Headers, HttpBody, HttpClient, HttpClientRequest, HttpClientResponse, HttpRouter, HttpServer, HttpServerRequest, HttpServerResponse, Multipart } from "effect/unstable/http";
|
|
18
18
|
import * as NodePath from "node:path";
|
|
19
19
|
import path, { basename, dirname, extname, join } from "node:path";
|
|
20
20
|
import * as Crypto from "node:crypto";
|
|
@@ -2467,9 +2467,14 @@ const INLINE_ATTACHMENT_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
|
2467
2467
|
".webp"
|
|
2468
2468
|
]);
|
|
2469
2469
|
const STATIC_CONTENT_TYPES = {
|
|
2470
|
+
".avif": "image/avif",
|
|
2471
|
+
".bmp": "image/bmp",
|
|
2470
2472
|
".css": "text/css; charset=utf-8",
|
|
2471
2473
|
".html": "text/html; charset=utf-8",
|
|
2474
|
+
".gif": "image/gif",
|
|
2472
2475
|
".ico": "image/x-icon",
|
|
2476
|
+
".jpeg": "image/jpeg",
|
|
2477
|
+
".jpg": "image/jpeg",
|
|
2473
2478
|
".js": "text/javascript; charset=utf-8",
|
|
2474
2479
|
".json": "application/json; charset=utf-8",
|
|
2475
2480
|
".map": "application/json; charset=utf-8",
|
|
@@ -2477,7 +2482,8 @@ const STATIC_CONTENT_TYPES = {
|
|
|
2477
2482
|
".svg": "image/svg+xml; charset=utf-8",
|
|
2478
2483
|
".txt": "text/plain; charset=utf-8",
|
|
2479
2484
|
".wasm": "application/wasm",
|
|
2480
|
-
".webmanifest": "application/manifest+json; charset=utf-8"
|
|
2485
|
+
".webmanifest": "application/manifest+json; charset=utf-8",
|
|
2486
|
+
".webp": "image/webp"
|
|
2481
2487
|
};
|
|
2482
2488
|
const browserApiCorsLayer = HttpRouter.cors({
|
|
2483
2489
|
allowedMethods: [
|
|
@@ -2796,16 +2802,17 @@ const projectFaviconRouteLayer = HttpRouter.add("GET", "/api/project-favicon", E
|
|
|
2796
2802
|
if (Option.isNone(url)) return HttpServerResponse.text("Bad Request", { status: 400 });
|
|
2797
2803
|
const projectCwd = url.value.searchParams.get("cwd");
|
|
2798
2804
|
if (!projectCwd) return HttpServerResponse.text("Missing cwd parameter", { status: 400 });
|
|
2799
|
-
const
|
|
2800
|
-
if (!
|
|
2805
|
+
const favicon = yield* (yield* ProjectFaviconResolver).readIcon(projectCwd);
|
|
2806
|
+
if (!favicon) return HttpServerResponse.text(FALLBACK_PROJECT_FAVICON_SVG, {
|
|
2801
2807
|
status: 200,
|
|
2802
2808
|
contentType: "image/svg+xml",
|
|
2803
2809
|
headers: inlineImageResponseHeaders("fallback.svg")
|
|
2804
2810
|
});
|
|
2805
|
-
return
|
|
2811
|
+
return HttpServerResponse.uint8Array(favicon.bytes, {
|
|
2806
2812
|
status: 200,
|
|
2807
|
-
|
|
2808
|
-
|
|
2813
|
+
contentType: resolveStaticContentType(favicon.path, yield* Path.Path),
|
|
2814
|
+
headers: inlineImageResponseHeaders(favicon.path)
|
|
2815
|
+
});
|
|
2809
2816
|
}).pipe(Effect.catchTag("AuthError", respondToAuthError)));
|
|
2810
2817
|
const AvatarFormSchema = Schema$1.Struct({ avatar: Multipart.SingleFileSchema });
|
|
2811
2818
|
const PROJECT_ID_PATTERN = /^[A-Za-z0-9_-]+$/;
|
|
@@ -34766,7 +34773,7 @@ const scopedSafeTeardown = (label) => (effect) => Effect.gen(function* () {
|
|
|
34766
34773
|
});
|
|
34767
34774
|
//#endregion
|
|
34768
34775
|
//#region package.json
|
|
34769
|
-
var version$1 = "0.1.
|
|
34776
|
+
var version$1 = "0.1.24";
|
|
34770
34777
|
//#endregion
|
|
34771
34778
|
//#region src/provider/Layers/CodexProvider.ts
|
|
34772
34779
|
const PROVIDER_PROBE_TIMEOUT_MS = 8e3;
|
|
@@ -49237,7 +49244,7 @@ async function readResourceTelemetryHistory(input) {
|
|
|
49237
49244
|
//#endregion
|
|
49238
49245
|
//#region src/diagnostics/ProcessDiagnostics.ts
|
|
49239
49246
|
const QUERY_TIMEOUT_MS = 3e3;
|
|
49240
|
-
const MAX_OUTPUT_BYTES = 4194304;
|
|
49247
|
+
const MAX_OUTPUT_BYTES$1 = 4194304;
|
|
49241
49248
|
const MAX_PROCESSES = 2e4;
|
|
49242
49249
|
/** Parse fixed numeric columns; never capture command-line arguments. */
|
|
49243
49250
|
function parseProcessTable(output) {
|
|
@@ -49318,7 +49325,7 @@ async function queryProcessTable(fresh = false) {
|
|
|
49318
49325
|
execFile("/bin/ps", ["-axo", "pid=,ppid=,lstart=,pcpu=,rss=,stat=,etime=,comm="], {
|
|
49319
49326
|
encoding: "utf8",
|
|
49320
49327
|
timeout: QUERY_TIMEOUT_MS,
|
|
49321
|
-
maxBuffer: MAX_OUTPUT_BYTES,
|
|
49328
|
+
maxBuffer: MAX_OUTPUT_BYTES$1,
|
|
49322
49329
|
env: {
|
|
49323
49330
|
...process.env,
|
|
49324
49331
|
LC_ALL: "C"
|
|
@@ -73576,6 +73583,8 @@ var RelayConnectionSession = class {
|
|
|
73576
73583
|
#frameDeliveryActive = false;
|
|
73577
73584
|
#settled = false;
|
|
73578
73585
|
#closed = false;
|
|
73586
|
+
#authenticationStarted = false;
|
|
73587
|
+
#rejectAuthentication;
|
|
73579
73588
|
#listeners;
|
|
73580
73589
|
constructor(options) {
|
|
73581
73590
|
this.#identity = options.identity;
|
|
@@ -73591,8 +73600,21 @@ var RelayConnectionSession = class {
|
|
|
73591
73600
|
get ready() {
|
|
73592
73601
|
return this.#ready;
|
|
73593
73602
|
}
|
|
73594
|
-
|
|
73595
|
-
if (this.#
|
|
73603
|
+
authenticate() {
|
|
73604
|
+
if (this.#authenticationStarted || this.#closed) return Promise.reject(new RelayConnectionError("internal_error"));
|
|
73605
|
+
this.#authenticationStarted = true;
|
|
73606
|
+
return new Promise((resolve, reject) => {
|
|
73607
|
+
this.#rejectAuthentication = reject;
|
|
73608
|
+
this.#authenticate().then((ready) => {
|
|
73609
|
+
this.#rejectAuthentication = void 0;
|
|
73610
|
+
resolve(ready);
|
|
73611
|
+
}, (error) => {
|
|
73612
|
+
this.#rejectAuthentication = void 0;
|
|
73613
|
+
reject(error);
|
|
73614
|
+
});
|
|
73615
|
+
});
|
|
73616
|
+
}
|
|
73617
|
+
async #authenticate() {
|
|
73596
73618
|
let auth;
|
|
73597
73619
|
try {
|
|
73598
73620
|
auth = await this.#identity.createRelayAuthenticationFrame(this.#hubOrigin, {
|
|
@@ -73641,6 +73663,7 @@ var RelayConnectionSession = class {
|
|
|
73641
73663
|
};
|
|
73642
73664
|
const onOpen = () => {
|
|
73643
73665
|
if (this.#closed) return;
|
|
73666
|
+
if (this.#timer !== void 0) this.#scheduler.clearTimeout(this.#timer);
|
|
73644
73667
|
try {
|
|
73645
73668
|
socket.send(authBytes);
|
|
73646
73669
|
} catch {
|
|
@@ -73714,6 +73737,7 @@ var RelayConnectionSession = class {
|
|
|
73714
73737
|
socket.addEventListener("message", onMessage);
|
|
73715
73738
|
socket.addEventListener("error", onError);
|
|
73716
73739
|
socket.addEventListener("close", onClose);
|
|
73740
|
+
this.#timer = this.#scheduler.setTimeout(() => fail(new RelayConnectionError("network")), RELAY_AUTHENTICATION_DEADLINE_MS);
|
|
73717
73741
|
});
|
|
73718
73742
|
}
|
|
73719
73743
|
/**
|
|
@@ -73745,6 +73769,11 @@ var RelayConnectionSession = class {
|
|
|
73745
73769
|
close() {
|
|
73746
73770
|
if (this.#closed) return;
|
|
73747
73771
|
this.#closed = true;
|
|
73772
|
+
if (!this.#settled) {
|
|
73773
|
+
this.#settled = true;
|
|
73774
|
+
this.#rejectAuthentication?.(new RelayConnectionError("network"));
|
|
73775
|
+
}
|
|
73776
|
+
this.#rejectAuthentication = void 0;
|
|
73748
73777
|
for (const frame of this.#pendingPostReadyFrames) clearRelayFrameBytes(frame);
|
|
73749
73778
|
this.#pendingPostReadyFrames = [];
|
|
73750
73779
|
this.#clearPendingAuthentication();
|
|
@@ -89703,83 +89732,173 @@ const ProviderRegistryLive = Layer.effect(ProviderRegistry, Effect.gen(function*
|
|
|
89703
89732
|
};
|
|
89704
89733
|
}));
|
|
89705
89734
|
//#endregion
|
|
89706
|
-
//#region src/project/
|
|
89707
|
-
|
|
89708
|
-
|
|
89709
|
-
|
|
89710
|
-
|
|
89711
|
-
|
|
89712
|
-
|
|
89713
|
-
|
|
89714
|
-
|
|
89715
|
-
|
|
89716
|
-
|
|
89717
|
-
|
|
89718
|
-
|
|
89719
|
-
|
|
89720
|
-
|
|
89721
|
-
|
|
89722
|
-
|
|
89723
|
-
|
|
89724
|
-
|
|
89725
|
-
|
|
89726
|
-
|
|
89727
|
-
|
|
89728
|
-
|
|
89729
|
-
|
|
89730
|
-
|
|
89731
|
-
|
|
89732
|
-
|
|
89733
|
-
|
|
89734
|
-
|
|
89735
|
-
|
|
89736
|
-
|
|
89737
|
-
|
|
89738
|
-
|
|
89739
|
-
|
|
89740
|
-
|
|
89741
|
-
|
|
89742
|
-
|
|
89743
|
-
|
|
89744
|
-
|
|
89745
|
-
|
|
89746
|
-
|
|
89747
|
-
|
|
89748
|
-
|
|
89749
|
-
|
|
89750
|
-
|
|
89751
|
-
|
|
89752
|
-
const
|
|
89753
|
-
|
|
89754
|
-
|
|
89755
|
-
|
|
89756
|
-
|
|
89757
|
-
|
|
89758
|
-
|
|
89759
|
-
|
|
89735
|
+
//#region src/project/projectFaviconWorker.ts
|
|
89736
|
+
/**
|
|
89737
|
+
* Serialized into a short-lived Node/Bun child. Keep this function self-contained:
|
|
89738
|
+
* opening a cloud-backed file can block in the kernel even after an async read
|
|
89739
|
+
* is cancelled. A separate process keeps optional icons out of the node's shared
|
|
89740
|
+
* filesystem/DNS worker pool, and lets the parent terminate a stalled read.
|
|
89741
|
+
*/
|
|
89742
|
+
function projectFaviconWorkerMain() {
|
|
89743
|
+
const fs = process.getBuiltinModule("node:fs");
|
|
89744
|
+
const path = process.getBuiltinModule("node:path");
|
|
89745
|
+
const iconLimit = 524288;
|
|
89746
|
+
const sourceLimit = 262144;
|
|
89747
|
+
const candidates = [
|
|
89748
|
+
"favicon.svg",
|
|
89749
|
+
"favicon.ico",
|
|
89750
|
+
"favicon.png",
|
|
89751
|
+
"public/favicon.svg",
|
|
89752
|
+
"public/favicon.ico",
|
|
89753
|
+
"public/favicon.png",
|
|
89754
|
+
"app/favicon.ico",
|
|
89755
|
+
"app/favicon.png",
|
|
89756
|
+
"app/icon.svg",
|
|
89757
|
+
"app/icon.png",
|
|
89758
|
+
"app/icon.ico",
|
|
89759
|
+
"src/favicon.ico",
|
|
89760
|
+
"src/favicon.svg",
|
|
89761
|
+
"src/app/favicon.ico",
|
|
89762
|
+
"src/app/icon.svg",
|
|
89763
|
+
"src/app/icon.png",
|
|
89764
|
+
"assets/icon.svg",
|
|
89765
|
+
"assets/icon.png",
|
|
89766
|
+
"assets/logo.svg",
|
|
89767
|
+
"assets/logo.png",
|
|
89768
|
+
".idea/icon.svg"
|
|
89769
|
+
];
|
|
89770
|
+
const sources = [
|
|
89771
|
+
"index.html",
|
|
89772
|
+
"public/index.html",
|
|
89773
|
+
"app/routes/__root.tsx",
|
|
89774
|
+
"src/routes/__root.tsx",
|
|
89775
|
+
"app/root.tsx",
|
|
89776
|
+
"src/root.tsx",
|
|
89777
|
+
"src/index.html"
|
|
89778
|
+
];
|
|
89779
|
+
try {
|
|
89780
|
+
const root = fs.realpathSync(process.argv[1]);
|
|
89781
|
+
const read = (relative, limit) => {
|
|
89782
|
+
let fd;
|
|
89783
|
+
try {
|
|
89784
|
+
const filename = fs.realpathSync(path.resolve(root, relative));
|
|
89785
|
+
const within = path.relative(root, filename);
|
|
89786
|
+
if (within === ".." || within.startsWith(`..${path.sep}`) || path.isAbsolute(within)) return null;
|
|
89787
|
+
fd = fs.openSync(filename, fs.constants.O_RDONLY | fs.constants.O_NONBLOCK);
|
|
89788
|
+
const stats = fs.fstatSync(fd);
|
|
89789
|
+
if (!stats.isFile() || stats.size > limit) return null;
|
|
89790
|
+
const bytes = Buffer.alloc(limit + 1);
|
|
89791
|
+
let length = 0;
|
|
89792
|
+
while (length < bytes.length) {
|
|
89793
|
+
const count = fs.readSync(fd, bytes, length, bytes.length - length, null);
|
|
89794
|
+
if (count === 0) break;
|
|
89795
|
+
length += count;
|
|
89796
|
+
}
|
|
89797
|
+
return length > limit ? null : {
|
|
89798
|
+
path: filename,
|
|
89799
|
+
bytes: bytes.subarray(0, length)
|
|
89800
|
+
};
|
|
89801
|
+
} catch {
|
|
89802
|
+
return null;
|
|
89803
|
+
} finally {
|
|
89804
|
+
if (fd !== void 0) fs.closeSync(fd);
|
|
89805
|
+
}
|
|
89806
|
+
};
|
|
89807
|
+
const send = (icon) => {
|
|
89808
|
+
process.stdout.write(JSON.stringify({
|
|
89809
|
+
path: icon.path,
|
|
89810
|
+
base64: icon.bytes.toString("base64")
|
|
89811
|
+
}));
|
|
89812
|
+
};
|
|
89760
89813
|
for (const candidate of candidates) {
|
|
89761
|
-
|
|
89762
|
-
if (
|
|
89814
|
+
const icon = read(candidate, iconLimit);
|
|
89815
|
+
if (icon) {
|
|
89816
|
+
send(icon);
|
|
89817
|
+
return;
|
|
89818
|
+
}
|
|
89763
89819
|
}
|
|
89764
|
-
|
|
89765
|
-
|
|
89766
|
-
|
|
89767
|
-
|
|
89768
|
-
const resolved = path.join(cwd, candidate);
|
|
89769
|
-
const existing = yield* findExistingFile(cwd, [resolved]);
|
|
89770
|
-
if (existing) return existing;
|
|
89771
|
-
}
|
|
89772
|
-
for (const sourceFile of ICON_SOURCE_FILES) {
|
|
89773
|
-
const sourcePath = path.join(cwd, sourceFile);
|
|
89774
|
-
const source = yield* fileSystem.readFileString(sourcePath).pipe(Effect.catch(() => Effect.succeed(null)));
|
|
89775
|
-
if (!source) continue;
|
|
89776
|
-
const href = extractIconHref(source);
|
|
89820
|
+
for (const source of sources) {
|
|
89821
|
+
const text = read(source, sourceLimit)?.bytes.toString("utf8");
|
|
89822
|
+
if (!text) continue;
|
|
89823
|
+
const href = text.match(/<link\b(?=[^>]*\brel=["'](?:icon|shortcut icon)["'])(?=[^>]*\bhref=["']([^"'?]+))[^>]*>/i)?.[1] ?? text.match(/(?=[^}]*\brel\s*:\s*["'](?:icon|shortcut icon)["'])(?=[^}]*\bhref\s*:\s*["']([^"'?]+))[^}]*/i)?.[1];
|
|
89777
89824
|
if (!href) continue;
|
|
89778
|
-
const
|
|
89779
|
-
|
|
89825
|
+
const clean = href.replace(/^\//, "");
|
|
89826
|
+
for (const candidate of [path.join("public", clean), clean]) {
|
|
89827
|
+
const icon = read(candidate, iconLimit);
|
|
89828
|
+
if (icon) {
|
|
89829
|
+
send(icon);
|
|
89830
|
+
return;
|
|
89831
|
+
}
|
|
89832
|
+
}
|
|
89780
89833
|
}
|
|
89781
|
-
|
|
89782
|
-
|
|
89834
|
+
} catch {}
|
|
89835
|
+
process.stdout.write("null");
|
|
89836
|
+
}
|
|
89837
|
+
const MAX_OUTPUT_BYTES = 786432;
|
|
89838
|
+
const WORKER_SCRIPT = `(${projectFaviconWorkerMain.toString()})()`;
|
|
89839
|
+
function readProjectFavicon(cwd, options = {}) {
|
|
89840
|
+
return new Promise((resolve) => {
|
|
89841
|
+
if (options.signal?.aborted) {
|
|
89842
|
+
resolve(null);
|
|
89843
|
+
return;
|
|
89844
|
+
}
|
|
89845
|
+
let child;
|
|
89846
|
+
const abort = () => {
|
|
89847
|
+
child?.kill("SIGKILL");
|
|
89848
|
+
};
|
|
89849
|
+
const cleanup = () => options.signal?.removeEventListener("abort", abort);
|
|
89850
|
+
options.signal?.addEventListener("abort", abort, { once: true });
|
|
89851
|
+
try {
|
|
89852
|
+
child = (options.execFile ?? execFile)(process.execPath, [
|
|
89853
|
+
"--eval",
|
|
89854
|
+
WORKER_SCRIPT,
|
|
89855
|
+
"--",
|
|
89856
|
+
cwd
|
|
89857
|
+
], {
|
|
89858
|
+
env: {
|
|
89859
|
+
...process.env,
|
|
89860
|
+
ELECTRON_RUN_AS_NODE: "1",
|
|
89861
|
+
NODE_OPTIONS: void 0,
|
|
89862
|
+
NODE_PATH: void 0
|
|
89863
|
+
},
|
|
89864
|
+
encoding: "utf8",
|
|
89865
|
+
timeout: options.timeoutMs ?? 1500,
|
|
89866
|
+
killSignal: "SIGKILL",
|
|
89867
|
+
maxBuffer: MAX_OUTPUT_BYTES,
|
|
89868
|
+
windowsHide: true
|
|
89869
|
+
}, (error, stdout) => {
|
|
89870
|
+
cleanup();
|
|
89871
|
+
if (error) {
|
|
89872
|
+
resolve(null);
|
|
89873
|
+
return;
|
|
89874
|
+
}
|
|
89875
|
+
try {
|
|
89876
|
+
const result = JSON.parse(stdout);
|
|
89877
|
+
if (typeof result !== "object" || result === null || !("path" in result) || !("base64" in result) || typeof result.path !== "string" || typeof result.base64 !== "string") {
|
|
89878
|
+
resolve(null);
|
|
89879
|
+
return;
|
|
89880
|
+
}
|
|
89881
|
+
const bytes = Buffer.from(result.base64, "base64");
|
|
89882
|
+
resolve(bytes.length <= 524288 ? {
|
|
89883
|
+
path: result.path,
|
|
89884
|
+
bytes
|
|
89885
|
+
} : null);
|
|
89886
|
+
} catch {
|
|
89887
|
+
resolve(null);
|
|
89888
|
+
}
|
|
89889
|
+
});
|
|
89890
|
+
if (options.signal?.aborted) abort();
|
|
89891
|
+
} catch {
|
|
89892
|
+
cleanup();
|
|
89893
|
+
resolve(null);
|
|
89894
|
+
}
|
|
89895
|
+
});
|
|
89896
|
+
}
|
|
89897
|
+
//#endregion
|
|
89898
|
+
//#region src/project/Layers/ProjectFaviconResolver.ts
|
|
89899
|
+
const makeProjectFaviconResolver = Effect.gen(function* () {
|
|
89900
|
+
const workers = yield* Semaphore$1.make(2);
|
|
89901
|
+
return { readIcon: (cwd) => workers.withPermit(Effect.promise((signal) => readProjectFavicon(cwd, { signal }))).pipe(Effect.timeout("5 seconds"), Effect.catch(() => Effect.succeed(null))) };
|
|
89783
89902
|
});
|
|
89784
89903
|
const ProjectFaviconResolverLive = Layer.effect(ProjectFaviconResolver, makeProjectFaviconResolver);
|
|
89785
89904
|
//#endregion
|
|
@@ -92025,6 +92144,23 @@ const makeTraceSink = Effect.fn("makeTraceSink")(function* (options) {
|
|
|
92025
92144
|
};
|
|
92026
92145
|
});
|
|
92027
92146
|
//#endregion
|
|
92147
|
+
//#region src/observability/HttpHeaderRedaction.ts
|
|
92148
|
+
/** Capture policy before HTTP tracing defers span completion outside its request context. */
|
|
92149
|
+
function makeHttpHeaderRedactor(names) {
|
|
92150
|
+
const redactedNames = [
|
|
92151
|
+
...names,
|
|
92152
|
+
LOCAL_INTRODUCTION_CONTROL_HEADER,
|
|
92153
|
+
"dpop",
|
|
92154
|
+
"dpop-nonce"
|
|
92155
|
+
];
|
|
92156
|
+
return (key, value) => {
|
|
92157
|
+
const match = /^http\.(?:request|response)\.header\.(.+)$/iu.exec(key);
|
|
92158
|
+
if (!match) return value;
|
|
92159
|
+
const name = match[1].toLowerCase();
|
|
92160
|
+
return String(Headers.redact(Headers.fromInput({ [name]: String(value) }), redactedNames)[name]);
|
|
92161
|
+
};
|
|
92162
|
+
}
|
|
92163
|
+
//#endregion
|
|
92028
92164
|
//#region src/observability/LocalFileTracer.ts
|
|
92029
92165
|
var LocalFileSpan = class {
|
|
92030
92166
|
_tag = "Span";
|
|
@@ -92041,9 +92177,11 @@ var LocalFileSpan = class {
|
|
|
92041
92177
|
events;
|
|
92042
92178
|
delegate;
|
|
92043
92179
|
push;
|
|
92044
|
-
|
|
92180
|
+
redactAttribute;
|
|
92181
|
+
constructor(options, delegate, push, redactAttribute) {
|
|
92045
92182
|
this.delegate = delegate;
|
|
92046
92183
|
this.push = push;
|
|
92184
|
+
this.redactAttribute = redactAttribute;
|
|
92047
92185
|
this.name = delegate.name;
|
|
92048
92186
|
this.spanId = delegate.spanId;
|
|
92049
92187
|
this.traceId = delegate.traceId;
|
|
@@ -92070,8 +92208,9 @@ var LocalFileSpan = class {
|
|
|
92070
92208
|
if (this.sampled) this.push(spanToTraceRecord(this));
|
|
92071
92209
|
}
|
|
92072
92210
|
attribute(key, value) {
|
|
92073
|
-
this.
|
|
92074
|
-
this.
|
|
92211
|
+
const redacted = this.redactAttribute(key, value);
|
|
92212
|
+
this.attributes.set(key, redacted);
|
|
92213
|
+
this.delegate.attribute(key, redacted);
|
|
92075
92214
|
}
|
|
92076
92215
|
event(name, startTime, attributes) {
|
|
92077
92216
|
const nextAttributes = attributes ?? {};
|
|
@@ -92088,6 +92227,7 @@ var LocalFileSpan = class {
|
|
|
92088
92227
|
}
|
|
92089
92228
|
};
|
|
92090
92229
|
const makeLocalFileTracer = Effect.fn("makeLocalFileTracer")(function* (options) {
|
|
92230
|
+
const redactAttribute = makeHttpHeaderRedactor(yield* Effect.service(Headers.CurrentRedactedNames));
|
|
92091
92231
|
const sink = options.sink ?? (yield* makeTraceSink({
|
|
92092
92232
|
filePath: options.filePath,
|
|
92093
92233
|
maxBytes: options.maxBytes,
|
|
@@ -92097,7 +92237,7 @@ const makeLocalFileTracer = Effect.fn("makeLocalFileTracer")(function* (options)
|
|
|
92097
92237
|
const delegate = options.delegate ?? Tracer.make({ span: (spanOptions) => new Tracer.NativeSpan(spanOptions) });
|
|
92098
92238
|
return Tracer.make({
|
|
92099
92239
|
span(spanOptions) {
|
|
92100
|
-
return new LocalFileSpan(spanOptions, delegate.span(spanOptions), sink.push);
|
|
92240
|
+
return new LocalFileSpan(spanOptions, delegate.span(spanOptions), sink.push, redactAttribute);
|
|
92101
92241
|
},
|
|
92102
92242
|
...delegate.context ? { context: delegate.context } : {}
|
|
92103
92243
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import"./src-BSuAGqhK.js";import{Da as n,I as r,Ma as i,N as a,Na as o,P as s,Rr as c,_l as l,wa as u,zr as d}from"./runtime-Djy96GJd.js";import{A as f,F as p,Ft as m,I as h,It as g,M as _,Mt as v,N as ee,Nt as y,P as te,Pt as ne,an as b,ct as x,j as S,jt as re,kt as C,r as w}from"./switch-DD1qVLgN.js";import{t as T}from"./compiler-runtime-qmuS0Svy.js";import{t as E}from"./badge-Dg7mXiOh.js";import{K as D}from"./ContextHandoffEndpointLabel-BildLLDY.js";import{t as O}from"./key-round-D2DtQ7aS.js";import{t as k}from"./refresh-cw-DY3_Ph-S.js";import{t as A}from"./shield-check-CO4SMhAs.js";import{t as j}from"./user-round-DctamWV6.js";import{_ as M,o as N}from"./authorization-CjOFkg7b.js";import{n as ie,t as ae}from"./input-DrOL1KPS.js";import{i as P,n as oe,r as F,t as I}from"./alert-CXnC_RJc.js";import{C as L,S as R,_ as z,a as se,b as B,c as ce,d as le,f as V,g as H,h as U,i as W,l as G,m as K,n as q,o as J,p as Y,r as ue,s as X,t as de,u as fe,v as Z,x as pe,y as me}from"./ExternalIdentityWeb.logic-arHvT6AX.js";import{i as he,n as ge,r as _e}from"./settingsLayout-C6SUmJVB.js";import{t as ve}from"./qr-code-Bk1kdf_k.js";var ye={name:`monitor-smartphone`,size:24,node:[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]};ye.node;var be=o(ye),Q=e(t(),1),xe=T(),Se=`Signed-in native apps use these device keys to establish encrypted connections automatically. The Hub authorizes account-trusted connections, so this does not protect against a malicious Hub; independent node verification remains the stronger option.`,Ce={darwin:`macOS`,linux:`Linux`,windows:`Windows`,ios:`iPhone or iPad`,android:`Android`},we={"secure-enclave":`Secure Enclave`,strongbox:`StrongBox`,tee:`Hardware-backed TEE`,tpm:`TPM`,"hardware-backed":`Hardware backed`,unavailable:`Unavailable`};function Te(e){return Ce[e.platform]}function Ee(e){return`${we[e.reportedKeyBacking]} · reported by device`}function De(e){switch(e.status){case`active`:return`Active`;case`revoked`:return`Revoked`;case`superseded`:return`Superseded`}}function Oe(e){let t=e.trim();return t.length>0&&t.length<=100?t:null}function ke(e,t){return[{label:`Enrollment`,value:e.enrollmentId},{label:`Identity fingerprint`,value:e.identityFingerprint,fingerprint:!0},{label:`Agreement fingerprint`,value:e.agreementFingerprint,fingerprint:!0},{label:`Key backing`,value:Ee(e)},{label:`First enrolled`,value:t(e.createdAt)},{label:`Last used`,value:e.lastUsedAt===null?`Not used yet`:t(e.lastUsedAt)},...e.revokedAt===null?[]:[{label:`Revoked`,value:t(e.revokedAt)}]]}var $=l(),Ae=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`});function je(e){return Ae.format(new Date(e))}function Me(){let e=(0,xe.c)(75),t=a(Re),n=a(Le),r=a(Ie),[i,o]=(0,Q.useState)(null),[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(null),b=r!==`idle`,T=r===`renaming-e2ee-device`,D=r===`revoking-e2ee-device`,O;e[0]===s?O=e[1]:(O=Oe(s),e[0]=s,e[1]=O);let k=O,A;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(A=[],e[2]=A):A=e[2],(0,Q.useEffect)(Fe,A);let j;e[3]!==k||e[4]!==i?(j=async()=>{i&&k!==null&&(await N.renameE2eeDevice(i.enrollmentId,{expectedEnrollmentRevision:i.enrollmentRevision,deviceLabel:k})).status===`committed`&&(o(null),c(``))},e[3]=k,e[4]=i,e[5]=j):j=e[5];let M=j,P;e[6]===l?P=e[7]:(P=async()=>{l&&(await N.revokeE2eeDevice(l.enrollmentId,{expectedEnrollmentRevision:l.enrollmentRevision,reasonCode:`owner_requested`})).status===`committed`&&u(null)},e[6]=l,e[7]=P);let oe=P,F;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(be,{"aria-hidden":!0,className:`size-3.5`}),e[8]=F):F=e[8];let I=b||n===`loading`,L;e[9]===I?L=e[10]:(L=(0,$.jsx)(d,{size:`xs`,variant:`ghost`,disabled:I,onClick:Pe,children:`Refresh`}),e[9]=I,e[10]=L);let R;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(_e,{title:`Automatic native encryption`,description:Se,status:`A new signed-in Desktop or mobile app enrolls its own keys; private keys stay on that device.`}),e[11]=R):R=e[11];let z;e[12]!==b||e[13]!==t||e[14]!==n?(z=t.length===0?(0,$.jsx)(_e,{title:n===`loading`?`Loading devices…`:`No native devices yet`,description:`Sign in from Ryco Desktop or mobile to enroll that app automatically. Web sessions stay separate and do not join this native device trust set.`,status:n===`stale`?`The device directory is temporarily unavailable.`:null,control:n===`loading`?(0,$.jsx)(x,{className:`size-3.5`}):null}):t.map(e=>{let t=e.status===`active`;return(0,$.jsx)(_e,{title:(0,$.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[e.deviceLabel,(0,$.jsx)(E,{variant:t?`success`:`secondary`,children:De(e)})]}),description:`${Te(e)} · Ryco ${e.appVersion}`,status:n===`stale`?`Showing the last device directory Ryco read.`:null,control:t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(d,{size:`xs`,variant:`outline`,disabled:b,onClick:()=>{o(e),c(e.deviceLabel)},children:`Rename`}),(0,$.jsx)(d,{size:`xs`,variant:`destructive-outline`,disabled:b,onClick:()=>u(e),children:`Revoke`})]}):null,children:(0,$.jsx)(`dl`,{className:`mt-3 grid grid-cols-[auto_1fr] gap-x-4 gap-y-2 border-t border-border/60 py-3`,children:ke(e,je).map(Ne)})},`${e.enrollmentId}:${String(e.enrollmentRevision)}`)}),e[12]=b,e[13]=t,e[14]=n,e[15]=z):z=e[15];let se=i!==null,B;e[16]===T?B=e[17]:(B=e=>{e||T||(o(null),c(``))},e[16]=T,e[17]=B);let ce;e[18]===M?ce=e[19]:(ce=e=>{e.preventDefault(),M()},e[18]=M,e[19]=ce);let le;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsxs)(y,{children:[(0,$.jsx)(g,{children:`Rename encrypted device`}),(0,$.jsx)(re,{children:`This label is account metadata. Renaming does not rotate or replace the device keys.`})]}),e[20]=le):le=e[20];let V;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(w,{htmlFor:`account-e2ee-device-label`,children:`Device name`}),e[21]=V):V=e[21];let H;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(H=e=>c(e.target.value),e[22]=H):H=e[22];let U;e[23]!==s||e[24]!==T?(U=(0,$.jsxs)(ne,{className:`space-y-2`,children:[V,(0,$.jsx)(ae,{id:`account-e2ee-device-label`,value:s,maxLength:100,disabled:T,className:ie,onChange:H})]}),e[23]=s,e[24]=T,e[25]=U):U=e[25];let W;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(W=()=>{o(null),c(``)},e[26]=W):W=e[26];let G;e[27]===T?G=e[28]:(G=(0,$.jsx)(d,{type:`button`,variant:`outline`,disabled:T,onClick:W,children:`Cancel`}),e[27]=T,e[28]=G);let K=T||k===null,q;e[29]===T?q=e[30]:(q=T?(0,$.jsx)(x,{className:`size-3.5`}):null,e[29]=T,e[30]=q);let J;e[31]!==K||e[32]!==q?(J=(0,$.jsxs)(d,{type:`submit`,disabled:K,children:[q,`Save name`]}),e[31]=K,e[32]=q,e[33]=J):J=e[33];let Y;e[34]!==G||e[35]!==J?(Y=(0,$.jsxs)(v,{children:[G,J]}),e[34]=G,e[35]=J,e[36]=Y):Y=e[36];let ue;e[37]!==ce||e[38]!==U||e[39]!==Y?(ue=(0,$.jsx)(m,{className:`max-w-sm`,children:(0,$.jsxs)(`form`,{onSubmit:ce,children:[le,U,Y]})}),e[37]=ce,e[38]=U,e[39]=Y,e[40]=ue):ue=e[40];let X;e[41]!==B||e[42]!==ue||e[43]!==se?(X=(0,$.jsx)(C,{open:se,onOpenChange:B,children:ue}),e[41]=B,e[42]=ue,e[43]=se,e[44]=X):X=e[44];let de=l!==null,fe;e[45]===D?fe=e[46]:(fe=e=>{!e&&!D&&u(null)},e[45]=D,e[46]=fe);let Z;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,$.jsx)(h,{children:`Revoke this encrypted device?`}),e[47]=Z):Z=e[47];let pe=l?.deviceLabel??`This device`,me;e[48]===pe?me=e[49]:(me=(0,$.jsxs)(te,{children:[Z,(0,$.jsxs)(_,{children:[pe,` will lose account-authorized native connections. Signing in again can enroll fresh keys, but this enrollment cannot be restored.`]})]}),e[48]=pe,e[49]=me);let ge;e[50]===D?ge=e[51]:(ge=(0,$.jsx)(S,{render:(0,$.jsx)(d,{variant:`outline`,disabled:D}),children:`Cancel`}),e[50]=D,e[51]=ge);let ve;e[52]===oe?ve=e[53]:(ve=()=>void oe(),e[52]=oe,e[53]=ve);let ye;e[54]===D?ye=e[55]:(ye=D?(0,$.jsx)(x,{className:`size-3.5`}):null,e[54]=D,e[55]=ye);let Ce;e[56]!==D||e[57]!==ve||e[58]!==ye?(Ce=(0,$.jsxs)(d,{variant:`destructive`,disabled:D,onClick:ve,children:[ye,`Revoke device`]}),e[56]=D,e[57]=ve,e[58]=ye,e[59]=Ce):Ce=e[59];let we;e[60]!==ge||e[61]!==Ce?(we=(0,$.jsxs)(ee,{children:[ge,Ce]}),e[60]=ge,e[61]=Ce,e[62]=we):we=e[62];let Ee;e[63]!==me||e[64]!==we?(Ee=(0,$.jsxs)(p,{children:[me,we]}),e[63]=me,e[64]=we,e[65]=Ee):Ee=e[65];let Ae;e[66]!==de||e[67]!==fe||e[68]!==Ee?(Ae=(0,$.jsx)(f,{open:de,onOpenChange:fe,children:Ee}),e[66]=de,e[67]=fe,e[68]=Ee,e[69]=Ae):Ae=e[69];let Me;return e[70]!==X||e[71]!==Ae||e[72]!==L||e[73]!==z?(Me=(0,$.jsxs)(he,{title:`Encrypted devices`,icon:F,headerAction:L,children:[R,z,X,Ae]}),e[70]=X,e[71]=Ae,e[72]=L,e[73]=z,e[74]=Me):Me=e[74],Me}function Ne(e){return(0,$.jsxs)(`div`,{className:`contents`,children:[(0,$.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:e.label}),(0,$.jsx)(`dd`,{className:e.fingerprint?`min-w-0 font-mono text-xs break-all`:`min-w-0 text-xs break-all`,children:e.value})]},e.label)}function Pe(){N.refreshE2eeDevices({force:!0})}function Fe(){N.refreshE2eeDevices()}function Ie(e){return e.actionStatus}function Le(e){return e.e2eeDevicesStatus??`idle`}function Re(e){return e.e2eeDevices??[]}var ze=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`});function Be(e){return e===null||!Number.isFinite(e)?null:ze.format(new Date(e))}function Ve(){let e=(0,xe.c)(15),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(0),[a,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(!1),l=(0,Q.useRef)(0),u;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{n(null),i(0),o(``)},e[0]=u):u=e[0];let d=u,f;e[1]===t?.options?f=e[2]:(f=()=>{l.current+=1,N.cancelAccountAction(),t?.options?.onAbandoned?.(),c(!1),d()},e[1]=t?.options,e[2]=f);let p=f,m;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=async(e,t,r)=>{let a=l.current+=1;c(!1);let s=await t({});if(l.current===a){if(V(s)){o(``),i(0),n({action:e,run:t,options:r,inferred:s.inferredErrorCode===!0});return}s.status===`committed`&&r?.onCommitted?.()}},e[3]=m):m=e[3];let h=m,g;e[4]!==t||e[5]!==a||e[6]!==r?(g=async()=>{if(!t)return;let e=U(a);if(e.length===0)return;let n=l.current+=1,s=await t.run({totpCode:e});if(l.current===n){if(V(s)){let e=r+1;if(B(s,e)){i(e),o(``);return}c(!0),t.options?.onAbandoned?.(),d();return}s.status===`committed`&&t.options?.onCommitted?.(),d()}},e[4]=t,e[5]=a,e[6]=r,e[7]=g):g=e[7];let _=g,v;return e[8]!==p||e[9]!==t||e[10]!==a||e[11]!==r||e[12]!==s||e[13]!==_?(v={run:h,cancel:p,stepUp:t,stepUpAttempts:r,stepUpCode:a,stepUpUnresolved:s,setStepUpCode:o,submitStepUp:_},e[8]=p,e[9]=t,e[10]=a,e[11]=r,e[12]=s,e[13]=_,e[14]=v):v=e[14],v}function He(){let e=(0,xe.c)(1),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,Q.useEffect)(Ue,t)}function Ue(){return N.leaseRecoveryCodeDisplay()}function We(e){let t=(0,xe.c)(3),{busy:n,children:r}=e,i;return t[0]!==n||t[1]!==r?(i=n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(x,{className:`size-3.5`}),r]}):(0,$.jsx)($.Fragment,{children:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function Ge(){let e=(0,xe.c)(100),t=s(ut),n=s(lt),[i,o]=(0,Q.useState)(!1),c=a(ct),l=a(st),f=a(ot),p=a(at),m=a(it),h=a(rt),g=a(nt),_=a(tt),v=s(et),ee=s($e),[y,te]=(0,Q.useState)(!1),[ne,b]=(0,Q.useState)(null),x=(0,Q.useRef)(!1),S=Ve(),re=S.run;He();let C=h!==`idle`,w;e[0]===m?w=e[1]:(w=ue(m),e[0]=m,e[1]=w);let T=w,E;e[2]===f?.externalIdentities?E=e[3]:(E=f?.externalIdentities.find(Qe)??null,e[2]=f?.externalIdentities,e[3]=E);let D=E,O;e[4]===y?O=e[5]:(O=async()=>{if(!y){te(!0),b(null);try{await de({intent:`link`,returnTo:`/account/security`,start:Ze,navigate:Xe})}catch(e){let t=e;b(t instanceof M?t.message:`GitHub connection is temporarily unavailable.`),te(!1)}}},e[4]=y,e[5]=O);let k=O,N;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(N=[],e[6]=N):N=e[6],(0,Q.useEffect)(Ye,N);let ie,ae;if(e[7]!==t||e[8]!==re?(ie=()=>{if(t!==`authenticated`||x.current)return;x.current=!0;let e=new AbortController;return r.getPendingExternalIdentity(e.signal).then(e=>{if(e.status===`link`)return re(`connect-github`,Je);e.status===`error`&&b(q(e.code))}).catch(qe),()=>e.abort()},ae=[t,re],e[7]=t,e[8]=re,e[9]=ie,e[10]=ae):(ie=e[9],ae=e[10]),(0,Q.useEffect)(ie,ae),t!==`authenticated`){let t;return e[11]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(ge,{children:(0,$.jsxs)(I,{variant:`warning`,children:[(0,$.jsx)(u,{"aria-hidden":!0}),(0,$.jsx)(P,{children:`Not signed in`}),(0,$.jsx)(F,{children:`Sign in to the Hub to manage passkeys, two-factor authentication, and recovery codes.`})]})}),e[11]=t):t=e[11],t}let L;e[12]!==S.stepUp||e[13]!==S.stepUpUnresolved||e[14]!==_||e[15]!==g?(L=S.stepUpUnresolved?W:G(g,_,S.stepUp!==null),e[12]=S.stepUp,e[13]=S.stepUpUnresolved,e[14]=_,e[15]=g,e[16]=L):L=e[16];let R=L,z;e[17]!==S.stepUpUnresolved||e[18]!==_?(z=!S.stepUpUnresolved&&le(_),e[17]=S.stepUpUnresolved,e[18]=_,e[19]=z):z=e[19];let B=z,ce;e[20]!==c||e[21]!==l?(ce=se(c,l),e[20]=c,e[21]=l,e[22]=ce):ce=e[22];let V=ce,H;e[23]!==R||e[24]!==B?(H=R?(0,$.jsxs)(I,{variant:B?`info`:`error`,"aria-live":`polite`,children:[(0,$.jsx)(u,{"aria-hidden":!0}),(0,$.jsx)(P,{children:B?`Passkey needed`:`That did not work`}),(0,$.jsx)(F,{children:R})]}):null,e[23]=R,e[24]=B,e[25]=H):H=e[25];let U;e[26]===ne?U=e[27]:(U=ne?(0,$.jsxs)(I,{variant:`warning`,"aria-live":`polite`,children:[(0,$.jsx)(u,{"aria-hidden":!0}),(0,$.jsx)(P,{children:`GitHub connection did not complete`}),(0,$.jsx)(F,{children:ne})]}):null,e[26]=ne,e[27]=U);let K;e[28]!==f||e[29]!==p?(K=f===null&&p!==`stale`?(0,$.jsxs)(I,{variant:`info`,"aria-live":`polite`,children:[(0,$.jsx)(A,{"aria-hidden":!0}),(0,$.jsx)(P,{children:`Checking account security`}),(0,$.jsx)(F,{children:`Reading which fallback sign-in methods are configured on this Hub.`})]}):null,e[28]=f,e[29]=p,e[30]=K):K=e[30];let J;e[31]!==C||e[32]!==f||e[33]!==p?(J=p===`stale`?(0,$.jsxs)(I,{variant:`warning`,"aria-live":`polite`,children:[(0,$.jsx)(u,{"aria-hidden":!0}),(0,$.jsx)(P,{children:f===null?`Account security unavailable`:`Account security may be outdated`}),(0,$.jsx)(F,{children:f===null?`Ryco could not read the current password, authenticator, and email state.`:`These controls use the last state Ryco successfully read from the Hub.`}),(0,$.jsx)(oe,{children:(0,$.jsx)(d,{size:`xs`,variant:`outline`,disabled:C,onClick:Ke,children:`Retry`})})]}):null,e[31]=C,e[32]=f,e[33]=p,e[34]=J):J=e[34];let Y;e[35]!==C||e[36]!==V?(Y=V?(0,$.jsxs)(I,{variant:V.variant,"aria-live":`polite`,children:[(0,$.jsx)(u,{"aria-hidden":!0}),(0,$.jsx)(P,{children:V.title}),(0,$.jsx)(F,{children:V.description}),(0,$.jsx)(oe,{children:(0,$.jsx)(d,{size:`xs`,variant:`outline`,disabled:C,onClick:()=>o(!0),children:V.actionLabel})})]}):null,e[35]=C,e[36]=V,e[37]=Y):Y=e[37];let X;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,$.jsx)(j,{"aria-hidden":!0,className:`size-3.5`}),e[38]=X):X=e[38];let fe=n?.displayName??`Signed in`,Z;e[39]===n?Z=e[40]:(Z=n?`${n.role} · joined ${Be(n.createdAt)??`unknown`}`:null,e[39]=n,e[40]=Z);let pe;e[41]!==fe||e[42]!==Z?(pe=(0,$.jsx)(he,{title:`Account`,icon:X,children:(0,$.jsx)(_e,{title:fe,description:`The Hub account these credentials belong to.`,status:Z})}),e[41]=fe,e[42]=Z,e[43]=pe):pe=e[43];let me;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,$.jsx)(Me,{}),e[44]=me):me=e[44];let ve;e[45]!==h||e[46]!==C||e[47]!==y||e[48]!==D||e[49]!==T?.link||e[50]!==re||e[51]!==k?(ve=D||T?.link?(0,$.jsx)(dt,{identity:D,actionsAvailable:T?.link===!0,busy:C||y,actionStatus:h,onConnect:()=>void k(),run:re}):null,e[45]=h,e[46]=C,e[47]=y,e[48]=D,e[49]=T?.link,e[50]=re,e[51]=k,e[52]=ve):ve=e[52];let ye=l===`loading`,be=l===`stale`,Se;e[53]!==S.cancel||e[54]!==S.run||e[55]!==h||e[56]!==i||e[57]!==C||e[58]!==c||e[59]!==ye||e[60]!==be?(Se=(0,$.jsx)(pt,{passkeys:c,loading:ye,stale:be,busy:C,actionStatus:h,addOpen:i,setAddOpen:o,run:S.run,cancel:S.cancel}),e[53]=S.cancel,e[54]=S.run,e[55]=h,e[56]=i,e[57]=C,e[58]=c,e[59]=ye,e[60]=be,e[61]=Se):Se=e[61];let Ce=f?.totpEnrolled??null,we;e[62]!==S.run||e[63]!==h||e[64]!==C||e[65]!==Ce||e[66]!==ee?(we=(0,$.jsx)(mt,{busy:C,actionStatus:h,enrollment:ee,enrolled:Ce,run:S.run}),e[62]=S.run,e[63]=h,e[64]=C,e[65]=Ce,e[66]=ee,e[67]=we):we=e[67];let Te;e[68]!==S.run||e[69]!==h||e[70]!==C||e[71]!==v?(Te=(0,$.jsx)(bt,{busy:C,actionStatus:h,recoveryCodes:v,run:S.run}),e[68]=S.run,e[69]=h,e[70]=C,e[71]=v,e[72]=Te):Te=e[72];let Ee;e[73]!==S.cancel||e[74]!==S.run||e[75]!==h||e[76]!==C||e[77]!==f?(Ee=(0,$.jsx)(_t,{busy:C,actionStatus:h,security:f,run:S.run,cancel:S.cancel}),e[73]=S.cancel,e[74]=S.run,e[75]=h,e[76]=C,e[77]=f,e[78]=Ee):Ee=e[78];let De;e[79]!==S.cancel||e[80]!==S.setStepUpCode||e[81]!==S.stepUp||e[82]!==S.stepUpAttempts||e[83]!==S.stepUpCode||e[84]!==S.submitStepUp||e[85]!==C?(De=(0,$.jsx)(Tt,{pending:S.stepUp,attempts:S.stepUpAttempts,code:S.stepUpCode,onCodeChange:S.setStepUpCode,onSubmit:S.submitStepUp,onCancel:S.cancel,busy:C}),e[79]=S.cancel,e[80]=S.setStepUpCode,e[81]=S.stepUp,e[82]=S.stepUpAttempts,e[83]=S.stepUpCode,e[84]=S.submitStepUp,e[85]=C,e[86]=De):De=e[86];let Oe;return e[87]!==U||e[88]!==K||e[89]!==J||e[90]!==Y||e[91]!==pe||e[92]!==ve||e[93]!==Se||e[94]!==we||e[95]!==Te||e[96]!==Ee||e[97]!==De||e[98]!==H?(Oe=(0,$.jsxs)(ge,{children:[H,U,K,J,Y,pe,me,ve,Se,we,Te,Ee,De]}),e[87]=U,e[88]=K,e[89]=J,e[90]=Y,e[91]=pe,e[92]=ve,e[93]=Se,e[94]=we,e[95]=Te,e[96]=Ee,e[97]=De,e[98]=H,e[99]=Oe):Oe=e[99],Oe}function Ke(){N.refreshAccountSecurity({force:!0})}function qe(){}function Je(e){return N.finishBrowserExternalIdentityConnection(`github`,e)}function Ye(){N.refreshPasskeys(),N.refreshAccountSecurity(),N.refreshExternalIdentityConfiguration()}function Xe(e){return window.location.assign(e)}function Ze(e){return r.startExternalIdentityAuthorization(e)}function Qe(e){return e.provider===`github`}function $e(e){return e.totpEnrollment??null}function et(e){return e.recoveryCodes}function tt(e){return e.errorCode??null}function nt(e){return e.errorMessage}function rt(e){return e.actionStatus}function it(e){return e.externalIdentityConfiguration}function at(e){return e.securityStatus}function ot(e){return e.security}function st(e){return e.passkeysStatus}function ct(e){return e.passkeys}function lt(e){return e.account}function ut(e){return e.accountStatus}function dt(e){let t=(0,xe.c)(33),{identity:n,actionsAvailable:r,busy:i,actionStatus:a,onConnect:o,run:s}=e,[c,l]=(0,Q.useState)(!1),u=a===`connecting-external-identity`,m=a===`disconnecting-external-identity`,g;t[0]===s?g=t[1]:(g=async()=>{await s(`disconnect-github`,ft,{onCommitted:()=>l(!1)})},t[0]=s,t[1]=g);let v=g,y;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(b,{"aria-hidden":!0,className:`size-3.5`}),t[2]=y):y=t[2];let ne=n?`GitHub · @${n.login}`:`GitHub`,x=n?`Use this GitHub identity to sign in to Ryco. Repository access remains separate.`:`Connect GitHub as another way to sign in. Ryco requests no repository access.`,re;t[3]===n?re=t[4]:(re=n?`Connected ${Be(n.connectedAt)??`at an unknown time`}${n.lastUsedAt===null?``:` · last used ${Be(n.lastUsedAt)??`at an unknown time`}`}`:null,t[3]=n,t[4]=re);let C;t[5]!==r||t[6]!==i||t[7]!==u||t[8]!==m||t[9]!==n||t[10]!==o?(C=r?n?(0,$.jsx)(d,{size:`sm`,variant:`outline`,disabled:i,onClick:()=>l(!0),children:(0,$.jsx)(We,{busy:m,children:`Disconnect`})}):(0,$.jsx)(d,{size:`sm`,variant:`outline`,disabled:i,onClick:o,children:(0,$.jsx)(We,{busy:u,children:`Connect GitHub`})}):null,t[5]=r,t[6]=i,t[7]=u,t[8]=m,t[9]=n,t[10]=o,t[11]=C):C=t[11];let w;t[12]!==ne||t[13]!==x||t[14]!==re||t[15]!==C?(w=(0,$.jsx)(_e,{title:ne,description:x,status:re,control:C}),t[12]=ne,t[13]=x,t[14]=re,t[15]=C,t[16]=w):w=t[16];let T;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsxs)(te,{children:[(0,$.jsx)(h,{children:`Disconnect GitHub?`}),(0,$.jsx)(_,{children:`You will no longer be able to sign in with GitHub. Ryco refuses this change if GitHub is your only remaining sign-in method.`})]}),t[17]=T):T=t[17];let E;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(S,{render:(0,$.jsx)(d,{variant:`outline`}),children:`Cancel`}),t[18]=E):E=t[18];let D;t[19]===v?D=t[20]:(D=()=>void v(),t[19]=v,t[20]=D);let O;t[21]===m?O=t[22]:(O=(0,$.jsx)(We,{busy:m,children:`Disconnect GitHub`}),t[21]=m,t[22]=O);let k;t[23]!==i||t[24]!==D||t[25]!==O?(k=(0,$.jsxs)(p,{children:[T,(0,$.jsxs)(ee,{children:[E,(0,$.jsx)(d,{disabled:i,onClick:D,children:O})]})]}),t[23]=i,t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]!==c||t[28]!==k?(A=(0,$.jsx)(f,{open:c,onOpenChange:l,children:k}),t[27]=c,t[28]=k,t[29]=A):A=t[29];let j;return t[30]!==A||t[31]!==w?(j=(0,$.jsxs)(he,{title:`Connected accounts`,icon:y,children:[w,A]}),t[30]=A,t[31]=w,t[32]=j):j=t[32],j}function ft(e){return N.disconnectExternalIdentity(`github`,e)}function pt({passkeys:e,loading:t,stale:n,busy:r,actionStatus:i,addOpen:a,setAddOpen:o,run:s,cancel:c}){let[l,u]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(null),[T,k]=(0,Q.useState)(null),A=i===`adding-passkey`,j=i===`revoking-passkey`,M=J(e),P=L(e),oe=H(e),F=(0,Q.useCallback)(()=>{u(``),o(!1)},[o]),I=async e=>{e.preventDefault();let t=K(l);await s(`add-passkey`,e=>N.addPasskey({passkeyLabel:t,...e}),{onCommitted:F,onAbandoned:F})},R=async()=>{let e=b;if(e){x(null),k(e.id);try{await N.revokePasskey(e.id)}finally{k(null)}}};return(0,$.jsxs)(he,{title:`Passkeys`,icon:(0,$.jsx)(O,{"aria-hidden":!0,className:`size-3.5`}),headerAction:(0,$.jsx)(d,{size:`xs`,variant:`outline`,disabled:r,onClick:()=>o(!0),children:`Add passkey`}),children:[(0,$.jsx)(_e,{title:`Passkeys on this account`,description:`A passkey is the strongest way in. Add one for every device you sign in from, and keep at least two so losing a device does not lock you out.`,status:n?`This list could not be refreshed and may be out of date.`:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:`${String(M.length)} usable ${M.length===1?`passkey`:`passkeys`}`}),P>0?(0,$.jsx)(`span`,{children:` · ${String(P)} synced to a password manager`}):null]})}),t&&e.length===0?(0,$.jsx)(_e,{title:`Loading passkeys…`,description:`Reading the credentials on file.`}):null,!t&&e.length===0?(0,$.jsx)(_e,{title:`No passkeys yet`,description:`Add one now — without a passkey you can only get back in through a fallback credential.`}):null,oe.map(e=>{let t=fe(e),n=z(e),i=Be(e.createdAt),a=Be(e.lastUsedAt);return(0,$.jsx)(_e,{title:(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[Z(e),t?(0,$.jsx)(E,{variant:`error`,size:`sm`,children:`Revoked`}):null]}),description:t?`Revoked${e.revocationReasonCode?` — ${e.revocationReasonCode}`:``}. This credential can no longer sign in.`:n??`The Hub did not report whether this credential is backed up.`,status:[i?`Added ${i}`:null,a?`Last used ${a}`:`Never used`].filter(e=>e!==null).join(` · `),control:t?null:(0,$.jsx)(d,{size:`xs`,variant:`destructive-outline`,"aria-label":`Revoke ${Z(e)}`,disabled:r,onClick:()=>x(e),children:(0,$.jsxs)(We,{busy:j&&T===e.id,children:[(0,$.jsx)(D,{"aria-hidden":!0}),`Revoke`]})})},e.id)}),(0,$.jsx)(C,{open:a,onOpenChange:e=>{if(e){o(!0);return}r||F()},children:(0,$.jsx)(m,{className:`max-w-md`,children:(0,$.jsxs)(`form`,{onSubmit:e=>void I(e),children:[(0,$.jsxs)(y,{children:[(0,$.jsx)(g,{children:`Add a passkey`}),(0,$.jsx)(re,{children:`Your browser will ask you to create a passkey for this account. Adding one replaces the current Hub session with a fresh one.`})]}),(0,$.jsxs)(ne,{className:`space-y-3`,children:[(0,$.jsx)(w,{htmlFor:`account-passkey-label`,children:`Name (optional)`}),(0,$.jsx)(ae,{id:`account-passkey-label`,value:l,autoComplete:`off`,placeholder:`Work laptop`,disabled:A,className:ie,onChange:e=>u(e.target.value)})]}),(0,$.jsxs)(v,{children:[(0,$.jsx)(d,{variant:`outline`,onClick:()=>{c(),F()},children:`Cancel`}),(0,$.jsx)(d,{type:`submit`,disabled:r,children:(0,$.jsx)(We,{busy:A,children:`Create passkey`})})]})]})})}),(0,$.jsx)(f,{open:b!==null,onOpenChange:e=>{r||e||x(null)},children:(0,$.jsxs)(p,{children:[(0,$.jsxs)(te,{children:[(0,$.jsx)(h,{children:`Revoke this passkey?`}),(0,$.jsxs)(_,{children:[M.length===1?`This is the only usable passkey on this account. `:``,b?Z(b):``,` will stop working immediately, on every device it is stored on. This cannot be undone — you would have to enrol the device again.`]})]}),(0,$.jsxs)(ee,{children:[(0,$.jsx)(S,{render:(0,$.jsx)(d,{variant:`outline`}),children:`Keep it`}),(0,$.jsx)(d,{variant:`destructive`,disabled:r,onClick:()=>void R(),children:`Revoke passkey`})]})]})})]})}function mt(e){let t=(0,xe.c)(61),{busy:n,actionStatus:r,enrollment:i,enrolled:a,run:o}=e,[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(!1),b=r===`enrolling-totp`,x=r===`confirming-totp`,T=r===`revoking-totp`,E;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{c(``),N.dismissTotpEnrollment()},t[0]=E):E=t[0];let D=E,O;t[1]===s?O=t[2]:(O=async e=>{e.preventDefault();let t=U(s);t.length!==0&&(await N.confirmTotpEnrollment({code:t}),c(``))},t[1]=s,t[2]=O);let k=O,j;t[3]===o?j=t[4]:(j=async()=>{u(!1),await o(`revoke-totp`,gt)},t[3]=o,t[4]=j);let M=j,P;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(A,{"aria-hidden":!0,className:`size-3.5`}),t[5]=P):P=t[5];let oe=a===null?`Checking current state…`:a?`On`:`Off`,F;t[6]!==n||t[7]!==a||t[8]!==b||t[9]!==T?(F=a===null?null:a?(0,$.jsx)(d,{size:`xs`,variant:`destructive-outline`,"aria-label":`Turn off two-factor authentication`,disabled:n,onClick:()=>u(!0),children:(0,$.jsx)(We,{busy:T,children:`Turn off`})}):(0,$.jsx)(d,{size:`xs`,variant:`outline`,disabled:n,onClick:ht,children:(0,$.jsx)(We,{busy:b,children:`Set up`})}),t[6]=n,t[7]=a,t[8]=b,t[9]=T,t[10]=F):F=t[10];let I;t[11]!==oe||t[12]!==F?(I=(0,$.jsx)(_e,{title:`Authenticator app`,description:`A six-digit code from an authenticator app, required whenever you change credentials from a session that was not started with a passkey. Signing in with a passkey never asks for one.`,status:oe,control:F}),t[11]=oe,t[12]=F,t[13]=I):I=t[13];let L=i!==null,R;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(R=e=>{e||D()},t[14]=R):R=t[14];let z;t[15]===k?z=t[16]:(z=e=>void k(e),t[15]=k,t[16]=z);let se;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsxs)(y,{children:[(0,$.jsx)(g,{children:`Set up two-factor authentication`}),(0,$.jsx)(re,{children:`Scan this with your authenticator app, then enter the code it shows. This is the only time the key is displayed.`})]}),t[17]=se):se=t[17];let B;t[18]===i?B=t[19]:(B=i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex justify-center rounded-xl border border-border bg-white p-4`,children:(0,$.jsx)(ve,{value:i.provisioningUri,size:168,level:`M`,marginSize:1,title:`Two-factor setup code`})}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Can't scan? Enter this key manually:`}),(0,$.jsx)(`p`,{"aria-label":`Two-factor setup key`,className:`rounded-lg border border-border bg-background px-3 py-2 font-mono text-sm break-all`,children:i.secretBase32})]})]}):null,t[18]=i,t[19]=B);let ce;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(w,{htmlFor:`account-totp-confirm`,children:`Code from your app`}),t[20]=ce):ce=t[20];let le;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(le=e=>c(U(e.target.value)),t[21]=le):le=t[21];let V;t[22]!==s||t[23]!==x?(V=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[ce,(0,$.jsx)(ae,{id:`account-totp-confirm`,value:s,inputMode:`numeric`,autoComplete:`one-time-code`,maxLength:16,disabled:x,className:ie,onChange:le})]}),t[22]=s,t[23]=x,t[24]=V):V=t[24];let H;t[25]!==B||t[26]!==V?(H=(0,$.jsxs)(ne,{className:`space-y-4`,children:[B,V]}),t[25]=B,t[26]=V,t[27]=H):H=t[27];let W;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(d,{variant:`outline`,onClick:D,children:`Cancel`}),t[28]=W):W=t[28];let G;t[29]!==n||t[30]!==s?(G=n||!Y(s),t[29]=n,t[30]=s,t[31]=G):G=t[31];let K;t[32]===x?K=t[33]:(K=(0,$.jsx)(We,{busy:x,children:`Turn on`}),t[32]=x,t[33]=K);let q;t[34]!==G||t[35]!==K?(q=(0,$.jsxs)(v,{children:[W,(0,$.jsx)(d,{type:`submit`,disabled:G,children:K})]}),t[34]=G,t[35]=K,t[36]=q):q=t[36];let J;t[37]!==z||t[38]!==H||t[39]!==q?(J=(0,$.jsx)(m,{className:`max-w-md`,children:(0,$.jsxs)(`form`,{onSubmit:z,children:[se,H,q]})}),t[37]=z,t[38]=H,t[39]=q,t[40]=J):J=t[40];let ue;t[41]!==J||t[42]!==L?(ue=(0,$.jsx)(C,{open:L,onOpenChange:R,children:J}),t[41]=J,t[42]=L,t[43]=ue):ue=t[43];let X;t[44]===n?X=t[45]:(X=e=>{n||u(e)},t[44]=n,t[45]=X);let de;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,$.jsxs)(te,{children:[(0,$.jsx)(h,{children:`Remove two-factor authentication?`}),(0,$.jsx)(_,{children:`Password, recovery-code, and emailed-link sign-ins will no longer need a code from your authenticator app. You can set it up again at any time.`})]}),t[46]=de):de=t[46];let fe;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsx)(S,{render:(0,$.jsx)(d,{variant:`outline`}),children:`Keep it on`}),t[47]=fe):fe=t[47];let Z;t[48]===M?Z=t[49]:(Z=()=>void M(),t[48]=M,t[49]=Z);let pe;t[50]!==n||t[51]!==Z?(pe=(0,$.jsxs)(p,{children:[de,(0,$.jsxs)(ee,{children:[fe,(0,$.jsx)(d,{variant:`destructive`,disabled:n,onClick:Z,children:`Remove two-factor`})]})]}),t[50]=n,t[51]=Z,t[52]=pe):pe=t[52];let me;t[53]!==l||t[54]!==X||t[55]!==pe?(me=(0,$.jsx)(f,{open:l,onOpenChange:X,children:pe}),t[53]=l,t[54]=X,t[55]=pe,t[56]=me):me=t[56];let ge;return t[57]!==ue||t[58]!==me||t[59]!==I?(ge=(0,$.jsxs)(he,{title:`Two-factor authentication`,icon:P,children:[I,ue,me]}),t[57]=ue,t[58]=me,t[59]=I,t[60]=ge):ge=t[60],ge}function ht(){N.beginTotpEnrollment()}function gt(e){return N.revokeTotp(e)}function _t(e){let t=(0,xe.c)(86),{busy:n,actionStatus:r,security:i,run:a,cancel:o}=e,[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(``),[T,E]=(0,Q.useState)(!1),[D,k]=(0,Q.useState)(!1),A=r===`setting-password`,j=r===`removing-password`,M;t[0]!==b||t[1]!==l?(M=me(l,b),t[0]=b,t[1]=l,t[2]=M):M=t[2];let P=M,oe;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(oe=()=>{u(``),x(``),E(!1)},t[3]=oe):oe=t[3];let F=oe,I;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(I=()=>{F(),c(!1)},t[4]=I):I=t[4];let L=I,R;t[5]===o?R=t[6]:(R=()=>{o(),L()},t[5]=o,t[6]=R);let z=R,se;t[7]!==P||t[8]!==l||t[9]!==a?(se=async e=>{e.preventDefault(),E(!0),!P&&await a(`set-password`,e=>N.setPassword({password:l,...e}),{onCommitted:L,onAbandoned:L})},t[7]=P,t[8]=l,t[9]=a,t[10]=se):se=t[10];let B=se,ce;t[11]===a?ce=t[12]:(ce=async()=>{k(!1),await a(`remove-password`,vt)},t[11]=a,t[12]=ce);let le=ce,V;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(O,{"aria-hidden":!0,className:`size-3.5`}),t[13]=V):V=t[13];let H=i===null?`Checking current state…`:i.passwordConfigured?`Set`:`Not set`,U;t[14]!==n||t[15]!==j||t[16]!==i||t[17]!==A?(U=i===null?null:(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(d,{size:`xs`,variant:`outline`,disabled:n,onClick:()=>c(!0),children:(0,$.jsx)(We,{busy:A,children:i.passwordConfigured?`Change`:`Set password`})}),i.passwordConfigured?(0,$.jsx)(d,{size:`xs`,variant:`destructive-outline`,"aria-label":`Delete the fallback password`,disabled:n,onClick:()=>k(!0),children:(0,$.jsx)(We,{busy:j,children:`Remove`})}):null]}),t[14]=n,t[15]=j,t[16]=i,t[17]=A,t[18]=U):U=t[18];let W;t[19]!==H||t[20]!==U?(W=(0,$.jsx)(_e,{title:`Fallback password`,description:`A password is a fallback, not an equal of a passkey: it can be phished and reused, and a session started with one has to prove itself again before changing credentials. Keep a passkey as your normal way in.`,status:H,control:U}),t[19]=H,t[20]=U,t[21]=W):W=t[21];let G=i===null?void 0:i.email,K=i?.emailDeliveryConfigured,q;t[22]!==r||t[23]!==n||t[24]!==a||t[25]!==G||t[26]!==K?(q=(0,$.jsx)(yt,{busy:n,actionStatus:r,email:G,deliveryConfigured:K,run:a}),t[22]=r,t[23]=n,t[24]=a,t[25]=G,t[26]=K,t[27]=q):q=t[27];let J;t[28]===z?J=t[29]:(J=e=>{if(e){c(!0);return}z()},t[28]=z,t[29]=J);let Y;t[30]===B?Y=t[31]:(Y=e=>void B(e),t[30]=B,t[31]=Y);let ue;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsxs)(y,{children:[(0,$.jsx)(g,{children:`Set a fallback password`}),(0,$.jsx)(re,{children:`This replaces any password already on the account. The Hub rejects passwords that have appeared in a known breach.`})]}),t[32]=ue):ue=t[32];let X;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,$.jsx)(w,{htmlFor:`account-password`,children:`New password`}),t[33]=X):X=t[33];let de;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(de=e=>u(e.target.value),t[34]=de):de=t[34];let fe;t[35]!==l||t[36]!==A?(fe=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[X,(0,$.jsx)(ae,{id:`account-password`,type:`password`,value:l,autoComplete:`new-password`,maxLength:256,disabled:A,className:ie,onChange:de})]}),t[35]=l,t[36]=A,t[37]=fe):fe=t[37];let Z;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,$.jsx)(w,{htmlFor:`account-password-confirm`,children:`Confirm password`}),t[38]=Z):Z=t[38];let pe;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(pe=e=>x(e.target.value),t[39]=pe):pe=t[39];let ge;t[40]!==b||t[41]!==A?(ge=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[Z,(0,$.jsx)(ae,{id:`account-password-confirm`,type:`password`,value:b,autoComplete:`new-password`,maxLength:256,disabled:A,className:ie,onChange:pe})]}),t[40]=b,t[41]=A,t[42]=ge):ge=t[42];let ve;t[43]!==P||t[44]!==T?(ve=T&&P?(0,$.jsx)(`p`,{role:`alert`,className:`text-xs text-destructive-foreground`,children:P}):null,t[43]=P,t[44]=T,t[45]=ve):ve=t[45];let ye;t[46]!==fe||t[47]!==ge||t[48]!==ve?(ye=(0,$.jsxs)(ne,{className:`space-y-3`,children:[fe,ge,ve]}),t[46]=fe,t[47]=ge,t[48]=ve,t[49]=ye):ye=t[49];let be;t[50]===z?be=t[51]:(be=(0,$.jsx)(d,{variant:`outline`,onClick:z,children:`Cancel`}),t[50]=z,t[51]=be);let Se;t[52]===A?Se=t[53]:(Se=(0,$.jsx)(We,{busy:A,children:`Save password`}),t[52]=A,t[53]=Se);let Ce;t[54]!==n||t[55]!==Se?(Ce=(0,$.jsx)(d,{type:`submit`,disabled:n,children:Se}),t[54]=n,t[55]=Se,t[56]=Ce):Ce=t[56];let we;t[57]!==be||t[58]!==Ce?(we=(0,$.jsxs)(v,{children:[be,Ce]}),t[57]=be,t[58]=Ce,t[59]=we):we=t[59];let Te;t[60]!==Y||t[61]!==ye||t[62]!==we?(Te=(0,$.jsx)(m,{className:`max-w-md`,children:(0,$.jsxs)(`form`,{onSubmit:Y,children:[ue,ye,we]})}),t[60]=Y,t[61]=ye,t[62]=we,t[63]=Te):Te=t[63];let Ee;t[64]!==s||t[65]!==J||t[66]!==Te?(Ee=(0,$.jsx)(C,{open:s,onOpenChange:J,children:Te}),t[64]=s,t[65]=J,t[66]=Te,t[67]=Ee):Ee=t[67];let De;t[68]===n?De=t[69]:(De=e=>{n||k(e)},t[68]=n,t[69]=De);let Oe;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsxs)(te,{children:[(0,$.jsx)(h,{children:`Remove the password?`}),(0,$.jsx)(_,{children:`You will no longer be able to sign in with a password. Make sure you still have a passkey, or recovery codes you have saved.`})]}),t[70]=Oe):Oe=t[70];let ke;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,$.jsx)(S,{render:(0,$.jsx)(d,{variant:`outline`}),children:`Keep it`}),t[71]=ke):ke=t[71];let Ae;t[72]===le?Ae=t[73]:(Ae=()=>void le(),t[72]=le,t[73]=Ae);let je;t[74]!==n||t[75]!==Ae?(je=(0,$.jsxs)(p,{children:[Oe,(0,$.jsxs)(ee,{children:[ke,(0,$.jsx)(d,{variant:`destructive`,disabled:n,onClick:Ae,children:`Remove password`})]})]}),t[74]=n,t[75]=Ae,t[76]=je):je=t[76];let Me;t[77]!==D||t[78]!==De||t[79]!==je?(Me=(0,$.jsx)(f,{open:D,onOpenChange:De,children:je}),t[77]=D,t[78]=De,t[79]=je,t[80]=Me):Me=t[80];let Ne;return t[81]!==W||t[82]!==q||t[83]!==Ee||t[84]!==Me?(Ne=(0,$.jsxs)(he,{title:`Fallback sign-in`,icon:V,children:[W,q,Ee,Me]}),t[81]=W,t[82]=q,t[83]=Ee,t[84]=Me,t[85]=Ne):Ne=t[85],Ne}function vt(e){return N.removePassword(e)}function yt(e){let t=(0,xe.c)(25),{busy:n,actionStatus:r,email:i,deliveryConfigured:a,run:o}=e,[s,c]=(0,Q.useState)(``),[l,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(!1),h=r===`requesting-email-verification`,g;t[0]===s?g=t[1]:(g=X(s),t[0]=s,t[1]=g);let _=g,v;t[2]!==s||t[3]!==_||t[4]!==o?(v=async e=>{e.preventDefault(),f(!0),m(!1),!_&&await o(`request-email-verification`,e=>N.requestEmailVerification({email:s.trim(),...e}),{onCommitted:()=>{m(!0),c(``),f(!1)}})},t[2]=s,t[3]=_,t[4]=o,t[5]=v):v=t[5];let ee=v,y;t[6]===a?y=t[7]:(y=a===!1?(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 pt-3.5 sm:px-5`,children:(0,$.jsxs)(I,{variant:`warning`,children:[(0,$.jsx)(u,{"aria-hidden":!0}),(0,$.jsx)(P,{children:`No mail will arrive yet`}),(0,$.jsx)(F,{children:`This Hub has no mail transport configured, so verification messages are generated and discarded. The request below will be accepted and nothing will be delivered until an operator wires one up. Do not rely on email as your way back into the account.`})]})}):null,t[6]=a,t[7]=y);let te=a?`Used for account recovery after verification. The Hub answers the same way whether or not the address is already known, so this never confirms who owns it.`:`Used for account recovery once mail delivery is switched on. The Hub answers the same way whether or not the address is already known, so this never confirms who owns it.`,ne=i===void 0?`Checking current state…`:i===null?`Not set`:`${i.verified?`Verified`:`Verification pending`} · ${i.address}`,b;t[8]!==p||t[9]!==n||t[10]!==i||t[11]!==a||t[12]!==s||t[13]!==_||t[14]!==h||t[15]!==ee||t[16]!==l?(b=i===void 0?null:(0,$.jsxs)(`form`,{className:`pt-3 pb-3.5`,onSubmit:e=>void ee(e),children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,$.jsx)(ae,{"aria-label":`Email address`,type:`email`,value:s,autoComplete:`email`,placeholder:`you@example.com`,maxLength:254,disabled:h,className:ie,onChange:e=>{c(e.target.value),m(!1)}}),(0,$.jsx)(d,{type:`submit`,size:`sm`,variant:`outline`,disabled:n,className:`shrink-0`,children:(0,$.jsx)(We,{busy:h,children:i===null?`Send verification`:i.verified?`Change email`:`Resend or change`})})]}),l&&_?(0,$.jsx)(`p`,{role:`alert`,className:`pt-2 text-xs text-destructive-foreground`,children:_}):null,p?(0,$.jsx)(`p`,{role:`status`,className:`pt-2 text-xs text-muted-foreground`,children:a?`Verification email requested. Check your inbox and spam folder; delivery may take a moment.`:`Request accepted by the Hub. No message will be delivered until a mail transport is configured.`}):null]}),t[8]=p,t[9]=n,t[10]=i,t[11]=a,t[12]=s,t[13]=_,t[14]=h,t[15]=ee,t[16]=l,t[17]=b):b=t[17];let x;t[18]!==te||t[19]!==ne||t[20]!==b?(x=(0,$.jsx)(_e,{title:`Recovery email`,description:te,status:ne,children:b}),t[18]=te,t[19]=ne,t[20]=b,t[21]=x):x=t[21];let S;return t[22]!==y||t[23]!==x?(S=(0,$.jsxs)($.Fragment,{children:[y,x]}),t[22]=y,t[23]=x,t[24]=S):S=t[24],S}function bt(e){let t=(0,xe.c)(52),{busy:r,actionStatus:a,recoveryCodes:o,run:s}=e,[l,u]=(0,Q.useState)(!1),b=a===`regenerating-recovery-codes`,{copyToClipboard:x,isCopied:w}=c(),T;t[0]===s?T=t[1]:(T=async()=>{u(!1),await s(`regenerate-recovery-codes`,wt)},t[0]=s,t[1]=T);let E=T,D;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(k,{"aria-hidden":!0,className:`size-3.5`}),t[2]=D):D=t[2];let O;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>u(!0),t[3]=O):O=t[3];let A;t[4]===b?A=t[5]:(A=(0,$.jsx)(We,{busy:b,children:`Generate new codes`}),t[4]=b,t[5]=A);let j;t[6]!==r||t[7]!==A?(j=(0,$.jsx)(_e,{title:`One-time recovery codes`,description:`Single-use codes that get you back in when you have lost every passkey. They are a last resort, not a substitute for one — anyone holding a code can sign in as you.`,status:`Ryco shows them once and never writes them to browser storage.`,control:(0,$.jsx)(d,{size:`xs`,variant:`destructive-outline`,disabled:r,onClick:O,children:A})}),t[6]=r,t[7]=A,t[8]=j):j=t[8];let M;t[9]===r?M=t[10]:(M=e=>{r||u(e)},t[9]=r,t[10]=M);let N;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsxs)(te,{children:[(0,$.jsx)(h,{children:`Replace your recovery codes?`}),(0,$.jsx)(_,{children:`Every code you have already saved stops working immediately. You will get a new set, shown once — if you lose them you will have to generate another set from a session you can still sign in to.`})]}),t[11]=N):N=t[11];let ie;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsx)(S,{render:(0,$.jsx)(d,{variant:`outline`}),children:`Cancel`}),t[12]=ie):ie=t[12];let ae;t[13]===E?ae=t[14]:(ae=()=>void E(),t[13]=E,t[14]=ae);let P;t[15]!==r||t[16]!==ae?(P=(0,$.jsxs)(p,{children:[N,(0,$.jsxs)(ee,{children:[ie,(0,$.jsx)(d,{variant:`destructive`,disabled:r,onClick:ae,children:`Replace codes`})]})]}),t[15]=r,t[16]=ae,t[17]=P):P=t[17];let oe;t[18]!==l||t[19]!==P||t[20]!==M?(oe=(0,$.jsx)(f,{open:l,onOpenChange:M,children:P}),t[18]=l,t[19]=P,t[20]=M,t[21]=oe):oe=t[21];let F=o.length>0,I;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(g,{children:`Save your recovery codes`}),t[22]=I):I=t[22];let L=String(o.length),R;t[23]===L?R=t[24]:(R=(0,$.jsxs)(y,{children:[I,(0,$.jsxs)(re,{children:[`Save all `,L,` codes — they are shown once and cannot be retrieved later. Store them somewhere only you can reach — a password manager, or paper somewhere safe.`]})]}),t[23]=L,t[24]=R);let z;t[25]===o?z=t[26]:(z=o.map(St),t[25]=o,t[26]=z);let se;t[27]===z?se=t[28]:(se=(0,$.jsx)(ne,{children:(0,$.jsx)(`ul`,{"aria-label":`Recovery codes`,className:`grid gap-2 rounded-xl border border-border bg-background p-4 font-mono text-sm break-all sm:grid-cols-2`,children:z})}),t[27]=z,t[28]=se);let B;t[29]!==x||t[30]!==o?(B=()=>x(ce(o),void 0),t[29]=x,t[30]=o,t[31]=B):B=t[31];let le;t[32]===w?le=t[33]:(le=w?(0,$.jsx)(i,{"aria-hidden":!0}):(0,$.jsx)(n,{"aria-hidden":!0}),t[32]=w,t[33]=le);let V=w?`Copied`:`Copy codes`,H;t[34]!==B||t[35]!==le||t[36]!==V?(H=(0,$.jsxs)(d,{variant:`outline`,onClick:B,children:[le,V]}),t[34]=B,t[35]=le,t[36]=V,t[37]=H):H=t[37];let U;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(d,{onClick:xt,children:`I saved the codes`}),t[38]=U):U=t[38];let W;t[39]===H?W=t[40]:(W=(0,$.jsxs)(v,{children:[H,U]}),t[39]=H,t[40]=W);let G;t[41]!==R||t[42]!==se||t[43]!==W?(G=(0,$.jsxs)(m,{className:`max-w-md`,showCloseButton:!1,children:[R,se,W]}),t[41]=R,t[42]=se,t[43]=W,t[44]=G):G=t[44];let K;t[45]!==F||t[46]!==G?(K=(0,$.jsx)(C,{open:F,disablePointerDismissal:!0,onOpenChange:Ct,children:G}),t[45]=F,t[46]=G,t[47]=K):K=t[47];let q;return t[48]!==oe||t[49]!==K||t[50]!==j?(q=(0,$.jsxs)(he,{title:`Recovery codes`,icon:D,children:[j,oe,K]}),t[48]=oe,t[49]=K,t[50]=j,t[51]=q):q=t[51],q}function xt(){return N.dismissRecoveryCodes()}function St(e){return(0,$.jsx)(`li`,{children:e},e)}function Ct(e,t){e||t.cancel()}function wt(e){return N.regenerateRecoveryCodes(e)}function Tt(e){let t=(0,xe.c)(45),{pending:n,attempts:r,code:i,onCodeChange:a,onSubmit:o,onCancel:s,busy:c}=e,l=n!==null,u;t[0]===s?u=t[1]:(u=e=>{e||s()},t[0]=s,t[1]=u);let f;t[2]===o?f=t[3]:(f=e=>{e.preventDefault(),o()},t[2]=o,t[3]=f);let p;t[4]===n?p=t[5]:(p=n?R(n.action):``,t[4]=n,t[5]=p);let h;t[6]===p?h=t[7]:(h=(0,$.jsx)(g,{children:p}),t[6]=p,t[7]=h);let _=n?.inferred??!1,ee;t[8]!==r||t[9]!==_?(ee=pe(r,_),t[8]=r,t[9]=_,t[10]=ee):ee=t[10];let te;t[11]===ee?te=t[12]:(te=(0,$.jsx)(re,{children:ee}),t[11]=ee,t[12]=te);let b;t[13]!==h||t[14]!==te?(b=(0,$.jsxs)(y,{children:[h,te]}),t[13]=h,t[14]=te,t[15]=b):b=t[15];let x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(w,{htmlFor:`account-step-up-code`,children:`Authenticator code`}),t[16]=x):x=t[16];let S;t[17]===a?S=t[18]:(S=e=>a(U(e.target.value)),t[17]=a,t[18]=S);let T;t[19]!==c||t[20]!==i||t[21]!==S?(T=(0,$.jsxs)(ne,{className:`space-y-2`,children:[x,(0,$.jsx)(ae,{id:`account-step-up-code`,value:i,inputMode:`numeric`,autoComplete:`one-time-code`,maxLength:16,disabled:c,className:ie,onChange:S})]}),t[19]=c,t[20]=i,t[21]=S,t[22]=T):T=t[22];let E;t[23]===s?E=t[24]:(E=(0,$.jsx)(d,{variant:`outline`,onClick:s,children:`Cancel`}),t[23]=s,t[24]=E);let D;t[25]!==c||t[26]!==i?(D=c||!Y(i),t[25]=c,t[26]=i,t[27]=D):D=t[27];let O;t[28]===c?O=t[29]:(O=(0,$.jsx)(We,{busy:c,children:`Confirm code`}),t[28]=c,t[29]=O);let k;t[30]!==D||t[31]!==O?(k=(0,$.jsx)(d,{type:`submit`,disabled:D,children:O}),t[30]=D,t[31]=O,t[32]=k):k=t[32];let A;t[33]!==E||t[34]!==k?(A=(0,$.jsxs)(v,{children:[E,k]}),t[33]=E,t[34]=k,t[35]=A):A=t[35];let j;t[36]!==T||t[37]!==A||t[38]!==f||t[39]!==b?(j=(0,$.jsx)(m,{className:`max-w-sm`,children:(0,$.jsxs)(`form`,{onSubmit:f,children:[b,T,A]})}),t[36]=T,t[37]=A,t[38]=f,t[39]=b,t[40]=j):j=t[40];let M;return t[41]!==l||t[42]!==j||t[43]!==u?(M=(0,$.jsx)(C,{open:l,onOpenChange:u,children:j}),t[41]=l,t[42]=j,t[43]=u,t[44]=M):M=t[44],M}export{Ge as AccountSettingsPanel};
|