ryco-cli 0.1.13 → 0.1.15
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/{AcpNativeLogging-Be1KGJfF.cjs → AcpNativeLogging-OhEq3XNp.cjs} +1 -1
- package/dist/{AcpNativeLogging-Ba9Nn9Re.mjs → AcpNativeLogging-qZgtIa5K.mjs} +2 -2
- package/dist/{AzureDevOpsSourceControlProvider-CGlK6M0b.mjs → AzureDevOpsSourceControlProvider-B0YsaJyI.mjs} +3 -3
- package/dist/{AzureDevOpsSourceControlProvider-CVj-F-pW.cjs → AzureDevOpsSourceControlProvider-Dyu8KQ_S.cjs} +2 -2
- package/dist/{BitbucketSourceControlProvider-CEZEd4PX.cjs → BitbucketSourceControlProvider-3VHGKSl1.cjs} +2 -2
- package/dist/{BitbucketSourceControlProvider-BV6iRDi7.mjs → BitbucketSourceControlProvider-B8IPx2Ad.mjs} +3 -3
- package/dist/{ClaudeDriver-lBU7EyUX.cjs → ClaudeDriver-CBCy0_WX.cjs} +176 -11
- package/dist/{ClaudeDriver-rooMNrJz.mjs → ClaudeDriver-DsW8yDj9.mjs} +177 -12
- package/dist/{CodexDriver-CZCIJSLV.cjs → CodexDriver-3TZPgrGk.cjs} +3 -3
- package/dist/{CodexDriver-DBz2rPXb.mjs → CodexDriver-DLwPz5sk.mjs} +4 -4
- package/dist/{CodexTextGeneration-BeG7ymPC.mjs → CodexTextGeneration-D1vV8grr.mjs} +2 -2
- package/dist/{CodexTextGeneration-BvIcyD1P.cjs → CodexTextGeneration-DLHSW4Mz.cjs} +1 -1
- package/dist/{CopilotDriver-CX5zhEdZ.cjs → CopilotDriver-C7a8IhyK.cjs} +20 -16
- package/dist/{CopilotDriver-D36vbGbn.mjs → CopilotDriver-DXvGBv-s.mjs} +21 -17
- package/dist/{CursorDriver-DWuuOSkJ.mjs → CursorDriver-CeB_vMKJ.mjs} +4 -4
- package/dist/{CursorDriver-CPBVeesr.cjs → CursorDriver-uNsDetA3.cjs} +3 -3
- package/dist/{ForgejoSourceControlProvider-CzmmcAZO.cjs → ForgejoSourceControlProvider-CJLksvL_.cjs} +2 -2
- package/dist/{ForgejoSourceControlProvider-CeN7Snfr.mjs → ForgejoSourceControlProvider-Ds0rU_PN.mjs} +3 -3
- package/dist/{GitHubSourceControlProvider-Dmz1LJct.mjs → GitHubSourceControlProvider-C7CJAslU.mjs} +3 -3
- package/dist/{GitHubSourceControlProvider-DfFR9O2o.cjs → GitHubSourceControlProvider-CrYNFu8S.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-DGoelNmL.cjs → GitLabSourceControlProvider-jbX5M34A.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-C21lwphV.mjs → GitLabSourceControlProvider-u-Y-e8PV.mjs} +3 -3
- package/dist/{GrokDriver-CIXj_4ry.cjs → GrokDriver-BJ00ZiYg.cjs} +3 -3
- package/dist/{GrokDriver-qKX1a63G.mjs → GrokDriver-CFgjwnvE.mjs} +4 -4
- package/dist/{OpenCodeDriver-DDEuwtXl.cjs → OpenCodeDriver-BTxd2Q3Q.cjs} +487 -207
- package/dist/{OpenCodeDriver-CbdswhqU.mjs → OpenCodeDriver-DNApoGdu.mjs} +487 -207
- package/dist/{SourceControlProviderDiscoveryCatalog-DJWDCoup.cjs → SourceControlProviderDiscoveryCatalog-CPO3a9_U.cjs} +1 -1
- package/dist/{SourceControlProviderDiscoveryCatalog-4_4yahsa.mjs → SourceControlProviderDiscoveryCatalog-hXWNwRMn.mjs} +1 -1
- package/dist/bin.cjs +1324 -340
- package/dist/bin.mjs +1324 -343
- package/dist/client/assets/{AccountSettings-Be5_48k0.js → AccountSettings-Cey-16wq.js} +1 -1
- package/dist/client/assets/{AiFocusSettings-DIpQXLW2.js → AiFocusSettings-CaHQXDaQ.js} +1 -1
- package/dist/client/assets/{AnimatedHeight-BIsV_Z3J.js → AnimatedHeight-BC-qaTJY.js} +1 -1
- package/dist/client/assets/AppearanceSettings-B6UaU-_a.js +1 -0
- package/dist/client/assets/{BranchToolbar.logic-D7slG_zJ.js → BranchToolbar.logic-DILAA3Cz.js} +1 -1
- package/dist/client/assets/ChatRightPanel-D-AL07IU.js +27 -0
- package/dist/client/assets/{ChatThreadRouteView-CocRstME.js → ChatThreadRouteView-tEo-zoCf.js} +1 -1
- package/dist/client/assets/CommandPaletteDialog-s7yf5Y2S.js +1 -0
- package/dist/client/assets/{CompositeItem-F3NGn6aG.js → CompositeItem-97y1QiiT.js} +1 -1
- package/dist/client/assets/{CompositeRoot-CmJGfRtc.js → CompositeRoot-C7Mz4Y_2.js} +1 -1
- package/dist/client/assets/{ConnectionsSettings-CXabxSaH.js → ConnectionsSettings-B0-Hkwof.js} +2 -2
- package/dist/client/assets/{DiagnosticsSettings-CZ3vY43G.js → DiagnosticsSettings-DX5LH9Bt.js} +1 -1
- package/dist/client/assets/{DialogHandle-C4uSr9wX.js → DialogHandle-Cl9dQBJp.js} +1 -1
- package/dist/client/assets/{DialogPopup-Dck8r8Hn.js → DialogPopup-a1M74u16.js} +1 -1
- package/dist/client/assets/DialogRoot-C_DO1gtO.js +1 -0
- package/dist/client/assets/{DialogTitle-CCedPAjV.js → DialogTitle-Bk-w3xLJ.js} +1 -1
- package/dist/client/assets/{DialogTrigger-CYJ7_YcV.js → DialogTrigger-D9nkMFu2.js} +1 -1
- package/dist/client/assets/{DialogViewport-D-CrTM-P.js → DialogViewport-tgJz2Lwn.js} +1 -1
- package/dist/client/assets/{DraftChatThreadRouteView-D8Bt3Qnq.js → DraftChatThreadRouteView-BU2IGTR6.js} +1 -1
- package/dist/client/assets/{ExternalIdentityWeb.logic-D64j70NH.js → ExternalIdentityWeb.logic-Bn1HigS9.js} +1 -1
- package/dist/client/assets/GlassSurface-CDok2tTN.js +1 -0
- package/dist/client/assets/{HostedConnectionControls-DxAXv0Hd.js → HostedConnectionControls-Cux_sRCM.js} +1 -1
- package/dist/client/assets/HostedHubRoot-CyySCdJV.js +1 -0
- package/dist/client/assets/{HostedNativeAuthorizationRoute-CTQe7Vjt.js → HostedNativeAuthorizationRoute-490iDXmk.js} +1 -1
- package/dist/client/assets/{HostedRelayTrustNotice-BldMySVi.js → HostedRelayTrustNotice-CcDOAwgS.js} +1 -1
- package/dist/client/assets/{Icons-CT3nd2MA.js → Icons-BEtED8P8.js} +1 -1
- package/dist/client/assets/{IntegrationsSettingsPanel-D6f3KoqM.js → IntegrationsSettingsPanel-BFTAvxtn.js} +1 -1
- package/dist/client/assets/KeybindingsSettings-VYgbhiZF.js +7 -0
- package/dist/client/assets/{McpServersSettings-B7YqVvV4.js → McpServersSettings-DSDCjoTn.js} +1 -1
- package/dist/client/assets/{MobileSheet-CkeG6_SP.js → MobileSheet-BDvnUC5W.js} +1 -1
- package/dist/client/assets/{NewWorktreeDialog-CKr2ioue.js → NewWorktreeDialog-C65Aifeb.js} +1 -1
- package/dist/client/assets/{NoActiveThreadState-BD-eNmfn.js → NoActiveThreadState-DehHNgAp.js} +1 -1
- package/dist/client/assets/{NodeSecuritySettings-FWM_SeDi.js → NodeSecuritySettings-DW9GJ-kU.js} +1 -1
- package/dist/client/assets/{OpinionatedPluginsSettings-BtZQF4Ze.js → OpinionatedPluginsSettings-DbxPOokL.js} +1 -1
- package/dist/client/assets/{PhoneGetAppInterstitial-CooQgpSw.js → PhoneGetAppInterstitial-CbyVrtDn.js} +1 -1
- package/dist/client/assets/{PhoneGetAppInterstitialBackdrop-B8vfJdZd.js → PhoneGetAppInterstitialBackdrop-BA4R225F.js} +1 -1
- package/dist/client/assets/PhoneHome-c0j_TBEC.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-5LFRIx_5.js +1 -0
- package/dist/client/assets/{ProjectFavicon-qZGdjYCM.js → ProjectFavicon-CeVJCQCy.js} +1 -1
- package/dist/client/assets/{ProviderModelPicker-D0w23uWo.js → ProviderModelPicker-MFRYAv_3.js} +1 -1
- package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-BkoRegCn.js → ProviderUpdateLaunchNotification.logic-CywRitn3.js} +1 -1
- package/dist/client/assets/ProvidersSettingsPanel-FYBEqSr_.js +1 -0
- package/dist/client/assets/{RedactedSensitiveText-CxtaUiKH.js → RedactedSensitiveText-BuWSWty8.js} +1 -1
- package/dist/client/assets/RootAppShell-5HrP6N8H.js +6 -0
- package/dist/client/assets/{RycoLetterMark-Bk0kvGJ_.js → RycoLetterMark-CZYntY8t.js} +1 -1
- package/dist/client/assets/SettingsDialog-CpwoqGS8.js +1 -0
- package/dist/client/assets/{SettingsPanels-Dr4f2y9l.js → SettingsPanels-COWRB29-.js} +3 -3
- package/dist/client/assets/{SettingsPanels.editor-B2x4U4rW.js → SettingsPanels.editor-lbLEbllb.js} +1 -1
- package/dist/client/assets/SourceControlSettings-DvBNelcO.js +1 -0
- package/dist/client/assets/{StatisticsPage-Bjouapmf.js → StatisticsPage-DxAKqvVX.js} +1 -1
- package/dist/client/assets/{StatisticsPanel-D_khPph6.js → StatisticsPanel-C0xGLlMA.js} +1 -1
- package/dist/client/assets/{StatisticsSettingsLink-Cx43bOeo.js → StatisticsSettingsLink-B7SZerf3.js} +1 -1
- package/dist/client/assets/ThreadStatusIndicators-CIOM98q2.js +0 -0
- package/dist/client/assets/{ThreadTerminalDrawer-DDHEuRGB.js → ThreadTerminalDrawer-DRelLlEP.js} +1 -1
- package/dist/client/assets/{ThreadWorkspacePanel-QF3KwbGm.js → ThreadWorkspacePanel-CktVSliZ.js} +3 -3
- package/dist/client/assets/{ToolbarRootContext-BgqqXVly.js → ToolbarRootContext-B1g8IP6k.js} +1 -1
- package/dist/client/assets/{WorkItemsTab-AOVwVvb7.js → WorkItemsTab-CahU_t_S.js} +12 -12
- package/dist/client/assets/{alert-LqMhbdE9.js → alert-DomE7dAt.js} +1 -1
- package/dist/client/assets/{alert-dialog-DxoA6ky8.js → alert-dialog-9Jyh0e8u.js} +1 -1
- package/dist/client/assets/appearancePreferences-BhNRCg6W.js +1 -0
- package/dist/client/assets/authorization-D8lJzXTE.js +1 -0
- package/dist/client/assets/{badge-CXw6fWrB.js → badge-w43sx8eF.js} +1 -1
- package/dist/client/assets/{branding-BDfN6Spd.js → branding-B7DcCXjn.js} +1 -1
- package/dist/client/assets/{button-BAbJxRzt.js → button-DG8WqjNn.js} +1 -1
- package/dist/client/assets/{capabilities-3zgirmmI.js → capabilities-B1FHGoov.js} +1 -1
- package/dist/client/assets/{chatThreadActions-DQ8aOQ1g.js → chatThreadActions-BZvyhfKr.js} +1 -1
- package/dist/client/assets/{collapsible-dxy6kc2k.js → collapsible-EhAEe5S9.js} +1 -1
- package/dist/client/assets/{command-CGNKG_Oe.js → command-Cyn6yIEa.js} +1 -1
- package/dist/client/assets/composerDraftStore-TYv9j3vY.js +11 -0
- package/dist/client/assets/{data-list-CYKBxN62.js → data-list-DTdqWMGN.js} +1 -1
- package/dist/client/assets/{desktopUpdateAtoms-CyfPW2jg.js → desktopUpdateAtoms-CPlZiFRm.js} +1 -1
- package/dist/client/assets/{desktopWorkspace-DHUZEpfy.js → desktopWorkspace-DEZ30LlY.js} +1 -1
- package/dist/client/assets/device-CHdXzvhB.js +168 -0
- package/dist/client/assets/{dialog-DQsYchqu.js → dialog-BNmFD6Nh.js} +1 -1
- package/dist/client/assets/{draft-input-CkzOk8BY.js → draft-input-dP7F8odz.js} +1 -1
- package/dist/client/assets/editorPreferences-B4GvqMiF.js +1 -0
- package/dist/client/assets/{empty-DwzqNgCP.js → empty-Ccxhyvdf.js} +1 -1
- package/dist/client/assets/{env-B4arEvJg.js → env-Bcq9YR3B.js} +1 -1
- package/dist/client/assets/{getPseudoElementBounds-X62ElHN8.js → getPseudoElementBounds-CO5HJT7x.js} +1 -1
- package/dist/client/assets/{group-D9ER9giz.js → group-CzdKmc45.js} +1 -1
- package/dist/client/assets/{index-CQmEMMQH.js → index-Gre6bNC8.js} +2 -2
- package/dist/client/assets/{input-CHEwW3oH.js → input-BZz4eLRl.js} +1 -1
- package/dist/client/assets/{kbd-DCGQZk18.js → kbd-DbvN3zTb.js} +1 -1
- package/dist/client/assets/{keybindings-CWJ7E9ZI.js → keybindings-BPE3eEAM.js} +1 -1
- package/dist/client/assets/{label-CVFHsLFO.js → label-DZf4lbNF.js} +1 -1
- package/dist/client/assets/{lib-qiiNMGgU.js → lib-DgOYoged.js} +1 -1
- package/dist/client/assets/{liquidGlass-CPsvmaF0.js → liquidGlass-yFkZrRk5.js} +1 -1
- package/dist/client/assets/{logging-M8H3z7rQ.js → logging-81iP6Hps.js} +1 -1
- package/dist/client/assets/main-DlGNPwsH.css +2 -0
- package/dist/client/assets/main-Dz0zookE.js +9 -0
- package/dist/client/assets/{menu-Dvxh8sD5.js → menu-B6UEFcn0.js} +1 -1
- package/dist/client/assets/{popover-CuH9Yrj3.js → popover-BuYzXGwl.js} +1 -1
- package/dist/client/assets/primary-CiDY2oUi.js +2 -0
- package/dist/client/assets/projectPaths-D6fHIU1b.js +1 -0
- package/dist/client/assets/{providerDriverMeta-I0TSo-QI.js → providerDriverMeta-sBwZhQoN.js} +1 -1
- package/dist/client/assets/{providerIconUtils-X0Z3EK-Q.js → providerIconUtils-DiDJeNtT.js} +1 -1
- package/dist/client/assets/providerInstances-vd2eZtHx.js +1 -0
- package/dist/client/assets/providerModels-vd2eZtHx.js +1 -0
- package/dist/client/assets/{qr-code-Bddq6K7S.js → qr-code-Ie92aZvE.js} +1 -1
- package/dist/client/assets/{radio-group-CBZFr4C8.js → radio-group-BuuTEtdC.js} +1 -1
- package/dist/client/assets/{resolveAriaLabelledBy-CD_ugzhJ.js → resolveAriaLabelledBy-0FA0k4xp.js} +1 -1
- package/dist/client/assets/{rightPanelRouteSearch-DB5gQGHK.js → rightPanelRouteSearch-BS8CkNS6.js} +1 -1
- package/dist/client/assets/runtime-CPM0EUhb.js +1 -0
- package/dist/client/assets/{scroll-area-Drsa8bNB.js → scroll-area-C0yF015F.js} +1 -1
- package/dist/client/assets/{scrollEdges-B-cqxY4l.js → scrollEdges-DI5Y3mtR.js} +1 -1
- package/dist/client/assets/{select-BYbVr-yg.js → select-CZukJlTn.js} +1 -1
- package/dist/client/assets/{separator-CdS5bi4Z.js → separator-D4ckGtPe.js} +1 -1
- package/dist/client/assets/session-logic-BalPN1Sc.js +4 -0
- package/dist/client/assets/{settingsDialogStore-ygYoScKe.js → settingsDialogStore-LxRFC5hh.js} +1 -1
- package/dist/client/assets/{settingsLayout-D8glO7f1.js → settingsLayout-CHJT5wtl.js} +1 -1
- package/dist/client/assets/{sheet-BO78gIKZ.js → sheet-BNfImQ-7.js} +1 -1
- package/dist/client/assets/{sidebar-Dm6l2GA6.js → sidebar-CFGg5Tkr.js} +1 -1
- package/dist/client/assets/sidebarProjectFolders-bhNsO9Z_.js +4 -0
- package/dist/client/assets/{sidebarStatusText-D0HT0fek.js → sidebarStatusText-C8QBhZhZ.js} +1 -1
- package/dist/client/assets/{skeleton-CvQSeJbw.js → skeleton-DOgQaVXv.js} +1 -1
- package/dist/client/assets/{spinner-ClF0jOcX.js → spinner-ClQu8SdC.js} +1 -1
- package/dist/client/assets/{src-Vf4LVnMX.js → src-DmPIm3ie.js} +1 -1
- package/dist/client/assets/storeSelectors-Cf2WDMfx.js +1 -0
- package/dist/client/assets/{switch-BTGo9Yip.js → switch-BZjA7VT9.js} +1 -1
- package/dist/client/assets/{terminal-links-CZ3c9AbA.js → terminal-links-CzJomeox.js} +1 -1
- package/dist/client/assets/{textarea-RFPODxWW.js → textarea-DHdmRD1r.js} +1 -1
- package/dist/client/assets/threadPinning-BLqwZebi.js +1 -0
- package/dist/client/assets/{threadPriorityRefreshRuntime-Ct5pnIbX.js → threadPriorityRefreshRuntime-BoNAlBXK.js} +1 -1
- package/dist/client/assets/{toast-CcSCAm4B.js → toast-C-0Ft2jD.js} +1 -1
- package/dist/client/assets/{toggle-I6h33Cu5.js → toggle-DsnOFDbJ.js} +1 -1
- package/dist/client/assets/{toggle-group-mLIkiJtU.js → toggle-group-Chxh9G6t.js} +1 -1
- package/dist/client/assets/{tooltip-C8sAONBj.js → tooltip-C_-9XEfA.js} +1 -1
- package/dist/client/assets/types-Cf2WDMfx.js +1 -0
- package/dist/client/assets/{uiStateStore-B6pjzSjj.js → uiStateStore-DzUrk2GS.js} +1 -1
- package/dist/client/assets/useAtlassian-CoHKzu-e.js +0 -0
- package/dist/client/assets/{useButton-D__1LqCF.js → useButton-BmvYhoMC.js} +1 -1
- package/dist/client/assets/{useCompositeListItem-Cmr_nuuG.js → useCompositeListItem-D0PvH4nv.js} +1 -1
- package/dist/client/assets/{useDebouncedValue-DHjoudTq.js → useDebouncedValue-s0BC8Yyp.js} +1 -1
- package/dist/client/assets/{useFloatingRootContext-D5EZmrCa.js → useFloatingRootContext-CLCaQEJk.js} +1 -1
- package/dist/client/assets/{useHandleNewThread-DX2FtXcP.js → useHandleNewThread-Bw460iXT.js} +1 -1
- package/dist/client/assets/{useLabelableId-DnQJ7amm.js → useLabelableId-CB_9OReR.js} +1 -1
- package/dist/client/assets/{useLocation-CDeYzWW6.js → useLocation-DGJMt6gP.js} +1 -1
- package/dist/client/assets/{useOpenInteractionType-CjtpACKR.js → useOpenInteractionType-BSSI2GzS.js} +1 -1
- package/dist/client/assets/{usePhoneThreadActions-BEa3VzGG.js → usePhoneThreadActions-BIDUSWSI.js} +1 -1
- package/dist/client/assets/{usePopupViewport-BuhsNdVy.js → usePopupViewport-8F-J1h5f.js} +1 -1
- package/dist/client/assets/{useScrollLock-D3tMGsRk.js → useScrollLock-CBz-5_MX.js} +1 -1
- package/dist/client/assets/{useStatistics-CtunoTE-.js → useStatistics-B91973jb.js} +2 -2
- package/dist/client/assets/{useSwipeDismiss-CbgDJvw1.js → useSwipeDismiss-D22_vuiH.js} +1 -1
- package/dist/client/assets/{useTheme-DiC-5xCb.js → useTheme-By1kfyiU.js} +1 -1
- package/dist/client/assets/{useThreadActions-fN-Al13y.js → useThreadActions-BCH01d6u.js} +1 -1
- package/dist/client/assets/{useTriggerFocusGuards-CrugmkhX.js → useTriggerFocusGuards-f7afwACm.js} +1 -1
- package/dist/client/assets/{useValueChanged-MQtIzPIU.js → useValueChanged-EkWF0C3k.js} +1 -1
- package/dist/client/assets/{utils-BofFIn5Y.js → utils-CV2fJJxC.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/{collectUint8StreamText-Bb52hlpd.cjs → collectUint8StreamText-Dsbmrw73.cjs} +48 -10
- package/dist/{collectUint8StreamText-EDg4F0TU.mjs → collectUint8StreamText-oFvWyN3_.mjs} +37 -11
- package/dist/{makeManagedServerProvider-itynW7xv.cjs → makeManagedServerProvider-CANTNAsz.cjs} +9 -2
- package/dist/{makeManagedServerProvider-Cf8bNWwc.mjs → makeManagedServerProvider-PLtJj7EV.mjs} +10 -3
- package/package.json +1 -1
- package/dist/client/assets/AppearanceSettings-CYbSApl4.js +0 -1
- package/dist/client/assets/ChatRightPanel-BIS1DPGa.js +0 -27
- package/dist/client/assets/CommandPaletteDialog-C5xAo65V.js +0 -1
- package/dist/client/assets/DialogRoot-BpIvUdm7.js +0 -1
- package/dist/client/assets/GlassSurface-C3IIWMu9.js +0 -1
- package/dist/client/assets/HostedHubRoot-Cc8GYcK6.js +0 -1
- package/dist/client/assets/KeybindingsSettings-D2bNQPI-.js +0 -7
- package/dist/client/assets/PhoneHome-BtPE7bQn.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-tcFCccEL.js +0 -1
- package/dist/client/assets/ProvidersSettingsPanel-B3aBKY--.js +0 -1
- package/dist/client/assets/RootAppShell-C-0ChFVJ.js +0 -6
- package/dist/client/assets/SettingsDialog-Bbuoh793.js +0 -1
- package/dist/client/assets/SourceControlSettings-CkiYR4lR.js +0 -1
- package/dist/client/assets/ThreadStatusIndicators-ZImeLExQ.js +0 -0
- package/dist/client/assets/appearancePreferences-COvj0WMT.js +0 -1
- package/dist/client/assets/authorization-mIJKV2yp.js +0 -1
- package/dist/client/assets/composerDraftStore-CdJJZe42.js +0 -11
- package/dist/client/assets/device-B_qvyvtW.js +0 -168
- package/dist/client/assets/editorPreferences-DHIJntKF.js +0 -1
- package/dist/client/assets/main-BKS5Nf2_.js +0 -9
- package/dist/client/assets/main-DaYHZt-J.css +0 -2
- package/dist/client/assets/panel-right-BodNpkM9.js +0 -1
- package/dist/client/assets/primary-BzLEg2w1.js +0 -2
- package/dist/client/assets/projectPaths-BAd6NFcE.js +0 -1
- package/dist/client/assets/providerInstances-BJcfB_9E.js +0 -1
- package/dist/client/assets/providerModels-BJcfB_9E.js +0 -1
- package/dist/client/assets/runtime-CXut_g4p.js +0 -1
- package/dist/client/assets/session-logic-GZix7S2I.js +0 -4
- package/dist/client/assets/sidebarProjectFolders-cnmz3B_-.js +0 -4
- package/dist/client/assets/storeSelectors-DYekgeHu.js +0 -1
- package/dist/client/assets/types-DYekgeHu.js +0 -1
- package/dist/client/assets/useAppearancePreference-BlLlxQl7.js +0 -1
- package/dist/client/assets/useAtlassian-9-hy2f8z.js +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{_ as r,g as i,n as a,v as o,y as s}from"./env-Bcq9YR3B.js";import{W as c,rt as l}from"./src-DmPIm3ie.js";import{C as u,Jt as d,Sn as f,T as p,Vn as m,b as h,bn as g,f as _,hn as v,vn as y,x as b,xt as x,yt as S,zt as C}from"./runtime-CPM0EUhb.js";import{a as w}from"./primary-CiDY2oUi.js";import{Ct as T,It as E,X as D,i as O,q as k}from"./composerDraftStore-TYv9j3vY.js";import{C as A,F as j,U as M,x as N}from"./useHandleNewThread-Bw460iXT.js";import{A as ee,F as te,V as ne,c as P,p as re,v as ie}from"./ThreadStatusIndicators-CIOM98q2.js";import{n as F,r as I,t as L}from"./uiStateStore-DzUrk2GS.js";import{f as R}from"./useRenderElement-DchFnsR8.js";import{F as ae,N as z,a as oe,b as se,d as ce,i as B,j as le,n as ue,r as de,t as fe,u as pe,v as me,x as he,y as ge}from"./WorkItemsTab-CahU_t_S.js";import{i as V}from"./toast-C-0Ft2jD.js";import{t as _e}from"./external-link-fbvzDWM7.js";import{t as H}from"./folder-open-GqwNTbSV.js";import{t as ve}from"./git-pull-request-DIYyPsg5.js";import{p as U}from"./projectPaths-D6fHIU1b.js";import{t as ye}from"./settings-2-CZQg_KUQ.js";import{t as W}from"./sparkles-CAf3oJ5S.js";import{t as be}from"./triangle-alert-RL_T3KLo.js";import{i as G,t as K}from"./utils-CV2fJJxC.js";import{a as xe,o as Se,p as Ce,t as we}from"./keybindings-BPE3eEAM.js";import{t as Te}from"./switch-BZjA7VT9.js";import{t as Ee}from"./input-BZz4eLRl.js";import{t as De}from"./scroll-area-C0yF015F.js";import{a as Oe,c as ke,d as q,f as J,i as Ae,r as je,u as Me}from"./Icons-BEtED8P8.js";import{t as Ne}from"./ProjectFavicon-CeVJCQCy.js";import{t as Y}from"./button-DG8WqjNn.js";import{t as X}from"./toastHelpers-CSQRKo4F.js";import"./types-Cf2WDMfx.js";import{a as Pe,c as Fe,i as Ie,o as Le,r as Re,s as ze,t as Be}from"./dialog-BNmFD6Nh.js";import{t as Ve}from"./textarea-DHdmRD1r.js";import{a as He,i as Ue,o as We,s as Ge,t as Ke}from"./select-CZukJlTn.js";import{g as qe,o as Je,p as Ye,r as Xe,t as Ze}from"./useAtlassian-CoHKzu-e.js";import"./providerInstances-vd2eZtHx.js";var Qe=R(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),$e=new Set([`idle`,`in_progress`,`review`,`done`]),et=new Set([`main`,`branch`,`pr`,`issue`,`manual`]);function tt(e,t){let n=[...e],i=new Set(e.map(e=>s(r(e.environmentId,e.id))));for(let e of t){let t=s(r(e.environmentId,e.id));i.has(t)||(i.add(t),n.push(e))}return n}function nt(e){let t=e.project.projectKey,n=new Map(e.project.memberProjects.map(e=>[o(i(e.environmentId,e.id)),e])),a={...e.project,id:t},c=e.threads.map(a=>ot({lastVisitedAt:e.lastVisitedAtByThreadKey?.get(s(r(a.environmentId,a.id)))??null,logicalProjectId:t,sourceProjectCwd:n.get(o(i(a.environmentId,a.projectId)))?.cwd??e.project.cwd,thread:a})),l=ct(e.project,t,e.worktrees??[]);return{project:a,threads:c,worktrees:[...mt({logicalProjectId:t,project:e.project,threads:c}),...l]}}function rt(e){let t=it(e),n=e.projectKey,r=[],i=[];return a=>{let o=[];for(let[e,n]of Object.entries(a.draftThreadsByThreadKey))at(n,t)&&o.push([e,n]);return o.length===r.length&&o.every((e,t)=>{let n=r[t];return n?.[0]===e[0]&&n[1]===e[1]})?i:(r=o,i=o.map(([t,r])=>st({draftId:t,logicalProjectId:n,sourceProjectCwd:Ct(e,r),draftThread:r})),i)}}function it(e){return new Set(e.memberProjects.map(e=>o(i(e.environmentId,e.id))))}function at(e,t){return e.promotedTo==null&&t.has(o(i(e.environmentId,e.projectId)))}function ot(e){let t=e.thread,n=xt(t.statusPill)||t.statusPill===null?t.statusPill:j({thread:{...e.thread,...e.lastVisitedAt?{lastVisitedAt:e.lastVisitedAt}:{}}});return{...e.thread,projectId:e.logicalProjectId,manualStatusBucket:gt(t.manualStatusBucket)??gt(t.manualBucket)??gt(t.statusBucket)??null,sourceProjectId:e.thread.projectId,sourceProjectCwd:e.sourceProjectCwd,statusPill:n,worktreeId:typeof t.worktreeId==`string`?t.worktreeId:null}}function st(e){return{archivedAt:null,settledOverride:null,settledAt:null,branch:e.draftThread.branch,createdAt:e.draftThread.createdAt,draftId:e.draftId,environmentId:e.draftThread.environmentId,hasActionableProposedPlan:!1,hasPendingApprovals:!1,hasPendingUserInput:!1,id:e.draftThread.threadId,interactionMode:e.draftThread.interactionMode??`default`,tokenMode:e.draftThread.tokenMode??`balanced`,latestTurn:null,latestUserMessageAt:null,manualStatusBucket:null,projectId:e.logicalProjectId,session:null,sourceProjectId:e.draftThread.projectId,sourceProjectCwd:e.sourceProjectCwd,statusPill:null,title:`New thread`,updatedAt:e.draftThread.createdAt,worktreePath:e.draftThread.worktreePath}}function ct(e,t,n){let r=e.memberProjects.find(t=>t.id===e.id&&t.environmentId===e.environmentId)??e.memberProjects[0];if(!r)return[];let a=new Map(e.memberProjects.map(e=>[o(i(e.environmentId,e.id)),e])),s=n.map(e=>({value:e,fallbackProject:a.get(o(i(e.environmentId,e.projectId)))??r})),c=[e,...e.memberProjects];for(let e of c){let t=e;if(Array.isArray(t.worktrees))for(let n of t.worktrees)s.push({value:n,fallbackProject:`physicalProjectKey`in e?e:r});if(Array.isArray(t.sidebarWorktrees))for(let n of t.sidebarWorktrees)s.push({value:n,fallbackProject:`physicalProjectKey`in e?e:r})}return s.flatMap(({value:e,fallbackProject:n},r)=>{if(!e||typeof e!=`object`)return[];let s=e,c=vt(s.branch);if(!c)return[];let l=vt(s.environmentId)??n.environmentId,u=vt(s.projectId)??n.id,d=a.get(o(i(l,u)))??n,f=yt(s.worktreePath),p=_t(s.origin)??(f===null?`main`:`manual`),m=vt(s.worktreeId)??vt(s.id)??ht({branch:c,fallbackIndex:r,environmentId:l,origin:p,sourceProjectId:u,worktreePath:f});return[{archivedAt:yt(s.archivedAt),branch:c,environmentId:l,issueNumber:bt(s.issueNumber),manualPosition:bt(s.manualPosition),origin:p,prNumber:bt(s.prNumber),prState:lt(s.prState),prIsDraft:pt(s.prIsDraft),issueState:ut(s.issueState),workItemProvider:dt(s.workItemProvider),workItemKey:yt(s.workItemKey),workItemTitle:yt(s.workItemTitle),workItemState:ft(s.workItemState),workItemStateName:yt(s.workItemStateName),workItemUrl:yt(s.workItemUrl),projectId:t,sourceProjectCwd:d.cwd,sourceProjectId:u,title:yt(s.title),updatedAt:vt(s.updatedAt),worktreeId:m,worktreePath:f}]})}function lt(e){return e===`open`||e===`closed`||e===`merged`?e:null}function ut(e){return e===`open`||e===`closed`?e:null}function dt(e){return e===`jira`?e:null}function ft(e){return e===`open`||e===`in_progress`||e===`done`||e===`closed`||e===`unknown`?e:null}function pt(e){return typeof e==`boolean`?e:null}function mt(e){return e.project.memberProjects.map((t,n)=>{let r=e.threads.filter(e=>e.environmentId===t.environmentId&&e.sourceProjectId===t.id&&e.worktreePath===null).toSorted((e,t)=>St(e.updatedAt??e.createdAt,t.updatedAt??t.createdAt))[0];return{archivedAt:null,branch:r?.branch??`main`,environmentId:t.environmentId,manualPosition:n,origin:`main`,projectId:e.logicalProjectId,sourceProjectCwd:t.cwd,sourceProjectId:t.id,title:null,updatedAt:r?.updatedAt??r?.createdAt??t.updatedAt,worktreeId:`main:${t.environmentId}:${t.id}`,worktreePath:null}})}function ht(e){let t=e.worktreePath??e.branch;return`${e.origin}:${e.environmentId}:${e.sourceProjectId}:${t||e.fallbackIndex}`}function gt(e){return typeof e==`string`&&$e.has(e)?e:null}function _t(e){return typeof e==`string`&&et.has(e)?e:null}function vt(e){return typeof e==`string`&&e.length>0?e:void 0}function yt(e){return typeof e==`string`&&e.length>0?e:null}function bt(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function xt(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.label==`string`&&typeof t.colorClass==`string`&&typeof t.dotClass==`string`&&typeof t.pulse==`boolean`}function St(e,t){let n=e?Date.parse(e):-1/0,r=t?Date.parse(t):-1/0,i=Number.isNaN(n)?-1/0:n;return(Number.isNaN(r)?-1/0:r)-i}function Ct(e,t){return e.memberProjects.find(e=>e.environmentId===t.environmentId&&e.id===t.projectId)?.cwd??e.cwd}var Z=n();function wt(e){let t=en(Tt(e.threads),e=>e.projectId),n=en(e.worktrees??[],e=>String(e.projectId));return{projects:e.projects.map(r=>{let i=t.get(r.id)??[],a=i.filter(e=>e.draftId!==void 0&&e.archivedAt===null),o=i.filter(e=>e.draftId===void 0),s=Zt(r,e.isGitRepoByProjectId),c=o.filter(e=>e.archivedAt!==null);if(!s)return{archivedSessions:c,archivedWorktrees:[],draftSessions:a,flatSessions:i.filter(e=>e.archivedAt===null),isGitRepo:s,project:r,worktrees:[]};let l=At(r,Bt({project:r,threads:o,worktrees:n.get(r.id)??[]})),u=l.worktrees;return{archivedSessions:c,archivedWorktrees:Kt(u).filter(e=>e.archivedAt!=null).map(t=>Dt({diffStats:Xt(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>kt(e,t,r,l)),worktree:t})),flatSessions:[],draftSessions:a,isGitRepo:s,project:r,worktrees:Kt(u).filter(e=>e.archivedAt==null).map(t=>Dt({diffStats:Xt(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>kt(e,t,r,l)),worktree:t}))}})}}function Tt(e){let t=new Set;return e.filter(e=>{let n=JSON.stringify([e.environmentId,e.id]);return!t.has(n)&&(t.add(n),!0)})}function Et(e){let t=(0,Z.c)(8),{diffStatsByWorktreeId:n,diffStatsByWorktreeIdRecord:r,isGitRepoByProjectId:i,nowMs:a,projects:o,threads:s,worktrees:c}=e,l;return t[0]!==n||t[1]!==r||t[2]!==i||t[3]!==a||t[4]!==o||t[5]!==s||t[6]!==c?(l=wt({diffStatsByWorktreeId:n,diffStatsByWorktreeIdRecord:r,isGitRepoByProjectId:i,nowMs:a??Date.now(),projects:o,threads:s,worktrees:c}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l):l=t[7],l}function Dt(e){let t={done:[],idle:[],in_progress:[],review:[]},n=[],r=[],i=[];for(let a of e.threads){if(a.archivedAt!==null){r.push(a);continue}i.push(a);let e=Ot(a);n.push(e),t[e].push(a)}return{aggregateStatus:N(n),archivedSessions:r,buckets:t,diffStats:e.diffStats,sessions:i,shouldSuggestArchive:M({buckets:n,latestUpdatedAt:Yt(e.threads),nowMs:e.nowMs}),worktree:e.worktree}}function Ot(e){return A({manualBucket:e.manualStatusBucket??null,statusPill:e.statusPill??j({thread:e})})}function kt(e,t,n,r){let i=Ht(e,n),a=Ut(t,n);if(i!==null&&r.directoryKeys.has(i))return i===a;let o=e.worktreeId==null?void 0:r.nodeIdByWorktreeId.get(e.worktreeId);return o===void 0?i!==null&&a!==null?i===a:e.worktreeId!=null&&e.worktreeId===t.worktreeId?!0:e.worktreePath!==null||t.worktreePath!==null?!1:t.origin===`main`?e.branch===null||e.branch===t.branch||Gt(e.branch):e.branch===t.branch:o===t.worktreeId}function At(e,t){let n=new Map,r=new Map;for(let i of t){let t=jt(e,i),a=n.get(t);r.set(i.worktreeId,t),n.set(t,a?Nt(a,i):i)}let i=new Set,a=new Map;for(let[e,t]of r){let r=n.get(t);r&&a.set(e,r.worktreeId)}for(let t of n.values()){let n=Ut(t,e);n!==null&&i.add(n)}return{directoryKeys:i,nodeIdByWorktreeId:a,worktrees:[...n.values()]}}function jt(e,t){return Ut(t,e)??`${t.projectId}:${t.origin}:${t.worktreeId}:${t.branch}`}function Mt(e){return U(e)}function Nt(e,t){let n=Pt(e,t),r=e.origin===`main`||t.origin!==`main`?e.origin:t.origin;return{...e,archivedAt:Rt(e.archivedAt,t.archivedAt),branch:n.branch,environmentId:n.environmentId??e.environmentId??t.environmentId,manualPosition:zt(e.manualPosition,t.manualPosition),origin:r,prNumber:e.prNumber??t.prNumber??null,issueNumber:e.issueNumber??t.issueNumber??null,prState:n.prState??null,prIsDraft:n.prIsDraft??null,issueState:n.issueState??null,workItemProvider:e.workItemProvider??t.workItemProvider??null,workItemKey:e.workItemKey??t.workItemKey??null,workItemTitle:e.workItemTitle??t.workItemTitle??null,workItemState:n.workItemState??null,workItemStateName:n.workItemStateName??null,workItemUrl:e.workItemUrl??t.workItemUrl??null,sourceProjectCwd:n.sourceProjectCwd??e.sourceProjectCwd??t.sourceProjectCwd,sourceProjectId:n.sourceProjectId??e.sourceProjectId??t.sourceProjectId,title:Ft(e,t),updatedAt:Jt(e.updatedAt,t.updatedAt),worktreeId:It(e,t),worktreePath:r===`main`?null:e.worktreePath??t.worktreePath}}function Pt(e,t){let n=e.updatedAt?Date.parse(e.updatedAt):-1/0,r=t.updatedAt?Date.parse(t.updatedAt):-1/0;return Number.isNaN(r)||r<=n?e:t}function Ft(e,t){if(e.title==null)return t.title??null;if(t.title==null)return e.title;let n=e.updatedAt?Date.parse(e.updatedAt):-1/0,r=t.updatedAt?Date.parse(t.updatedAt):-1/0;return Number.isNaN(n)?t.title:Number.isNaN(r)?e.title:r>n?t.title:e.title}function It(e,t){let n=Lt(e.worktreeId),r=Lt(t.worktreeId);return n&&!r?t.worktreeId:r&&!n||e.origin===`main`?e.worktreeId:t.origin===`main`?t.worktreeId:e.worktreeId}function Lt(e){return/^(main|branch|pr|issue|manual):/.test(e)}function Rt(e,t){return e==null||t==null?null:Jt(e,t)}function zt(e,t){return e==null?t:t==null?e:Math.min(e,t)}function Bt(e){let t=new Set(e.worktrees.map(e=>e.worktreeId));return[...e.worktrees,...e.threads.filter(e=>e.worktreeId==null||!t.has(e.worktreeId)).map(t=>Vt(e.project,t))]}function Vt(e,t){let n=t.branch??`main`,r=t.worktreePath===null&&Gt(t.branch)?`main`:`branch`;return{archivedAt:null,branch:n,environmentId:t.environmentId,manualPosition:r===`main`?0:null,origin:r,projectId:e.id,sourceProjectCwd:t.sourceProjectCwd??e.cwd,sourceProjectId:t.sourceProjectId??t.projectId,updatedAt:t.updatedAt??t.createdAt,worktreeId:r===`main`?`main:${e.environmentId}:${e.id}`:`branch:${e.environmentId}:${e.id}:${t.worktreePath?Mt(t.worktreePath):n}`,worktreePath:t.worktreePath}}function Ht(e,t){return Wt({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId})}function Ut(e,t){return Wt({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId??t.environmentId})}function Wt(e){let t=Mt(e.directory);return t.length===0?null:JSON.stringify([e.environmentId,t])}function Gt(e){return e==null||e===`main`||e===`master`||e===`trunk`}function Kt(e){return[...e].toSorted((e,t)=>{if(e.origin===`main`&&t.origin!==`main`)return-1;if(t.origin===`main`&&e.origin!==`main`)return 1;let n=e.manualPosition??2**53-1,r=t.manualPosition??2**53-1;if(n!==r)return n-r;let i=qt(e.updatedAt,t.updatedAt);return i===0?e.branch.localeCompare(t.branch)||e.worktreeId.localeCompare(t.worktreeId):i})}function qt(e,t){let n=t?Date.parse(t):-1/0,r=e?Date.parse(e):-1/0;return(Number.isNaN(n)?-1/0:n)-(Number.isNaN(r)?-1/0:r)}function Jt(e,t){if(!e)return t;if(!t)return e;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)?t:Number.isNaN(r)?e:r>n?t:e}function Yt(e){return e.map(e=>e.updatedAt??e.createdAt).filter(e=>e!==void 0).toSorted((e,t)=>Date.parse(t)-Date.parse(e))[0]}function Xt(e,t){return e.diffStatsByWorktreeId?e.diffStatsByWorktreeId.get(t)??null:e.diffStatsByWorktreeIdRecord?.[t]??null}function Zt(e,t){let n=Qt(t,e.id);return n===void 0||n}function Qt(e,t){if(e)return $t(e)?e.get(t):e[String(t)]}function $t(e){return e instanceof Map}function en(e,t){let n=new Map;for(let r of e){let e=t(r),i=n.get(e);i?i.push(r):n.set(e,[r])}return n}var tn={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`};function nn(e,t){return t<=1?e.name:e.environmentLabel?`${e.environmentLabel} — ${e.cwd}`:e.cwd}function rn(e){switch(e){case`repository`:return`Projects from the same repository share one sidebar row.`;case`repository_path`:return`Projects group only when both the repository and repo-relative path match.`;case`separate`:return`Every project path gets its own sidebar row.`}}function an(e){switch(e){case`github`:return`GitHub`;case`gitlab`:return`GitLab`;case`forgejo`:return`Forgejo`;case`azure-devops`:return`Azure DevOps`;case`bitbucket`:return`Bitbucket`;default:return`Remote`}}function on(e){switch(e){case`github`:return Me;case`gitlab`:return J;case`forgejo`:return ke;case`azure-devops`:return Ae;case`bitbucket`:return Oe;default:return q}}function sn(e){return e.replace(/\/+$/g,``).replace(/\.git$/i,``)}function cn(e,t){if(e!==`ssh.dev.azure.com`)return null;let n=t.indexOf(`v3`);if(n===-1||t.length<n+4)return null;let r=t[n+1],i=t[n+2],a=t[n+3];return!r||!i||!a?null:`https://dev.azure.com/${r}/${i}/_git/${a}`}function ln(e){let t=e.trim();if(t.length===0)return null;if(/^https?:\/\//i.test(t))try{let e=new URL(t);return e.pathname=sn(e.pathname),e.search=``,e.hash=``,e.toString()}catch{return null}if(/^(?:ssh|git):\/\//i.test(t))try{let e=new URL(t),n=sn(e.pathname).split(`/`).filter(e=>e.length>0),r=cn(e.hostname,n);if(r)return r;let i=n.join(`/`);return e.hostname&&i?`https://${e.hostname}/${i}`:null}catch{return null}let n=/^git@([^:/\s]+)[:/]([^#?\s]+)$/i.exec(t);if(n?.[1]&&n[2]){let e=n[1],t=sn(n[2]);return cn(e,t.split(`/`).filter(e=>e.length>0))||`https://${e}/${t}`}return null}function un(e,t){if(!e)return null;let n=(()=>{if(t){let n=(e.remotes??[]).find(e=>e.name===t);if(n)return{url:n.url,label:n.ownerRepo??n.url,provider:n.provider??void 0}}return{url:e.locator.remoteUrl,label:e.displayName??e.canonicalKey,provider:e.provider??void 0}})(),r=ln(n.url);return r?{url:r,label:n.label,provider:n.provider,providerLabel:an(n.provider)}:null}function dn(e){let t=(0,Z.c)(7),{memberThreadCountByPhysicalKey:n,jiraProjectOpenUrlByProjectKey:r}=e,a=hn,s;t[0]===r?s=t[1]:(s=e=>{let t=r.get(o(i(e.environmentId,e.id)))??null;if(!t){V.add({type:`warning`,title:`No Jira project link available`});return}let n=f();if(!n){V.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t).catch(mn)},t[0]=r,t[1]=s);let c=s,l=pn,u;t[2]===n?u=t[3]:(u=async e=>{let t=f();if(!t)return;let r=i(e.environmentId,e.id);if((n.get(e.physicalProjectKey)??0)>0){let n=V.add(X({type:`warning`,title:`Project is not empty`,description:`Delete all threads in this project before removing it.`,actionVariant:`destructive`,actionProps:{children:`Delete anyway`,onClick:()=>{(async()=>{V.close(n),await new Promise(fn);let i=C(d.getState(),[r]);await t.dialogs.confirm(i.length>0?[`Remove project "${e.name}" and delete its ${i.length} thread${i.length===1?``:`s`}?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This permanently clears conversation history for those threads.`,`This removes only this project entry.`,`This action cannot be undone.`].join(`
|
|
2
|
+
`):[`Remove project "${e.name}"?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This removes only this project entry.`].join(`
|
|
3
|
+
`))&&await l(e,{force:!0})})().catch(t=>{let n=t instanceof Error?t.message:`Unknown error removing project.`;console.error(`Failed to remove project`,{projectId:e.id,environmentId:e.environmentId,error:t}),V.add(X({type:`error`,title:`Failed to remove "${e.name}"`,description:n}))})}}}));return}let a=[`Remove project "${e.name}"?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This removes only this project entry.`].join(`
|
|
4
|
+
`);if(await t.dialogs.confirm(a))try{await l(e)}catch(t){let n=t,r=n instanceof Error?n.message:`Unknown error removing project.`;console.error(`Failed to remove project`,{projectId:e.id,environmentId:e.environmentId,error:n}),V.add(X({type:`error`,title:`Failed to remove "${e.name}"`,description:r}))}},t[2]=n,t[3]=u);let p=u,m;return t[4]!==p||t[5]!==c?(m={openProjectRemoteLink:a,openProjectJiraLink:c,removeProject:l,handleRemoveProject:p},t[4]=p,t[5]=c,t[6]=m):m=t[6],m}function fn(e){window.setTimeout(e,180)}async function pn(e,t){let n=t===void 0?{}:t,r=i(e.environmentId,e.id),a=O.getState(),o=a.getDraftThreadByProjectRef(r);o&&a.clearDraftThread(o.draftId),a.clearProjectDraftThreadId(r);let s=v(e.environmentId);if(!s)throw Error(`Project API unavailable.`);await s.orchestration.dispatchCommand({type:`project.delete`,commandId:G(),projectId:e.id,...n.force===!0?{force:!0}:{}})}function mn(e){V.add(X({type:`error`,title:`Unable to open Jira project`,description:e instanceof Error?e.message:`An error occurred.`}))}function hn(e){let t=un(e.repositoryIdentity,e.preferredRemoteName);if(!t){V.add({type:`warning`,title:`No remote link available`});return}let n=f();if(!n){V.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t.url).catch(gn)}function gn(e){V.add(X({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))}function _n(e){let t=(0,Z.c)(18),{project:n,jiraProjectOpenUrlByProjectKey:r,suppressProjectClickForContextMenuRef:a,onOpenOverview:s,openProjectSettingsDialog:c,openProjectRemoteLink:l,openProjectJiraLink:u,openProjectRenameDialog:d,openProjectGroupingDialog:p,copyPathToClipboard:m,handleRemoveProject:h}=e,g;t[0]!==m||t[1]!==h||t[2]!==r||t[3]!==s||t[4]!==p||t[5]!==u||t[6]!==l||t[7]!==d||t[8]!==c||t[9]!==n.groupedProjectCount||t[10]!==n.memberProjects?(g=e=>{(async()=>{let t=f();if(!t)return;let a=new Map;a.set(`project-overview`,()=>{s()});let g=(e,t,r)=>{let i=`${e}:${t.physicalProjectKey}`;return a.set(i,()=>{switch(e){case`settings`:c(t);return;case`open-remote`:l(t);return;case`open-jira`:u(t);return;case`rename`:d(t);return;case`grouping`:p(t);return;case`copy-path`:m(t.cwd,{path:t.cwd});return;case`delete`:return h(t)}}),{id:i,label:nn(t,n.groupedProjectCount),...r?.destructive?{destructive:!0}:{},...r?.disabled?{disabled:!0}:{}}},_=(e,t,r)=>{if(n.memberProjects.length===1){let i=n.memberProjects[0];return{...g(e,i,{...r?.destructive?{destructive:!0}:{},...r?.isDisabled?.(i)?{disabled:!0}:{}}),label:t}}return{id:`${e}:submenu`,label:t,children:n.memberProjects.map(t=>g(e,t,{...r?.destructive?{destructive:!0}:{},...r?.isDisabled?.(t)?{disabled:!0}:{}}))}},v=n.memberProjects.some(yn),y=n.memberProjects.some(e=>r.has(o(i(e.environmentId,e.id)))),b=[{id:`project-overview`,label:`Project overview`},_(`settings`,`Project settings`),...v?[_(`open-remote`,`Open remote`,{isDisabled:vn})]:[],...y?[_(`open-jira`,`Open Jira project`,{isDisabled:e=>!r.has(o(i(e.environmentId,e.id)))})]:[],_(`rename`,`Rename project`),_(`grouping`,`Project grouping…`),_(`copy-path`,`Copy Project Path`),_(`delete`,`Remove project`,{destructive:!0})],x=await t.contextMenu.show(b,e);x&&await a.get(x)?.()})()},t[0]=m,t[1]=h,t[2]=r,t[3]=s,t[4]=p,t[5]=u,t[6]=l,t[7]=d,t[8]=c,t[9]=n.groupedProjectCount,t[10]=n.memberProjects,t[11]=g):g=t[11];let _=g,v;t[12]!==_||t[13]!==a?(v=e=>{e.preventDefault(),a.current=!0,_({x:e.clientX,y:e.clientY})},t[12]=_,t[13]=a,t[14]=v):v=t[14];let y=v,b;return t[15]!==y||t[16]!==_?(b={handleProjectButtonContextMenu:y,openProjectMenu:_},t[15]=y,t[16]=_,t[17]=b):b=t[17],b}function vn(e){return un(e.repositoryIdentity,e.preferredRemoteName)===null}function yn(e){return un(e.repositoryIdentity,e.preferredRemoteName)!==null}var Q=e(t(),1),$=E();function bn(e){let t=(0,Z.c)(3),n;return t[0]!==e.cwd||t[1]!==e.environmentId?(n=(0,$.jsx)(ge,{environmentId:e.environmentId,cwd:e.cwd,title:`Actions`,description:`Recent GitHub Actions workflow runs grouped by pull request or branch.`,groupRunsBySource:!0}),t[0]=e.cwd,t[1]=e.environmentId,t[2]=n):n=t[2],n}var xn=20,Sn=5;function Cn(e,t=xn){return e>=t?`${t}+`:String(e)}function wn(e){let t=(0,Z.c)(109),n;t[0]!==e.cwd||t[1]!==e.environmentId?(n={environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:xn},t[0]=e.cwd,t[1]=e.environmentId,t[2]=n):n=t[2];let r=te(n),i;t[3]!==e.cwd||t[4]!==e.environmentId?(i={environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:xn},t[3]=e.cwd,t[4]=e.environmentId,t[5]=i):i=t[5];let a=ee(i),o;t[6]!==e.cwd||t[7]!==e.environmentId?(o={environmentId:e.environmentId,cwd:e.cwd,limit:xn},t[6]=e.cwd,t[7]=e.environmentId,t[8]=o):o=t[8];let s=ne(o),c=e.environmentId!==null&&e.projectId!==null,l;t[9]!==e.environmentId||t[10]!==e.projectId||t[11]!==c?(l={environmentId:e.environmentId,projectId:e.projectId,enabled:c},t[9]=e.environmentId,t[10]=e.projectId,t[11]=c,t[12]=l):l=t[12];let u=Xe(l),d=u.data?.jiraConnectionId!==null&&u.data?.jiraConnectionId!==void 0&&u.data.jiraProjectKeys.length>0,f;t[13]!==d||t[14]!==e.environmentId||t[15]!==e.projectId?(f={environmentId:e.environmentId,projectId:e.projectId,state:`open`,limit:xn,enabled:d},t[13]=d,t[14]=e.environmentId,t[15]=e.projectId,t[16]=f):f=t[16];let p=Ye(f),m;t[17]===r.data?m=t[18]:(m=r.data??[],t[17]=r.data,t[18]=m);let h=m,g;t[19]===a.data?g=t[20]:(g=a.data??[],t[19]=a.data,t[20]=g);let _=g,v;t[21]===s.data?.runs?v=t[22]:(v=s.data?.runs??[],t[21]=s.data?.runs,t[22]=v);let y=v,b;t[23]===p.data?b=t[24]:(b=p.data??[],t[23]=p.data,t[24]=b);let x=b,S;t[25]===h.length?S=t[26]:(S=Cn(h.length),t[25]=h.length,t[26]=S);let C;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(ie,{className:`size-3.5`}),t[27]=C):C=t[27];let w;t[28]===e?w=t[29]:(w=()=>e.onOpenTab(`issues`),t[28]=e,t[29]=w);let T;t[30]!==S||t[31]!==w?(T=(0,$.jsx)(kn,{label:`Open issues`,value:S,icon:C,accentClassName:`border-emerald-500/18 bg-emerald-500/8 text-emerald-600 dark:text-emerald-300`,onClick:w}),t[30]=S,t[31]=w,t[32]=T):T=t[32];let E;t[33]===_.length?E=t[34]:(E=Cn(_.length),t[33]=_.length,t[34]=E);let D;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(ve,{className:`size-3.5`}),t[35]=D):D=t[35];let O;t[36]===e?O=t[37]:(O=()=>e.onOpenTab(`prs`),t[36]=e,t[37]=O);let k;t[38]!==E||t[39]!==O?(k=(0,$.jsx)(kn,{label:`Open pull requests`,value:E,icon:D,accentClassName:`border-emerald-500/18 bg-emerald-500/8 text-emerald-600 dark:text-emerald-300`,onClick:O}),t[38]=E,t[39]=O,t[40]=k):k=t[40];let A;t[41]===y.length?A=t[42]:(A=Cn(y.length),t[41]=y.length,t[42]=A);let j;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(z,{className:`size-3.5`}),t[43]=j):j=t[43];let M;t[44]===e?M=t[45]:(M=()=>e.onOpenTab(`actions`),t[44]=e,t[45]=M);let N;t[46]!==A||t[47]!==M?(N=(0,$.jsx)(kn,{label:`Actions`,value:A,icon:j,accentClassName:`border-amber-500/18 bg-amber-500/8 text-amber-600 dark:text-amber-300`,onClick:M}),t[46]=A,t[47]=M,t[48]=N):N=t[48];let re;t[49]!==d||t[50]!==x?(re=d?Cn(x.length):`Not linked`,t[49]=d,t[50]=x,t[51]=re):re=t[51];let F;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(je,{className:`size-3.5`}),t[52]=F):F=t[52];let I;t[53]===e?I=t[54]:(I=()=>e.onOpenTab(`workItems`),t[53]=e,t[54]=I);let L;t[55]!==re||t[56]!==I?(L=(0,$.jsx)(kn,{label:`Open Jira`,value:re,icon:F,accentClassName:`border-violet-500/18 bg-violet-500/8 text-violet-600 dark:text-violet-300`,onClick:I}),t[55]=re,t[56]=I,t[57]=L):L=t[57];let R;t[58]!==T||t[59]!==k||t[60]!==N||t[61]!==L?(R=(0,$.jsxs)(`div`,{className:`grid gap-3 p-4 sm:grid-cols-2 xl:grid-cols-4`,children:[T,k,N,L]}),t[58]=T,t[59]=k,t[60]=N,t[61]=L,t[62]=R):R=t[62];let ae;t[63]===h.length?ae=t[64]:(ae=Cn(h.length),t[63]=h.length,t[64]=ae);let oe=r.error,se=r.isLoading,ce;t[65]===h?ce=t[66]:(ce=h.slice(0,Sn),t[65]=h,t[66]=ce);let B;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(ie,{className:`size-4`}),t[67]=B):B=t[67];let ue;t[68]===e?ue=t[69]:(ue=()=>e.onOpenTab(`issues`),t[68]=e,t[69]=ue);let de;t[70]===e?de=t[71]:(de=t=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent/50 focus-visible:bg-accent/60 focus-visible:outline-none`,onClick:()=>e.onSelectIssue(t),children:[(0,$.jsxs)(`span`,{className:`shrink-0 text-muted-foreground text-xs`,children:[`#`,t.number]}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:t.title}),(0,$.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted-foreground`,children:t.state})]}),t[70]=e,t[71]=de);let fe;t[72]!==r.error||t[73]!==r.isLoading||t[74]!==ae||t[75]!==ce||t[76]!==ue||t[77]!==de?(fe=(0,$.jsx)(An,{title:`Issues`,description:`Open source-control issues for this repository.`,countLabel:ae,emptyText:`No open issues.`,error:oe,isLoading:se,items:ce,icon:B,accentClassName:`text-emerald-600 dark:text-emerald-300`,onOpenTab:ue,keyForItem:Dn,renderItem:de}),t[72]=r.error,t[73]=r.isLoading,t[74]=ae,t[75]=ce,t[76]=ue,t[77]=de,t[78]=fe):fe=t[78];let me;t[79]===_.length?me=t[80]:(me=Cn(_.length),t[79]=_.length,t[80]=me);let he=a.error,ge=a.isLoading,V;t[81]===_?V=t[82]:(V=_.slice(0,Sn),t[81]=_,t[82]=V);let _e;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(ve,{className:`size-4`}),t[83]=_e):_e=t[83];let H;t[84]===e?H=t[85]:(H=()=>e.onOpenTab(`prs`),t[84]=e,t[85]=H);let U;t[86]===e?U=t[87]:(U=t=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent/50 focus-visible:bg-accent/60 focus-visible:outline-none`,onClick:()=>e.onSelectChangeRequest(t),children:[(0,$.jsxs)(`span`,{className:`shrink-0 text-muted-foreground text-xs`,children:[`#`,t.number]}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:t.title}),(0,$.jsx)(le,{kind:P(t.state,t.isDraft),className:`shrink-0`})]}),t[86]=e,t[87]=U);let ye;t[88]!==a.error||t[89]!==a.isLoading||t[90]!==me||t[91]!==V||t[92]!==H||t[93]!==U?(ye=(0,$.jsx)(An,{title:`Pull requests`,description:`Open pull requests and review work for this repository.`,countLabel:me,emptyText:`No open pull requests.`,error:he,isLoading:ge,items:V,icon:_e,accentClassName:`text-emerald-600 dark:text-emerald-300`,onOpenTab:H,keyForItem:En,renderItem:U}),t[88]=a.error,t[89]=a.isLoading,t[90]=me,t[91]=V,t[92]=H,t[93]=U,t[94]=ye):ye=t[94];let W;t[95]!==d||t[96]!==u.isLoading||t[97]!==e||t[98]!==p.error||t[99]!==p.isLoading||t[100]!==x?(W=d||u.isLoading?(0,$.jsx)(An,{title:`Jira`,description:`Open Jira work items linked to this project.`,countLabel:u.isLoading?`...`:Cn(x.length),emptyText:`No open Jira work items.`,error:p.error,isLoading:u.isLoading||p.isLoading,items:x.slice(0,Sn),icon:(0,$.jsx)(je,{className:`size-4`}),accentClassName:`text-violet-600 dark:text-violet-300`,onOpenTab:()=>e.onOpenTab(`workItems`),keyForItem:Tn,renderItem:t=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent/50 focus-visible:bg-accent/60 focus-visible:outline-none`,onClick:()=>e.onSelectWorkItem(t),children:[(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0 text-muted-foreground text-xs`,children:t.key}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate text-sm`,children:t.title}),(0,$.jsxs)(`span`,{className:`mt-0.5 flex flex-wrap items-center gap-1.5 text-[11px] text-muted-foreground`,children:[t.issueType?(0,$.jsx)(`span`,{children:t.issueType}):null,t.assignee?(0,$.jsx)(`span`,{children:t.assignee}):null,t.priorityDetail??t.priority?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(On,{priority:t.priorityDetail??t.priority}),t.priority]}):null]})]}),(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0 text-[11px] text-muted-foreground`,children:pe(t)})]})}):(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-4 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,$.jsx)(je,{className:`mt-0.5 size-4 shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`font-medium text-sm`,children:`Jira is not linked to this project`}),(0,$.jsx)(`p`,{className:`mt-1 text-muted-foreground text-xs`,children:`Select the Jira tab to choose the connection and project key.`})]})]}),(0,$.jsx)(Y,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 shrink-0`,onClick:()=>e.onOpenTab(`workItems`),children:`Configure`})]}),t[95]=d,t[96]=u.isLoading,t[97]=e,t[98]=p.error,t[99]=p.isLoading,t[100]=x,t[101]=W):W=t[101];let be;t[102]!==fe||t[103]!==ye||t[104]!==W?(be=(0,$.jsxs)(`div`,{className:`divide-y divide-border/60 border-border/60 border-t`,children:[fe,ye,W]}),t[102]=fe,t[103]=ye,t[104]=W,t[105]=be):be=t[105];let G;return t[106]!==R||t[107]!==be?(G=(0,$.jsxs)(`div`,{className:`h-full min-h-0 overflow-y-auto`,children:[R,be]}),t[106]=R,t[107]=be,t[108]=G):G=t[108],G}function Tn(e){return`${e.provider}:${e.key}`}function En(e){return`${e.provider}:${e.number}`}function Dn(e){return`${e.provider}:${e.number}`}function On(e){let t=(0,Z.c)(3),n=typeof e.priority==`string`?void 0:e.priority?.iconUrl;if(n){let e;return t[0]===n?e=t[1]:(e=(0,$.jsx)(`img`,{src:n,alt:``,className:`size-3`,loading:`lazy`,decoding:`async`}),t[0]=n,t[1]=e),e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(ae,{className:`size-3`}),t[2]=r):r=t[2],r}function kn(e){let t=(0,Z.c)(16),n;t[0]===e.accentClassName?n=t[1]:(n=K(`flex min-w-0 items-center gap-3 rounded-md border px-3 py-2 text-left transition-colors hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,e.accentClassName),t[0]=e.accentClassName,t[1]=n);let r;t[2]===e.icon?r=t[3]:(r=(0,$.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-background/70`,children:e.icon}),t[2]=e.icon,t[3]=r);let i;t[4]===e.value?i=t[5]:(i=(0,$.jsx)(`span`,{className:`block truncate font-semibold text-base leading-5`,children:e.value}),t[4]=e.value,t[5]=i);let a;t[6]===e.label?a=t[7]:(a=(0,$.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:e.label}),t[6]=e.label,t[7]=a);let o;t[8]!==i||t[9]!==a?(o=(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[i,a]}),t[8]=i,t[9]=a,t[10]=o):o=t[10];let s;return t[11]!==e.onClick||t[12]!==n||t[13]!==r||t[14]!==o?(s=(0,$.jsxs)(`button`,{type:`button`,className:n,onClick:e.onClick,children:[r,o]}),t[11]=e.onClick,t[12]=n,t[13]=r,t[14]=o,t[15]=s):s=t[15],s}function An(e){let t=(0,Z.c)(30),n;t[0]===e.accentClassName?n=t[1]:(n=K(`mt-0.5 shrink-0`,e.accentClassName),t[0]=e.accentClassName,t[1]=n);let r;t[2]!==e.icon||t[3]!==n?(r=(0,$.jsx)(`span`,{className:n,children:e.icon}),t[2]=e.icon,t[3]=n,t[4]=r):r=t[4];let i;t[5]===e.title?i=t[6]:(i=(0,$.jsx)(`h3`,{className:`font-medium text-sm`,children:e.title}),t[5]=e.title,t[6]=i);let a;t[7]===e.countLabel?a=t[8]:(a=(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.countLabel}),t[7]=e.countLabel,t[8]=a);let o;t[9]!==i||t[10]!==a?(o=(0,$.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[i,a]}),t[9]=i,t[10]=a,t[11]=o):o=t[11];let s;t[12]===e.description?s=t[13]:(s=(0,$.jsx)(`p`,{className:`mt-0.5 text-muted-foreground text-xs`,children:e.description}),t[12]=e.description,t[13]=s);let c;t[14]!==o||t[15]!==s?(c=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[o,s]}),t[14]=o,t[15]=s,t[16]=c):c=t[16];let l;t[17]!==r||t[18]!==c?(l=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2.5`,children:[r,c]}),t[17]=r,t[18]=c,t[19]=l):l=t[19];let u;t[20]===e.onOpenTab?u=t[21]:(u=(0,$.jsx)(Y,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 shrink-0 px-2 text-xs`,onClick:e.onOpenTab,children:`View all`}),t[20]=e.onOpenTab,t[21]=u);let d;t[22]!==l||t[23]!==u?(d=(0,$.jsxs)(`header`,{className:`mb-2 flex items-start justify-between gap-3`,children:[l,u]}),t[22]=l,t[23]=u,t[24]=d):d=t[24];let f;t[25]===e?f=t[26]:(f=e.error?(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-destructive/20 bg-destructive/5 px-3 py-2 text-destructive text-xs`,children:[(0,$.jsx)(be,{className:`mt-0.5 size-3.5 shrink-0`}),(0,$.jsx)(`span`,{children:e.error instanceof Error?e.error.message:`Failed to load.`})]}):e.isLoading&&e.items.length===0?(0,$.jsx)(`p`,{className:`px-2 py-4 text-muted-foreground text-sm`,children:`Loading...`}):e.items.length===0?(0,$.jsx)(`p`,{className:`px-2 py-4 text-muted-foreground text-sm`,children:e.emptyText}):(0,$.jsx)(`div`,{className:`grid gap-1`,children:e.items.map(t=>(0,$.jsx)(`div`,{children:e.renderItem(t)},e.keyForItem(t)))}),t[25]=e,t[26]=f);let p;return t[27]!==f||t[28]!==d?(p=(0,$.jsxs)(`section`,{className:`px-4 py-4`,children:[d,f]}),t[27]=f,t[28]=d,t[29]=p):p=t[29],p}function jn(e){let t=(0,Z.c)(76),[n,r]=(0,Q.useState)(e.initialTab),[i,a]=(0,Q.useState)(``),[o,s]=(0,Q.useState)(``),[c,l]=(0,Q.useState)(``),[u,d]=(0,Q.useState)(`open`),[f,p]=(0,Q.useState)(`open`),[m,h]=(0,Q.useState)(`open`),[g,_]=(0,Q.useState)(null),v;t[0]===e.memberProjects[0]?.physicalProjectKey?v=t[1]:(v=()=>e.memberProjects[0]?.physicalProjectKey??``,t[0]=e.memberProjects[0]?.physicalProjectKey,t[1]=v);let[y,b]=(0,Q.useState)(v),x=(0,Q.useRef)(null),S=(0,Q.useRef)(null),C=(0,Q.useRef)(null),w=(0,Q.useRef)(e.open),T=(0,Q.useRef)(e.initialTab),E;t[2]===e.memberProjects?E=t[3]:(E=e.memberProjects.map(Nn),t[2]=e.memberProjects,t[3]=E);let D=E,O;t[4]===D?O=t[5]:(O=D.join(`\0`),t[4]=D,t[5]=O);let k=O,A=D[0]??``,j;t[6]!==e.memberProjects||t[7]!==y?(j=e.memberProjects.find(e=>e.physicalProjectKey===y)??e.memberProjects[0]??null,t[6]=e.memberProjects,t[7]=y,t[8]=j):j=t[8];let M=j,N,ee;t[9]===e.open?(N=t[10],ee=t[11]):(N=()=>{e.open||_(null)},ee=[e.open],t[9]=e.open,t[10]=N,t[11]=ee),(0,Q.useEffect)(N,ee);let te,ne;t[12]!==A||t[13]!==D||t[14]!==e.initialTab||t[15]!==e.open?(te=()=>{let t=w.current,n=T.current;w.current=e.open,T.current=e.initialTab,e.open&&(!t||e.initialTab!==n)&&(r(e.initialTab),_(null),b(e=>D.includes(e)?e:A))},ne=[A,D,e.initialTab,e.open],t[12]=A,t[13]=D,t[14]=e.initialTab,t[15]=e.open,t[16]=te,t[17]=ne):(te=t[16],ne=t[17]),(0,Q.useEffect)(te,ne);let P;t[18]!==A||t[19]!==D||t[20]!==e.open?(P=()=>{e.open&&b(e=>D.includes(e)?e:A)},t[18]=A,t[19]=D,t[20]=e.open,t[21]=P):P=t[21];let re;t[22]!==A||t[23]!==k||t[24]!==D||t[25]!==e.open?(re=[A,k,D,e.open],t[22]=A,t[23]=k,t[24]=D,t[25]=e.open,t[26]=re):re=t[26],(0,Q.useEffect)(P,re);let ie,F;t[27]!==n||t[28]!==e.open||t[29]!==g?(ie=()=>{if(!e.open||g!==null)return;let t=window.requestAnimationFrame(()=>{(n===`issues`?x.current:n===`prs`?S.current:n===`workItems`?C.current:null)?.focus()});return()=>window.cancelAnimationFrame(t)},F=[e.open,n,g],t[27]=n,t[28]=e.open,t[29]=g,t[30]=ie,t[31]=F):(ie=t[30],F=t[31]),(0,Q.useEffect)(ie,F);let I;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>{_({kind:`issue`,number:e.number})},t[32]=I):I=t[32];let L=I,R;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(R=e=>{_({kind:`pr`,number:e.number})},t[33]=R):R=t[33];let ae=R,z;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>{_({kind:`workItem`,key:e.key})},t[34]=z):z=t[34];let le=z,ue;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(ue=e=>{r(`issues`),_({kind:`issue`,number:e})},t[35]=ue):ue=t[35];let de=ue,pe;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(pe=e=>{r(`prs`),_({kind:`pr`,number:e})},t[36]=pe):pe=t[36];let ge=pe,V;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{r(`workItems`),_({kind:`workItem`,key:e})},t[37]=V):V=t[37];let _e=V,H;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>_(null),t[38]=H):H=t[38];let ve=H,U;t[39]===n?U=t[40]:(U=e=>{if(!xe({currentTarget:e.currentTarget,target:e.target})&&!Se(e.target)){if(Ce(e,`1`)){e.preventDefault(),r(`issues`),_(null);return}if(Ce(e,`2`)){e.preventDefault(),r(`prs`),_(null);return}if(Ce(e,`3`)){e.preventDefault(),r(`actions`),_(null);return}if((e.metaKey||e.ctrlKey)&&e.key===`4`){e.preventDefault(),r(`workItems`),_(null);return}e.key===`/`&&we(e)&&(e.preventDefault(),(n===`issues`?x.current:n===`prs`?S.current:n===`workItems`?C.current:null)?.focus())}},t[39]=n,t[40]=U);let ye=U,W;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(W={id:`overview`,label:`Overview`},t[41]=W):W=t[41];let be;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(be={id:`issues`,label:`Issues`},t[42]=be):be=t[42];let G;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(G={id:`prs`,label:`Pull requests`},t[43]=G):G=t[43];let K;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(K={id:`actions`,label:`Actions`},t[44]=K):K=t[44];let Te;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(Te=[W,be,G,K,{id:`workItems`,label:`Jira`}],t[45]=Te):Te=t[45];let Ee=Te,De=n===`overview`?`Overview`:n===`issues`?`Issues`:n===`prs`?`Pull requests`:n===`actions`?`Actions`:`Jira`,Oe=`${e.projectName} · ${De}`,ke=e.memberProjects.length>1&&M!==null,q=M?.environmentId??null,J=M?.cwd??null,Ae;t[46]===Oe?Ae=t[47]:(Ae=(0,$.jsx)(Fe,{className:`truncate text-base`,children:Oe}),t[46]=Oe,t[47]=Ae);let je;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,$.jsx)(`span`,{className:`shrink-0 text-muted-foreground text-xs pointer-coarse:hidden`,children:`⌘1 issues · ⌘2 PRs · ⌘3 Actions · ⌘4 Jira · / focus search · Esc close`}),t[48]=je):je=t[48];let Me;t[49]===Ae?Me=t[50]:(Me=(0,$.jsxs)(`header`,{className:`flex items-center justify-between border-border/60 border-b py-3 pl-5 pr-14`,children:[Ae,je]}),t[49]=Ae,t[50]=Me);let Ne;t[51]!==e.memberProjects||t[52]!==y||t[53]!==ke?(Ne=ke?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-border/60 border-b px-5 py-2`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Repository`}),(0,$.jsxs)(Ke,{value:y,onValueChange:e=>{typeof e==`string`&&b(e)},children:[(0,$.jsx)(We,{size:`sm`,className:`min-w-56`,children:(0,$.jsx)(Ge,{placeholder:`Select a repository`})}),(0,$.jsx)(He,{children:e.memberProjects.map(Mn)})]})]}):null,t[51]=e.memberProjects,t[52]=y,t[53]=ke,t[54]=Ne):Ne=t[54];let Y;t[55]!==n||t[56]!==J||t[57]!==q||t[58]!==i||t[59]!==u||t[60]!==o||t[61]!==f||t[62]!==M?.id||t[63]!==g||t[64]!==c||t[65]!==m?(Y=g===null?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(se,{tabs:Ee,activeId:n,onSelect:e=>r(e)}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:n===`overview`?(0,$.jsx)(wn,{environmentId:q,cwd:J,projectId:M?.id??null,onOpenTab:r,onSelectIssue:L,onSelectChangeRequest:ae,onSelectWorkItem:le}):n===`issues`?(0,$.jsx)(oe,{environmentId:q,cwd:J,searchInputRef:x,query:i,onQueryChange:a,stateFilter:u,onStateFilterChange:d,onSelect:L}):n===`prs`?(0,$.jsx)(B,{environmentId:q,cwd:J,searchInputRef:S,query:o,onQueryChange:s,stateFilter:f,onStateFilterChange:p,onSelect:ae}):n===`actions`?(0,$.jsx)(bn,{environmentId:q,cwd:J}):(0,$.jsx)(fe,{environmentId:q,cwd:J,projectId:M?.id??null,searchInputRef:C,query:c,onQueryChange:l,stateFilter:m,onStateFilterChange:h,onSelect:le})})]}):g.kind===`issue`?(0,$.jsx)(he,{environmentId:q,cwd:J,issueNumber:g.number,onBack:ve,onSelectLinkedChangeRequest:ge}):g.kind===`pr`?(0,$.jsx)(me,{environmentId:q,cwd:J,pullRequestNumber:g.number,onBack:ve,onSelectLinkedIssue:de,onSelectLinkedWorkItem:_e,onSelectPullRequest:ge}):(0,$.jsx)(ce,{environmentId:q,projectId:M?.id??null,cwd:J,workItemKey:g.key,onBack:ve,onSelectLinkedChangeRequest:ge}),t[55]=n,t[56]=J,t[57]=q,t[58]=i,t[59]=u,t[60]=o,t[61]=f,t[62]=M?.id,t[63]=g,t[64]=c,t[65]=m,t[66]=Y):Y=t[66];let X;t[67]!==ye||t[68]!==Me||t[69]!==Ne||t[70]!==Y?(X=(0,$.jsxs)(ze,{className:`project-glass-surface flex h-[88vh] max-h-[1060px] w-[90vw] max-w-[1340px] flex-col p-0 phone:h-[100dvh] phone:w-screen`,onKeyDown:ye,surface:`glass`,children:[Me,Ne,Y]}),t[67]=ye,t[68]=Me,t[69]=Ne,t[70]=Y,t[71]=X):X=t[71];let Pe;return t[72]!==e.onOpenChange||t[73]!==e.open||t[74]!==X?(Pe=(0,$.jsx)(Be,{open:e.open,onOpenChange:e.onOpenChange,children:X}),t[72]=e.onOpenChange,t[73]=e.open,t[74]=X,t[75]=Pe):Pe=t[75],Pe}function Mn(e){return(0,$.jsx)(Ue,{value:e.physicalProjectKey,children:(0,$.jsxs)(`span`,{className:`truncate`,children:[e.name,e.environmentLabel?(0,$.jsxs)(`span`,{className:`ml-1 text-muted-foreground`,children:[`· `,e.environmentLabel]}):null]})},e.physicalProjectKey)}function Nn(e){return e.physicalProjectKey}function Pn(e){switch(e){case`github`:return Me;case`gitlab`:return J;case`forgejo`:return ke;case`azure-devops`:return Ae;case`bitbucket`:return Oe;default:return q}}var Fn=[{id:`general`,label:`General`,Icon:ye},{id:`location`,label:`Location`,Icon:H},{id:`atlassian`,label:`Atlassian`,Icon:Qe},{id:`ai`,label:`AI`,Icon:W}];function In(e){let t=e.target.repositoryIdentity?.remotes??[],n=e.target.repositoryIdentity?.locator.remoteName??null,r=e.preferredRemoteName&&t.some(t=>t.name===e.preferredRemoteName)?e.preferredRemoteName:null,[i,a]=(0,Q.useState)(!1),o=(0,Q.useRef)(null),s=()=>{e.projectAvatarUploadUnavailableReason||o.current?.click()},c=async t=>{a(!0);try{await e.onUploadAvatar(t)}finally{a(!1)}};return(0,$.jsxs)(`div`,{className:`space-y-6`,children:[(0,$.jsxs)(`section`,{className:`flex items-start gap-4`,children:[(0,$.jsxs)(`div`,{className:`relative flex size-24 shrink-0 items-center justify-center overflow-hidden rounded-xl border border-border/70 bg-secondary text-muted-foreground shadow-xs`,children:[(0,$.jsx)(Ne,{environmentId:e.target.environmentId,cwd:e.target.cwd,projectId:e.target.id,customAvatarContentHash:e.customAvatarContentHash,fillContainer:!0}),i?(0,$.jsx)(`div`,{className:`absolute inset-0 grid place-items-center bg-background/60 text-xs`,children:`…`}):null]}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Project image`}),(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:e.projectAvatarUploadUnavailableReason?e.projectAvatarUploadUnavailableReason:e.customAvatarContentHash?`PNG, JPG, or WebP · up to 2 MB`:`Using auto-detected favicon · upload to override`}),(0,$.jsxs)(`div`,{className:`flex gap-2 pt-1`,children:[(0,$.jsx)(Y,{size:`xs`,variant:`outline`,onClick:s,disabled:i||e.projectAvatarUploadUnavailableReason!==null,title:e.projectAvatarUploadUnavailableReason??void 0,children:`Upload`}),(0,$.jsx)(Y,{size:`xs`,variant:`ghost`,onClick:()=>void e.onRemoveAvatar(),disabled:!e.customAvatarContentHash||i,children:`Remove`})]}),(0,$.jsx)(`input`,{ref:o,type:`file`,accept:`image/png,image/jpeg,image/webp`,className:`hidden`,disabled:e.projectAvatarUploadUnavailableReason!==null,onChange:e=>{let t=e.target.files?.[0];t&&c(t),e.target.value=``}})]})]}),(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`project-display-name`,className:`text-xs font-medium text-foreground`,children:`Display name`}),(0,$.jsx)(Ee,{id:`project-display-name`,"aria-label":`Project display name`,value:e.title,onChange:t=>e.onTitleChange(t.target.value)})]}),t.length>0?(0,$.jsxs)(`section`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Linked repositories`}),t.length>1?(0,$.jsxs)(`span`,{className:`text-[11px] text-muted-foreground`,children:[t.length,` remotes`]}):null]}),t.length>1?(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Pick which remote the sidebar "Open remote" uses.`}):null,(0,$.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border/70`,children:[t.length>1?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e.onPreferredRemoteChange(null),className:K(`flex w-full items-center gap-3 border-b border-border/70 px-3 py-2 text-left`,r===null&&`bg-accent/50`),children:[(0,$.jsx)(`span`,{className:K(`grid size-4 shrink-0 place-items-center rounded-full border`,r===null?`border-foreground`:`border-muted-foreground/40`),"aria-hidden":`true`,children:r===null?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-foreground`}):null}),(0,$.jsxs)(`span`,{className:`text-xs`,children:[`Auto-detect`,n?` (currently: ${n})`:``]})]}):null,t.map((i,a)=>{let o=r===i.name||r===null&&i.name===n&&t.length===1,s=Pn(i.provider??void 0);return(0,$.jsxs)(`div`,{className:K(`flex items-center gap-3 px-3 py-2`,a>0||t.length>1?`border-t border-border/70`:``,o&&`bg-accent/50`),children:[t.length>1?(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onPreferredRemoteChange(i.name),className:`shrink-0`,"aria-label":`Use ${i.name} as primary`,children:(0,$.jsx)(`span`,{className:K(`grid size-4 place-items-center rounded-full border`,o?`border-foreground`:`border-muted-foreground/40`),children:o?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-foreground`}):null})}):null,(0,$.jsx)(s,{className:`size-4 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium`,children:i.name}),o&&t.length>1?(0,$.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:`primary`}):null]}),(0,$.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,children:i.ownerRepo??i.url})]}),(0,$.jsxs)(Y,{size:`xs`,variant:`ghost`,onClick:()=>e.onOpenRemote(e.target,i.name),children:[(0,$.jsx)(_e,{className:`size-3.5`}),`Open`]})]},i.name)})]})]}):null]})}function Ln(e){let t=(0,Z.c)(23),n=`~/.ryco/worktrees/${e.projectId}/`,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`label`,{htmlFor:`project-root`,className:`text-xs font-medium text-foreground`,children:`Project root`}),i=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`The absolute path the project is anchored to.`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a,o;t[2]===e?(a=t[3],o=t[4]):(a=t=>e.onWorkspaceRootChange(t.target.value),o=t=>{t.key===`Enter`&&(t.preventDefault(),e.onSave())},t[2]=e,t[3]=a,t[4]=o);let s;t[5]!==e.workspaceRoot||t[6]!==a||t[7]!==o?(s=(0,$.jsx)(Ee,{id:`project-root`,"aria-label":`Project root`,value:e.workspaceRoot,onChange:a,onKeyDown:o}),t[5]=e.workspaceRoot,t[6]=a,t[7]=o,t[8]=s):s=t[8];let c;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(H,{className:`size-4`}),t[9]=c):c=t[9];let l;t[10]===e.onPickWorkspaceRoot?l=t[11]:(l=(0,$.jsxs)(Y,{variant:`outline`,onClick:e.onPickWorkspaceRoot,children:[c,`Browse`]}),t[10]=e.onPickWorkspaceRoot,t[11]=l);let u;t[12]!==s||t[13]!==l?(u=(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[r,i,(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[s,l]})]}),t[12]=s,t[13]=l,t[14]=u):u=t[14];let d;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Worktrees location`}),t[15]=d):d=t[15];let f;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:`font-mono`,children:`<branch>__<word>`}),t[16]=f):f=t[16];let p;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`New worktrees for this project are created here. Each one is named`,` `,f,`, where`,` `,(0,$.jsx)(`span`,{className:`font-mono`,children:`<word>`}),` is a random 5-letter suffix that disambiguates multiple checkouts of the same branch.`]}),t[17]=p):p=t[17];let m;t[18]===n?m=t[19]:(m=(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[d,p,(0,$.jsx)(`div`,{className:`rounded-md border border-dashed border-border/70 bg-muted/20 px-3 py-2`,children:(0,$.jsx)(`div`,{className:`truncate font-mono text-xs`,children:n})})]}),t[18]=n,t[19]=m);let h;return t[20]!==m||t[21]!==u?(h=(0,$.jsxs)(`div`,{className:`space-y-6`,children:[u,m]}),t[20]=m,t[21]=u,t[22]=h):h=t[22],h}var Rn=`__none__`;function zn(e){return e.models.find(e=>!e.isCustom)?.slug??e.models[0]?.slug??l[e.driverKind]??`gpt-5.6-terra`}function Bn(e){let t=(0,Z.c)(35),n=w(),r=m(),i;t[0]===e.target.environmentId?i=t[1]:(i=t=>e.target.environmentId?t.byId[e.target.environmentId]:null,t[0]=e.target.environmentId,t[1]=i);let a=g(i),o=n&&e.target.environmentId===n?r:a?.serverConfig??r;o?.providers;let s;t[2]===o?.providers?s=t[3]:(s=D(k(o?.providers??[])).filter(Wn),t[2]=o?.providers,t[3]=s);let c=s,l=e.defaultModelSelection,u;t[4]!==c||t[5]!==l?(u=l?c.find(e=>e.instanceId===l.instanceId):void 0,t[4]=c,t[5]=l,t[6]=u):u=t[6];let d=u,f;bb0:{if(!d){let e;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[7]=e):e=t[7],f=e;break bb0}let e;t[8]!==d.models||t[9]!==l?(e=d.models.map(Un),l&&!e.some(e=>e.slug===l.model)&&e.push({slug:l.model,label:l.model}),t[8]=d.models,t[9]=l,t[10]=e):e=t[10],f=e}let p=f,h=l?.instanceId??Rn,_;t[11]!==c||t[12]!==e||t[13]!==l?.instanceId?(_=t=>{if(!t||t===Rn){e.onDefaultModelSelectionChange(null);return}if(t===l?.instanceId)return;let n=c.find(e=>e.instanceId===t);n&&e.onDefaultModelSelectionChange(T(n.instanceId,zn(n)))},t[11]=c,t[12]=e,t[13]=l?.instanceId,t[14]=_):_=t[14];let v=d?.displayName??(l?l.instanceId:`No project default`),y;t[15]===v?y=t[16]:(y=(0,$.jsx)(We,{"aria-label":`Default agent`,className:`w-full`,children:(0,$.jsx)(Ge,{children:v})}),t[15]=v,t[16]=y);let b;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(Ue,{value:Rn,children:`No project default`}),t[17]=b):b=t[17];let x;t[18]===c?x=t[19]:(x=c.map(Hn),t[18]=c,t[19]=x);let S;t[20]===x?S=t[21]:(S=(0,$.jsxs)(He,{children:[b,x]}),t[20]=x,t[21]=S);let C;t[22]!==S||t[23]!==h||t[24]!==_||t[25]!==y?(C=(0,$.jsx)(rr,{label:`Default agent`,children:(0,$.jsxs)(Ke,{value:h,onValueChange:_,children:[y,S]})}),t[22]=S,t[23]=h,t[24]=_,t[25]=y,t[26]=C):C=t[26];let E;t[27]!==p||t[28]!==e||t[29]!==l?(E=l?(0,$.jsx)(rr,{label:`Default model`,children:(0,$.jsxs)(Ke,{value:l.model,onValueChange:t=>{!t||t===l.model||e.onDefaultModelSelectionChange(T(l.instanceId,t))},children:[(0,$.jsx)(We,{"aria-label":`Default model`,className:`w-full`,children:(0,$.jsx)(Ge,{children:p.find(e=>e.slug===l.model)?.label??l.model})}),(0,$.jsx)(He,{children:p.map(Vn)})]})}):null,t[27]=p,t[28]=e,t[29]=l,t[30]=E):E=t[30];let O;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`New threads on this project start with this agent and model. Existing threads and per-thread selections are not affected.`}),t[31]=O):O=t[31];let A;return t[32]!==C||t[33]!==E?(A=(0,$.jsxs)(`div`,{className:`grid gap-4`,children:[C,E,O]}),t[32]=C,t[33]=E,t[34]=A):A=t[34],A}function Vn(e){return(0,$.jsx)(Ue,{value:e.slug,children:e.label},e.slug)}function Hn(e){return(0,$.jsx)(Ue,{value:e.instanceId,children:e.displayName},e.instanceId)}function Un(e){return{slug:e.slug,label:e.name}}function Wn(e){return e.enabled&&e.isAvailable}function Gn(e){let t=(0,Z.c)(22),n=e.customSystemPrompt.length,r=Math.floor(c*.9),i=n>=2e4?`text-destructive`:n>=r?`text-amber-600 dark:text-amber-400`:`text-muted-foreground`,a;t[0]!==e.defaultModelSelection||t[1]!==e.onDefaultModelSelectionChange||t[2]!==e.target?(a=(0,$.jsx)(Bn,{target:e.target,defaultModelSelection:e.defaultModelSelection,onDefaultModelSelectionChange:e.onDefaultModelSelectionChange}),t[0]=e.defaultModelSelection,t[1]=e.onDefaultModelSelectionChange,t[2]=e.target,t[3]=a):a=t[3];let o,s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(`label`,{htmlFor:`project-custom-system-prompt`,className:`text-xs font-medium text-foreground`,children:`Custom system prompt`}),s=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Appended to every assistant prompt for this project.`}),t[4]=o,t[5]=s):(o=t[4],s=t[5]);let l;t[6]===e?l=t[7]:(l=t=>e.onCustomSystemPromptChange(t.target.value),t[6]=e,t[7]=l);let u;t[8]!==e.customSystemPrompt||t[9]!==l?(u=(0,$.jsx)(Ve,{id:`project-custom-system-prompt`,"aria-label":`Custom system prompt`,value:e.customSystemPrompt,maxLength:c,placeholder:`Always use TypeScript.`,className:`min-h-32 resize-y pr-20`,onChange:l}),t[8]=e.customSystemPrompt,t[9]=l,t[10]=u):u=t[10];let d;t[11]===i?d=t[12]:(d=K(`pointer-events-none absolute bottom-2 right-3 text-[11px]`,i),t[11]=i,t[12]=d);let f;t[13]!==n||t[14]!==d?(f=(0,$.jsxs)(`span`,{className:d,children:[n,` / `,c]}),t[13]=n,t[14]=d,t[15]=f):f=t[15];let p;t[16]!==u||t[17]!==f?(p=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[o,s,(0,$.jsxs)(`div`,{className:`relative`,children:[u,f]})]}),t[16]=u,t[17]=f,t[18]=p):p=t[18];let m;return t[19]!==a||t[20]!==p?(m=(0,$.jsxs)(`div`,{className:`space-y-6`,children:[a,p]}),t[19]=a,t[20]=p,t[21]=m):m=t[21],m}var Kn=`Not configured`;function qn(e){return e??Kn}function Jn(e){return e===Kn||e.trim().length===0?null:e}function Yn(e){return e.split(/[,\s]+/u).map(e=>e.trim().toUpperCase()).filter(Boolean)}function Xn(e){return e?.provider?.toLowerCase()===`bitbucket`?{workspace:e.owner??``,repoSlug:e.name??``}:{workspace:``,repoSlug:``}}function Zn(e){return t=>t.status===`connected`&&t.products.includes(e)}function Qn(e){let t=(0,Z.c)(186),n=e.target,r=x(),i;t[0]===n?i=t[1]:(i=n?_(n.environmentId):null,t[0]=n,t[1]=i);let a=i?.client??null,[o,s]=(0,Q.useState)(Kn),[c,l]=(0,Q.useState)(Kn),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(``),[g,v]=(0,Q.useState)(``),[y,b]=(0,Q.useState)(`{issueKey}-{titleSlug}`),[C,w]=(0,Q.useState)(`{issueKey}: {summary}`),[T,E]=(0,Q.useState)(`{issueKey}: {summary}`),[D,O]=(0,Q.useState)(!0),[k,A]=(0,Q.useState)(!0),j=(0,Q.useRef)(!1),M=(0,Q.useRef)(null),N=n?.environmentId??null,ee=n?.id??null,te=a!==null&&n!==null,ne;t[2]!==N||t[3]!==ee||t[4]!==te?(ne={environmentId:N,projectId:ee,enabled:te},t[2]=N,t[3]=ee,t[4]=te,t[5]=ne):ne=t[5];let P=Xe(ne),re=n?.environmentId??null,ie=a!==null,F;t[6]!==re||t[7]!==ie?(F={environmentId:re,enabled:ie},t[6]=re,t[7]=ie,t[8]=F):F=t[8];let I=Ze(F),L;t[9]===I.data?L=t[10]:(L=(I.data??[]).filter(Zn(`jira`)),t[9]=I.data,t[10]=L);let R=L,ae;t[11]===I.data?ae=t[12]:(ae=(I.data??[]).filter(Zn(`bitbucket`)),t[11]=I.data,t[12]=ae);let z=ae,oe;t[13]!==z[0]?.connectionId||t[14]!==R[0]?.connectionId||t[15]!==P.data||t[16]!==n?(oe=()=>{if(!n)return;let e=`${n.environmentId}:${n.id}`;if(M.current!==e&&(M.current=e,j.current=!1),j.current)return;let t=P.data,r=Xn(n.repositoryIdentity);s(qn(t?.jiraConnectionId??R[0]?.connectionId)),l(qn(t?.bitbucketConnectionId??z[0]?.connectionId)),d(t?.jiraProjectKeys.join(`, `)??``),p(t?.bitbucketWorkspace??r.workspace),h(t?.bitbucketRepoSlug??r.repoSlug),v(t?.defaultIssueTypeName??``),b(t?.branchNameTemplate??`{issueKey}-{titleSlug}`),w(t?.commitMessageTemplate??`{issueKey}: {summary}`),E(t?.pullRequestTitleTemplate??`{issueKey}: {summary}`),O(t?.smartLinkingEnabled??!0),A(t?.autoAttachWorkItems??!0)},t[13]=z[0]?.connectionId,t[14]=R[0]?.connectionId,t[15]=P.data,t[16]=n,t[17]=oe):oe=t[17];let se;t[18]!==z||t[19]!==R||t[20]!==P.data||t[21]!==n?(se=[z,R,P.data,n],t[18]=z,t[19]=R,t[20]=P.data,t[21]=n,t[22]=se):se=t[22],(0,Q.useEffect)(oe,se);let ce;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(ce=()=>{j.current=!0},t[23]=ce):ce=t[23];let B=ce,le;t[24]!==r||t[25]!==n?.environmentId||t[26]!==n?.id?(le=()=>{Je({environmentId:n?.environmentId??null}),qe({environmentId:n?.environmentId??null,projectId:n?.id??null}),r.invalidateQueries({queryKey:[`atlassian`]}),r.invalidateQueries({queryKey:[`workItems`]})},t[24]=r,t[25]=n?.environmentId,t[26]=n?.id,t[27]=le):le=t[27];let fe=le,pe;t[28]!==k||t[29]!==c||t[30]!==m||t[31]!==f||t[32]!==y||t[33]!==a||t[34]!==C||t[35]!==g||t[36]!==o||t[37]!==u||t[38]!==P.data?.jiraCloudId||t[39]!==T||t[40]!==D||t[41]!==n?(pe=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);let e=y.trim(),t=C.trim(),r=T.trim();if(!e||!t||!r)throw Error(`Branch, commit, and pull request templates cannot be empty.`);return a.atlassian.saveProjectLink({projectId:n.id,jiraConnectionId:Jn(o),bitbucketConnectionId:Jn(c),jiraCloudId:P.data?.jiraCloudId??null,jiraSiteUrl:null,jiraProjectKeys:Yn(u),bitbucketWorkspace:f.trim()||null,bitbucketRepoSlug:m.trim()||null,defaultIssueTypeName:g.trim()||null,branchNameTemplate:e,commitMessageTemplate:t,pullRequestTitleTemplate:r,smartLinkingEnabled:D,autoAttachWorkItems:k})},t[28]=k,t[29]=c,t[30]=m,t[31]=f,t[32]=y,t[33]=a,t[34]=C,t[35]=g,t[36]=o,t[37]=u,t[38]=P.data?.jiraCloudId,t[39]=T,t[40]=D,t[41]=n,t[42]=pe):pe=t[42];let me;t[43]===fe?me=t[44]:(me=()=>{j.current=!1,fe(),V.add(X({type:`success`,title:`Atlassian project settings saved`,description:`Jira and Bitbucket defaults were updated for this project.`}))},t[43]=fe,t[44]=me);let he;t[45]!==pe||t[46]!==me?(he={mutationFn:pe,onSuccess:me,onError:nr},t[45]=pe,t[46]=me,t[47]=he):he=t[47];let ge=S(he),_e;t[48]!==a||t[49]!==P.data||t[50]!==n?(_e=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);return a.atlassian.saveProjectLink(de({projectId:n.id,existing:P.data??null}))},t[48]=a,t[49]=P.data,t[50]=n,t[51]=_e):_e=t[51];let H;t[52]===fe?H=t[53]:(H=()=>{j.current=!1,s(Kn),d(``),fe(),V.add(X({type:`success`,title:`Jira project unlinked`,description:`Bitbucket mapping and project templates were left unchanged.`}))},t[52]=fe,t[53]=H);let ve;t[54]!==_e||t[55]!==H?(ve={mutationFn:_e,onSuccess:H,onError:tr},t[54]=_e,t[55]=H,t[56]=ve):ve=t[56];let U=S(ve),ye=P.isLoading||I.isLoading,W=a===null||n===null||ge.isPending||U.isPending,be=P.data?.jiraConnectionId!==null&&P.data?.jiraConnectionId!==void 0&&P.data.jiraProjectKeys.length>0,G;t[57]===o?G=t[58]:(G=Jn(o),t[57]=o,t[58]=G);let K=G,xe;if(t[59]!==R||t[60]!==K){let e;t[62]===K?e=t[63]:(e=e=>e.connectionId===K,t[62]=K,t[63]=e),xe=R.find(e),t[59]=R,t[60]=K,t[61]=xe}else xe=t[61];let Se=xe?.baseUrl??P.data?.jiraSiteUrl??``,Ce;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(Qe,{className:`size-4 shrink-0 text-muted-foreground`}),t[64]=Ce):Ce=t[64];let we;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[Ce,(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`truncate text-xs font-medium text-foreground`,children:`Atlassian workflow`}),(0,$.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:`Project-scoped Jira, Bitbucket, and smart-link defaults.`})]})]}),t[65]=we):we=t[65];let De;t[66]===ye?De=t[67]:(De=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[we,ye?(0,$.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Loading`}):(0,$.jsx)(`span`,{className:`rounded bg-background px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:`Project defaults`})]}),t[66]=ye,t[67]=De);let Oe;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Connections`}),t[68]=Oe):Oe=t[68];let ke;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Jira connection`}),t[69]=ke):ke=t[69];let q;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>{typeof e==`string`&&(B(),s(e))},t[70]=q):q=t[70];let J;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,$.jsx)(Ge,{placeholder:`Select Jira connection`}),t[71]=J):J=t[71];let Ae;t[72]===W?Ae=t[73]:(Ae=(0,$.jsx)(We,{size:`sm`,disabled:W,children:J}),t[72]=W,t[73]=Ae);let je;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,$.jsx)(Ue,{value:Kn,children:`Not configured`}),t[74]=je):je=t[74];let Me;t[75]===R?Me=t[76]:(Me=R.map(er),t[75]=R,t[76]=Me);let Ne;t[77]===Me?Ne=t[78]:(Ne=(0,$.jsxs)(He,{children:[je,Me]}),t[77]=Me,t[78]=Ne);let Pe;t[79]!==o||t[80]!==Ae||t[81]!==Ne?(Pe=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[ke,(0,$.jsxs)(Ke,{value:o,onValueChange:q,children:[Ae,Ne]})]}),t[79]=o,t[80]=Ae,t[81]=Ne,t[82]=Pe):Pe=t[82];let Fe;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Bitbucket connection`}),t[83]=Fe):Fe=t[83];let Ie;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=e=>{typeof e==`string`&&(B(),l(e))},t[84]=Ie):Ie=t[84];let Le;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,$.jsx)(Ge,{placeholder:`Select Bitbucket connection`}),t[85]=Le):Le=t[85];let Re;t[86]===W?Re=t[87]:(Re=(0,$.jsx)(We,{size:`sm`,disabled:W,children:Le}),t[86]=W,t[87]=Re);let ze;t[88]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,$.jsx)(Ue,{value:Kn,children:`Not configured`}),t[88]=ze):ze=t[88];let Be;t[89]===z?Be=t[90]:(Be=z.map($n),t[89]=z,t[90]=Be);let Ve;t[91]===Be?Ve=t[92]:(Ve=(0,$.jsxs)(He,{children:[ze,Be]}),t[91]=Be,t[92]=Ve);let Ye;t[93]!==c||t[94]!==Re||t[95]!==Ve?(Ye=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[Fe,(0,$.jsxs)(Ke,{value:c,onValueChange:Ie,children:[Re,Ve]})]}),t[93]=c,t[94]=Re,t[95]=Ve,t[96]=Ye):Ye=t[96];let $e;t[97]!==Pe||t[98]!==Ye?($e=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[Oe,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Pe,Ye]})]}),t[97]=Pe,t[98]=Ye,t[99]=$e):$e=t[99];let et;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Repository mapping`}),t[100]=et):et=t[100];let tt=n?.environmentId??null,nt;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(nt=e=>{B(),d(e)},t[101]=nt):nt=t[101];let rt;t[102]!==W||t[103]!==u||t[104]!==K||t[105]!==Se||t[106]!==tt?(rt=(0,$.jsx)(ue,{environmentId:tt,connectionId:K,siteUrl:Se,projectKeys:u,disabled:W,onProjectKeysChange:nt}),t[102]=W,t[103]=u,t[104]=K,t[105]=Se,t[106]=tt,t[107]=rt):rt=t[107];let it;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(it=e=>{B(),d(e.currentTarget.value)},t[108]=it):it=t[108];let at;t[109]!==W||t[110]!==u?(at=(0,$.jsx)(Ee,{size:`sm`,value:u,disabled:W,placeholder:`WEB, API`,onChange:it}),t[109]=W,t[110]=u,t[111]=at):at=t[111];let ot;t[112]!==rt||t[113]!==at?(ot=(0,$.jsxs)(rr,{label:`Jira project keys`,children:[rt,at]}),t[112]=rt,t[113]=at,t[114]=ot):ot=t[114];let st;t[115]===Symbol.for(`react.memo_cache_sentinel`)?(st=e=>{B(),p(e.currentTarget.value)},t[115]=st):st=t[115];let ct;t[116]!==f||t[117]!==W?(ct=(0,$.jsx)(rr,{label:`Bitbucket workspace`,children:(0,$.jsx)(Ee,{size:`sm`,value:f,disabled:W,placeholder:`workspace`,onChange:st})}),t[116]=f,t[117]=W,t[118]=ct):ct=t[118];let lt;t[119]===Symbol.for(`react.memo_cache_sentinel`)?(lt=e=>{B(),h(e.currentTarget.value)},t[119]=lt):lt=t[119];let ut;t[120]!==m||t[121]!==W?(ut=(0,$.jsx)(rr,{label:`Bitbucket repo slug`,children:(0,$.jsx)(Ee,{size:`sm`,value:m,disabled:W,placeholder:`repo-slug`,onChange:lt})}),t[120]=m,t[121]=W,t[122]=ut):ut=t[122];let dt;t[123]!==ot||t[124]!==ct||t[125]!==ut?(dt=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[et,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[ot,ct,ut]})]}),t[123]=ot,t[124]=ct,t[125]=ut,t[126]=dt):dt=t[126];let ft;t[127]===Symbol.for(`react.memo_cache_sentinel`)?(ft=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Templates`}),t[127]=ft):ft=t[127];let pt;t[128]===Symbol.for(`react.memo_cache_sentinel`)?(pt=e=>{B(),v(e.currentTarget.value)},t[128]=pt):pt=t[128];let mt;t[129]!==g||t[130]!==W?(mt=(0,$.jsx)(rr,{label:`Default issue type`,children:(0,$.jsx)(Ee,{size:`sm`,value:g,disabled:W,placeholder:`Task`,onChange:pt})}),t[129]=g,t[130]=W,t[131]=mt):mt=t[131];let ht;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(ht=e=>{B(),b(e.currentTarget.value)},t[132]=ht):ht=t[132];let gt;t[133]!==y||t[134]!==W?(gt=(0,$.jsx)(rr,{label:`Branch template`,children:(0,$.jsx)(Ee,{size:`sm`,value:y,disabled:W,onChange:ht})}),t[133]=y,t[134]=W,t[135]=gt):gt=t[135];let _t;t[136]===Symbol.for(`react.memo_cache_sentinel`)?(_t=e=>{B(),w(e.currentTarget.value)},t[136]=_t):_t=t[136];let vt;t[137]!==C||t[138]!==W?(vt=(0,$.jsx)(rr,{label:`Commit template`,children:(0,$.jsx)(Ee,{size:`sm`,value:C,disabled:W,onChange:_t})}),t[137]=C,t[138]=W,t[139]=vt):vt=t[139];let yt;t[140]===Symbol.for(`react.memo_cache_sentinel`)?(yt=e=>{B(),E(e.currentTarget.value)},t[140]=yt):yt=t[140];let bt;t[141]!==W||t[142]!==T?(bt=(0,$.jsx)(rr,{label:`PR title template`,children:(0,$.jsx)(Ee,{size:`sm`,value:T,disabled:W,onChange:yt})}),t[141]=W,t[142]=T,t[143]=bt):bt=t[143];let xt;t[144]!==mt||t[145]!==gt||t[146]!==vt||t[147]!==bt?(xt=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[ft,(0,$.jsxs)(`div`,{className:`grid gap-3`,children:[mt,gt,vt,bt]})]}),t[144]=mt,t[145]=gt,t[146]=vt,t[147]=bt,t[148]=xt):xt=t[148];let St;t[149]===Symbol.for(`react.memo_cache_sentinel`)?(St=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Automation`}),t[149]=St):St=t[149];let Ct;t[150]===Symbol.for(`react.memo_cache_sentinel`)?(Ct=(0,$.jsx)(`span`,{children:`Smart-link Jira keys in branches, commits, and PRs`}),t[150]=Ct):Ct=t[150];let wt;t[151]===Symbol.for(`react.memo_cache_sentinel`)?(wt=e=>{B(),O(!!e)},t[151]=wt):wt=t[151];let Tt;t[152]!==W||t[153]!==D?(Tt=(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 bg-background/60 px-3 py-2 text-xs`,children:[Ct,(0,$.jsx)(Te,{checked:D,disabled:W,onCheckedChange:wt})]}),t[152]=W,t[153]=D,t[154]=Tt):Tt=t[154];let Et;t[155]===Symbol.for(`react.memo_cache_sentinel`)?(Et=(0,$.jsx)(`span`,{children:`Attach linked work items to project explorer workflows`}),t[155]=Et):Et=t[155];let Dt;t[156]===Symbol.for(`react.memo_cache_sentinel`)?(Dt=e=>{B(),A(!!e)},t[156]=Dt):Dt=t[156];let Ot;t[157]!==k||t[158]!==W?(Ot=(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 bg-background/60 px-3 py-2 text-xs`,children:[Et,(0,$.jsx)(Te,{checked:k,disabled:W,onCheckedChange:Dt})]}),t[157]=k,t[158]=W,t[159]=Ot):Ot=t[159];let kt;t[160]!==Tt||t[161]!==Ot?(kt=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[St,(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[Tt,Ot]})]}),t[160]=Tt,t[161]=Ot,t[162]=kt):kt=t[162];let At;t[163]===Symbol.for(`react.memo_cache_sentinel`)?(At=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Tokens live in Source Control settings. These defaults belong only to this project.`}),t[163]=At):At=t[163];let jt=W||!be,Mt;t[164]===U?Mt=t[165]:(Mt=()=>U.mutate(),t[164]=U,t[165]=Mt);let Nt=U.isPending?`Unlinking...`:`Unlink Jira`,Pt;t[166]!==jt||t[167]!==Mt||t[168]!==Nt?(Pt=(0,$.jsx)(Y,{type:`button`,size:`sm`,variant:`destructive-outline`,className:`h-8`,disabled:jt,onClick:Mt,children:Nt}),t[166]=jt,t[167]=Mt,t[168]=Nt,t[169]=Pt):Pt=t[169];let Ft;t[170]===ge?Ft=t[171]:(Ft=()=>ge.mutate(),t[170]=ge,t[171]=Ft);let It=ge.isPending?`Saving...`:`Save Atlassian`,Lt;t[172]!==W||t[173]!==Ft||t[174]!==It?(Lt=(0,$.jsx)(Y,{type:`button`,size:`sm`,className:`h-8`,disabled:W,onClick:Ft,children:It}),t[172]=W,t[173]=Ft,t[174]=It,t[175]=Lt):Lt=t[175];let Rt;t[176]!==Pt||t[177]!==Lt?(Rt=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border/70 pt-4`,children:[At,(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[Pt,Lt]})]}),t[176]=Pt,t[177]=Lt,t[178]=Rt):Rt=t[178];let zt;return t[179]!==De||t[180]!==$e||t[181]!==dt||t[182]!==xt||t[183]!==kt||t[184]!==Rt?(zt=(0,$.jsxs)(`div`,{className:`space-y-5`,children:[De,$e,dt,xt,kt,Rt]}),t[179]=De,t[180]=$e,t[181]=dt,t[182]=xt,t[183]=kt,t[184]=Rt,t[185]=zt):zt=t[185],zt}function $n(e){return(0,$.jsx)(Ue,{value:e.connectionId,children:e.label},e.connectionId)}function er(e){return(0,$.jsx)(Ue,{value:e.connectionId,children:e.label},e.connectionId)}function tr(e){V.add(X({type:`error`,title:`Could not unlink Jira project`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function nr(e){V.add(X({type:`error`,title:`Could not save Atlassian project settings`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function rr(e){let t=(0,Z.c)(5),n;t[0]===e.label?n=t[1]:(n=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:e.label}),t[0]=e.label,t[1]=n);let r;return t[2]!==e.children||t[3]!==n?(r=(0,$.jsxs)(`label`,{className:`grid gap-1.5`,children:[n,e.children]}),t[2]=e.children,t[3]=n,t[4]=r):r=t[4],r}function ir(e){let t=(0,Z.c)(59),[n,r]=(0,Q.useState)(`general`),i;t[0]===e.open?i=t[1]:(i=()=>{e.open&&r(`general`)},t[0]=e.open,t[1]=i);let a=e.target?.id,o;t[2]!==e.open||t[3]!==a?(o=[e.open,a],t[2]=e.open,t[3]=a,t[4]=o):o=t[4],(0,Q.useEffect)(i,o);let s=e.target;if(!s)return null;let c=s.environmentLabel?`${s.name} · ${s.environmentLabel}`:s.name,l;t[5]===n?l=t[6]:(l=Fn.findIndex(e=>e.id===n),t[5]=n,t[6]=l);let u=Math.max(0,l),d=e.open,f;t[7]===e?f=t[8]:(f=t=>{t||e.onClose()},t[7]=e,t[8]=f);let p;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Fe,{className:`text-base font-semibold`,children:`Project settings`}),t[9]=p):p=t[9];let m;t[10]===c?m=t[11]:(m=(0,$.jsx)(`header`,{className:`flex h-14 shrink-0 items-center justify-between border-b border-border px-5`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[p,(0,$.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:c})]})}),t[10]=c,t[11]=m);let h=`translateY(${u*2.5}rem)`,g;t[12]===h?g=t[13]:(g=(0,$.jsx)(`span`,{className:`pointer-events-none absolute top-2 right-2 left-2 z-0 h-9 rounded-md bg-accent transition-transform duration-[240ms] ease-out`,style:{transform:h},"aria-hidden":!0}),t[12]=h,t[13]=g);let _;t[14]===n?_=t[15]:(_=Fn.map(e=>{let{id:t,label:i,Icon:a}=e,o=n===t;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:K(`relative z-10 flex h-9 items-center gap-2.5 rounded-md px-2 text-left text-[13px] outline-hidden ring-ring transition-colors duration-150 focus-visible:ring-2`,o?`font-medium text-foreground`:`text-muted-foreground/70 hover:text-foreground/80`),"aria-current":o?`page`:void 0,children:[(0,$.jsx)(a,{className:K(`size-4 shrink-0`,o?`text-foreground`:`text-muted-foreground/60`)}),(0,$.jsx)(`span`,{className:`hidden truncate sm:inline`,children:i})]},t)}),t[14]=n,t[15]=_);let v;t[16]!==_||t[17]!==g?(v=(0,$.jsxs)(`nav`,{className:`relative isolate flex w-12 shrink-0 flex-col gap-1 border-r border-border p-2 sm:w-48`,children:[g,_]}),t[16]=_,t[17]=g,t[18]=v):v=t[18];let y;t[19]!==e.customAvatarContentHash||t[20]!==e.customSystemPrompt||t[21]!==e.defaultModelSelection||t[22]!==e.onCustomSystemPromptChange||t[23]!==e.onDefaultModelSelectionChange||t[24]!==e.onOpenRemote||t[25]!==e.onPickWorkspaceRoot||t[26]!==e.onPreferredRemoteChange||t[27]!==e.onRemoveAvatar||t[28]!==e.onSave||t[29]!==e.onTitleChange||t[30]!==e.onUploadAvatar||t[31]!==e.onWorkspaceRootChange||t[32]!==e.preferredRemoteName||t[33]!==e.projectAvatarUploadUnavailableReason||t[34]!==e.title||t[35]!==e.workspaceRoot||t[36]!==n||t[37]!==s?(y=(0,$.jsx)(De,{className:`min-h-0 flex-1 min-w-0`,children:(0,$.jsx)(`div`,{className:`mx-auto max-w-[520px] px-6 py-6`,children:n===`general`?(0,$.jsx)(In,{target:s,title:e.title,customAvatarContentHash:e.customAvatarContentHash,projectAvatarUploadUnavailableReason:e.projectAvatarUploadUnavailableReason,preferredRemoteName:e.preferredRemoteName,onTitleChange:e.onTitleChange,onPreferredRemoteChange:e.onPreferredRemoteChange,onUploadAvatar:e.onUploadAvatar,onRemoveAvatar:e.onRemoveAvatar,onOpenRemote:e.onOpenRemote}):n===`location`?(0,$.jsx)(Ln,{workspaceRoot:e.workspaceRoot,projectId:s.id,onWorkspaceRootChange:e.onWorkspaceRootChange,onPickWorkspaceRoot:e.onPickWorkspaceRoot,onSave:e.onSave}):n===`atlassian`?(0,$.jsx)(Qn,{target:s}):(0,$.jsx)(Gn,{target:s,customSystemPrompt:e.customSystemPrompt,defaultModelSelection:e.defaultModelSelection,onCustomSystemPromptChange:e.onCustomSystemPromptChange,onDefaultModelSelectionChange:e.onDefaultModelSelectionChange})})}),t[19]=e.customAvatarContentHash,t[20]=e.customSystemPrompt,t[21]=e.defaultModelSelection,t[22]=e.onCustomSystemPromptChange,t[23]=e.onDefaultModelSelectionChange,t[24]=e.onOpenRemote,t[25]=e.onPickWorkspaceRoot,t[26]=e.onPreferredRemoteChange,t[27]=e.onRemoveAvatar,t[28]=e.onSave,t[29]=e.onTitleChange,t[30]=e.onUploadAvatar,t[31]=e.onWorkspaceRootChange,t[32]=e.preferredRemoteName,t[33]=e.projectAvatarUploadUnavailableReason,t[34]=e.title,t[35]=e.workspaceRoot,t[36]=n,t[37]=s,t[38]=y):y=t[38];let b;t[39]!==v||t[40]!==y?(b=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-row`,children:[v,y]}),t[39]=v,t[40]=y,t[41]=b):b=t[41];let x;t[42]===e.onClose?x=t[43]:(x=(0,$.jsx)(Y,{variant:`outline`,onClick:e.onClose,children:`Cancel`}),t[42]=e.onClose,t[43]=x);let S;t[44]!==e.onSave||t[45]!==e.saving||t[46]!==n?(S=n===`atlassian`?null:(0,$.jsx)(Y,{onClick:e.onSave,disabled:e.saving,children:e.saving?`Saving…`:`Save changes`}),t[44]=e.onSave,t[45]=e.saving,t[46]=n,t[47]=S):S=t[47];let C;t[48]!==x||t[49]!==S?(C=(0,$.jsxs)(`footer`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-border px-5 py-3`,children:[x,S]}),t[48]=x,t[49]=S,t[50]=C):C=t[50];let w;t[51]!==b||t[52]!==C||t[53]!==m?(w=(0,$.jsxs)(ze,{className:`project-glass-surface h-[min(70vh,620px)] max-w-[760px] overflow-hidden p-0 duration-[320ms] ease-[cubic-bezier(0.16,1,0.3,1)] data-ending-style:translate-y-4 data-starting-style:translate-y-4`,bottomStickOnMobile:!1,showCloseButton:!0,surface:`glass`,children:[m,b,C]}),t[51]=b,t[52]=C,t[53]=m,t[54]=w):w=t[54];let T;return t[55]!==e.open||t[56]!==w||t[57]!==f?(T=(0,$.jsx)(Be,{open:d,onOpenChange:f,children:w}),t[55]=e.open,t[56]=w,t[57]=f,t[58]=T):T=t[58],T}function ar(e){let t=(0,Z.c)(38),{target:n,selection:r,globalGroupingMode:i,onSelectionChange:a,onClose:o,onSave:s}=e,c=n!==null,l;t[0]===o?l=t[1]:(l=e=>{e||o()},t[0]=o,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Fe,{children:`Project grouping`}),t[2]=u):u=t[2];let d=n?`Choose how ${n.cwd} should be grouped in the sidebar.`:`Choose how this project should be grouped in the sidebar.`,f;t[3]===d?f=t[4]:(f=(0,$.jsxs)(Pe,{children:[u,(0,$.jsx)(Re,{children:d})]}),t[3]=d,t[4]=f);let p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Grouping rule`}),t[5]=p):p=t[5];let m;t[6]===a?m=t[7]:(m=e=>{(e===`inherit`||e===`repository`||e===`repository_path`||e===`separate`)&&a(e)},t[6]=a,t[7]=m);let h=r===`inherit`?`Use global default (${tn[i]})`:tn[r],g;t[8]===h?g=t[9]:(g=(0,$.jsx)(We,{className:`w-full`,"aria-label":`Project grouping rule`,children:(0,$.jsx)(Ge,{children:h})}),t[8]=h,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsxs)(He,{align:`end`,alignItemWithTrigger:!1,children:[(0,$.jsx)(Ue,{hideIndicator:!0,value:`inherit`,children:`Use global default`}),(0,$.jsx)(Ue,{hideIndicator:!0,value:`repository`,children:tn.repository}),(0,$.jsx)(Ue,{hideIndicator:!0,value:`repository_path`,children:tn.repository_path}),(0,$.jsx)(Ue,{hideIndicator:!0,value:`separate`,children:tn.separate})]}),t[10]=_):_=t[10];let v;t[11]!==r||t[12]!==m||t[13]!==g?(v=(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[p,(0,$.jsxs)(Ke,{value:r,onValueChange:m,children:[g,_]})]}),t[11]=r,t[12]=m,t[13]=g,t[14]=v):v=t[14];let y;t[15]!==i||t[16]!==r?(y=rn(r===`inherit`?i:r),t[15]=i,t[16]=r,t[17]=y):y=t[17];let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:y}),t[18]=y,t[19]=b);let x;t[20]!==v||t[21]!==b?(x=(0,$.jsxs)(Le,{className:`space-y-4`,children:[v,b]}),t[20]=v,t[21]=b,t[22]=x):x=t[22];let S;t[23]===o?S=t[24]:(S=(0,$.jsx)(Y,{variant:`outline`,onClick:o,children:`Cancel`}),t[23]=o,t[24]=S);let C;t[25]===s?C=t[26]:(C=(0,$.jsx)(Y,{onClick:s,children:`Save`}),t[25]=s,t[26]=C);let w;t[27]!==S||t[28]!==C?(w=(0,$.jsxs)(Ie,{children:[S,C]}),t[27]=S,t[28]=C,t[29]=w):w=t[29];let T;t[30]!==x||t[31]!==w||t[32]!==f?(T=(0,$.jsxs)(ze,{className:`project-glass-surface max-w-lg`,surface:`glass`,children:[f,x,w]}),t[30]=x,t[31]=w,t[32]=f,t[33]=T):T=t[33];let E;return t[34]!==c||t[35]!==l||t[36]!==T?(E=(0,$.jsx)(Be,{open:c,onOpenChange:l,children:T}),t[34]=c,t[35]=l,t[36]=T,t[37]=E):E=t[37],E}function or(e){let t=(0,Z.c)(34),{target:n,title:r,onTitleChange:i,onClose:a,onSubmit:o}=e,s=n!==null,c;t[0]===a?c=t[1]:(c=e=>{e||a()},t[0]=a,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Fe,{children:`Rename project`}),t[2]=l):l=t[2];let u=n?`Update the title for ${n.cwd}.`:`Update the project title.`,d;t[3]===u?d=t[4]:(d=(0,$.jsxs)(Pe,{children:[l,(0,$.jsx)(Re,{children:u})]}),t[3]=u,t[4]=d);let f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Project title`}),t[5]=f):f=t[5];let p;t[6]===i?p=t[7]:(p=e=>i(e.target.value),t[6]=i,t[7]=p);let m;t[8]===o?m=t[9]:(m=e=>{e.key===`Enter`&&we(e)&&(e.preventDefault(),o())},t[8]=o,t[9]=m);let h;t[10]!==p||t[11]!==m||t[12]!==r?(h=(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[f,(0,$.jsx)(Ee,{"aria-label":`Project title`,value:r,onChange:p,onKeyDown:m})]}),t[10]=p,t[11]=m,t[12]=r,t[13]=h):h=t[13];let g;t[14]===n?g=t[15]:(g=n?.environmentLabel?(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Environment: `,n.environmentLabel]}):null,t[14]=n,t[15]=g);let _;t[16]!==h||t[17]!==g?(_=(0,$.jsxs)(Le,{className:`space-y-4`,children:[h,g]}),t[16]=h,t[17]=g,t[18]=_):_=t[18];let v;t[19]===a?v=t[20]:(v=(0,$.jsx)(Y,{variant:`outline`,onClick:a,children:`Cancel`}),t[19]=a,t[20]=v);let y;t[21]===o?y=t[22]:(y=(0,$.jsx)(Y,{onClick:o,children:`Save`}),t[21]=o,t[22]=y);let b;t[23]!==v||t[24]!==y?(b=(0,$.jsxs)(Ie,{children:[v,y]}),t[23]=v,t[24]=y,t[25]=b):b=t[25];let x;t[26]!==_||t[27]!==b||t[28]!==d?(x=(0,$.jsxs)(ze,{className:`project-glass-surface max-w-lg`,surface:`glass`,children:[d,_,b]}),t[26]=_,t[27]=b,t[28]=d,t[29]=x):x=t[29];let S;return t[30]!==s||t[31]!==c||t[32]!==x?(S=(0,$.jsx)(Be,{open:s,onOpenChange:c,children:x}),t[30]=s,t[31]=c,t[32]=x,t[33]=S):S=t[33],S}function sr(e){let t=(0,Z.c)(13),{projectGroupingSettings:n,updateSettings:r}=e,[i,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(`inherit`),c;t[0]===n.sidebarProjectGroupingOverrides?c=t[1]:(c=e=>{let t=b(e);a(e),s(n.sidebarProjectGroupingOverrides?.[t]??`inherit`)},t[0]=n.sidebarProjectGroupingOverrides,t[1]=c);let l=c,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{a(null),s(`inherit`)},t[2]=u):u=t[2];let d=u,f;t[3]!==o||t[4]!==n.sidebarProjectGroupingOverrides||t[5]!==i||t[6]!==r?(f=()=>{if(!i)return;let e=b(i),t={...n.sidebarProjectGroupingOverrides};o===`inherit`?delete t[e]:t[e]=o,r({sidebarProjectGroupingOverrides:t}),d()},t[3]=o,t[4]=n.sidebarProjectGroupingOverrides,t[5]=i,t[6]=r,t[7]=f):f=t[7];let p=f,m;return t[8]!==l||t[9]!==o||t[10]!==i||t[11]!==p?(m={projectGroupingTarget:i,projectGroupingSelection:o,setProjectGroupingSelection:s,openProjectGroupingDialog:l,closeProjectGroupingDialog:d,saveProjectGroupingPreference:p},t[8]=l,t[9]=o,t[10]=i,t[11]=p,t[12]=m):m=t[12],m}function cr(){let e=(0,Z.c)(9),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(``),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=e=>{n(e),i(e.name)},e[0]=a):a=e[0];let o=a,s;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{n(null),i(``)},e[1]=s):s=e[1];let c=s,l;e[2]!==t||e[3]!==r?(l=async()=>{if(!t)return;let e=r.trim();if(e.length===0){V.add({type:`warning`,title:`Project title cannot be empty`});return}if(e===t.name){c();return}let n=v(t.environmentId);if(!n){V.add(X({type:`error`,title:`Failed to rename project`,description:`Project API unavailable.`}));return}try{await n.orchestration.dispatchCommand({type:`project.meta.update`,commandId:G(),projectId:t.id,title:e}),c()}catch(e){let t=e;V.add(X({type:`error`,title:`Failed to rename project`,description:t instanceof Error?t.message:`An error occurred.`}))}},e[2]=t,e[3]=r,e[4]=l):l=e[4];let u=l,d;return e[5]!==t||e[6]!==r||e[7]!==u?(d={projectRenameTarget:t,projectRenameTitle:r,setProjectRenameTitle:i,openProjectRenameDialog:o,closeProjectRenameDialog:c,submitProjectRename:u},e[5]=t,e[6]=r,e[7]=u,e[8]=d):d=e[8],d}function lr(){let[e,t]=(0,Q.useState)(null),[n,r]=(0,Q.useState)(!1),i=(0,Q.useRef)(null),o=(0,Q.useRef)(null),s=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{i.current=e},[e]);let c=(0,Q.useCallback)(()=>{o.current!==null&&(window.cancelAnimationFrame(o.current),o.current=null),s.current!==null&&(window.clearTimeout(s.current),s.current=null)},[]);(0,Q.useEffect)(()=>()=>c(),[c]);let[l,u]=(0,Q.useState)(``),[d,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(null),[S,C]=(0,Q.useState)(null),[w,T]=(0,Q.useState)(null),E=(0,Q.useCallback)(e=>{c(),r(!1),t(e),u(e.name),p(e.cwd),h(e.customSystemPrompt??``),_(!1),x(e.customAvatarContentHash??null),C(e.preferredRemoteName??null),T(e.defaultModelSelection??null),o.current=window.requestAnimationFrame(()=>{o.current=null,r(!0)})},[c]),D=(0,Q.useCallback)(()=>{o.current!==null&&(window.cancelAnimationFrame(o.current),o.current=null),r(!1),s.current!==null&&window.clearTimeout(s.current),s.current=window.setTimeout(()=>{s.current=null,t(null),u(``),p(``),h(``),_(!1),x(null),C(null),T(null)},340)},[]),O=(0,Q.useCallback)(async()=>{let t=f();if(!t){V.add({type:`error`,title:`Folder picker is unavailable.`});return}let n=await t.dialogs.pickFolder({initialPath:d.trim()||e?.cwd||null});n&&p(n)},[e?.cwd,d]),k=(0,Q.useCallback)(async()=>{if(!e||g)return;let t=l.trim(),n=d.trim(),r=m.trim();if(t.length===0){V.add({type:`warning`,title:`Project title cannot be empty`});return}if(n.length===0){V.add({type:`warning`,title:`Project root cannot be empty`});return}let i=t!==e.name,a=n!==e.cwd,o=r!==(e.customSystemPrompt?.trim()??``),s=S!==(e.preferredRemoteName??null),c=e.defaultModelSelection??null,u=(w?.instanceId??null)!==(c?.instanceId??null)||(w?.model??null)!==(c?.model??null);if(!i&&!a&&!o&&!s&&!u){D();return}let f=v(e.environmentId);if(!f){V.add(X({type:`error`,title:`Failed to update project`,description:`Project API unavailable.`}));return}_(!0);try{await f.orchestration.dispatchCommand({type:`project.meta.update`,commandId:G(),projectId:e.id,...i?{title:t}:{},...a?{workspaceRoot:n}:{},...o?{customSystemPrompt:r.length>0?r:null}:{},...s?{preferredRemoteName:S}:{},...u?{defaultModelSelection:w}:{}}),D()}catch(e){_(!1),V.add(X({type:`error`,title:`Failed to update project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[D,g,m,w,S,e,l,d]),A=(0,Q.useCallback)(async t=>{let n=e;if(!n)return;if(a()){V.add({type:`warning`,title:`Project image upload is unavailable in hosted mode.`});return}let r=v(n.environmentId);if(!r)return;let o=y({environmentId:n.environmentId,pathname:`/api/project-avatar/upload`,searchParams:{projectId:n.id}}),s=new FormData;s.append(`avatar`,t);try{let e=await fetch(o,{method:`POST`,body:s,credentials:`include`});if(!e.ok){let t=await e.text().catch(()=>``);throw Error(t||`Upload failed: ${e.status}`)}let{contentHash:t}=await e.json();await r.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:G(),projectId:n.id,contentHash:t}),i.current?.id===n.id&&x(t)}catch(e){if(i.current?.id!==n.id)return;V.add(X({type:`error`,title:`Failed to upload avatar`,description:e instanceof Error?e.message:`An error occurred.`}))}},[e]),j=(0,Q.useCallback)(async()=>{let t=e;if(!t)return;let n=v(t.environmentId);if(n)try{await n.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:G(),projectId:t.id,contentHash:null}),i.current?.id===t.id&&x(null)}catch(e){if(i.current?.id!==t.id)return;V.add(X({type:`error`,title:`Failed to remove avatar`,description:e instanceof Error?e.message:`An error occurred.`}))}},[e]),M=(0,Q.useCallback)((e,t)=>{let n=(e.repositoryIdentity?.remotes??[]).find(e=>e.name===t);if(!n)return;let r=ln(n.url);if(!r)return;let i=f();i&&i.shell.openExternal(r).catch(e=>{V.add(X({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))})},[]);return{projectSettingsTarget:e,projectSettingsOpen:n,projectSettingsTitle:l,projectSettingsWorkspaceRoot:d,projectSettingsCustomSystemPrompt:m,projectSettingsSaving:g,projectSettingsCustomAvatarContentHash:b,projectSettingsPreferredRemoteName:S,projectSettingsDefaultModelSelection:w,projectAvatarUploadUnavailableReason:a()?`Project image upload is unavailable in hosted mode because node HTTP routes are not relayed.`:null,setProjectSettingsTitle:u,setProjectSettingsWorkspaceRoot:p,setProjectSettingsCustomSystemPrompt:h,setProjectSettingsPreferredRemoteName:C,setProjectSettingsDefaultModelSelection:T,openProjectSettingsDialog:E,closeProjectSettingsDialog:D,pickProjectSettingsWorkspaceRoot:O,submitProjectSettings:k,uploadProjectAvatar:A,removeProjectAvatar:j,openProjectRemoteByName:M}}function ur(e){let t=new Map;for(let n of e.projects)t.set(u(n),h(n,e.settings));return t}function dr(e){let t=new Map;for(let n of e.projects){let r=h(n,e.settings),i={...n,physicalProjectKey:u(n),environmentLabel:re({environmentId:n.environmentId,label:e.resolveEnvironmentLabel(n.environmentId)})},a=t.get(r);a?a.push(i):t.set(r,[i])}let n=[],r=new Set;for(let a of e.projects){let o=h(a,e.settings);if(r.has(o))continue;r.add(o);let s=t.get(o)??[],c=(e.primaryEnvironmentId?s.find(t=>t.environmentId===e.primaryEnvironmentId):null)??s[0];if(!c)continue;let l=e.primaryEnvironmentId!==null&&s.some(t=>t.environmentId===e.primaryEnvironmentId),u=e.primaryEnvironmentId!==null&&s.some(t=>t.environmentId!==e.primaryEnvironmentId),d=s.filter(t=>e.primaryEnvironmentId!==null&&t.environmentId!==e.primaryEnvironmentId).flatMap(e=>e.environmentLabel?[e.environmentLabel]:[]).filter((e,t,n)=>n.indexOf(e)===t);n.push({...c,projectKey:o,displayName:s.length>1?p({representative:c,members:s}):c.name,groupedProjectCount:s.length,environmentPresence:l&&u?`mixed`:u?`remote-only`:`local-only`,memberProjects:s,memberProjectRefs:s.map(e=>i(e.environmentId,e.id)),remoteEnvironmentLabels:d})}return n}function fr(e){let t=[];for(let n of e.projectFolderOrder)e.projectFoldersById[n]!==void 0&&!t.includes(n)&&t.push(n);for(let n of Object.keys(e.projectFoldersById))t.includes(n)||t.push(n);return t}function pr(e,t,n){let r=new Set(e.memberProjects.map(e=>e.physicalProjectKey));for(let e of fr({projectFoldersById:t,projectFolderOrder:n})){let n=t[e];if(n&&n.projectKeys.some(e=>r.has(e)))return e}return null}function mr(e){if(e.projectSortOrder!==`manual`)return[...e.projects].toSorted((t,n)=>(e.sourceIndexByProjectKey.get(t.projectKey)??0)-(e.sourceIndexByProjectKey.get(n.projectKey)??0));let t=new Map(e.folder.projectKeys.map((e,t)=>[e,t]));return[...e.projects].toSorted((n,r)=>{let i=Math.min(...n.memberProjects.map(e=>t.get(e.physicalProjectKey)??1/0))-Math.min(...r.memberProjects.map(e=>t.get(e.physicalProjectKey)??1/0));return Number.isFinite(i)&&i!==0?i:(e.sourceIndexByProjectKey.get(n.projectKey)??0)-(e.sourceIndexByProjectKey.get(r.projectKey)??0)})}function hr(e){let t=fr(e),n=[...e.projectTreeOrder.flatMap(t=>{let n=L(t);return n?.kind===`folder`&&e.projectFoldersById[n.folderId]!==void 0?[n.folderId]:[]}),...t].filter((e,t,n)=>n.indexOf(e)===t),r=new Map(e.projects.map(e=>[e.projectKey,e])),i=new Map(e.projects.map((e,t)=>[e.projectKey,t])),a=new Map,o=new Map,s=[];for(let t of e.projects){let r=pr(t,e.projectFoldersById,n);if(!r){s.push(t);continue}a.set(t.projectKey,r);let i=o.get(r)??[];i.push(t),o.set(r,i)}let c=new Set([...t.map(F),...s.map(e=>I(e.projectKey))]),l=new Set,u=[];for(let t of e.projectTreeOrder)l.has(t)||!c.has(t)||L(t)&&(l.add(t),u.push(t));for(let e of t){let t=F(e);l.has(t)||(l.add(t),u.push(t))}for(let e of s){let t=I(e.projectKey);l.has(t)||(l.add(t),u.push(t))}return u.flatMap(t=>{let n=L(t);if(!n)return[];if(n.kind===`folder`){let r=e.projectFoldersById[n.folderId];return r?[{kind:`folder`,itemId:t,folder:r,projects:mr({folder:r,projects:o.get(n.folderId)??[],projectSortOrder:e.projectSortOrder,sourceIndexByProjectKey:i})}]:[]}if(a.has(n.projectKey))return[];let s=r.get(n.projectKey);return s?[{kind:`project`,itemId:t,project:s}]:[]})}export{tt as S,Lt as _,cr as a,nt as b,ar as c,_n as d,dn as f,wt as g,nn as h,lr as i,ir as l,on as m,ur as n,sr as o,un as p,dr as r,or as s,hr as t,jn as u,Mt as v,rt as x,Et as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./utils-
|
|
1
|
+
import{t as e}from"./utils-CV2fJJxC.js";var t={done:`sidebar-status-text sidebar-status-text--done`,idle:``,in_progress:`sidebar-status-text sidebar-status-text--in-progress sidebar-status-text--flow`,review:`sidebar-status-text sidebar-status-text--review`},n={"Awaiting Input":`sidebar-status-text sidebar-status-text--awaiting-input`,Completed:`sidebar-status-text sidebar-status-text--done`,Connecting:`sidebar-status-text sidebar-status-text--in-progress sidebar-status-text--flow`,Monitoring:`sidebar-status-text sidebar-status-text--in-progress sidebar-status-text--flow`,"Pending Approval":`sidebar-status-text sidebar-status-text--pending-approval`,"Plan Ready":`sidebar-status-text sidebar-status-text--plan-ready`,Working:`sidebar-status-text sidebar-status-text--in-progress sidebar-status-text--flow`};function r(n,r){return e(r,t[n])}function i(t,r){return t===null?e(r):e(r,n[t.label])}function a(e,t){let n=t?.spreadPerCharacterPx??2,r=Math.max(12,Math.round(e.length*n));return{...t?.durationSeconds===void 0?{}:{"--sidebar-status-text-duration":`${t.durationSeconds}s`},"--sidebar-status-text-spread":`${r}px`}}export{a as n,i as r,r as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./compiler-runtime-qmuS0Svy.js";import{It as t}from"./composerDraftStore-
|
|
1
|
+
import{t as e}from"./compiler-runtime-qmuS0Svy.js";import{It as t}from"./composerDraftStore-TYv9j3vY.js";import{t as n}from"./utils-CV2fJJxC.js";var r=e(),i=t();function a(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`animate-skeleton rounded-sm [--skeleton-highlight:--alpha(var(--color-white)/64%)] [background:linear-gradient(120deg,transparent_40%,var(--skeleton-highlight),transparent_60%)_var(--color-muted)_0_0/200%_100%_fixed] dark:[--skeleton-highlight:--alpha(var(--color-white)/4%)]`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`skeleton`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}export{a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./compiler-runtime-qmuS0Svy.js";import{It as t}from"./composerDraftStore-
|
|
1
|
+
import{t as e}from"./compiler-runtime-qmuS0Svy.js";import{It as t}from"./composerDraftStore-TYv9j3vY.js";import{t as n}from"./loader-circle-CrtHFAvM.js";import{t as r}from"./utils-CV2fJJxC.js";var i=e(),a=t();function o(e){let t=(0,i.c)(8),o,s;t[0]===e?(o=t[1],s=t[2]):({className:o,...s}=e,t[0]=e,t[1]=o,t[2]=s);let c;t[3]===o?c=t[4]:(c=r(`animate-spin`,o),t[3]=o,t[4]=c);let l;return t[5]!==s||t[6]!==c?(l=(0,a.jsx)(n,{"aria-label":`Loading`,className:c,role:`status`,...s}),t[5]=s,t[6]=c,t[7]=l):l=t[7],l}export{o as t};
|