ryco-cli 0.1.28 → 0.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.cjs +17 -4
- package/dist/bin.mjs +17 -4
- package/dist/client/assets/{AccountSettings-DF6okodO.js → AccountSettings-FN7pwqYA.js} +1 -1
- package/dist/client/assets/{AiFocusSettings-BNNr6MW3.js → AiFocusSettings-xcDAMaqH.js} +1 -1
- package/dist/client/assets/{AnimatedHeight-q2A-ikJ5.js → AnimatedHeight-BNg7wnTK.js} +1 -1
- package/dist/client/assets/{AppearanceSettings-BD0MZkm7.js → AppearanceSettings-BvsvAOsG.js} +1 -1
- package/dist/client/assets/{BranchToolbar.logic-DN0He2gp.js → BranchToolbar.logic-DFsXV3Qs.js} +1 -1
- package/dist/client/assets/{BrowserPanel-C_ddyv_7.js → BrowserPanel-D-g_xDZs.js} +1 -1
- package/dist/client/assets/{ChatRightPanel-B62ml3EW.js → ChatRightPanel-Bm906qNi.js} +5 -5
- package/dist/client/assets/{ChatThreadRouteView-BnvzR19h.js → ChatThreadRouteView-CATwakjI.js} +1 -1
- package/dist/client/assets/{CommandPaletteDialog-KtIlImWg.js → CommandPaletteDialog-Obv1bvxj.js} +1 -1
- package/dist/client/assets/{CompositeRoot-CTspN_gA.js → CompositeRoot-CfkIdky8.js} +1 -1
- package/dist/client/assets/{ComputerUseSettings-B4KnZnFy.js → ComputerUseSettings-ljYmTHea.js} +1 -1
- package/dist/client/assets/{ConnectionsSettings-BW1hWm-b.js → ConnectionsSettings-CIXs7x_E.js} +1 -1
- package/dist/client/assets/{ContextHandoffEndpointLabel-BCNMjnEV.js → ContextHandoffEndpointLabel-BzI4Wi1i.js} +1 -1
- package/dist/client/assets/{DiagnosticsSettings-Biqth29E.js → DiagnosticsSettings-DGX_2T2M.js} +1 -1
- package/dist/client/assets/{DialogHandle-B1kG1DEu.js → DialogHandle-CTtSYpsC.js} +1 -1
- package/dist/client/assets/{DialogPopup-CZ-twaqA.js → DialogPopup-DdZlhHuQ.js} +1 -1
- package/dist/client/assets/DialogRoot-k2_0SNKA.js +1 -0
- package/dist/client/assets/{DialogTitle-D8Vib3Xi.js → DialogTitle-Du7CAbaO.js} +1 -1
- package/dist/client/assets/{DialogTrigger-C8WNfJfY.js → DialogTrigger-VpFh8Xza.js} +1 -1
- package/dist/client/assets/{DialogViewport-BzuRIust.js → DialogViewport-BwuqbGLY.js} +1 -1
- package/dist/client/assets/{DraftChatThreadRouteView-Bf196For.js → DraftChatThreadRouteView-Cmc5HpWf.js} +1 -1
- package/dist/client/assets/{GlassSurface-R5jo7uZp.js → GlassSurface-BlWIlQ0s.js} +1 -1
- package/dist/client/assets/{HostedConnectionControls-xi9LAlqs.js → HostedConnectionControls-ySHqwr4K.js} +1 -1
- package/dist/client/assets/{HostedHubRoot-B5cJPL0b.js → HostedHubRoot-Caz8PElK.js} +1 -1
- package/dist/client/assets/{HostedNativeAuthorizationRoute-BPxYI2S8.js → HostedNativeAuthorizationRoute-BSq_AlY2.js} +1 -1
- package/dist/client/assets/{HostedNodeRenameDialog-CZ6B6eOA.js → HostedNodeRenameDialog-ChxJdr-Z.js} +1 -1
- package/dist/client/assets/{HostedRelayTrustNotice-Da0fanPZ.js → HostedRelayTrustNotice-DPVrIfj_.js} +1 -1
- package/dist/client/assets/{IntegrationsSettingsPanel-CVIFEYar.js → IntegrationsSettingsPanel-eAq5h-D5.js} +1 -1
- package/dist/client/assets/{KeybindingsSettings-FJVISTz3.js → KeybindingsSettings-D1XaEVGH.js} +1 -1
- package/dist/client/assets/{LazyBrowserPanel-ChCZntfd.js → LazyBrowserPanel-B6POLJh3.js} +1 -1
- package/dist/client/assets/{McpServersSettings-D5qSFad1.js → McpServersSettings-DqLA6n5v.js} +1 -1
- package/dist/client/assets/{MobileSheet-BZwVUjae.js → MobileSheet-CtQIYRlY.js} +1 -1
- package/dist/client/assets/{NodeSecuritySettings-C9eJS4Wt.js → NodeSecuritySettings-Skm7GQDl.js} +1 -1
- package/dist/client/assets/{NullStore-iCZTvdl5.js → NullStore-b8PhjwPZ.js} +1 -1
- package/dist/client/assets/{OnboardingDialog-lWnlzsHQ.js → OnboardingDialog-8-fKvY5H.js} +1 -1
- package/dist/client/assets/{OpinionatedPluginsSettings-DQ77FhYa.js → OpinionatedPluginsSettings-BIJfJ34L.js} +1 -1
- package/dist/client/assets/{PdfAttachmentPreview-CmCBedSk.js → PdfAttachmentPreview-CTo1AyZs.js} +1 -1
- package/dist/client/assets/{PhoneGetAppInterstitial-DU7Pjbrv.js → PhoneGetAppInterstitial-DwopOWnQ.js} +1 -1
- package/dist/client/assets/{PhoneHome-D91zzTlE.js → PhoneHome-CUzxhhR4.js} +1 -1
- package/dist/client/assets/{PhoneSettingsSurface-vyuCLVtH.js → PhoneSettingsSurface-BK2RHmYJ.js} +1 -1
- package/dist/client/assets/{ProvidersSettingsPanel-QMtod_bc.js → ProvidersSettingsPanel-DPxL7AsR.js} +1 -1
- package/dist/client/assets/{QuitShortcutFeedback-Bti16E53.js → QuitShortcutFeedback-eCvP_MNj.js} +1 -1
- package/dist/client/assets/{RedactedSensitiveText-9r8QC1lJ.js → RedactedSensitiveText-DH4mWpB6.js} +1 -1
- package/dist/client/assets/{RootAppShell-CYT2IfYW.js → RootAppShell-DwiWD4Cy.js} +2 -2
- package/dist/client/assets/{Separator-ClXl-hQH.js → Separator-BiINUUQl.js} +1 -1
- package/dist/client/assets/{SettingsDialog-BUcF48F9.js → SettingsDialog-CE8qy0qL.js} +1 -1
- package/dist/client/assets/{SettingsPanels-BydjDF1I.js → SettingsPanels-BYknk6GO.js} +1 -1
- package/dist/client/assets/{SettingsPanels.editor-zrq4ZT2j.js → SettingsPanels.editor-64bM0lhg.js} +1 -1
- package/dist/client/assets/{SourceControlSettings-CqVmc4sB.js → SourceControlSettings-BbveiAj3.js} +1 -1
- package/dist/client/assets/{StatisticsPage-k-gimGKE.js → StatisticsPage-CAO_tCeC.js} +1 -1
- package/dist/client/assets/{StatisticsPanel-CtShfsl4.js → StatisticsPanel-SNlgMv2o.js} +1 -1
- package/dist/client/assets/{StatisticsSettingsLink-BapVo9aC.js → StatisticsSettingsLink-BpkNubL2.js} +1 -1
- package/dist/client/assets/{ThreadTerminalDrawer-Bfs5NCNv.js → ThreadTerminalDrawer-9x_kqQPy.js} +1 -1
- package/dist/client/assets/{ThreadWorkspacePanel-L6uNQRNX.js → ThreadWorkspacePanel-BXE17C4x.js} +1 -1
- package/dist/client/assets/{abnfDiagram-N423BO3Z-BzwwixLv.js → abnfDiagram-N423BO3Z-DAmGykdr.js} +1 -1
- package/dist/client/assets/{activity-CPE_7Kqw.js → activity-DRZlu-MC.js} +1 -1
- package/dist/client/assets/{alert-DVbwtykC.js → alert-CwrDisFU.js} +1 -1
- package/dist/client/assets/architecture-7GRP2DOG-CQNNG5gU.js +1 -0
- package/dist/client/assets/{architectureDiagram-T3A2C74G-DEiVciWZ.js → architectureDiagram-T3A2C74G-DypU2ERW.js} +1 -1
- package/dist/client/assets/{arrow-left-Ce-aUiy1.js → arrow-left-XhcJWpRy.js} +1 -1
- package/dist/client/assets/{arrow-right-BEwkAmxp.js → arrow-right-BBs6iTUL.js} +1 -1
- package/dist/client/assets/{arrow-up-right-CLCNhOeC.js → arrow-up-right-CJ9Vq7nK.js} +1 -1
- package/dist/client/assets/{badge-DqZmJa1g.js → badge-BswOCwph.js} +1 -1
- package/dist/client/assets/{blockDiagram-VBNYF7ZC-C-PBzm5g.js → blockDiagram-VBNYF7ZC-B9MhR9hY.js} +1 -1
- package/dist/client/assets/{bot-k1yDQ5mQ.js → bot-D5wgL7pu.js} +1 -1
- package/dist/client/assets/{c4Diagram-5PPSVZJV-DB6SIv2V.js → c4Diagram-5PPSVZJV-C22FWSoE.js} +1 -1
- package/dist/client/assets/{capabilities-C9OPiefV.js → capabilities-Bj_X9FZ-.js} +1 -1
- package/dist/client/assets/channel-BtX-w3CK.js +1 -0
- package/dist/client/assets/{chart-column-CVU4MshQ.js → chart-column-D6Lnkklk.js} +1 -1
- package/dist/client/assets/chevron-right-Ddq5gL-L.js +1 -0
- package/dist/client/assets/{chunk-2GRJ4B5K-CFM4Ac_N.js → chunk-2GRJ4B5K-D1tZuCzA.js} +1 -1
- package/dist/client/assets/{chunk-4I5QYGJK-a9tLNjnj.js → chunk-4I5QYGJK-Clf86zK0.js} +1 -1
- package/dist/client/assets/{chunk-5RXB4S5H-CbEb4Ht8.js → chunk-5RXB4S5H-B36N5RYZ.js} +1 -1
- package/dist/client/assets/{chunk-6Q2QTUOP-DPUmSmhc.js → chunk-6Q2QTUOP-IAxdzsQJ.js} +1 -1
- package/dist/client/assets/{chunk-7Z6QIM7H-Ba8d__CQ.js → chunk-7Z6QIM7H-Ctqebv_4.js} +1 -1
- package/dist/client/assets/{chunk-GF5L2VYU-BKOdlQ2f.js → chunk-GF5L2VYU-CAfciJae.js} +1 -1
- package/dist/client/assets/{chunk-I66GZJ75-DAfCveu2.js → chunk-I66GZJ75-BZ7XtZf4.js} +1 -1
- package/dist/client/assets/{chunk-JQJVKLGR-CPzgDuD8.js → chunk-JQJVKLGR-DVuZCWnv.js} +1 -1
- package/dist/client/assets/{chunk-KBJHAD2P-X87J_pHD.js → chunk-KBJHAD2P-DtWbzsRm.js} +1 -1
- package/dist/client/assets/{chunk-NSK5VX7P-BgrjQWAz.js → chunk-NSK5VX7P-BVMz_Hc4.js} +1 -1
- package/dist/client/assets/{chunk-QR6OTTB3-NTX__XXO.js → chunk-QR6OTTB3-DWitTCy-.js} +1 -1
- package/dist/client/assets/{chunk-UBXNYLIW-BVySE3ty.js → chunk-UBXNYLIW-BuxXXP2s.js} +1 -1
- package/dist/client/assets/{chunk-W5SLKNZC-0-ctjkBJ.js → chunk-W5SLKNZC-Bnf3sQl4.js} +1 -1
- package/dist/client/assets/{chunk-WRU74C26-AGGo_1S7.js → chunk-WRU74C26-xu-KDOon.js} +1 -1
- package/dist/client/assets/classDiagram-JCYQIIEL-BgDa3HFl.js +1 -0
- package/dist/client/assets/classDiagram-v2-OCEON4UE-BgDa3HFl.js +1 -0
- package/dist/client/assets/{clipboard-copy-C3icJCGA.js → clipboard-copy-oDSkUUg4.js} +1 -1
- package/dist/client/assets/{cynefin-OW5HDTMX-BR32cltb.js → cynefin-OW5HDTMX-DGNyiNSf.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-MW4NZA55-B7S5bXUw.js → cynefinDiagram-MW4NZA55-_ctibv4i.js} +1 -1
- package/dist/client/assets/{dagre-VZM6K2ZE-BZOfZvme.js → dagre-VZM6K2ZE-Bo-bS1Y0.js} +1 -1
- package/dist/client/assets/{data-list-E_dNBqgV.js → data-list-DLsM39Hp.js} +1 -1
- package/dist/client/assets/{desktopWorkspace-DIoIhyml.js → desktopWorkspace-Ocqt625W.js} +1 -1
- package/dist/client/assets/{deviceName-BY2WK012.js → deviceName-z0ZWSq0z.js} +1 -1
- package/dist/client/assets/{diagram-7IWD3JNH-CypfFHxI.js → diagram-7IWD3JNH-DSjtw1SY.js} +1 -1
- package/dist/client/assets/{diagram-B4RE2ZJO-CaYsJtDz.js → diagram-B4RE2ZJO-B7fWEvIa.js} +1 -1
- package/dist/client/assets/{diagram-LBJQPF4R-BdhZtcd2.js → diagram-LBJQPF4R-trRYCE5d.js} +1 -1
- package/dist/client/assets/{diagram-Q27KOJAE-CW1SMIBy.js → diagram-Q27KOJAE-_DYcRggk.js} +1 -1
- package/dist/client/assets/{diagram-UB23O5K3-Cq8GGDkV.js → diagram-UB23O5K3-BkMzOHX8.js} +1 -1
- package/dist/client/assets/{download-Fq1MsYfI.js → download-CHdS3R_v.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-BXEA7PRR-CE78Op8p.js → ebnfDiagram-BXEA7PRR-DubiOMCG.js} +1 -1
- package/dist/client/assets/{editorPreferences-DzxKMQJx.js → editorPreferences-DVhg0CXd.js} +1 -1
- package/dist/client/assets/{empty-DXTz-nBL.js → empty-BlBl_Vvw.js} +1 -1
- package/dist/client/assets/{erDiagram-JOGREHBK-Bn6BFae6.js → erDiagram-JOGREHBK-CFDiNfSJ.js} +1 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-DpzGHjmu.js +1 -0
- package/dist/client/assets/flowDiagram-UKHOOZJN-CaDVMm72.js +1 -0
- package/dist/client/assets/{ganttDiagram-PKOTCBZU-C8NbmUQP.js → ganttDiagram-PKOTCBZU-DT2XhE-m.js} +1 -1
- package/dist/client/assets/{gitGraph-4MIJSDKK-Dg7W2mOf.js → gitGraph-4MIJSDKK-BI5UGiqb.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-DS77QQ5N-XEC1jydW.js → gitGraphDiagram-DS77QQ5N-CzAB97Rd.js} +1 -1
- package/dist/client/assets/{group-CcSMHbpZ.js → group-DZJuSiJL.js} +1 -1
- package/dist/client/assets/{hostedConnectionCoordinator-BkxMXc2s.js → hostedConnectionCoordinator-BztHfGNt.js} +1 -1
- package/dist/client/assets/{hubRoutes-Ch__ge2L.js → hubRoutes-DExWSvVE.js} +1 -1
- package/dist/client/assets/{index-3zoAo5bo.js → index-BAJdq3TK.js} +1 -1
- package/dist/client/assets/{info-A6RAGUB7-CPN5xH7s.js → info-A6RAGUB7-DdGYYgLX.js} +1 -1
- package/dist/client/assets/{infoDiagram-6WML65LV-DbXXnE3-.js → infoDiagram-6WML65LV-zhUpER6a.js} +1 -1
- package/dist/client/assets/{input-zI-YDU9i.js → input-CzU08wbL.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-WSZJBQD7-DAjJrXWe.js → ishikawaDiagram-WSZJBQD7-BQLkqykE.js} +1 -1
- package/dist/client/assets/{journeyDiagram-NVQOT4AX-CaGm-K-C.js → journeyDiagram-NVQOT4AX-DBgsbKOF.js} +1 -1
- package/dist/client/assets/{kanban-definition-27J2QSJJ-C2YRqY28.js → kanban-definition-27J2QSJJ-DF-Rr-xs.js} +1 -1
- package/dist/client/assets/{kbd-DlXUKjl1.js → kbd-DKuvGqFP.js} +1 -1
- package/dist/client/assets/{key-round-DLUapaUr.js → key-round-CvyrSjb2.js} +1 -1
- package/dist/client/assets/{layers-3D4z3mrk.js → layers-CwP65mnC.js} +1 -1
- package/dist/client/assets/{log-out-BxEBqpSs.js → log-out-D3rICSt5.js} +1 -1
- package/dist/client/assets/{main-DsnAjTqg.js → main-RFllWEko.js} +2 -2
- package/dist/client/assets/{mermaid-parser.core-Dhd66igk.js → mermaid-parser.core-BiGKtilP.js} +2 -2
- package/dist/client/assets/{mermaidEngine-3NZnIFOn.js → mermaidEngine-Cjfgf3Bg.js} +3 -3
- package/dist/client/assets/{mindmap-definition-FAOFIHXS-SuO77jBW.js → mindmap-definition-FAOFIHXS-SiU9JwWJ.js} +1 -1
- package/dist/client/assets/{motion-B4mmVewo.js → motion-C9rN_t9p.js} +1 -1
- package/dist/client/assets/{packet-AYTQ26CC-BZwkWo3N.js → packet-AYTQ26CC-F-HuW5Dr.js} +1 -1
- package/dist/client/assets/{palette-BXA2I3bI.js → palette-gaqgtube.js} +1 -1
- package/dist/client/assets/{pegDiagram-VL7TDLO6-DgWypDaQ.js → pegDiagram-VL7TDLO6-cC-QUd7I.js} +1 -1
- package/dist/client/assets/{pie-WAS4IAKB-C1iJ73d9.js → pie-WAS4IAKB-BI3XUcLN.js} +1 -1
- package/dist/client/assets/{pieDiagram-7S7Q4E2Y-DK1OTG7x.js → pieDiagram-7S7Q4E2Y-BP4gJ4ZK.js} +1 -1
- package/dist/client/assets/{play-CJNYRuck.js → play-BJZrOx6T.js} +1 -1
- package/dist/client/assets/{providerDriverMeta-DJ9TrG26.js → providerDriverMeta-LJ2vJxm-.js} +1 -1
- package/dist/client/assets/{qr-code-HMr6crTy.js → qr-code-BFO8lV1M.js} +1 -1
- package/dist/client/assets/{qr-code-CBzdIN1G.js → qr-code-Cmfz5JKf.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-CIZ2JOQS-CIgZ3afX.js → quadrantDiagram-CIZ2JOQS-DO-N1m-q.js} +1 -1
- package/dist/client/assets/{radar-RG4KPBEZ-vq15KQ2S.js → radar-RG4KPBEZ-CfayXQ5F.js} +1 -1
- package/dist/client/assets/{radio-group-1yuMmVHi.js → radio-group-BueX1AVO.js} +1 -1
- package/dist/client/assets/{railroad-74A4TZTK-DWMARNIs.js → railroad-74A4TZTK-CT6f-etT.js} +1 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-B890iayj.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-C079Tzw6.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-DxvOX5Rh.js +1 -0
- package/dist/client/assets/{railroadDiagram-AXF67PYL-rE9Jx5yK.js → railroadDiagram-AXF67PYL-DC8egbob.js} +1 -1
- package/dist/client/assets/{refresh-cw-DBJIPv7m.js → refresh-cw-K_hU8_ld.js} +1 -1
- package/dist/client/assets/{requirementDiagram-LRYGKXZP-Dkz6KTug.js → requirementDiagram-LRYGKXZP-DJMzcLk_.js} +1 -1
- package/dist/client/assets/{runtime-DpHhg0dl.js → runtime-OM-uAtaj.js} +2 -2
- package/dist/client/assets/{sankeyDiagram-W5VNT64P-qCyqmTya.js → sankeyDiagram-W5VNT64P-YR6aIYLj.js} +1 -1
- package/dist/client/assets/{save-BFsP9OG2.js → save-Mh-PA_2P.js} +1 -1
- package/dist/client/assets/{scroll-area-CxjQJZM9.js → scroll-area-BC-LB_zE.js} +1 -1
- package/dist/client/assets/{scrollEdges-CXvSHaVb.js → scrollEdges-Zcpuz3un.js} +1 -1
- package/dist/client/assets/{separator-D3j91Nju.js → separator-yx1r9ZDw.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-SI44F4Z6-GCGWxGKL.js → sequenceDiagram-SI44F4Z6-BVeSqWDA.js} +1 -1
- package/dist/client/assets/{settingsLayout-3SUkadS6.js → settingsLayout-BbjDM-p0.js} +1 -1
- package/dist/client/assets/{sheet-BOQ2T2gY.js → sheet-CpEwjOWn.js} +1 -1
- package/dist/client/assets/{shield-alert-CWQ-fgqm.js → shield-alert-CXmR7fM9.js} +1 -1
- package/dist/client/assets/{shield-check-Dgpx5EQs.js → shield-check-CdFhWT_o.js} +1 -1
- package/dist/client/assets/{shield-Colgxqw7.js → shield-i098Bm_B.js} +1 -1
- package/dist/client/assets/{sidebar-BIv8pHHx.js → sidebar-DayQTDZp.js} +1 -1
- package/dist/client/assets/{sidebarProjectFolders-BpKCw8IR.js → sidebarProjectFolders-DXqx3OlZ.js} +1 -1
- package/dist/client/assets/{sidebarStatusText-DSeDlb-o.js → sidebarStatusText-kdA6QMZS.js} +1 -1
- package/dist/client/assets/{sidebarUndo-DzblmE6P.js → sidebarUndo-BHFfJj0k.js} +1 -1
- package/dist/client/assets/{skeleton-BdJ4w_TS.js → skeleton-BwFgUtuE.js} +1 -1
- package/dist/client/assets/{smartphone-DhBEWfKK.js → smartphone-DGfizz51.js} +1 -1
- package/dist/client/assets/square-Cd2WS1gv.js +1 -0
- package/dist/client/assets/{star-BAzXRepp.js → star-J3x3fktG.js} +1 -1
- package/dist/client/assets/{stateDiagram-OKZ733FA-D8fRUjov.js → stateDiagram-OKZ733FA-DoIZN669.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-UEYNNEHI-BnzsGHaN.js +1 -0
- package/dist/client/assets/storeSelectors-D60AAN01.js +1 -0
- package/dist/client/assets/{swimlanes-SLNWSIFB-BKy9AxWZ.js → swimlanes-SLNWSIFB-BoFLigyK.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-BnA-oDvU.js +8 -0
- package/dist/client/assets/{switch-DgLijJhN.js → switch-D9inWKdd.js} +1 -1
- package/dist/client/assets/{timeline-definition-Z64GVDOM-DV53IwmP.js → timeline-definition-Z64GVDOM-D65EmNWc.js} +1 -1
- package/dist/client/assets/{toggle-group-DRIEnEQy.js → toggle-group-YNqzWsK0.js} +1 -1
- package/dist/client/assets/{toggle-BgR-G8hl.js → toggle-wMq3LLn1.js} +1 -1
- package/dist/client/assets/{tokenModePresentation-Bh3mJ9H-.js → tokenModePresentation-C0-NgmX5.js} +1 -1
- package/dist/client/assets/{tooltip-CsNk2GK1.js → tooltip-mwOCSCXF.js} +1 -1
- package/dist/client/assets/{treeView-Q6P3EWNA-BgFMn3HH.js → treeView-Q6P3EWNA-C2S-OPgI.js} +1 -1
- package/dist/client/assets/{treemap-WGGIJYW6-B45XVWgo.js → treemap-WGGIJYW6-6Ovsu9iH.js} +1 -1
- package/dist/client/assets/{unplug-0SZT8Az_.js → unplug-BEfcl9Ht.js} +1 -1
- package/dist/client/assets/useAppSidebarCollapsed-C0jpPtER.js +1 -0
- package/dist/client/assets/useBaseUiId-Bz8dcyjd.js +1 -0
- package/dist/client/assets/{useLabelableId-CTlGVpp_.js → useLabelableId-C8bc9a0F.js} +1 -1
- package/dist/client/assets/{useNavigate-xewFGSmS.js → useNavigate-01O5dMQe.js} +1 -1
- package/dist/client/assets/{usePhoneThreadActions-CuSwvIb4.js → usePhoneThreadActions-BIdh81kF.js} +1 -1
- package/dist/client/assets/{usePopupViewport-CCXjC0oV.js → usePopupViewport-DYYZwfTW.js} +1 -1
- package/dist/client/assets/{useScrollLock-DkiskCYn.js → useScrollLock-BO185DkJ.js} +1 -1
- package/dist/client/assets/{useStatistics-C5V0rg9r.js → useStatistics-D55-xLMz.js} +1 -1
- package/dist/client/assets/{useTriggerFocusGuards-Cd4IS7Sl.js → useTriggerFocusGuards-CMLVr18J.js} +1 -1
- package/dist/client/assets/{useValueChanged-DUWoN5BG.js → useValueChanged-DSyRHPje.js} +1 -1
- package/dist/client/assets/{user-round-BtyrzbBf.js → user-round-C-U7TZKG.js} +1 -1
- package/dist/client/assets/{vennDiagram-T6HMQDX7-DAr5h306.js → vennDiagram-T6HMQDX7-fZAexcYr.js} +1 -1
- package/dist/client/assets/{vscode-icons-LDoILSKI.js → vscode-icons-BYX6fBsM.js} +1 -1
- package/dist/client/assets/{wardley-WFR3VGLG-6MSUlbTx.js → wardley-WFR3VGLG-gdYWSMxK.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-T6FBY63Y-Bwv8xq6E.js → wardleyDiagram-T6FBY63Y-iDJxQb70.js} +1 -1
- package/dist/client/assets/{workspaceMetadataProjection-DzVpakWU.js → workspaceMetadataProjection-So9-wSEZ.js} +1 -1
- package/dist/client/assets/{wrench-BDHgkqDa.js → wrench-D79uBUSl.js} +1 -1
- package/dist/client/assets/{xychartDiagram-ELKLHX3M-Be0CbWLp.js → xychartDiagram-ELKLHX3M-B4cfMwpJ.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/resource-monitor/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/package.json +1 -1
- package/dist/client/assets/DialogRoot-CEU7Xp57.js +0 -1
- package/dist/client/assets/architecture-7GRP2DOG-B6OTx_1D.js +0 -1
- package/dist/client/assets/channel-D_j9jK0M.js +0 -1
- package/dist/client/assets/chevron-right-D3dUAoht.js +0 -1
- package/dist/client/assets/classDiagram-JCYQIIEL-Ck79EbLj.js +0 -1
- package/dist/client/assets/classDiagram-v2-OCEON4UE-Ck79EbLj.js +0 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-COIUUd8Y.js +0 -1
- package/dist/client/assets/flowDiagram-UKHOOZJN-Cdhu8N9G.js +0 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-DtRRa_PL.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-WQz4QHTw.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-1gkGEpqz.js +0 -1
- package/dist/client/assets/square--aW0vCo4.js +0 -1
- package/dist/client/assets/stateDiagram-v2-UEYNNEHI-vKQeXqcV.js +0 -1
- package/dist/client/assets/storeSelectors-BFVEGU0F.js +0 -1
- package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-qtmvcwUS.js +0 -8
- package/dist/client/assets/useAppSidebarCollapsed-CvO9sEQ7.js +0 -1
- package/dist/client/assets/useBaseUiId-B5nK6G4h.js +0 -1
package/dist/client/assets/{sidebarProjectFolders-BpKCw8IR.js → sidebarProjectFolders-DXqx3OlZ.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Jt as t,Kt as n,Yt as r,q as i,qt as a}from"./primary-CQh_KHGG.js";import{bt as o,f as s,h as c,ja as l,l as u,m as d,nt as f,p}from"./src-DHNjfMxR.js";import{$l as m,A as h,B as g,Bn as _,E as v,It as y,Kr as b,O as x,Pt as S,Qr as C,R as w,S as T,Ya as E,cr as D,ei as O,fr as k,gr as A,ho as j,j as M,jn as N,k as P,ni as F,oo as ee,p as te,ri as I,sr as L,ui as R,w as z,x as ne,y as re,z as ie}from"./runtime-DpHhg0dl.js";import{t as B}from"./react-CwJFpaho.js";import{$ as ae,C as oe,Cn as V,Ct as se,Dt as H,Et as ce,F as le,G as U,Gt as ue,I as de,Jt as W,L as fe,Nr as pe,P as me,Qt as G,Sn as K,T as he,Tr as ge,Tt as _e,Un as ve,Vn as q,W as ye,Xt as be,Yt as xe,Zt as Se,br as Ce,c as we,cn as J,d as Te,dn as Ee,et as De,f as Oe,gn as ke,hn as Ae,i as je,kr as Me,mn as Y,n as Ne,p as Pe,qn as Fe,qt as Ie,t as Le,u as Re,ut as ze,x as Be,xn as Ve,yn as He,yr as Ue,zn as We}from"./switch-DgLijJhN.js";import{t as Ge}from"./compiler-runtime-C4g8XhC5.js";import{a as Ke,c as qe,n as Je,o as Ye,s as Xe}from"./badge-DqZmJa1g.js";import{i as Ze,n as Qe,t as $e}from"./capabilities-C9OPiefV.js";import{n as et,t as tt}from"./LazyBrowserPanel-ChCZntfd.js";import{t as X}from"./toastHelpers-CSQRKo4F.js";import{A as nt,b as rt,l as it,s as at}from"./sidebarUndo-DzblmE6P.js";import{t as ot}from"./usePresentationTier-hxB7Yv_Q.js";import{t as st}from"./input-zI-YDU9i.js";import{t as ct}from"./scroll-area-CxjQJZM9.js";import{H as lt,R as ut,U as dt,X as ft}from"./main-DsnAjTqg.js";var pt={name:`pin`,size:24,node:[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]};pt.node;var mt=j(pt),ht={name:`settings-2`,size:24,node:[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]};ht.node;var gt=j(ht),_t={name:`sliders-horizontal`,size:24,node:[[`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`}]]};_t.node;var vt=j(_t),Z=Ge();function yt(e){return e===`/`||e===`\\`||/^[a-zA-Z]:[/\\]?$/.test(e)}function bt(e){return M(e)||P(e)?`windows`:e.startsWith(`/`)?`unix`:null}function xt(e){if(e.length===0||yt(e))return e;let t=bt(e)===`unix`?e.replace(/\/+$/g,``):e.replace(/[\\/]+$/g,``);return t.length===0?e:/^[a-zA-Z]:$/.test(t)?`${t}\\`:t}function St(e){let t=bt(e);return t===`windows`?`\\`:t===`unix`?`/`:e.includes(`\\`)?`\\`:`/`}function Ct(e){return(bt(e)===`unix`?/\/$/:/[\\/]$/).test(e)}function wt(e,t){return e.split(t===`/`?/\/+/:/[\\/]+/).filter(Boolean)}function Tt(e){return bt(e)===`unix`?e.lastIndexOf(`/`):Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`))}function Et(e){if(M(e)){let t=`${e.slice(0,2)}\\`;return{root:t,separator:`\\`,segments:wt(e.slice(t.length),`\\`)}}if(P(e)){let[t,n,...r]=wt(e,`\\`);return!t||!n?null:{root:`\\\\${t}\\${n}\\`,separator:`\\`,segments:r}}return e.startsWith(`/`)?{root:`/`,separator:`/`,segments:wt(e.slice(1),`/`)}:null}function Dt(e,t=typeof navigator>`u`?``:navigator.platform){let n=F(t);return e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)||e.startsWith(`/`)||e.startsWith(`~/`)||n&&h(e)}function Ot(e,t){return h(e)&&!F(t)}function kt(e){return xt(e.trim())}function At(e,t){let n=e.trim();if(!x(n)||!t)return kt(n);let r=Et(kt(t));if(!r)return kt(n);let i=[...r.segments];for(let e of n.split(/[\\/]+/))if(e.length!==0&&e!==`.`){if(e===`..`){i.pop();continue}i.push(e)}let a=i.join(r.separator);return a.length===0?kt(r.root):kt(`${r.root}${a}`)}function jt(e){let t=kt(e);return M(t)||t.startsWith(`\\\\`)?t.replaceAll(`/`,`\\`).toLowerCase():t}function Mt(e,t){let n=jt(t);if(n.length!==0)return e.find(e=>jt(e.cwd)===n)}function Nt(e){let t=kt(e),n=Et(t);return n?n.segments.findLast(Boolean)??t:t.split(/[/\\]/).findLast(Boolean)??t}function Pt(e,t){let n=St(e);return`${It(e)}${t}${n}`}function Ft(e){let t=Tt(e);return e.slice(t+1)}function It(e){if(Ct(e))return e;let t=Tt(e);return t<0?e:e.slice(0,t+1)}function Lt(e){let t=e.trim();return t.length===0||Ct(t)?t:`${t}${St(t)}`}function Rt(e){let t=e.workspaceAccessRoot?.trim()??``;if(t.length>0)return Lt(t);let n=e.configuredBaseDirectory?.trim()??``;return n.length>0?Lt(n):`~/`}function zt(e){let t=xt(e),n=Et(t);if(n){if(n.segments.length===0)return null;if(n.segments.length===1)return n.root;let e=n.segments.slice(0,-1).join(n.separator);return`${n.root}${e}${n.separator}`}let r=St(e),i=Tt(t);return i<0?null:i===2&&/^[a-zA-Z]:/.test(t)?`${t.slice(0,2)}${r}`:t.slice(0,i+1)}function Bt(e){return Ct(e)&&zt(e)!==null}function Vt(e,t){let n=xt(e.trim()),r=xt(t.trim());return bt(n)===`windows`||bt(r)===`windows`?n.replace(/\//g,`\\`).toLowerCase()===r.replace(/\//g,`\\`).toLowerCase():n===r}var Ht=new Set([`idle`,`in_progress`,`review`,`done`]),Ut=new Set([`main`,`branch`,`pr`,`issue`,`manual`]);function Wt(e,t){let n=[...e],i=new Set(e.map(e=>r(a(e.environmentId,e.id))));for(let e of t){let t=r(a(e.environmentId,e.id));i.has(t)||(i.add(t),n.push(e))}return n}function Gt(e){let i=e.project.projectKey,o=new Map(e.project.memberProjects.map(e=>[t(n(e.environmentId,e.id)),e])),s={...e.project,id:i},c=e.threads.map(s=>Yt({lastVisitedAt:e.lastVisitedAtByThreadKey?.get(r(a(s.environmentId,s.id)))??null,logicalProjectId:i,sourceProjectCwd:o.get(t(n(s.environmentId,s.projectId)))?.cwd??e.project.cwd,thread:s})),l=Zt(e.project,i,e.worktrees??[]);return{project:s,threads:c,worktrees:[...rn({logicalProjectId:i,project:e.project,threads:c}),...l]}}function Kt(e){let t=qt(e),n=e.projectKey,r=[],i=[];return a=>{let o=[];for(let[e,n]of Object.entries(a.draftThreadsByThreadKey))Jt(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])=>Xt({draftId:t,logicalProjectId:n,sourceProjectCwd:pn(e,r),draftThread:r})),i)}}function qt(e){return new Set(e.memberProjects.map(e=>t(n(e.environmentId,e.id))))}function Jt(e,r){return e.promotedTo==null&&r.has(t(n(e.environmentId,e.projectId)))}function Yt(e){let t=e.thread,n=dn(t.statusPill)||t.statusPill===null?t.statusPill:rt({thread:{...e.thread,...e.lastVisitedAt?{lastVisitedAt:e.lastVisitedAt}:{}}});return{...e.thread,projectId:e.logicalProjectId,manualStatusBucket:on(t.manualStatusBucket)??on(t.manualBucket)??on(t.statusBucket)??null,sourceProjectId:e.thread.projectId,sourceProjectCwd:e.sourceProjectCwd,statusPill:n,worktreeId:typeof t.worktreeId==`string`?t.worktreeId:null}}function Xt(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??E,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 Zt(e,r,i){let a=e.memberProjects.find(t=>t.id===e.id&&t.environmentId===e.environmentId)??e.memberProjects[0];if(!a)return[];let o=new Map(e.memberProjects.map(e=>[t(n(e.environmentId,e.id)),e])),s=i.map(e=>({value:e,fallbackProject:o.get(t(n(e.environmentId,e.projectId)))??a})),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:a});if(Array.isArray(t.sidebarWorktrees))for(let n of t.sidebarWorktrees)s.push({value:n,fallbackProject:`physicalProjectKey`in e?e:a})}return s.flatMap(({value:e,fallbackProject:i},a)=>{if(!e||typeof e!=`object`)return[];let s=e,c=cn(s.branch);if(!c)return[];let l=cn(s.environmentId)??i.environmentId,u=cn(s.projectId)??i.id,d=o.get(t(n(l,u)))??i,f=ln(s.worktreePath),p=sn(s.origin)??(f===null?`main`:`manual`),m=cn(s.worktreeId)??cn(s.id)??an({branch:c,fallbackIndex:a,environmentId:l,origin:p,sourceProjectId:u,worktreePath:f});return[{archivedAt:ln(s.archivedAt),branch:c,environmentId:l,issueNumber:un(s.issueNumber),manualPosition:un(s.manualPosition),origin:p,prNumber:un(s.prNumber),prState:Qt(s.prState),prIsDraft:nn(s.prIsDraft),issueState:$t(s.issueState),workItemProvider:en(s.workItemProvider),workItemKey:ln(s.workItemKey),workItemTitle:ln(s.workItemTitle),workItemState:tn(s.workItemState),workItemStateName:ln(s.workItemStateName),workItemUrl:ln(s.workItemUrl),projectId:r,sourceProjectCwd:d.cwd,sourceProjectId:u,title:ln(s.title),updatedAt:cn(s.updatedAt),worktreeId:m,worktreePath:f}]})}function Qt(e){return e===`open`||e===`closed`||e===`merged`?e:null}function $t(e){return e===`open`||e===`closed`?e:null}function en(e){return e===`jira`?e:null}function tn(e){return e===`open`||e===`in_progress`||e===`done`||e===`closed`||e===`unknown`?e:null}function nn(e){return typeof e==`boolean`?e:null}function rn(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)=>fn(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 an(e){let t=e.worktreePath??e.branch;return`${e.origin}:${e.environmentId}:${e.sourceProjectId}:${t||e.fallbackIndex}`}function on(e){return typeof e==`string`&&Ht.has(e)?e:null}function sn(e){return typeof e==`string`&&Ut.has(e)?e:null}function cn(e){return typeof e==`string`&&e.length>0?e:void 0}function ln(e){return typeof e==`string`&&e.length>0?e:null}function un(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function dn(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 fn(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 pn(e,t){return e.memberProjects.find(e=>e.environmentId===t.environmentId&&e.id===t.projectId)?.cwd??e.cwd}function mn(e){let t=Wn(hn(e.threads),e=>e.projectId),n=Wn(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=Vn(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=bn(r,An({project:r,threads:o,worktrees:n.get(r.id)??[]})),u=l.worktrees;return{archivedSessions:c,archivedWorktrees:In(u).filter(e=>e.archivedAt!=null).map(t=>_n({diffStats:Bn(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>yn(e,t,r,l)),worktree:t})),flatSessions:[],draftSessions:a,isGitRepo:s,project:r,worktrees:In(u).filter(e=>e.archivedAt==null).map(t=>_n({diffStats:Bn(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>yn(e,t,r,l)),worktree:t}))}})}}function hn(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 gn(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=mn({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 _n(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=vn(a);n.push(e),t[e].push(a)}return{aggregateStatus:at(n),archivedSessions:r,buckets:t,diffStats:e.diffStats,sessions:i,shouldSuggestArchive:nt({buckets:n,latestUpdatedAt:zn(e.threads),nowMs:e.nowMs}),worktree:e.worktree}}function vn(e){return it({manualBucket:e.manualStatusBucket??null,statusPill:e.statusPill??rt({thread:e})})}function yn(e,t,n,r){let i=Mn(e,n),a=Nn(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||Fn(e.branch):e.branch===t.branch:o===t.worktreeId}function bn(e,t){let n=new Map,r=new Map;for(let i of t){let t=xn(e,i),a=n.get(t);r.set(i.worktreeId,t),n.set(t,a?Cn(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=Nn(t,e);n!==null&&i.add(n)}return{directoryKeys:i,nodeIdByWorktreeId:a,worktrees:[...n.values()]}}function xn(e,t){return Nn(t,e)??`${t.projectId}:${t.origin}:${t.worktreeId}:${t.branch}`}function Sn(e){return jt(e)}function Cn(e,t){let n=wn(e,t),r=e.origin===`main`||t.origin!==`main`?e.origin:t.origin;return{...e,archivedAt:On(e.archivedAt,t.archivedAt),branch:n.branch,environmentId:n.environmentId??e.environmentId??t.environmentId,manualPosition:kn(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:Tn(e,t),updatedAt:Rn(e.updatedAt,t.updatedAt),worktreeId:En(e,t),worktreePath:r===`main`?null:e.worktreePath??t.worktreePath}}function wn(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 Tn(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 En(e,t){let n=Dn(e.worktreeId),r=Dn(t.worktreeId);return n&&!r?t.worktreeId:r&&!n||e.origin===`main`?e.worktreeId:t.origin===`main`?t.worktreeId:e.worktreeId}function Dn(e){return/^(main|branch|pr|issue|manual):/.test(e)}function On(e,t){return e==null||t==null?null:Rn(e,t)}function kn(e,t){return e==null?t:t==null?e:Math.min(e,t)}function An(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=>jn(e.project,t))]}function jn(e,t){let n=t.branch??`main`,r=t.worktreePath===null&&Fn(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?Sn(t.worktreePath):n}`,worktreePath:t.worktreePath}}function Mn(e,t){return Pn({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId})}function Nn(e,t){return Pn({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId??t.environmentId})}function Pn(e){let t=Sn(e.directory);return t.length===0?null:JSON.stringify([e.environmentId,t])}function Fn(e){return e==null||e===`main`||e===`master`||e===`trunk`}function In(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=Ln(e.updatedAt,t.updatedAt);return i===0?e.branch.localeCompare(t.branch)||e.worktreeId.localeCompare(t.worktreeId):i})}function Ln(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 Rn(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 zn(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 Bn(e,t){return e.diffStatsByWorktreeId?e.diffStatsByWorktreeId.get(t)??null:e.diffStatsByWorktreeIdRecord?.[t]??null}function Vn(e,t){let n=Hn(t,e.id);return n===void 0||n}function Hn(e,t){if(e)return Un(e)?e.get(t):e[String(t)]}function Un(e){return e instanceof Map}function Wn(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 Q=e(B(),1),$=m();function Gn(e){let t=(0,Z.c)(9),[n,r]=(0,Q.useState)(!1),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsxs)(H,{className:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs text-muted-foreground hover:bg-accent hover:text-foreground`,children:[(0,$.jsx)(Ce,{className:`size-3.5`}),`Live preview`]}),t[0]=i):i=t[0];let a;t[1]!==n||t[2]!==e?(a=n?(0,$.jsx)(tt,{...e}):null,t[1]=n,t[2]=e,t[3]=a):a=t[3];let o;t[4]===a?o=t[5]:(o=(0,$.jsx)(ce,{side:`right`,align:`start`,className:`w-[min(640px,calc(100vw-32px))]`,viewportClassName:`p-0`,children:(0,$.jsx)(`div`,{className:`flex h-[min(520px,75vh)] min-h-0 flex-col`,"aria-label":`Project live preview`,children:a})}),t[4]=a,t[5]=o);let s;return t[6]!==n||t[7]!==o?(s=(0,$.jsx)(`div`,{className:`phone:hidden`,children:(0,$.jsxs)(_e,{open:n,onOpenChange:r,children:[i,o]})}),t[6]=n,t[7]=o,t[8]=s):s=t[8],s}var Kn={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`};function qn(e,t){return t<=1?e.name:e.environmentLabel?`${e.environmentLabel} — ${e.cwd}`:e.cwd}function Jn(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 Yn(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 Xn(e){switch(e){case`github`:return Ve;case`gitlab`:return V;case`forgejo`:return He;case`azure-devops`:return Ae;case`bitbucket`:return ke;default:return K}}function Zn(e){return e.replace(/\/+$/g,``).replace(/\.git$/i,``)}function Qn(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 $n(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=Zn(e.pathname),e.search=``,e.hash=``,e.toString()}catch{return null}if(/^(?:ssh|git):\/\//i.test(t))try{let e=new URL(t),n=Zn(e.pathname).split(`/`).filter(e=>e.length>0),r=Qn(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=Zn(n[2]);return Qn(e,t.split(`/`).filter(e=>e.length>0))||`https://${e}/${t}`}return null}function er(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=$n(n.url);return r?{url:r,label:n.label,provider:n.provider,providerLabel:Yn(n.provider)}:null}function tr(e){let r=(0,Z.c)(7),{memberThreadCountByPhysicalKey:i,jiraProjectOpenUrlByProjectKey:a}=e,o=ar,s;r[0]===a?s=r[1]:(s=e=>{let r=a.get(t(n(e.environmentId,e.id)))??null;if(!r){b.add({type:`warning`,title:`No Jira project link available`});return}let i=A();if(!i){b.add({type:`error`,title:`Link opening is unavailable.`});return}i.shell.openExternal(r).catch(ir)},r[0]=a,r[1]=s);let c=s,l=rr,u;r[2]===i?u=r[3]:(u=async e=>{let t=A();if(!t)return;let r=n(e.environmentId,e.id);if((i.get(e.physicalProjectKey)??0)>0){let n=b.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()=>{b.close(n),await new Promise(nr);let i=N(_.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(`
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Jt as t,Kt as n,Yt as r,q as i,qt as a}from"./primary-CQh_KHGG.js";import{bt as o,f as s,h as c,ja as l,l as u,m as d,nt as f,p}from"./src-DHNjfMxR.js";import{$l as m,A as h,B as g,Bn as _,E as v,It as y,Kr as b,O as x,Pt as S,Qr as C,R as w,S as T,Ya as E,cr as D,ei as O,fr as k,gr as A,ho as j,j as M,jn as N,k as P,ni as F,oo as ee,p as te,ri as I,sr as L,ui as R,w as z,x as ne,y as re,z as ie}from"./runtime-OM-uAtaj.js";import{t as B}from"./react-CwJFpaho.js";import{$ as ae,C as oe,Cn as V,Ct as se,Dt as H,Et as ce,F as le,G as U,Gt as ue,I as de,Jt as W,L as fe,Nr as pe,P as me,Qt as G,Sn as K,T as he,Tr as ge,Tt as _e,Un as ve,Vn as q,W as ye,Xt as be,Yt as xe,Zt as Se,br as Ce,c as we,cn as J,d as Te,dn as Ee,et as De,f as Oe,gn as ke,hn as Ae,i as je,kr as Me,mn as Y,n as Ne,p as Pe,qn as Fe,qt as Ie,t as Le,u as Re,ut as ze,x as Be,xn as Ve,yn as He,yr as Ue,zn as We}from"./switch-D9inWKdd.js";import{t as Ge}from"./compiler-runtime-C4g8XhC5.js";import{a as Ke,c as qe,n as Je,o as Ye,s as Xe}from"./badge-BswOCwph.js";import{i as Ze,n as Qe,t as $e}from"./capabilities-Bj_X9FZ-.js";import{n as et,t as tt}from"./LazyBrowserPanel-B6POLJh3.js";import{t as X}from"./toastHelpers-CSQRKo4F.js";import{A as nt,b as rt,l as it,s as at}from"./sidebarUndo-BHFfJj0k.js";import{t as ot}from"./usePresentationTier-hxB7Yv_Q.js";import{t as st}from"./input-CzU08wbL.js";import{t as ct}from"./scroll-area-BC-LB_zE.js";import{H as lt,R as ut,U as dt,X as ft}from"./main-RFllWEko.js";var pt={name:`pin`,size:24,node:[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]};pt.node;var mt=j(pt),ht={name:`settings-2`,size:24,node:[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]};ht.node;var gt=j(ht),_t={name:`sliders-horizontal`,size:24,node:[[`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`}]]};_t.node;var vt=j(_t),Z=Ge();function yt(e){return e===`/`||e===`\\`||/^[a-zA-Z]:[/\\]?$/.test(e)}function bt(e){return M(e)||P(e)?`windows`:e.startsWith(`/`)?`unix`:null}function xt(e){if(e.length===0||yt(e))return e;let t=bt(e)===`unix`?e.replace(/\/+$/g,``):e.replace(/[\\/]+$/g,``);return t.length===0?e:/^[a-zA-Z]:$/.test(t)?`${t}\\`:t}function St(e){let t=bt(e);return t===`windows`?`\\`:t===`unix`?`/`:e.includes(`\\`)?`\\`:`/`}function Ct(e){return(bt(e)===`unix`?/\/$/:/[\\/]$/).test(e)}function wt(e,t){return e.split(t===`/`?/\/+/:/[\\/]+/).filter(Boolean)}function Tt(e){return bt(e)===`unix`?e.lastIndexOf(`/`):Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`))}function Et(e){if(M(e)){let t=`${e.slice(0,2)}\\`;return{root:t,separator:`\\`,segments:wt(e.slice(t.length),`\\`)}}if(P(e)){let[t,n,...r]=wt(e,`\\`);return!t||!n?null:{root:`\\\\${t}\\${n}\\`,separator:`\\`,segments:r}}return e.startsWith(`/`)?{root:`/`,separator:`/`,segments:wt(e.slice(1),`/`)}:null}function Dt(e,t=typeof navigator>`u`?``:navigator.platform){let n=F(t);return e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)||e.startsWith(`/`)||e.startsWith(`~/`)||n&&h(e)}function Ot(e,t){return h(e)&&!F(t)}function kt(e){return xt(e.trim())}function At(e,t){let n=e.trim();if(!x(n)||!t)return kt(n);let r=Et(kt(t));if(!r)return kt(n);let i=[...r.segments];for(let e of n.split(/[\\/]+/))if(e.length!==0&&e!==`.`){if(e===`..`){i.pop();continue}i.push(e)}let a=i.join(r.separator);return a.length===0?kt(r.root):kt(`${r.root}${a}`)}function jt(e){let t=kt(e);return M(t)||t.startsWith(`\\\\`)?t.replaceAll(`/`,`\\`).toLowerCase():t}function Mt(e,t){let n=jt(t);if(n.length!==0)return e.find(e=>jt(e.cwd)===n)}function Nt(e){let t=kt(e),n=Et(t);return n?n.segments.findLast(Boolean)??t:t.split(/[/\\]/).findLast(Boolean)??t}function Pt(e,t){let n=St(e);return`${It(e)}${t}${n}`}function Ft(e){let t=Tt(e);return e.slice(t+1)}function It(e){if(Ct(e))return e;let t=Tt(e);return t<0?e:e.slice(0,t+1)}function Lt(e){let t=e.trim();return t.length===0||Ct(t)?t:`${t}${St(t)}`}function Rt(e){let t=e.workspaceAccessRoot?.trim()??``;if(t.length>0)return Lt(t);let n=e.configuredBaseDirectory?.trim()??``;return n.length>0?Lt(n):`~/`}function zt(e){let t=xt(e),n=Et(t);if(n){if(n.segments.length===0)return null;if(n.segments.length===1)return n.root;let e=n.segments.slice(0,-1).join(n.separator);return`${n.root}${e}${n.separator}`}let r=St(e),i=Tt(t);return i<0?null:i===2&&/^[a-zA-Z]:/.test(t)?`${t.slice(0,2)}${r}`:t.slice(0,i+1)}function Bt(e){return Ct(e)&&zt(e)!==null}function Vt(e,t){let n=xt(e.trim()),r=xt(t.trim());return bt(n)===`windows`||bt(r)===`windows`?n.replace(/\//g,`\\`).toLowerCase()===r.replace(/\//g,`\\`).toLowerCase():n===r}var Ht=new Set([`idle`,`in_progress`,`review`,`done`]),Ut=new Set([`main`,`branch`,`pr`,`issue`,`manual`]);function Wt(e,t){let n=[...e],i=new Set(e.map(e=>r(a(e.environmentId,e.id))));for(let e of t){let t=r(a(e.environmentId,e.id));i.has(t)||(i.add(t),n.push(e))}return n}function Gt(e){let i=e.project.projectKey,o=new Map(e.project.memberProjects.map(e=>[t(n(e.environmentId,e.id)),e])),s={...e.project,id:i},c=e.threads.map(s=>Yt({lastVisitedAt:e.lastVisitedAtByThreadKey?.get(r(a(s.environmentId,s.id)))??null,logicalProjectId:i,sourceProjectCwd:o.get(t(n(s.environmentId,s.projectId)))?.cwd??e.project.cwd,thread:s})),l=Zt(e.project,i,e.worktrees??[]);return{project:s,threads:c,worktrees:[...rn({logicalProjectId:i,project:e.project,threads:c}),...l]}}function Kt(e){let t=qt(e),n=e.projectKey,r=[],i=[];return a=>{let o=[];for(let[e,n]of Object.entries(a.draftThreadsByThreadKey))Jt(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])=>Xt({draftId:t,logicalProjectId:n,sourceProjectCwd:pn(e,r),draftThread:r})),i)}}function qt(e){return new Set(e.memberProjects.map(e=>t(n(e.environmentId,e.id))))}function Jt(e,r){return e.promotedTo==null&&r.has(t(n(e.environmentId,e.projectId)))}function Yt(e){let t=e.thread,n=dn(t.statusPill)||t.statusPill===null?t.statusPill:rt({thread:{...e.thread,...e.lastVisitedAt?{lastVisitedAt:e.lastVisitedAt}:{}}});return{...e.thread,projectId:e.logicalProjectId,manualStatusBucket:on(t.manualStatusBucket)??on(t.manualBucket)??on(t.statusBucket)??null,sourceProjectId:e.thread.projectId,sourceProjectCwd:e.sourceProjectCwd,statusPill:n,worktreeId:typeof t.worktreeId==`string`?t.worktreeId:null}}function Xt(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??E,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 Zt(e,r,i){let a=e.memberProjects.find(t=>t.id===e.id&&t.environmentId===e.environmentId)??e.memberProjects[0];if(!a)return[];let o=new Map(e.memberProjects.map(e=>[t(n(e.environmentId,e.id)),e])),s=i.map(e=>({value:e,fallbackProject:o.get(t(n(e.environmentId,e.projectId)))??a})),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:a});if(Array.isArray(t.sidebarWorktrees))for(let n of t.sidebarWorktrees)s.push({value:n,fallbackProject:`physicalProjectKey`in e?e:a})}return s.flatMap(({value:e,fallbackProject:i},a)=>{if(!e||typeof e!=`object`)return[];let s=e,c=cn(s.branch);if(!c)return[];let l=cn(s.environmentId)??i.environmentId,u=cn(s.projectId)??i.id,d=o.get(t(n(l,u)))??i,f=ln(s.worktreePath),p=sn(s.origin)??(f===null?`main`:`manual`),m=cn(s.worktreeId)??cn(s.id)??an({branch:c,fallbackIndex:a,environmentId:l,origin:p,sourceProjectId:u,worktreePath:f});return[{archivedAt:ln(s.archivedAt),branch:c,environmentId:l,issueNumber:un(s.issueNumber),manualPosition:un(s.manualPosition),origin:p,prNumber:un(s.prNumber),prState:Qt(s.prState),prIsDraft:nn(s.prIsDraft),issueState:$t(s.issueState),workItemProvider:en(s.workItemProvider),workItemKey:ln(s.workItemKey),workItemTitle:ln(s.workItemTitle),workItemState:tn(s.workItemState),workItemStateName:ln(s.workItemStateName),workItemUrl:ln(s.workItemUrl),projectId:r,sourceProjectCwd:d.cwd,sourceProjectId:u,title:ln(s.title),updatedAt:cn(s.updatedAt),worktreeId:m,worktreePath:f}]})}function Qt(e){return e===`open`||e===`closed`||e===`merged`?e:null}function $t(e){return e===`open`||e===`closed`?e:null}function en(e){return e===`jira`?e:null}function tn(e){return e===`open`||e===`in_progress`||e===`done`||e===`closed`||e===`unknown`?e:null}function nn(e){return typeof e==`boolean`?e:null}function rn(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)=>fn(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 an(e){let t=e.worktreePath??e.branch;return`${e.origin}:${e.environmentId}:${e.sourceProjectId}:${t||e.fallbackIndex}`}function on(e){return typeof e==`string`&&Ht.has(e)?e:null}function sn(e){return typeof e==`string`&&Ut.has(e)?e:null}function cn(e){return typeof e==`string`&&e.length>0?e:void 0}function ln(e){return typeof e==`string`&&e.length>0?e:null}function un(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function dn(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 fn(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 pn(e,t){return e.memberProjects.find(e=>e.environmentId===t.environmentId&&e.id===t.projectId)?.cwd??e.cwd}function mn(e){let t=Wn(hn(e.threads),e=>e.projectId),n=Wn(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=Vn(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=bn(r,An({project:r,threads:o,worktrees:n.get(r.id)??[]})),u=l.worktrees;return{archivedSessions:c,archivedWorktrees:In(u).filter(e=>e.archivedAt!=null).map(t=>_n({diffStats:Bn(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>yn(e,t,r,l)),worktree:t})),flatSessions:[],draftSessions:a,isGitRepo:s,project:r,worktrees:In(u).filter(e=>e.archivedAt==null).map(t=>_n({diffStats:Bn(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>yn(e,t,r,l)),worktree:t}))}})}}function hn(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 gn(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=mn({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 _n(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=vn(a);n.push(e),t[e].push(a)}return{aggregateStatus:at(n),archivedSessions:r,buckets:t,diffStats:e.diffStats,sessions:i,shouldSuggestArchive:nt({buckets:n,latestUpdatedAt:zn(e.threads),nowMs:e.nowMs}),worktree:e.worktree}}function vn(e){return it({manualBucket:e.manualStatusBucket??null,statusPill:e.statusPill??rt({thread:e})})}function yn(e,t,n,r){let i=Mn(e,n),a=Nn(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||Fn(e.branch):e.branch===t.branch:o===t.worktreeId}function bn(e,t){let n=new Map,r=new Map;for(let i of t){let t=xn(e,i),a=n.get(t);r.set(i.worktreeId,t),n.set(t,a?Cn(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=Nn(t,e);n!==null&&i.add(n)}return{directoryKeys:i,nodeIdByWorktreeId:a,worktrees:[...n.values()]}}function xn(e,t){return Nn(t,e)??`${t.projectId}:${t.origin}:${t.worktreeId}:${t.branch}`}function Sn(e){return jt(e)}function Cn(e,t){let n=wn(e,t),r=e.origin===`main`||t.origin!==`main`?e.origin:t.origin;return{...e,archivedAt:On(e.archivedAt,t.archivedAt),branch:n.branch,environmentId:n.environmentId??e.environmentId??t.environmentId,manualPosition:kn(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:Tn(e,t),updatedAt:Rn(e.updatedAt,t.updatedAt),worktreeId:En(e,t),worktreePath:r===`main`?null:e.worktreePath??t.worktreePath}}function wn(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 Tn(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 En(e,t){let n=Dn(e.worktreeId),r=Dn(t.worktreeId);return n&&!r?t.worktreeId:r&&!n||e.origin===`main`?e.worktreeId:t.origin===`main`?t.worktreeId:e.worktreeId}function Dn(e){return/^(main|branch|pr|issue|manual):/.test(e)}function On(e,t){return e==null||t==null?null:Rn(e,t)}function kn(e,t){return e==null?t:t==null?e:Math.min(e,t)}function An(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=>jn(e.project,t))]}function jn(e,t){let n=t.branch??`main`,r=t.worktreePath===null&&Fn(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?Sn(t.worktreePath):n}`,worktreePath:t.worktreePath}}function Mn(e,t){return Pn({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId})}function Nn(e,t){return Pn({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId??t.environmentId})}function Pn(e){let t=Sn(e.directory);return t.length===0?null:JSON.stringify([e.environmentId,t])}function Fn(e){return e==null||e===`main`||e===`master`||e===`trunk`}function In(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=Ln(e.updatedAt,t.updatedAt);return i===0?e.branch.localeCompare(t.branch)||e.worktreeId.localeCompare(t.worktreeId):i})}function Ln(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 Rn(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 zn(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 Bn(e,t){return e.diffStatsByWorktreeId?e.diffStatsByWorktreeId.get(t)??null:e.diffStatsByWorktreeIdRecord?.[t]??null}function Vn(e,t){let n=Hn(t,e.id);return n===void 0||n}function Hn(e,t){if(e)return Un(e)?e.get(t):e[String(t)]}function Un(e){return e instanceof Map}function Wn(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 Q=e(B(),1),$=m();function Gn(e){let t=(0,Z.c)(9),[n,r]=(0,Q.useState)(!1),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsxs)(H,{className:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs text-muted-foreground hover:bg-accent hover:text-foreground`,children:[(0,$.jsx)(Ce,{className:`size-3.5`}),`Live preview`]}),t[0]=i):i=t[0];let a;t[1]!==n||t[2]!==e?(a=n?(0,$.jsx)(tt,{...e}):null,t[1]=n,t[2]=e,t[3]=a):a=t[3];let o;t[4]===a?o=t[5]:(o=(0,$.jsx)(ce,{side:`right`,align:`start`,className:`w-[min(640px,calc(100vw-32px))]`,viewportClassName:`p-0`,children:(0,$.jsx)(`div`,{className:`flex h-[min(520px,75vh)] min-h-0 flex-col`,"aria-label":`Project live preview`,children:a})}),t[4]=a,t[5]=o);let s;return t[6]!==n||t[7]!==o?(s=(0,$.jsx)(`div`,{className:`phone:hidden`,children:(0,$.jsxs)(_e,{open:n,onOpenChange:r,children:[i,o]})}),t[6]=n,t[7]=o,t[8]=s):s=t[8],s}var Kn={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`};function qn(e,t){return t<=1?e.name:e.environmentLabel?`${e.environmentLabel} — ${e.cwd}`:e.cwd}function Jn(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 Yn(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 Xn(e){switch(e){case`github`:return Ve;case`gitlab`:return V;case`forgejo`:return He;case`azure-devops`:return Ae;case`bitbucket`:return ke;default:return K}}function Zn(e){return e.replace(/\/+$/g,``).replace(/\.git$/i,``)}function Qn(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 $n(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=Zn(e.pathname),e.search=``,e.hash=``,e.toString()}catch{return null}if(/^(?:ssh|git):\/\//i.test(t))try{let e=new URL(t),n=Zn(e.pathname).split(`/`).filter(e=>e.length>0),r=Qn(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=Zn(n[2]);return Qn(e,t.split(`/`).filter(e=>e.length>0))||`https://${e}/${t}`}return null}function er(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=$n(n.url);return r?{url:r,label:n.label,provider:n.provider,providerLabel:Yn(n.provider)}:null}function tr(e){let r=(0,Z.c)(7),{memberThreadCountByPhysicalKey:i,jiraProjectOpenUrlByProjectKey:a}=e,o=ar,s;r[0]===a?s=r[1]:(s=e=>{let r=a.get(t(n(e.environmentId,e.id)))??null;if(!r){b.add({type:`warning`,title:`No Jira project link available`});return}let i=A();if(!i){b.add({type:`error`,title:`Link opening is unavailable.`});return}i.shell.openExternal(r).catch(ir)},r[0]=a,r[1]=s);let c=s,l=rr,u;r[2]===i?u=r[3]:(u=async e=>{let t=A();if(!t)return;let r=n(e.environmentId,e.id);if((i.get(e.physicalProjectKey)??0)>0){let n=b.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()=>{b.close(n),await new Promise(nr);let i=N(_.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
2
|
`):[`Remove project "${e.name}"?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This removes only this project entry.`].join(`
|
|
3
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}),b.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
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}),b.add(X({type:`error`,title:`Failed to remove "${e.name}"`,description:r}))}},r[2]=i,r[3]=u);let d=u,f;return r[4]!==d||r[5]!==c?(f={openProjectRemoteLink:o,openProjectJiraLink:c,removeProject:l,handleRemoveProject:d},r[4]=d,r[5]=c,r[6]=f):f=r[6],f}function nr(e){window.setTimeout(e,180)}async function rr(e,t){let r=t===void 0?{}:t,i=n(e.environmentId,e.id),a=R.getState(),o=a.getDraftThreadByProjectRef(i);o&&a.clearDraftThread(o.draftId),a.clearProjectDraftThreadId(i);let s=L(e.environmentId);if(!s)throw Error(`Project API unavailable.`);await s.orchestration.dispatchCommand({type:`project.delete`,commandId:I(),projectId:e.id,...r.force===!0?{force:!0}:{}})}function ir(e){b.add(X({type:`error`,title:`Unable to open Jira project`,description:e instanceof Error?e.message:`An error occurred.`}))}function ar(e){let t=er(e.repositoryIdentity,e.preferredRemoteName);if(!t){b.add({type:`warning`,title:`No remote link available`});return}let n=A();if(!n){b.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t.url).catch(or)}function or(e){b.add(X({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))}function sr(e){let r=(0,Z.c)(18),{project:i,jiraProjectOpenUrlByProjectKey:a,suppressProjectClickForContextMenuRef:o,onOpenOverview:s,openProjectSettingsDialog:c,openProjectRemoteLink:l,openProjectJiraLink:u,openProjectRenameDialog:d,openProjectGroupingDialog:f,copyPathToClipboard:p,handleRemoveProject:m}=e,h;r[0]!==p||r[1]!==m||r[2]!==a||r[3]!==s||r[4]!==f||r[5]!==u||r[6]!==l||r[7]!==d||r[8]!==c||r[9]!==i.groupedProjectCount||r[10]!==i.memberProjects?(h=e=>{(async()=>{let r=A();if(!r)return;let o=new Map;o.set(`project-overview`,()=>{s()});let h=(e,t,n)=>{let r=`${e}:${t.physicalProjectKey}`;return o.set(r,()=>{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`:f(t);return;case`copy-path`:p(t.cwd,{path:t.cwd});return;case`delete`:return m(t)}}),{id:r,label:qn(t,i.groupedProjectCount),...n?.destructive?{destructive:!0}:{},...n?.disabled?{disabled:!0}:{}}},g=(e,t,n)=>{if(i.memberProjects.length===1){let r=i.memberProjects[0];return{...h(e,r,{...n?.destructive?{destructive:!0}:{},...n?.isDisabled?.(r)?{disabled:!0}:{}}),label:t}}return{id:`${e}:submenu`,label:t,children:i.memberProjects.map(t=>h(e,t,{...n?.destructive?{destructive:!0}:{},...n?.isDisabled?.(t)?{disabled:!0}:{}}))}},_=i.memberProjects.some(lr),v=i.memberProjects.some(e=>a.has(t(n(e.environmentId,e.id)))),y=[{id:`project-overview`,label:`Project overview`},g(`settings`,`Project settings`),..._?[g(`open-remote`,`Open remote`,{isDisabled:cr})]:[],...v?[g(`open-jira`,`Open Jira project`,{isDisabled:e=>!a.has(t(n(e.environmentId,e.id)))})]:[],g(`rename`,`Rename project`),g(`grouping`,`Project grouping…`),g(`copy-path`,`Copy Project Path`),g(`delete`,`Remove project`,{destructive:!0})],b=await r.contextMenu.show(y,e);b&&await o.get(b)?.()})()},r[0]=p,r[1]=m,r[2]=a,r[3]=s,r[4]=f,r[5]=u,r[6]=l,r[7]=d,r[8]=c,r[9]=i.groupedProjectCount,r[10]=i.memberProjects,r[11]=h):h=r[11];let g=h,_;r[12]!==g||r[13]!==o?(_=e=>{e.preventDefault(),o.current=!0,g({x:e.clientX,y:e.clientY})},r[12]=g,r[13]=o,r[14]=_):_=r[14];let v=_,y;return r[15]!==v||r[16]!==g?(y={handleProjectButtonContextMenu:v,openProjectMenu:g},r[15]=v,r[16]=g,r[17]=y):y=r[17],y}function cr(e){return er(e.repositoryIdentity,e.preferredRemoteName)===null}function lr(e){return er(e.repositoryIdentity,e.preferredRemoteName)!==null}function ur(e){let t=(0,Z.c)(3),n;return t[0]!==e.cwd||t[1]!==e.environmentId?(n=(0,$.jsx)(U,{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 dr=20,fr=5;function pr(e,t=dr){return e>=t?`${t}+`:String(e)}function mr(e){let t=(0,Z.c)(113),n;t[0]!==e.cwd||t[1]!==e.environmentId?(n={environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:dr},t[0]=e.cwd,t[1]=e.environmentId,t[2]=n):n=t[2];let r=ve(n),i;t[3]!==e.cwd||t[4]!==e.environmentId?(i={environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:dr},t[3]=e.cwd,t[4]=e.environmentId,t[5]=i):i=t[5];let a=q(i),o;t[6]!==e.cwd||t[7]!==e.environmentId?(o={environmentId:e.environmentId,cwd:e.cwd,limit:dr},t[6]=e.cwd,t[7]=e.environmentId,t[8]=o):o=t[8];let s=Fe(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=oe(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:dr,enabled:d},t[13]=d,t[14]=e.environmentId,t[15]=e.projectId,t[16]=f):f=t[16];let p=de(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]!==e.cwd||t[26]!==e.environmentId?(S=(0,$.jsx)(`div`,{className:`px-4 pt-3`,children:(0,$.jsx)(Gn,{environmentId:e.environmentId,cwd:e.cwd})}),t[25]=e.cwd,t[26]=e.environmentId,t[27]=S):S=t[27];let w;t[28]===h.length?w=t[29]:(w=pr(h.length),t[28]=h.length,t[29]=w);let T;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(pe,{className:`size-3.5`}),t[30]=T):T=t[30];let E;t[31]===e?E=t[32]:(E=()=>e.onOpenTab(`issues`),t[31]=e,t[32]=E);let D;t[33]!==w||t[34]!==E?(D=(0,$.jsx)(yr,{label:`Open issues`,value:w,icon:T,accentClassName:`border-emerald-500/18 bg-emerald-500/8 text-emerald-600 dark:text-emerald-300`,onClick:E}),t[33]=w,t[34]=E,t[35]=D):D=t[35];let O;t[36]===_.length?O=t[37]:(O=pr(_.length),t[36]=_.length,t[37]=O);let k;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(Ze,{className:`size-3.5`}),t[38]=k):k=t[38];let A;t[39]===e?A=t[40]:(A=()=>e.onOpenTab(`prs`),t[39]=e,t[40]=A);let j;t[41]!==O||t[42]!==A?(j=(0,$.jsx)(yr,{label:`Open pull requests`,value:O,icon:k,accentClassName:`border-emerald-500/18 bg-emerald-500/8 text-emerald-600 dark:text-emerald-300`,onClick:A}),t[41]=O,t[42]=A,t[43]=j):j=t[43];let M;t[44]===y.length?M=t[45]:(M=pr(y.length),t[44]=y.length,t[45]=M);let N;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(Ue,{className:`size-3.5`}),t[46]=N):N=t[46];let P;t[47]===e?P=t[48]:(P=()=>e.onOpenTab(`actions`),t[47]=e,t[48]=P);let F;t[49]!==M||t[50]!==P?(F=(0,$.jsx)(yr,{label:`Actions`,value:M,icon:N,accentClassName:`border-amber-500/18 bg-amber-500/8 text-amber-600 dark:text-amber-300`,onClick:P}),t[49]=M,t[50]=P,t[51]=F):F=t[51];let ee;t[52]!==d||t[53]!==x?(ee=d?pr(x.length):`Not linked`,t[52]=d,t[53]=x,t[54]=ee):ee=t[54];let te;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(Y,{className:`size-3.5`}),t[55]=te):te=t[55];let I;t[56]===e?I=t[57]:(I=()=>e.onOpenTab(`workItems`),t[56]=e,t[57]=I);let L;t[58]!==ee||t[59]!==I?(L=(0,$.jsx)(yr,{label:`Open Jira`,value:ee,icon:te,accentClassName:`border-violet-500/18 bg-violet-500/8 text-violet-600 dark:text-violet-300`,onClick:I}),t[58]=ee,t[59]=I,t[60]=L):L=t[60];let R;t[61]!==D||t[62]!==j||t[63]!==F||t[64]!==L?(R=(0,$.jsxs)(`div`,{className:`grid gap-3 p-4 sm:grid-cols-2 xl:grid-cols-4`,children:[D,j,F,L]}),t[61]=D,t[62]=j,t[63]=F,t[64]=L,t[65]=R):R=t[65];let z;t[66]===h.length?z=t[67]:(z=pr(h.length),t[66]=h.length,t[67]=z);let ne=r.error,re=r.isLoading,ie;t[68]===h?ie=t[69]:(ie=h.slice(0,fr),t[68]=h,t[69]=ie);let B;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(pe,{className:`size-4`}),t[70]=B):B=t[70];let ae;t[71]===e?ae=t[72]:(ae=()=>e.onOpenTab(`issues`),t[71]=e,t[72]=ae);let V;t[73]===e?V=t[74]:(V=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[73]=e,t[74]=V);let se;t[75]!==r.error||t[76]!==r.isLoading||t[77]!==z||t[78]!==ie||t[79]!==ae||t[80]!==V?(se=(0,$.jsx)(br,{title:`Issues`,description:`Open source-control issues for this repository.`,countLabel:z,emptyText:`No open issues.`,error:ne,isLoading:re,items:ie,icon:B,accentClassName:`text-emerald-600 dark:text-emerald-300`,onOpenTab:ae,keyForItem:_r,renderItem:V}),t[75]=r.error,t[76]=r.isLoading,t[77]=z,t[78]=ie,t[79]=ae,t[80]=V,t[81]=se):se=t[81];let H;t[82]===_.length?H=t[83]:(H=pr(_.length),t[82]=_.length,t[83]=H);let ce=a.error,le=a.isLoading,U;t[84]===_?U=t[85]:(U=_.slice(0,fr),t[84]=_,t[85]=U);let ue;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(Ze,{className:`size-4`}),t[86]=ue):ue=t[86];let W;t[87]===e?W=t[88]:(W=()=>e.onOpenTab(`prs`),t[87]=e,t[88]=W);let fe;t[89]===e?fe=t[90]:(fe=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)(ze,{kind:J(t.state,t.isDraft),className:`shrink-0`})]}),t[89]=e,t[90]=fe);let G;t[91]!==a.error||t[92]!==a.isLoading||t[93]!==H||t[94]!==U||t[95]!==W||t[96]!==fe?(G=(0,$.jsx)(br,{title:`Pull requests`,description:`Open pull requests and review work for this repository.`,countLabel:H,emptyText:`No open pull requests.`,error:ce,isLoading:le,items:U,icon:ue,accentClassName:`text-emerald-600 dark:text-emerald-300`,onOpenTab:W,keyForItem:gr,renderItem:fe}),t[91]=a.error,t[92]=a.isLoading,t[93]=H,t[94]=U,t[95]=W,t[96]=fe,t[97]=G):G=t[97];let K;t[98]!==d||t[99]!==u.isLoading||t[100]!==e||t[101]!==p.error||t[102]!==p.isLoading||t[103]!==x?(K=d||u.isLoading?(0,$.jsx)(br,{title:`Jira`,description:`Open Jira work items linked to this project.`,countLabel:u.isLoading?`...`:pr(x.length),emptyText:`No open Jira work items.`,error:p.error,isLoading:u.isLoading||p.isLoading,items:x.slice(0,fr),icon:(0,$.jsx)(Y,{className:`size-4`}),accentClassName:`text-violet-600 dark:text-violet-300`,onOpenTab:()=>e.onOpenTab(`workItems`),keyForItem:hr,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)(vr,{priority:t.priorityDetail??t.priority}),t.priority]}):null]})]}),(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0 text-[11px] text-muted-foreground`,children:me(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)(Y,{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)(C,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 shrink-0`,onClick:()=>e.onOpenTab(`workItems`),children:`Configure`})]}),t[98]=d,t[99]=u.isLoading,t[100]=e,t[101]=p.error,t[102]=p.isLoading,t[103]=x,t[104]=K):K=t[104];let he;t[105]!==se||t[106]!==G||t[107]!==K?(he=(0,$.jsxs)(`div`,{className:`divide-y divide-border/60 border-border/60 border-t`,children:[se,G,K]}),t[105]=se,t[106]=G,t[107]=K,t[108]=he):he=t[108];let ge;return t[109]!==S||t[110]!==R||t[111]!==he?(ge=(0,$.jsxs)(`div`,{className:`h-full min-h-0 overflow-y-auto`,children:[S,R,he]}),t[109]=S,t[110]=R,t[111]=he,t[112]=ge):ge=t[112],ge}function hr(e){return`${e.provider}:${e.key}`}function gr(e){return`${e.provider}:${e.number}`}function _r(e){return`${e.provider}:${e.number}`}function vr(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)(ge,{className:`size-3`}),t[2]=r):r=t[2],r}function yr(e){let t=(0,Z.c)(16),n;t[0]===e.accentClassName?n=t[1]:(n=O(`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 br(e){let t=(0,Z.c)(30),n;t[0]===e.accentClassName?n=t[1]:(n=O(`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)(C,{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)(ee,{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 xr(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(Cr),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,P;t[9]===e.open?(N=t[10],P=t[11]):(N=()=>{e.open||_(null)},P=[e.open],t[9]=e.open,t[10]=N,t[11]=P),(0,Q.useEffect)(N,P);let F,ee;t[12]!==A||t[13]!==D||t[14]!==e.initialTab||t[15]!==e.open?(F=()=>{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))},ee=[A,D,e.initialTab,e.open],t[12]=A,t[13]=D,t[14]=e.initialTab,t[15]=e.open,t[16]=F,t[17]=ee):(F=t[16],ee=t[17]),(0,Q.useEffect)(F,ee);let te;t[18]!==A||t[19]!==D||t[20]!==e.open?(te=()=>{e.open&&b(e=>D.includes(e)?e:A)},t[18]=A,t[19]=D,t[20]=e.open,t[21]=te):te=t[21];let I;t[22]!==A||t[23]!==k||t[24]!==D||t[25]!==e.open?(I=[A,k,D,e.open],t[22]=A,t[23]=k,t[24]=D,t[25]=e.open,t[26]=I):I=t[26],(0,Q.useEffect)(te,I);let L,R;t[27]!==n||t[28]!==e.open||t[29]!==g?(L=()=>{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)},R=[e.open,n,g],t[27]=n,t[28]=e.open,t[29]=g,t[30]=L,t[31]=R):(L=t[30],R=t[31]),(0,Q.useEffect)(L,R);let z;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>{_({kind:`issue`,number:e.number})},t[32]=z):z=t[32];let ne=z,re;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>{_({kind:`pr`,number:e.number})},t[33]=re):re=t[33];let ie=re,B;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(B=e=>{_({kind:`workItem`,key:e.key})},t[34]=B):B=t[34];let oe=B,V;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{r(`issues`),_({kind:`issue`,number:e})},t[35]=V):V=t[35];let se=V,H;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(H=e=>{r(`prs`),_({kind:`pr`,number:e})},t[36]=H):H=t[36];let ce=H,U;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(U=e=>{r(`workItems`),_({kind:`workItem`,key:e})},t[37]=U):U=t[37];let de=U,W;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(W=()=>_(null),t[38]=W):W=t[38];let fe=W,pe;t[39]===n?pe=t[40]:(pe=e=>{if(!lt({currentTarget:e.currentTarget,target:e.target})&&!dt(e.target)){if(ft(e,`1`)){e.preventDefault(),r(`issues`),_(null);return}if(ft(e,`2`)){e.preventDefault(),r(`prs`),_(null);return}if(ft(e,`3`)){e.preventDefault(),r(`actions`),_(null);return}if((e.metaKey||e.ctrlKey)&&e.key===`4`){e.preventDefault(),r(`workItems`),_(null);return}e.key===`/`&&ut(e)&&(e.preventDefault(),(n===`issues`?x.current:n===`prs`?S.current:n===`workItems`?C.current:null)?.focus())}},t[39]=n,t[40]=pe);let me=pe,K;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(K={id:`overview`,label:`Overview`},t[41]=K):K=t[41];let he;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(he={id:`issues`,label:`Issues`},t[42]=he):he=t[42];let ge;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(ge={id:`prs`,label:`Pull requests`},t[43]=ge):ge=t[43];let _e;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(_e={id:`actions`,label:`Actions`},t[44]=_e):_e=t[44];let ve;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ve=[K,he,ge,_e,{id:`workItems`,label:`Jira`}],t[45]=ve):ve=t[45];let q=ve,be=n===`overview`?`Overview`:n===`issues`?`Issues`:n===`prs`?`Pull requests`:n===`actions`?`Actions`:`Jira`,xe=`${e.projectName} · ${be}`,Ce=e.memberProjects.length>1&&M!==null,J=M?.environmentId??null,Te=M?.cwd??null,Ee;t[46]===xe?Ee=t[47]:(Ee=(0,$.jsx)(G,{className:`truncate text-base`,children:xe}),t[46]=xe,t[47]=Ee);let ke;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(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]=ke):ke=t[48];let Ae;t[49]===Ee?Ae=t[50]:(Ae=(0,$.jsxs)(`header`,{className:`flex items-center justify-between border-border/60 border-b py-3 pl-5 pr-14`,children:[Ee,ke]}),t[49]=Ee,t[50]=Ae);let je;t[51]!==e.memberProjects||t[52]!==y||t[53]!==Ce?(je=Ce?(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)(Je,{value:y,onValueChange:e=>{typeof e==`string`&&b(e)},children:[(0,$.jsx)(Xe,{size:`sm`,className:`min-w-56`,children:(0,$.jsx)(qe,{placeholder:`Select a repository`})}),(0,$.jsx)(Ye,{children:e.memberProjects.map(Sr)})]})]}):null,t[51]=e.memberProjects,t[52]=y,t[53]=Ce,t[54]=je):je=t[54];let Me;t[55]!==n||t[56]!==Te||t[57]!==J||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?(Me=g===null?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ae,{tabs:q,activeId:n,onSelect:e=>r(e)}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:n===`overview`?(0,$.jsx)(mr,{environmentId:J,cwd:Te,projectId:M?.id??null,onOpenTab:r,onSelectIssue:ne,onSelectChangeRequest:ie,onSelectWorkItem:oe}):n===`issues`?(0,$.jsx)(Pe,{environmentId:J,cwd:Te,searchInputRef:x,query:i,onQueryChange:a,stateFilter:u,onStateFilterChange:d,onSelect:ne}):n===`prs`?(0,$.jsx)(Oe,{environmentId:J,cwd:Te,searchInputRef:S,query:o,onQueryChange:s,stateFilter:f,onStateFilterChange:p,onSelect:ie}):n===`actions`?(0,$.jsx)(ur,{environmentId:J,cwd:Te}):(0,$.jsx)(we,{environmentId:J,cwd:Te,projectId:M?.id??null,searchInputRef:C,query:c,onQueryChange:l,stateFilter:m,onStateFilterChange:h,onSelect:oe})})]}):g.kind===`issue`?(0,$.jsx)(De,{environmentId:J,cwd:Te,issueNumber:g.number,onBack:fe,onSelectLinkedChangeRequest:ce}):g.kind===`pr`?(0,$.jsx)(ye,{environmentId:J,cwd:Te,pullRequestNumber:g.number,onBack:fe,onSelectLinkedIssue:se,onSelectLinkedWorkItem:de,onSelectPullRequest:ce}):(0,$.jsx)(le,{environmentId:J,projectId:M?.id??null,cwd:Te,workItemKey:g.key,onBack:fe,onSelectLinkedChangeRequest:ce}),t[55]=n,t[56]=Te,t[57]=J,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]=Me):Me=t[66];let Y;t[67]!==me||t[68]!==Ae||t[69]!==je||t[70]!==Me?(Y=(0,$.jsxs)(Se,{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:me,surface:`glass`,children:[Ae,je,Me]}),t[67]=me,t[68]=Ae,t[69]=je,t[70]=Me,t[71]=Y):Y=t[71];let Ne;return t[72]!==e.onOpenChange||t[73]!==e.open||t[74]!==Y?(Ne=(0,$.jsx)(ue,{open:e.open,onOpenChange:e.onOpenChange,children:Y}),t[72]=e.onOpenChange,t[73]=e.open,t[74]=Y,t[75]=Ne):Ne=t[75],Ne}function Sr(e){return(0,$.jsx)(Ke,{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 Cr(e){return e.physicalProjectKey}var wr={materializing:`Preparing approval`,"pending-approval":`Awaiting approval`,approved:`Approved`,executing:`Dispatching`,completed:`Dispatched`,failed:`Dispatch failed`,rejected:`Rejected`,expired:`Approval expired`,cancelled:`Cancelled`};function Tr(e,t){return e.runs.filter(e=>t===`unread`?e.unread:t!==`failed`||e.run.status===`failed`)}function Er(e){let t=!1,n=0,r=!1,i=!1;return{refresh:async()=>{if(!t){if(r){i=!0;return}r=!0;do{i=!1;let r=n;try{let i=await e.api.snapshot({projectId:e.projectId});!t&&r===n&&e.onSnapshot(i)}catch{!t&&r===n&&e.onError()}if(t)break}while(i);r=!1}},invalidate:()=>{n++,i=!1},stop:()=>{t=!0}}}function Dr(e){let t=new Date(e);return new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().slice(0,16)}var Or=`w-full rounded-md border border-input bg-background px-3 py-2 text-xs`;function kr(e){let t=e.automation?.definition,[n]=(0,Q.useState)(()=>new Intl.DateTimeFormat().resolvedOptions().timeZone),[r,i]=(0,Q.useState)(t?.execution.title??``),[a,s]=(0,Q.useState)(t?.execution.prompt??``),[c,d]=(0,Q.useState)(t?.execution.modelSelection??{instanceId:o.make(`unselected`),model:``}),[f,m]=(0,Q.useState)(t?.schedule.kind??`once`),[h,g]=(0,Q.useState)(()=>Dr(t?t.schedule.kind===`once`?t.schedule.runAt:t.schedule.startsAt:new Date(Date.now()+36e5).toISOString())),[_,v]=(0,Q.useState)(()=>Dr(t?.schedule.kind===`fixed-interval`?t.schedule.endsAt:new Date(Date.now()+6048e5).toISOString())),[y,b]=(0,Q.useState)(t?.schedule.kind===`fixed-interval`?t.schedule.intervalMs/6e4:60),[x,S]=(0,Q.useState)(t?.enabled??!0),[w,T]=(0,Q.useState)(t?.execution.runtimeMode??`approval-required`),[E,D]=(0,Q.useState)(t?.execution.envMode??`worktree`),[O,k]=(0,Q.useState)(t?.execution.baseRef??``),[A,j]=(0,Q.useState)(null),M=e.providers.find(e=>e.instanceId===c.instanceId),N=M?.models.find(e=>e.slug===c.model),P=!M||!M.enabled||M.status!==`ready`||!M.installed||!N,F=async()=>{try{j(null);let t=new Date(h).toISOString(),n=f===`once`?t:new Date(_).toISOString();if(Date.parse(t)<=Date.now()||Date.parse(n)<Date.parse(t)||Date.parse(n)>Date.now()+7776e6||f===`fixed-interval`&&(!Number.isInteger(y)||y<15)){j(`Choose a future start, an end within 90 days, and an interval of at least 15 minutes.`);return}let i=l(p)({enabled:x,execution:{projectId:e.projectId,title:r,prompt:a,modelSelection:c,runtimeMode:w,envMode:E,...O.trim()?{baseRef:O.trim()}:{}},schedule:f===`once`?{kind:f,runAt:t}:{kind:f,startsAt:t,endsAt:n,intervalMs:y*6e4}});await e.onSave(i)}catch{j(`Check the title, prompt and schedule fields.`)}};return(0,$.jsxs)(`form`,{className:`space-y-3 border-b border-border pb-5`,"aria-label":`Schedule editor`,onSubmit:e=>{e.preventDefault(),F()},children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold`,children:t?`Edit schedule`:`New schedule`}),(0,$.jsxs)(`fieldset`,{className:`space-y-3`,disabled:e.disabled,children:[(0,$.jsxs)(`label`,{className:`block space-y-1 text-xs`,children:[`Title`,(0,$.jsx)(st,{"aria-label":`Title`,value:r,required:!0,maxLength:200,onChange:e=>i(e.target.value)})]}),(0,$.jsxs)(`label`,{className:`block space-y-1 text-xs`,children:[`Task prompt`,(0,$.jsx)(`textarea`,{"aria-label":`Task prompt`,className:Or,rows:4,required:!0,maxLength:u,value:a,onChange:e=>s(e.target.value)})]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,$.jsxs)(`label`,{className:`space-y-1 text-xs`,children:[`Provider instance`,(0,$.jsxs)(`select`,{"aria-label":`Provider instance`,className:Or,value:M?c.instanceId:``,onChange:e=>d({instanceId:o.make(e.target.value),model:``}),required:!0,children:[(0,$.jsx)(`option`,{value:``,disabled:!0,children:`Select instance`}),e.providers.map(e=>(0,$.jsxs)(`option`,{value:e.instanceId,disabled:!e.enabled||e.status!==`ready`,children:[e.displayName,` (`,e.instanceId,`)`]},e.instanceId))]})]}),(0,$.jsxs)(`label`,{className:`space-y-1 text-xs`,children:[`Model`,(0,$.jsxs)(`select`,{"aria-label":`Model`,className:Or,value:N?c.model:``,onChange:e=>d({instanceId:c.instanceId,model:e.target.value}),required:!0,children:[(0,$.jsx)(`option`,{value:``,disabled:!0,children:`Select model`}),M?.models.map(e=>(0,$.jsx)(`option`,{value:e.slug,children:e.name},e.slug))]})]})]}),N?.capabilities?.optionDescriptors?.map(e=>(0,$.jsxs)(`label`,{className:`block space-y-1 text-xs`,children:[e.label,(0,$.jsxs)(`select`,{"aria-label":e.label,className:Or,value:String(c.options?.find(t=>t.id===e.id)?.value??``),onChange:t=>d({...c,options:[...(c.options??[]).filter(t=>t.id!==e.id),...t.target.value===``?[]:[{id:e.id,value:e.type===`boolean`?t.target.value===`true`:t.target.value}]]}),children:[(0,$.jsx)(`option`,{value:``,children:`Provider default`}),e.type===`boolean`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`option`,{value:`true`,children:`On`}),(0,$.jsx)(`option`,{value:`false`,children:`Off`})]}):e.options.map(e=>(0,$.jsx)(`option`,{value:e.id,children:e.label},e.id))]})]},e.id)),P&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Select an available provider instance and model. Saved selections are never silently replaced.`}),(0,$.jsxs)(`label`,{className:`block space-y-1 text-xs`,children:[`Schedule`,(0,$.jsxs)(`select`,{"aria-label":`Schedule`,className:Or,value:f,onChange:e=>m(e.target.value),children:[(0,$.jsx)(`option`,{value:`once`,children:`Once`}),(0,$.jsx)(`option`,{value:`fixed-interval`,children:`Fixed interval`})]})]}),(0,$.jsxs)(`label`,{className:`block space-y-1 text-xs`,children:[`Starts at`,(0,$.jsx)(`input`,{"aria-label":`Starts at`,className:Or,type:`datetime-local`,required:!0,value:h,onChange:e=>g(e.target.value)})]}),f===`fixed-interval`&&(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,$.jsxs)(`label`,{className:`space-y-1 text-xs`,children:[`Every (minutes)`,(0,$.jsx)(`input`,{"aria-label":`Every (minutes)`,className:Or,type:`number`,min:15,required:!0,value:y,onChange:e=>b(Number(e.target.value))})]}),(0,$.jsxs)(`label`,{className:`space-y-1 text-xs`,children:[`Ends at`,(0,$.jsx)(`input`,{"aria-label":`Ends at`,className:Or,type:`datetime-local`,required:!0,value:_,onChange:e=>v(e.target.value)})]})]}),(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Times use `,n,`. Intervals are elapsed time; missed occurrences coalesce into one approval.`]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,$.jsxs)(`label`,{className:`space-y-1 text-xs`,children:[`Workspace`,(0,$.jsxs)(`select`,{"aria-label":`Workspace`,className:Or,value:E,onChange:e=>D(e.target.value),children:[(0,$.jsx)(`option`,{value:`worktree`,children:`Isolated worktree`}),(0,$.jsx)(`option`,{value:`local`,children:`Shared checkout`})]})]}),(0,$.jsxs)(`label`,{className:`space-y-1 text-xs`,children:[`Permissions`,(0,$.jsxs)(`select`,{"aria-label":`Permissions`,className:Or,value:w,onChange:e=>T(e.target.value),children:[(0,$.jsx)(`option`,{value:`approval-required`,children:`Require approvals`}),(0,$.jsx)(`option`,{value:`auto-accept-edits`,children:`Accept edits`}),(0,$.jsx)(`option`,{value:`auto`,children:`Auto`}),(0,$.jsx)(`option`,{value:`full-access`,children:`Full access`})]})]})]}),(0,$.jsxs)(`label`,{className:`block space-y-1 text-xs`,children:[`Base ref (optional)`,(0,$.jsx)(st,{"aria-label":`Base ref (optional)`,value:O,maxLength:256,onChange:e=>k(e.target.value),placeholder:`HEAD`})]}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:x,onChange:e=>S(e.target.checked)}),`Enable after schedule approval`]}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Each occurrence still needs its own approval. No automatic retries or result-based stopping.`}),A&&(0,$.jsx)(`p`,{role:`alert`,className:`text-xs text-destructive`,children:A}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(C,{size:`sm`,type:`submit`,disabled:P,children:`Review schedule`}),(0,$.jsx)(C,{size:`sm`,variant:`ghost`,type:`button`,onClick:e.onCancel,children:`Discard edit`})]})]})]})}function Ar(e){let t=(0,Z.c)(42),[n,r]=(0,Q.useState)(`schedules`),[i,a]=(0,Q.useState)(`unread`),[o,s]=(0,Q.useState)(null),c=e.busy||e.disabledReason!==null||e.snapshot===null,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:`Automations`}),t[0]=l):l=t[0];let u;t[1]===e.onRefresh?u=t[2]:(u=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[l,(0,$.jsx)(C,{size:`xs`,variant:`outline`,onClick:e.onRefresh,children:`Refresh`})]}),t[1]=e.onRefresh,t[2]=u);let f;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:`Schedule a task, approve each occurrence, then follow its thread. The server must be running when work is due.`}),t[3]=f):f=t[3];let p;t[4]===u?p=t[5]:(p=(0,$.jsxs)(`header`,{className:`space-y-2`,children:[u,f]}),t[4]=u,t[5]=p);let m;t[6]===e.disabledReason?m=t[7]:(m=e.disabledReason&&(0,$.jsx)(`p`,{role:`status`,className:`text-xs text-muted-foreground`,children:e.disabledReason}),t[6]=e.disabledReason,t[7]=m);let h;t[8]===e.error?h=t[9]:(h=e.error&&(0,$.jsx)(`p`,{role:`alert`,className:`rounded-md border border-destructive/30 p-3 text-xs text-destructive`,children:e.error}),t[8]=e.error,t[9]=h);let g;t[10]===e.snapshot?g=t[11]:(g=(e.snapshot?.unavailableRecords??0)>0&&(0,$.jsxs)(`p`,{role:`status`,className:`text-xs text-amber-600`,children:[e.snapshot.unavailableRecords,` unavailable records were isolated. Other automations remain usable.`]}),t[10]=e.snapshot,t[11]=g);let _=n===`schedules`?`secondary`:`ghost`,v=n===`schedules`,y;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>r(`schedules`),t[12]=y):y=t[12];let b;t[13]!==_||t[14]!==v?(b=(0,$.jsx)(C,{size:`sm`,variant:_,"aria-pressed":v,onClick:y,children:`Schedules`}),t[13]=_,t[14]=v,t[15]=b):b=t[15];let x=n===`runs`?`secondary`:`ghost`,S=n===`runs`,w;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>r(`runs`),t[16]=w):w=t[16];let T;t[17]===e.snapshot?T=t[18]:(T=e.snapshot?` · ${e.snapshot.runs.filter(jr).length} unread`:``,t[17]=e.snapshot,t[18]=T);let E;t[19]!==x||t[20]!==S||t[21]!==T?(E=(0,$.jsxs)(C,{size:`sm`,variant:x,"aria-pressed":S,onClick:w,children:[`Runs`,T]}),t[19]=x,t[20]=S,t[21]=T,t[22]=E):E=t[22];let D;t[23]!==b||t[24]!==E?(D=(0,$.jsxs)(`div`,{className:`flex gap-1 border-b border-border pb-2`,"aria-label":`Automation views`,children:[b,E]}),t[23]=b,t[24]=E,t[25]=D):D=t[25];let O;t[26]!==c||t[27]!==o||t[28]!==i||t[29]!==e||t[30]!==n?(O=n===`schedules`?(0,$.jsxs)($.Fragment,{children:[o?(0,$.jsx)(kr,{projectId:e.projectId,automationId:o.id,automation:o.automation,providers:e.providers,disabled:c,onCancel:()=>s(null),onSave:async t=>{await e.onCommand({kind:`save`,projectId:e.projectId,automationId:o.id,expectedRevision:o.automation?.revision??null,definition:t})&&s(null)}},o.id):(0,$.jsx)(C,{size:`sm`,disabled:c,onClick:()=>s({id:d.make(crypto.randomUUID()),automation:null}),children:`New schedule`}),e.snapshot?.automations.length===0&&(0,$.jsx)(`p`,{className:`py-4 text-sm text-muted-foreground`,children:`No schedules yet. Create a one-time task or a bounded recurring task.`}),(0,$.jsx)(`ul`,{className:`divide-y divide-border`,children:e.snapshot?.automations.map(t=>(0,$.jsxs)(`li`,{className:`space-y-2 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsx)(`h3`,{className:`min-w-0 break-words text-sm font-medium`,children:t.definition.execution.title}),(0,$.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:t.cancelled?`Cancelled`:t.enabled?`Scheduled`:`Inactive`})]}),(0,$.jsxs)(`p`,{className:`break-words text-xs text-muted-foreground`,children:[t.definition.execution.modelSelection.instanceId,` ·`,` `,t.definition.execution.modelSelection.model]}),(0,$.jsxs)(`p`,{className:`text-xs`,children:[t.definition.schedule.kind===`once`?`Once`:`Every ${t.definition.schedule.intervalMs/6e4} minutes`,t.nextRunAt?` · Next ${new Date(t.nextRunAt).toLocaleString()}`:` · No future occurrence`]}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(C,{size:`xs`,variant:`outline`,disabled:c||t.cancelled,onClick:()=>s({id:t.automationId,automation:t}),children:`Edit`}),(0,$.jsx)(C,{size:`xs`,variant:`ghost`,disabled:c||t.cancelled,onClick:()=>void e.onCommand({kind:`cancel`,projectId:e.projectId,automationId:t.automationId,expectedRevision:t.revision}),children:`Cancel schedule…`})]})]},t.automationId))}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Saving or cancelling creates a proposal for review below. Cancelling a schedule leaves already accepted work running.`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex gap-1`,children:[`unread`,`failed`,`all`].map(e=>(0,$.jsx)(C,{size:`xs`,variant:i===e?`secondary`:`ghost`,"aria-pressed":i===e,onClick:()=>a(e),children:e===`unread`?`Unread`:e===`failed`?`Failed`:`All`},e))}),(0,$.jsxs)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:[(0,$.jsx)(`strong`,{className:`font-medium text-foreground`,children:`Completion policy: dispatch only.`}),` `,`Dispatched means the thread-start request completed. It does not mean the agent finished or succeeded. Open the thread to review progress or stop work.`]}),(0,$.jsx)(`ul`,{className:`divide-y divide-border`,children:e.snapshot&&Tr(e.snapshot,i).map(t=>{let{run:n,execution:r,threadIds:i,unread:a,retryOfRunId:o}=t;return(0,$.jsxs)(`li`,{className:`space-y-2 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsx)(`h3`,{className:`break-words text-sm font-medium`,children:r?.title??`Execution details unavailable`}),(0,$.jsx)(`span`,{className:`shrink-0 text-xs`,children:wr[n.status]})]}),(0,$.jsxs)(`p`,{className:`break-all font-mono text-[10px] text-muted-foreground`,children:[`Run `,n.runId,` · revision `,n.automationRevision]}),(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[new Date(n.scheduledFor).toLocaleString(),r?` · ${r.modelSelection.instanceId} / ${r.modelSelection.model}`:``]}),o&&(0,$.jsxs)(`p`,{className:`break-all text-xs text-muted-foreground`,children:[`Retry of `,o]}),n.safeFailureDetail&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:n.safeFailureDetail}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(C,{size:`xs`,variant:`outline`,disabled:c,onClick:()=>void e.onCommand({kind:`read`,projectId:e.projectId,runId:n.runId,expectedUpdatedAt:n.updatedAt,unread:!a}),children:a?`Mark read`:`Mark unread`}),([`expired`,`rejected`].includes(n.status)||n.status===`cancelled`&&n.proposalId===null)&&i.length===0&&(0,$.jsx)(C,{size:`xs`,variant:`outline`,disabled:c,onClick:()=>void e.onCommand({kind:`retry`,projectId:e.projectId,runId:n.runId}),children:`Retry with approval`}),i.map(t=>(0,$.jsx)(`a`,{className:`text-xs text-primary underline`,href:`/${encodeURIComponent(e.environmentId)}/${encodeURIComponent(t)}`,children:`Open thread`},t))]})]},n.runId)})}),e.snapshot&&Tr(e.snapshot,i).length===0&&(0,$.jsxs)(`p`,{className:`py-4 text-sm text-muted-foreground`,children:[`No `,i===`all`?``:`${i} `,`runs in the retained history.`]}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Showing up to 50 recent project runs. Each schedule retains at most 50 outcomes. Quiet monitoring is unavailable without a proven unchanged result.`})]}),t[26]=c,t[27]=o,t[28]=i,t[29]=e,t[30]=n,t[31]=O):O=t[31];let k;t[32]===e?k=t[33]:(k=e.snapshot?.proposals.map(t=>(0,$.jsx)(Ne,{model:je(t),environmentId:e.environmentId,isSubmitting:e.busy,decisionError:null,disabledReason:e.disabledReason,onAccept:()=>void e.onDecision(t.proposalId,`accept`),onReject:()=>void e.onDecision(t.proposalId,`reject`)},t.proposalId)),t[32]=e,t[33]=k);let A;return t[34]!==D||t[35]!==O||t[36]!==k||t[37]!==p||t[38]!==m||t[39]!==h||t[40]!==g?(A=(0,$.jsxs)(`section`,{className:`space-y-5`,"aria-label":`Automation centre`,children:[p,m,h,g,D,O,k]}),t[34]=D,t[35]=O,t[36]=k,t[37]=p,t[38]=m,t[39]=h,t[40]=g,t[41]=A):A=t[41],A}function jr(e){return e.unread}function Mr({environmentId:e,projectId:t}){let n=$e(s.automationCommand),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)([]),[l,u]=(0,Q.useState)(null),[d,f]=(0,Q.useState)(!1),p=(0,Q.useRef)(!1),m=(0,Q.useRef)(0),h=(0,Q.useRef)(async()=>{}),g=(0,Q.useRef)(new Map);return(0,Q.useEffect)(()=>{let n,r=()=>{},a=()=>{let a=te(e)?.client??null;if(a===n)return;r(),n=a;let s=++m.current;p.current=!1,f(!1),i(null),o([]);let c=a?D(e,a):void 0;if(!c?.automationCentre){u(`Connect to a server with the automation centre available.`);return}u(null);let l=Er({api:c.automationCentre,projectId:t,onSnapshot:e=>{i(e),u(null)},onError:()=>{i(null),u(`Automations are unavailable. Check your connection and Agent Control setting, then refresh.`)}});h.current=l.refresh;let d=c.agentControl?.subscribeProposals(()=>void l.refresh(),{onResubscribe:()=>void l.refresh(),onError:()=>{l.invalidate(),m.current===s&&(i(null),u(`Automation access is unavailable.`))}});a.server.getConfig().then(e=>{m.current===s&&o(e.providers)}).catch(()=>{}),l.refresh(),r=()=>{l.stop(),d?.(),h.current=async()=>{}}},s=re(a);a();let c=()=>void h.current();return window.addEventListener(`focus`,c),()=>{++m.current,r(),s(),window.removeEventListener(`focus`,c)}},[e,t]),(0,$.jsx)(Ar,{environmentId:e,projectId:t,snapshot:r,providers:a,busy:d,error:l,disabledReason:n.allowed?null:n.reason??`Automation changes are unavailable.`,onDecision:async(t,r)=>{if(!n.allowed||p.current)return;let i=L(e)?.agentControl;if(!i)return;let a=m.current;p.current=!0,f(!0),u(null);try{await(r===`accept`?i.acceptProposal({proposalId:t}):i.rejectProposal({proposalId:t})),a===m.current&&await h.current()}catch{a===m.current&&u(`Approval could not be confirmed. Refresh to see the current decision.`)}finally{a===m.current&&(p.current=!1,f(!1))}},onRefresh:()=>void h.current(),onCommand:async t=>{if(!n.allowed||p.current)return!1;let r=L(e)?.automationCentre;if(!r)return!1;let i=m.current,a=JSON.stringify(t),o=g.current.get(a)??c.make(crypto.randomUUID());g.current.set(a,o),p.current=!0,f(!0),u(null);try{return await r.command({...t,requestId:o}),i===m.current&&(await h.current(),!0)}catch(e){return i===m.current&&u(e instanceof Error?e.message:`The action could not be confirmed. Refresh before trying again.`),!1}finally{i===m.current&&(p.current=!1,f(!1))}}})}function Nr(e){switch(e){case`github`:return Ve;case`gitlab`:return V;case`forgejo`:return He;case`azure-devops`:return Ae;case`bitbucket`:return ke;default:return K}}var Pr=[{id:`general`,label:`General`,Icon:gt},{id:`location`,label:`Location`,Icon:et},{id:`atlassian`,label:`Atlassian`,Icon:vt},{id:`ai`,label:`AI`,Icon:Qe},{id:`automations`,label:`Automations`,Icon:Qe}];function Fr(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)(Ee,{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)(C,{size:`xs`,variant:`outline`,onClick:s,disabled:i||e.projectAvatarUploadUnavailableReason!==null,title:e.projectAvatarUploadUnavailableReason??void 0,children:`Upload`}),(0,$.jsx)(C,{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)(st,{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:O(`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:O(`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=Nr(i.provider??void 0);return(0,$.jsxs)(`div`,{className:O(`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:O(`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)(C,{size:`xs`,variant:`ghost`,onClick:()=>e.onOpenRemote(e.target,i.name),children:[(0,$.jsx)(Me,{className:`size-3.5`}),`Open`]})]},i.name)})]})]}):null]})}function Ir(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)(st,{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)(et,{className:`size-4`}),t[9]=c):c=t[9];let l;t[10]===e.onPickWorkspaceRoot?l=t[11]:(l=(0,$.jsxs)(C,{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}function Lr(e){let t=(0,Z.c)(15),n=e.customSystemPrompt.length,r=Math.floor(f*.9),i=n>=2e4?`text-destructive`:n>=r?`text-amber-600 dark:text-amber-400`:`text-muted-foreground`,a,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`label`,{htmlFor:`project-custom-system-prompt`,className:`text-xs font-medium text-foreground`,children:`Custom system prompt`}),o=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Appended to every assistant prompt for this project.`}),t[0]=a,t[1]=o):(a=t[0],o=t[1]);let s;t[2]===e?s=t[3]:(s=t=>e.onCustomSystemPromptChange(t.target.value),t[2]=e,t[3]=s);let c;t[4]!==e.customSystemPrompt||t[5]!==s?(c=(0,$.jsx)(se,{id:`project-custom-system-prompt`,"aria-label":`Custom system prompt`,value:e.customSystemPrompt,maxLength:f,placeholder:`Always use TypeScript.`,className:`min-h-32 resize-y pr-20`,onChange:s}),t[4]=e.customSystemPrompt,t[5]=s,t[6]=c):c=t[6];let l;t[7]===i?l=t[8]:(l=O(`pointer-events-none absolute bottom-2 right-3 text-[11px]`,i),t[7]=i,t[8]=l);let u;t[9]!==n||t[10]!==l?(u=(0,$.jsxs)(`span`,{className:l,children:[n,` / `,f]}),t[9]=n,t[10]=l,t[11]=u):u=t[11];let d;return t[12]!==c||t[13]!==u?(d=(0,$.jsx)(`div`,{className:`space-y-6`,children:(0,$.jsxs)(`div`,{className:`space-y-2`,children:[a,o,(0,$.jsxs)(`div`,{className:`relative`,children:[c,u]})]})}),t[12]=c,t[13]=u,t[14]=d):d=t[14],d}var Rr=`Not configured`;function zr(e){return e??Rr}function Br(e){return e===Rr||e.trim().length===0?null:e}function Vr(e){return e.split(/[,\s]+/u).map(e=>e.trim().toUpperCase()).filter(Boolean)}function Hr(e){return e?.provider?.toLowerCase()===`bitbucket`?{workspace:e.owner??``,repoSlug:e.name??``}:{workspace:``,repoSlug:``}}function Ur(e){return t=>t.status===`connected`&&t.products.includes(e)}function Wr(e){let t=(0,Z.c)(186),n=e.target,r=y(),i;t[0]===n?i=t[1]:(i=n?te(n.environmentId):null,t[0]=n,t[1]=i);let a=i?.client??null,[o,s]=(0,Q.useState)(Rr),[c,l]=(0,Q.useState)(Rr),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(``),[v,x]=(0,Q.useState)(`{issueKey}-{titleSlug}`),[w,T]=(0,Q.useState)(`{issueKey}: {summary}`),[E,D]=(0,Q.useState)(`{issueKey}: {summary}`),[O,k]=(0,Q.useState)(!0),[A,j]=(0,Q.useState)(!0),M=(0,Q.useRef)(!1),N=(0,Q.useRef)(null),P=n?.environmentId??null,F=n?.id??null,ee=a!==null&&n!==null,I;t[2]!==P||t[3]!==F||t[4]!==ee?(I={environmentId:P,projectId:F,enabled:ee},t[2]=P,t[3]=F,t[4]=ee,t[5]=I):I=t[5];let L=oe(I),R=n?.environmentId??null,z=a!==null,ne;t[6]!==R||t[7]!==z?(ne={environmentId:R,enabled:z},t[6]=R,t[7]=z,t[8]=ne):ne=t[8];let re=Be(ne),ie;t[9]===re.data?ie=t[10]:(ie=(re.data??[]).filter(Ur(`jira`)),t[9]=re.data,t[10]=ie);let B=ie,ae;t[11]===re.data?ae=t[12]:(ae=(re.data??[]).filter(Ur(`bitbucket`)),t[11]=re.data,t[12]=ae);let V=ae,se;t[13]!==V[0]?.connectionId||t[14]!==B[0]?.connectionId||t[15]!==L.data||t[16]!==n?(se=()=>{if(!n)return;let e=`${n.environmentId}:${n.id}`;if(N.current!==e&&(N.current=e,M.current=!1),M.current)return;let t=L.data,r=Hr(n.repositoryIdentity);s(zr(t?.jiraConnectionId??B[0]?.connectionId)),l(zr(t?.bitbucketConnectionId??V[0]?.connectionId)),d(t?.jiraProjectKeys.join(`, `)??``),p(t?.bitbucketWorkspace??r.workspace),h(t?.bitbucketRepoSlug??r.repoSlug),_(t?.defaultIssueTypeName??``),x(t?.branchNameTemplate??`{issueKey}-{titleSlug}`),T(t?.commitMessageTemplate??`{issueKey}: {summary}`),D(t?.pullRequestTitleTemplate??`{issueKey}: {summary}`),k(t?.smartLinkingEnabled??!0),j(t?.autoAttachWorkItems??!0)},t[13]=V[0]?.connectionId,t[14]=B[0]?.connectionId,t[15]=L.data,t[16]=n,t[17]=se):se=t[17];let H;t[18]!==V||t[19]!==B||t[20]!==L.data||t[21]!==n?(H=[V,B,L.data,n],t[18]=V,t[19]=B,t[20]=L.data,t[21]=n,t[22]=H):H=t[22],(0,Q.useEffect)(se,H);let ce;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(ce=()=>{M.current=!0},t[23]=ce):ce=t[23];let le=ce,U;t[24]!==r||t[25]!==n?.environmentId||t[26]!==n?.id?(U=()=>{he({environmentId:n?.environmentId??null}),fe({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]=U):U=t[27];let ue=U,de;t[28]!==A||t[29]!==c||t[30]!==m||t[31]!==f||t[32]!==v||t[33]!==a||t[34]!==w||t[35]!==g||t[36]!==o||t[37]!==u||t[38]!==L.data?.jiraCloudId||t[39]!==E||t[40]!==O||t[41]!==n?(de=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);let e=v.trim(),t=w.trim(),r=E.trim();if(!e||!t||!r)throw Error(`Branch, commit, and pull request templates cannot be empty.`);return a.atlassian.saveProjectLink({projectId:n.id,jiraConnectionId:Br(o),bitbucketConnectionId:Br(c),jiraCloudId:L.data?.jiraCloudId??null,jiraSiteUrl:null,jiraProjectKeys:Vr(u),bitbucketWorkspace:f.trim()||null,bitbucketRepoSlug:m.trim()||null,defaultIssueTypeName:g.trim()||null,branchNameTemplate:e,commitMessageTemplate:t,pullRequestTitleTemplate:r,smartLinkingEnabled:O,autoAttachWorkItems:A})},t[28]=A,t[29]=c,t[30]=m,t[31]=f,t[32]=v,t[33]=a,t[34]=w,t[35]=g,t[36]=o,t[37]=u,t[38]=L.data?.jiraCloudId,t[39]=E,t[40]=O,t[41]=n,t[42]=de):de=t[42];let W;t[43]===ue?W=t[44]:(W=()=>{M.current=!1,ue(),b.add(X({type:`success`,title:`Atlassian project settings saved`,description:`Jira and Bitbucket defaults were updated for this project.`}))},t[43]=ue,t[44]=W);let pe;t[45]!==de||t[46]!==W?(pe={mutationFn:de,onSuccess:W,onError:Jr},t[45]=de,t[46]=W,t[47]=pe):pe=t[47];let me=S(pe),G;t[48]!==a||t[49]!==L.data||t[50]!==n?(G=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);return a.atlassian.saveProjectLink(Te({projectId:n.id,existing:L.data??null}))},t[48]=a,t[49]=L.data,t[50]=n,t[51]=G):G=t[51];let K;t[52]===ue?K=t[53]:(K=()=>{M.current=!1,s(Rr),d(``),ue(),b.add(X({type:`success`,title:`Jira project unlinked`,description:`Bitbucket mapping and project templates were left unchanged.`}))},t[52]=ue,t[53]=K);let ge;t[54]!==G||t[55]!==K?(ge={mutationFn:G,onSuccess:K,onError:qr},t[54]=G,t[55]=K,t[56]=ge):ge=t[56];let _e=S(ge),ve=L.isLoading||re.isLoading,q=a===null||n===null||me.isPending||_e.isPending,ye=L.data?.jiraConnectionId!==null&&L.data?.jiraConnectionId!==void 0&&L.data.jiraProjectKeys.length>0,be;t[57]===o?be=t[58]:(be=Br(o),t[57]=o,t[58]=be);let xe=be,Se;if(t[59]!==B||t[60]!==xe){let e;t[62]===xe?e=t[63]:(e=e=>e.connectionId===xe,t[62]=xe,t[63]=e),Se=B.find(e),t[59]=B,t[60]=xe,t[61]=Se}else Se=t[61];let Ce=Se?.baseUrl??L.data?.jiraSiteUrl??``,we;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsx)(vt,{className:`size-4 shrink-0 text-muted-foreground`}),t[64]=we):we=t[64];let J;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[we,(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]=J):J=t[65];let Ee;t[66]===ve?Ee=t[67]:(Ee=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[J,ve?(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]=ve,t[67]=Ee);let De;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Connections`}),t[68]=De):De=t[68];let Oe;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Jira connection`}),t[69]=Oe):Oe=t[69];let ke;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(ke=e=>{typeof e==`string`&&(le(),s(e))},t[70]=ke):ke=t[70];let Ae;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,$.jsx)(qe,{placeholder:`Select Jira connection`}),t[71]=Ae):Ae=t[71];let je;t[72]===q?je=t[73]:(je=(0,$.jsx)(Xe,{size:`sm`,disabled:q,children:Ae}),t[72]=q,t[73]=je);let Me;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,$.jsx)(Ke,{value:Rr,children:`Not configured`}),t[74]=Me):Me=t[74];let Y;t[75]===B?Y=t[76]:(Y=B.map(Kr),t[75]=B,t[76]=Y);let Ne;t[77]===Y?Ne=t[78]:(Ne=(0,$.jsxs)(Ye,{children:[Me,Y]}),t[77]=Y,t[78]=Ne);let Pe;t[79]!==o||t[80]!==je||t[81]!==Ne?(Pe=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[Oe,(0,$.jsxs)(Je,{value:o,onValueChange:ke,children:[je,Ne]})]}),t[79]=o,t[80]=je,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`&&(le(),l(e))},t[84]=Ie):Ie=t[84];let ze;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,$.jsx)(qe,{placeholder:`Select Bitbucket connection`}),t[85]=ze):ze=t[85];let Ve;t[86]===q?Ve=t[87]:(Ve=(0,$.jsx)(Xe,{size:`sm`,disabled:q,children:ze}),t[86]=q,t[87]=Ve);let He;t[88]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,$.jsx)(Ke,{value:Rr,children:`Not configured`}),t[88]=He):He=t[88];let Ue;t[89]===V?Ue=t[90]:(Ue=V.map(Gr),t[89]=V,t[90]=Ue);let We;t[91]===Ue?We=t[92]:(We=(0,$.jsxs)(Ye,{children:[He,Ue]}),t[91]=Ue,t[92]=We);let Ge;t[93]!==c||t[94]!==Ve||t[95]!==We?(Ge=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[Fe,(0,$.jsxs)(Je,{value:c,onValueChange:Ie,children:[Ve,We]})]}),t[93]=c,t[94]=Ve,t[95]=We,t[96]=Ge):Ge=t[96];let Ze;t[97]!==Pe||t[98]!==Ge?(Ze=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[De,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Pe,Ge]})]}),t[97]=Pe,t[98]=Ge,t[99]=Ze):Ze=t[99];let Qe;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Repository mapping`}),t[100]=Qe):Qe=t[100];let $e=n?.environmentId??null,et;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(et=e=>{le(),d(e)},t[101]=et):et=t[101];let tt;t[102]!==q||t[103]!==u||t[104]!==xe||t[105]!==Ce||t[106]!==$e?(tt=(0,$.jsx)(Re,{environmentId:$e,connectionId:xe,siteUrl:Ce,projectKeys:u,disabled:q,onProjectKeysChange:et}),t[102]=q,t[103]=u,t[104]=xe,t[105]=Ce,t[106]=$e,t[107]=tt):tt=t[107];let nt;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(nt=e=>{le(),d(e.currentTarget.value)},t[108]=nt):nt=t[108];let rt;t[109]!==q||t[110]!==u?(rt=(0,$.jsx)(st,{size:`sm`,value:u,disabled:q,placeholder:`WEB, API`,onChange:nt}),t[109]=q,t[110]=u,t[111]=rt):rt=t[111];let it;t[112]!==tt||t[113]!==rt?(it=(0,$.jsxs)(Yr,{label:`Jira project keys`,children:[tt,rt]}),t[112]=tt,t[113]=rt,t[114]=it):it=t[114];let at;t[115]===Symbol.for(`react.memo_cache_sentinel`)?(at=e=>{le(),p(e.currentTarget.value)},t[115]=at):at=t[115];let ot;t[116]!==f||t[117]!==q?(ot=(0,$.jsx)(Yr,{label:`Bitbucket workspace`,children:(0,$.jsx)(st,{size:`sm`,value:f,disabled:q,placeholder:`workspace`,onChange:at})}),t[116]=f,t[117]=q,t[118]=ot):ot=t[118];let ct;t[119]===Symbol.for(`react.memo_cache_sentinel`)?(ct=e=>{le(),h(e.currentTarget.value)},t[119]=ct):ct=t[119];let lt;t[120]!==m||t[121]!==q?(lt=(0,$.jsx)(Yr,{label:`Bitbucket repo slug`,children:(0,$.jsx)(st,{size:`sm`,value:m,disabled:q,placeholder:`repo-slug`,onChange:ct})}),t[120]=m,t[121]=q,t[122]=lt):lt=t[122];let ut;t[123]!==it||t[124]!==ot||t[125]!==lt?(ut=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[Qe,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[it,ot,lt]})]}),t[123]=it,t[124]=ot,t[125]=lt,t[126]=ut):ut=t[126];let dt;t[127]===Symbol.for(`react.memo_cache_sentinel`)?(dt=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Templates`}),t[127]=dt):dt=t[127];let ft;t[128]===Symbol.for(`react.memo_cache_sentinel`)?(ft=e=>{le(),_(e.currentTarget.value)},t[128]=ft):ft=t[128];let pt;t[129]!==g||t[130]!==q?(pt=(0,$.jsx)(Yr,{label:`Default issue type`,children:(0,$.jsx)(st,{size:`sm`,value:g,disabled:q,placeholder:`Task`,onChange:ft})}),t[129]=g,t[130]=q,t[131]=pt):pt=t[131];let mt;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(mt=e=>{le(),x(e.currentTarget.value)},t[132]=mt):mt=t[132];let ht;t[133]!==v||t[134]!==q?(ht=(0,$.jsx)(Yr,{label:`Branch template`,children:(0,$.jsx)(st,{size:`sm`,value:v,disabled:q,onChange:mt})}),t[133]=v,t[134]=q,t[135]=ht):ht=t[135];let gt;t[136]===Symbol.for(`react.memo_cache_sentinel`)?(gt=e=>{le(),T(e.currentTarget.value)},t[136]=gt):gt=t[136];let _t;t[137]!==w||t[138]!==q?(_t=(0,$.jsx)(Yr,{label:`Commit template`,children:(0,$.jsx)(st,{size:`sm`,value:w,disabled:q,onChange:gt})}),t[137]=w,t[138]=q,t[139]=_t):_t=t[139];let yt;t[140]===Symbol.for(`react.memo_cache_sentinel`)?(yt=e=>{le(),D(e.currentTarget.value)},t[140]=yt):yt=t[140];let bt;t[141]!==q||t[142]!==E?(bt=(0,$.jsx)(Yr,{label:`PR title template`,children:(0,$.jsx)(st,{size:`sm`,value:E,disabled:q,onChange:yt})}),t[141]=q,t[142]=E,t[143]=bt):bt=t[143];let xt;t[144]!==pt||t[145]!==ht||t[146]!==_t||t[147]!==bt?(xt=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[dt,(0,$.jsxs)(`div`,{className:`grid gap-3`,children:[pt,ht,_t,bt]})]}),t[144]=pt,t[145]=ht,t[146]=_t,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=>{le(),k(!!e)},t[151]=wt):wt=t[151];let Tt;t[152]!==q||t[153]!==O?(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)(Le,{checked:O,disabled:q,onCheckedChange:wt})]}),t[152]=q,t[153]=O,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=>{le(),j(!!e)},t[156]=Dt):Dt=t[156];let Ot;t[157]!==A||t[158]!==q?(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)(Le,{checked:A,disabled:q,onCheckedChange:Dt})]}),t[157]=A,t[158]=q,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=q||!ye,Mt;t[164]===_e?Mt=t[165]:(Mt=()=>_e.mutate(),t[164]=_e,t[165]=Mt);let Nt=_e.isPending?`Unlinking...`:`Unlink Jira`,Pt;t[166]!==jt||t[167]!==Mt||t[168]!==Nt?(Pt=(0,$.jsx)(C,{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]===me?Ft=t[171]:(Ft=()=>me.mutate(),t[170]=me,t[171]=Ft);let It=me.isPending?`Saving...`:`Save Atlassian`,Lt;t[172]!==q||t[173]!==Ft||t[174]!==It?(Lt=(0,$.jsx)(C,{type:`button`,size:`sm`,className:`h-8`,disabled:q,onClick:Ft,children:It}),t[172]=q,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]!==Ee||t[180]!==Ze||t[181]!==ut||t[182]!==xt||t[183]!==kt||t[184]!==Rt?(zt=(0,$.jsxs)(`div`,{className:`space-y-5`,children:[Ee,Ze,ut,xt,kt,Rt]}),t[179]=Ee,t[180]=Ze,t[181]=ut,t[182]=xt,t[183]=kt,t[184]=Rt,t[185]=zt):zt=t[185],zt}function Gr(e){return(0,$.jsx)(Ke,{value:e.connectionId,children:e.label},e.connectionId)}function Kr(e){return(0,$.jsx)(Ke,{value:e.connectionId,children:e.label},e.connectionId)}function qr(e){b.add(X({type:`error`,title:`Could not unlink Jira project`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function Jr(e){b.add(X({type:`error`,title:`Could not save Atlassian project settings`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function Yr(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 Xr(e){let t=(0,Z.c)(62),n=ot(),[r,i]=(0,Q.useState)(`general`),a;t[0]===e.open?a=t[1]:(a=()=>{e.open&&i(`general`)},t[0]=e.open,t[1]=a);let o=e.target?.id,s;t[2]!==e.open||t[3]!==o?(s=[e.open,o],t[2]=e.open,t[3]=o,t[4]=s):s=t[4],(0,Q.useEffect)(a,s);let c=e.target;if(!c)return null;let l=c.environmentLabel?`${c.name} · ${c.environmentLabel}`:c.name,u;t[5]===r?u=t[6]:(u=Pr.findIndex(e=>e.id===r),t[5]=r,t[6]=u);let d=Math.max(0,u),f=e.open,p;t[7]===e?p=t[8]:(p=t=>{t||e.onClose()},t[7]=e,t[8]=p);let m;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(G,{className:`text-base font-semibold`,children:`Project settings`}),t[9]=m):m=t[9];let h;t[10]===l?h=t[11]:(h=(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:[m,(0,$.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:l})]})}),t[10]=l,t[11]=h);let g=`translateY(${d*2.5}rem)`,_;t[12]===g?_=t[13]:(_=(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:g},"aria-hidden":!0}),t[12]=g,t[13]=_);let v;if(t[14]!==n||t[15]!==r){let e;t[17]===n?e=t[18]:(e=e=>e.id!==`automations`||n!==`phone`,t[17]=n,t[18]=e);let a;t[19]===r?a=t[20]:(a=e=>{let{id:t,label:n,Icon:a}=e,o=r===t;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(t),className:O(`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:O(`size-4 shrink-0`,o?`text-foreground`:`text-muted-foreground/60`)}),(0,$.jsx)(`span`,{className:`hidden truncate sm:inline`,children:n})]},t)},t[19]=r,t[20]=a),v=Pr.filter(e).map(a),t[14]=n,t[15]=r,t[16]=v}else v=t[16];let y;t[21]!==v||t[22]!==_?(y=(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:[_,v]}),t[21]=v,t[22]=_,t[23]=y):y=t[23];let b;t[24]!==e.customAvatarContentHash||t[25]!==e.customSystemPrompt||t[26]!==e.onCustomSystemPromptChange||t[27]!==e.onOpenRemote||t[28]!==e.onPickWorkspaceRoot||t[29]!==e.onPreferredRemoteChange||t[30]!==e.onRemoveAvatar||t[31]!==e.onSave||t[32]!==e.onTitleChange||t[33]!==e.onUploadAvatar||t[34]!==e.onWorkspaceRootChange||t[35]!==e.preferredRemoteName||t[36]!==e.projectAvatarUploadUnavailableReason||t[37]!==e.title||t[38]!==e.workspaceRoot||t[39]!==r||t[40]!==c?(b=(0,$.jsx)(ct,{className:`min-h-0 flex-1 min-w-0`,children:(0,$.jsx)(`div`,{className:`mx-auto max-w-[520px] px-6 py-6`,children:r===`general`?(0,$.jsx)(Fr,{target:c,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}):r===`location`?(0,$.jsx)(Ir,{workspaceRoot:e.workspaceRoot,projectId:c.id,onWorkspaceRootChange:e.onWorkspaceRootChange,onPickWorkspaceRoot:e.onPickWorkspaceRoot,onSave:e.onSave}):r===`automations`?(0,$.jsx)(Mr,{environmentId:c.environmentId,projectId:c.id}):r===`atlassian`?(0,$.jsx)(Wr,{target:c}):(0,$.jsx)(Lr,{target:c,customSystemPrompt:e.customSystemPrompt,onCustomSystemPromptChange:e.onCustomSystemPromptChange})})}),t[24]=e.customAvatarContentHash,t[25]=e.customSystemPrompt,t[26]=e.onCustomSystemPromptChange,t[27]=e.onOpenRemote,t[28]=e.onPickWorkspaceRoot,t[29]=e.onPreferredRemoteChange,t[30]=e.onRemoveAvatar,t[31]=e.onSave,t[32]=e.onTitleChange,t[33]=e.onUploadAvatar,t[34]=e.onWorkspaceRootChange,t[35]=e.preferredRemoteName,t[36]=e.projectAvatarUploadUnavailableReason,t[37]=e.title,t[38]=e.workspaceRoot,t[39]=r,t[40]=c,t[41]=b):b=t[41];let x;t[42]!==y||t[43]!==b?(x=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-row`,children:[y,b]}),t[42]=y,t[43]=b,t[44]=x):x=t[44];let S;t[45]===e.onClose?S=t[46]:(S=(0,$.jsx)(C,{variant:`outline`,onClick:e.onClose,children:`Cancel`}),t[45]=e.onClose,t[46]=S);let w;t[47]!==e.onSave||t[48]!==e.saving||t[49]!==r?(w=r===`atlassian`||r===`automations`?null:(0,$.jsx)(C,{onClick:e.onSave,disabled:e.saving,children:e.saving?`Saving…`:`Save changes`}),t[47]=e.onSave,t[48]=e.saving,t[49]=r,t[50]=w):w=t[50];let T;t[51]!==S||t[52]!==w?(T=(0,$.jsxs)(`footer`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-border px-5 py-3`,children:[S,w]}),t[51]=S,t[52]=w,t[53]=T):T=t[53];let E;t[54]!==x||t[55]!==T||t[56]!==h?(E=(0,$.jsxs)(Se,{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:[h,x,T]}),t[54]=x,t[55]=T,t[56]=h,t[57]=E):E=t[57];let D;return t[58]!==e.open||t[59]!==E||t[60]!==p?(D=(0,$.jsx)(ue,{open:f,onOpenChange:p,children:E}),t[58]=e.open,t[59]=E,t[60]=p,t[61]=D):D=t[61],D}function Zr(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)(G,{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)(xe,{children:[u,(0,$.jsx)(Ie,{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 (${Kn[i]})`:Kn[r],g;t[8]===h?g=t[9]:(g=(0,$.jsx)(Xe,{className:`w-full`,"aria-label":`Project grouping rule`,children:(0,$.jsx)(qe,{children:h})}),t[8]=h,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsxs)(Ye,{align:`end`,alignItemWithTrigger:!1,children:[(0,$.jsx)(Ke,{hideIndicator:!0,value:`inherit`,children:`Use global default`}),(0,$.jsx)(Ke,{hideIndicator:!0,value:`repository`,children:Kn.repository}),(0,$.jsx)(Ke,{hideIndicator:!0,value:`repository_path`,children:Kn.repository_path}),(0,$.jsx)(Ke,{hideIndicator:!0,value:`separate`,children:Kn.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)(Je,{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=Jn(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)(be,{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)(C,{variant:`outline`,onClick:o,children:`Cancel`}),t[23]=o,t[24]=S);let w;t[25]===s?w=t[26]:(w=(0,$.jsx)(C,{onClick:s,children:`Save`}),t[25]=s,t[26]=w);let T;t[27]!==S||t[28]!==w?(T=(0,$.jsxs)(W,{children:[S,w]}),t[27]=S,t[28]=w,t[29]=T):T=t[29];let E;t[30]!==x||t[31]!==T||t[32]!==f?(E=(0,$.jsxs)(Se,{className:`project-glass-surface max-w-lg`,surface:`glass`,children:[f,x,T]}),t[30]=x,t[31]=T,t[32]=f,t[33]=E):E=t[33];let D;return t[34]!==c||t[35]!==l||t[36]!==E?(D=(0,$.jsx)(ue,{open:c,onOpenChange:l,children:E}),t[34]=c,t[35]=l,t[36]=E,t[37]=D):D=t[37],D}function Qr(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)(G,{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)(xe,{children:[l,(0,$.jsx)(Ie,{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`&&ut(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)(st,{"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)(be,{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)(C,{variant:`outline`,onClick:a,children:`Cancel`}),t[19]=a,t[20]=v);let y;t[21]===o?y=t[22]:(y=(0,$.jsx)(C,{onClick:o,children:`Save`}),t[21]=o,t[22]=y);let b;t[23]!==v||t[24]!==y?(b=(0,$.jsxs)(W,{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)(Se,{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)(ue,{open:s,onOpenChange:c,children:x}),t[30]=s,t[31]=c,t[32]=x,t[33]=S):S=t[33],S}function $r(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=T(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=T(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 ei(){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){b.add({type:`warning`,title:`Project title cannot be empty`});return}if(e===t.name){c();return}let n=L(t.environmentId);if(!n){b.add(X({type:`error`,title:`Failed to rename project`,description:`Project API unavailable.`}));return}try{await n.orchestration.dispatchCommand({type:`project.meta.update`,commandId:I(),projectId:t.id,title:e}),c()}catch(e){let t=e;b.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 ti(){let[e,t]=(0,Q.useState)(null),[n,r]=(0,Q.useState)(!1),a=(0,Q.useRef)(null),o=(0,Q.useRef)(null),s=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{a.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,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(``),[h,g]=(0,Q.useState)(!1),[_,v]=(0,Q.useState)(null),[y,x]=(0,Q.useState)(null),S=(0,Q.useCallback)(e=>{c(),r(!1),t(e),u(e.name),f(e.cwd),m(e.customSystemPrompt??``),g(!1),v(e.customAvatarContentHash??null),x(e.preferredRemoteName??null),o.current=window.requestAnimationFrame(()=>{o.current=null,r(!0)})},[c]),C=(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(``),f(``),m(``),g(!1),v(null),x(null)},340)},[]),w=(0,Q.useCallback)(async()=>{let t=A();if(!t){b.add({type:`error`,title:`Folder picker is unavailable.`});return}let n=await t.dialogs.pickFolder({initialPath:d.trim()||e?.cwd||null});n&&f(n)},[e?.cwd,d]),T=(0,Q.useCallback)(async()=>{if(!e||h)return;let t=l.trim(),n=d.trim(),r=p.trim();if(t.length===0){b.add({type:`warning`,title:`Project title cannot be empty`});return}if(n.length===0){b.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=y!==(e.preferredRemoteName??null);if(!i&&!a&&!o&&!s){C();return}let c=L(e.environmentId);if(!c){b.add(X({type:`error`,title:`Failed to update project`,description:`Project API unavailable.`}));return}g(!0);try{await c.orchestration.dispatchCommand({type:`project.meta.update`,commandId:I(),projectId:e.id,...i?{title:t}:{},...a?{workspaceRoot:n}:{},...o?{customSystemPrompt:r.length>0?r:null}:{},...s?{preferredRemoteName:y}:{}}),C()}catch(e){g(!1),b.add(X({type:`error`,title:`Failed to update project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[C,h,p,y,e,l,d]),E=(0,Q.useCallback)(async t=>{let n=e;if(!n)return;if(i()){b.add({type:`warning`,title:`Project image upload is unavailable in hosted mode.`});return}let r=L(n.environmentId);if(!r)return;let o=k({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:I(),projectId:n.id,contentHash:t}),a.current?.id===n.id&&v(t)}catch(e){if(a.current?.id!==n.id)return;b.add(X({type:`error`,title:`Failed to upload avatar`,description:e instanceof Error?e.message:`An error occurred.`}))}},[e]),D=(0,Q.useCallback)(async()=>{let t=e;if(!t)return;let n=L(t.environmentId);if(n)try{await n.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:I(),projectId:t.id,contentHash:null}),a.current?.id===t.id&&v(null)}catch(e){if(a.current?.id!==t.id)return;b.add(X({type:`error`,title:`Failed to remove avatar`,description:e instanceof Error?e.message:`An error occurred.`}))}},[e]),O=(0,Q.useCallback)((e,t)=>{let n=(e.repositoryIdentity?.remotes??[]).find(e=>e.name===t);if(!n)return;let r=$n(n.url);if(!r)return;let i=A();i&&i.shell.openExternal(r).catch(e=>{b.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:p,projectSettingsSaving:h,projectSettingsCustomAvatarContentHash:_,projectSettingsPreferredRemoteName:y,projectAvatarUploadUnavailableReason:i()?`Project image upload is unavailable in hosted mode because node HTTP routes are not relayed.`:null,setProjectSettingsTitle:u,setProjectSettingsWorkspaceRoot:f,setProjectSettingsCustomSystemPrompt:m,setProjectSettingsPreferredRemoteName:x,openProjectSettingsDialog:S,closeProjectSettingsDialog:C,pickProjectSettingsWorkspaceRoot:w,submitProjectSettings:T,uploadProjectAvatar:E,removeProjectAvatar:D,openProjectRemoteByName:O}}function ni(e){let t=new Map;for(let n of e.projects)t.set(z(n),ne(n,e.settings));return t}function ri(e){let t=new Map;for(let n of e.projects){let r=ne(n,e.settings),i={...n,physicalProjectKey:z(n),environmentLabel:We({environmentId:n.environmentId,label:e.resolveEnvironmentLabel(n.environmentId)})},a=t.get(r);a?a.push(i):t.set(r,[i])}let r=[],i=new Set;for(let a of e.projects){let o=ne(a,e.settings);if(i.has(o))continue;i.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);r.push({...c,projectKey:o,displayName:s.length>1?v({representative:c,members:s}):c.name,groupedProjectCount:s.length,environmentPresence:l&&u?`mixed`:u?`remote-only`:`local-only`,memberProjects:s,memberProjectRefs:s.map(e=>n(e.environmentId,e.id)),remoteEnvironmentLabels:d})}return r}function ii(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 ai(e,t,n){let r=new Set(e.memberProjects.map(e=>e.physicalProjectKey));for(let e of ii({projectFoldersById:t,projectFolderOrder:n})){let n=t[e];if(n&&n.projectKeys.some(e=>r.has(e)))return e}return null}function oi(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 si(e){let t=ii(e),n=[...e.projectTreeOrder.flatMap(t=>{let n=w(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=ai(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(ie),...s.map(e=>g(e.projectKey))]),l=new Set,u=[];for(let t of e.projectTreeOrder)!l.has(t)&&c.has(t)&&w(t)&&(l.add(t),u.push(t));for(let e of t){let t=ie(e);l.has(t)||(l.add(t),u.push(t))}for(let e of s){let t=g(e.projectKey);l.has(t)||(l.add(t),u.push(t))}return u.flatMap(t=>{let n=w(t);if(!n)return[];if(n.kind===`folder`){let r=e.projectFoldersById[n.folderId];return r?[{kind:`folder`,itemId:t,folder:r,projects:oi({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{zt as A,Wt as C,Mt as D,Lt as E,Ot as F,Rt as I,At as L,Nt as M,Dt as N,It as O,Vt as P,gt as R,Kt as S,Bt as T,mn as _,ei as a,gn as b,Zr as c,sr as d,tr as f,Gn as g,qn as h,ti as i,Ct as j,Ft as k,Xr as l,Xn as m,ni as n,$r as o,er as p,ri as r,Qr as s,si as t,xr as u,Dn as v,Pt as w,Gt as x,Sn as y,mt as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ei as e}from"./runtime-
|
|
1
|
+
import{ei as e}from"./runtime-OM-uAtaj.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{r as e}from"./rolldown-runtime-hePW80VL.js";import{Jt as t,Kt as n,Yt as r,a as i,pt as a,q as o,r as s}from"./primary-CQh_KHGG.js";import{Z as c}from"./src-DHNjfMxR.js";import{Bn as l,C as u,Cn as d,Dn as f,En as p,Kr as m,On as h,P as g,Sn as _,V as v,Vr as y,Xr as b,Yt as x,bn as S,ei as C,go as w,ii as T,or as E,p as D,ri as O,si as k,sr as A,ui as j,ur as M,wn as N,x as P,xo as F}from"./runtime-DpHhg0dl.js";import{t as I}from"./react-CwJFpaho.js";import{t as L}from"./compiler-runtime-C4g8XhC5.js";import{a as ee,c as te,i as R,l as ne,p as re,r as z,x as ie}from"./hostedConnectionCoordinator-BkxMXc2s.js";import{t as B}from"./toastHelpers-CSQRKo4F.js";import"./authorization-BugIGt5e.js";import{o as ae}from"./desktopWorkspace-DIoIhyml.js";import{i as oe,n as se}from"./deviceName-BY2WK012.js";import{t as V}from"./shallow-B--PNURq.js";import"./storeSelectors-BFVEGU0F.js";function ce(e){let t=e.explicit??e.effective?.initialModelSelection.value??e.fallback;return{...t,options:t.options??[]}}async function H(e){if(e.config?.environment.capabilities.projectPreferences!==!0)return null;let t=e.api.server?.getProjectPreferences;if(!t)throw Error(`Project preferences are unavailable on this connection.`);return t(e.projectId===void 0?{}:{projectId:e.projectId})}var le=5e3;function ue(e){return JSON.stringify([e.projectId,e.title,e.modelSelection,e.interactionMode,e.tokenMode,e.createdAt,e.archivedAt,e.settledOverride,e.settledAt,e.snoozedUntil,e.snoozedAt,e.branch,e.worktreePath,e.worktreeId,e.manualStatusBucket,e.manualPosition,e.latestUserMessageAt,e.priority,e.latestUserMessageAt==null?e.updatedAt:null])}function de(e){let t=e.now??(()=>Date.now()),n=t=>{try{return e.readContext(t)}catch{return null}},i=t=>{try{return e.readLocalContext?.(t)??null}catch{return null}},a=e.setTimer??((e,t)=>setTimeout(e,t)),o=e.clearTimer??(e=>clearTimeout(e)),s=0,c=[],l,u=e=>(e.restoring||t()<e.expiresAt)&&e.valid(),d=()=>e.changed(c.map(({id:e,action:t,target:n,pending:r,applying:i,threadTitle:a})=>({id:e,action:t,target:n,pending:r,applying:i,threadTitle:a}))),f=e=>{c.find(t=>t.id===e)?.cleanup?.(),c=c.filter(t=>t.id!==e),d()},p=()=>{let e=c.filter(e=>u(e)?!0:(e.cleanup?.(),!1));e.length!==c.length&&(c=e,d())},m=()=>{l!==void 0&&o(l),l=void 0,c.length&&(l=a(()=>{l=void 0,p(),m()},100))},h=e=>{c=c.filter(t=>r(t.target)!==r(e.target)||(t.cleanup?.(),!1));let n={...e,id:++s,expiresAt:t()+le,pending:!1,restoring:!1,threadTitle:e.context.threadTitle,applying:e.applying??!1};return c.push(n),c.length>5&&c.shift()?.cleanup?.(),d(),m(),n},g={async dispatch(t,i,a){let o=n(t);if(!o||i.threadId!==t.threadId)throw Error(`The owning node is not ready for this action.`);for(let e of c)r(e.target)===r(t)&&f(e.id);let s=o.api.orchestration.dispatchCommand(i),l=o.supported&&(i.type===`thread.archive`||i.type===`thread.settle`||i.type===`thread.snooze`)?h({target:t,context:o,valid:()=>n(t)?.generation===o.generation,action:i.type.slice(7),ready:s,applying:!0,restore:async()=>{await o.api.orchestration.dispatchCommand({type:`thread.sidebar.undo`,threadId:t.threadId,commandId:e.newCommandId(),undoCommandId:i.commandId}),l&&c.includes(l)&&n(t)?.generation===o.generation&&await a?.(()=>c.includes(l)&&n(t)?.generation===o.generation)}}):null;try{await s}catch(e){throw l&&f(l.id),e}l&&c.includes(l)&&(l.applying=!1,d()),p()},async archive(e,t,r){let i=n(e)?.generation,a=r.currentRoute(),o=null,s,c=new Promise(e=>{s=e});try{await g.dispatch(e,{type:`thread.archive`,commandId:t,threadId:e.threadId},async e=>{await c,e()&&o!==null&&r.currentRoute()===o&&await r.reopen()}),i&&n(e)?.generation===i&&a!==null&&r.currentRoute()===a&&r.shouldLeave()&&(o=await r.leave())}finally{s()}},unpin(e,t){if(!t.read())return;g.supersede(e);let n=i(e);if(t.write(!1),!n)return;let r=!1,a=()=>{let t=i(e);return t?.threadRevision===n.threadRevision&&t.parentRevision===n.parentRevision};if(!a())return;let o=()=>{(t.read()||!a())&&(r=!0)},s=t.subscribe(o),c=n.subscribe(o);h({target:e,context:n,valid:()=>!r&&!t.read()&&a(),action:`unpin`,ready:Promise.resolve(),cleanup:()=>{s(),c()},restore:async()=>{if(r||t.read()||!a())throw Error(`The pin changed. Its current position was kept.`);t.write(!0)}})},supersede(e){for(let t of c)r(t.target)===r(e)&&f(t.id);m()},async undo(t){p();let n=c.find(e=>e.id===t);if(n&&!n.pending){n.pending=!0,d();try{if(await n.ready,!c.includes(n)||!u(n))return;n.restoring=!0,await n.restore()}catch(t){e.failed(t)}finally{f(t),m()}}},dismiss(e){f(e),m()},invalidate:p,dispose(){for(let e of c)e.cleanup?.();c=[],l!==void 0&&o(l),l=void 0,d()}};return g}function U(e){return e.online&&e.canMutate&&(e.nativeTrust===`verified`||e.nativeTrust===`account-trusted`||e.nativeTrust===`not-required`)}function W(e){return{environmentId:e.environmentId,projectId:e.projectId,physicalKey:e.physicalKey,machineLabel:e.machineLabel}}function fe(e){if(e.override){let t=e.override,n=e.project.variants.find(e=>e.environmentId===t.environmentId&&e.projectId===t.projectId);return n?U(n)?{status:`resolved`,target:W(n),source:`override`}:{status:`unavailable`,message:`No verified machine available`,reason:`override-unavailable`}:{status:`unavailable`,message:`No verified machine available`,reason:`override-not-in-project`}}let t=e.project.variants.filter(U);if(t.length===0)return{status:`unavailable`,message:`No verified machine available`,reason:`no-eligible-variant`};let n=t.toSorted((e,t)=>{let n=e.lastUsedAt??-1/0,r=t.lastUsedAt??-1/0;return n===r?e.localDesktop===t.localDesktop?String(e.environmentId).localeCompare(String(t.environmentId)):e.localDesktop?-1:1:r-n})[0],r=Math.max(...t.map(e=>e.lastUsedAt??-1/0)),i=Number.isFinite(r)&&n.lastUsedAt===r?`recent`:n.localDesktop?`local-desktop`:`stable`;return{status:`resolved`,target:W(n),source:i}}var G=e(I(),1),K=L(),pe=`[data-thread-item], [data-thread-selection-safe]`,q=`phone:pointer-coarse:size-8 phone:pointer-coarse:after:absolute phone:pointer-coarse:after:top-1/2 phone:pointer-coarse:after:left-1/2 phone:pointer-coarse:after:size-11 phone:pointer-coarse:after:-translate-x-1/2 phone:pointer-coarse:after:-translate-y-1/2`,me=`phone:pointer-coarse:relative ${q}`;function he(e){if(e.manualBucket!==null)return e.manualBucket;switch(e.statusPill?.label){case`Working`:case`Monitoring`:case`Connecting`:return`in_progress`;case`Plan Ready`:case`Pending Approval`:case`Awaiting Input`:return`review`;case`Completed`:return`done`;default:return`idle`}}function ge(e){return e.includes(`in_progress`)?`in_progress`:e.includes(`review`)?`review`:e.length>0&&e.every(e=>e===`done`)?`done`:`idle`}var _e=6048e5;function ve(e){if(e.buckets.length===0||!e.buckets.every(e=>e===`done`)||!e.latestUpdatedAt)return!1;let t=Date.parse(e.latestUpdatedAt);return!Number.isNaN(t)&&e.nowMs-t>=_e}function ye(e){return e.latestUserMessageAt!==null}function be(e){return e.latestUserMessageAt!==null}function J(e){return e.confirmThreadDelete&&be(e.thread)}function xe(e){for(let t of e.threads)if(t&&J({confirmThreadDelete:e.confirmThreadDelete,thread:t}))return!0;return!1}function Se(e){return e.archiveAvailable&&e.confirmThreadArchive}var Y={"Pending Approval":6,"Awaiting Input":5,Working:4,Connecting:4,"Plan Ready":3,Monitoring:2,Completed:1};function Ce(e){let t=e.setTimeoutFn??globalThis.setTimeout,n=e.clearTimeoutFn??globalThis.clearTimeout,r=!1,i=null,a=()=>{i!==null&&(n(i),i=null)};return{sync:n=>{if(!n){a(),r&&(r=!1,e.onVisibilityChange(!1));return}r||i!==null||(i=t(()=>{i=null,r=!0,e.onVisibilityChange(!0)},e.delayMs))},dispose:()=>{a()}}}function we(){let[e,t]=G.useState(!1),n=G.useRef(null);return G.useEffect(()=>{let e=Ce({delayMs:100,onVisibilityChange:e=>{t(e)},setTimeoutFn:window.setTimeout.bind(window),clearTimeoutFn:window.clearTimeout.bind(window)});return n.current=e,()=>{e.dispose(),n.current=null}},[]),{showThreadJumpHints:e,updateThreadJumpHintsVisibility:G.useCallback(e=>{n.current?.sync(e)},[])}}function Te(e){if(!e.latestTurn?.completedAt)return!1;let t=Date.parse(e.latestTurn.completedAt);if(Number.isNaN(t))return!1;if(!e.lastVisitedAt)return!0;let n=Date.parse(e.lastVisitedAt);return Number.isNaN(n)?!0:t>n}function Ee(e){return e===null||!e.closest(pe)}function De(e){return e>1}function Oe(e){return e.requestedEnvMode??e.defaultEnvMode}function ke(e){return e.defaultEnvMode===`worktree`?{envMode:`worktree`}:e.activeDraftThread?.projectId===e.projectId?{branch:e.activeDraftThread.branch,worktreePath:e.activeDraftThread.worktreePath,envMode:e.activeDraftThread.envMode}:e.activeThread?.projectId===e.projectId?{branch:e.activeThread.branch,worktreePath:e.activeThread.worktreePath,envMode:e.activeThread.worktreePath?`worktree`:`local`}:{envMode:e.defaultEnvMode}}function X(e){let{getId:t,items:n,preferredIds:r}=e;if(r.length===0)return[...n];let i=new Map(n.map(e=>[t(e),e])),a=new Set(r),o=new Set,s=r.flatMap(e=>{if(o.has(e))return[];let t=i.get(e);return t?(o.add(e),[t]):[]}),c=n.filter(e=>!a.has(t(e)));return[...s,...c]}function Ae(e,t=3){return e.slice(0,Math.max(0,t))}function je(e){return e.sidebarMode===`projects`&&(e.isMobile?e.openMobile:e.open)}function Me(e){return e.isActive||e.isIntersecting}function Ne(e){let t=d(e.threads,e.sortOrder);return e.pinnedThreadKeys.size===0?t:t.toSorted((t,n)=>{let r=e.pinnedThreadKeys.has(e.getThreadKey(t));return r===e.pinnedThreadKeys.has(e.getThreadKey(n))?0:r?-1:1})}function Pe(e){return e<=80}function Fe(e){return e.projectCount<=80&&e.visibleThreadCount<=120}function Ie(e){return e.explorerOpen||e.projectVisible}function Le(e){let{currentThreadId:t,direction:n,threadIds:r}=e;if(r.length===0)return null;if(t===null)return n===`previous`?r.at(-1)??null:r[0]??null;let i=r.indexOf(t);return i===-1?null:n===`previous`?i>0?r[i-1]??null:null:i<r.length-1?r[i+1]??null:null}function Re(e){return e.button===2||e.isMac&&e.button===0&&e.ctrlKey}function ze(e){let t=`h-7 w-full translate-x-0 cursor-pointer justify-start px-2 text-left select-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring`;return e.isSelected&&e.isActive?C(t,`bg-primary/22 text-foreground font-medium hover:bg-primary/26 hover:text-foreground dark:bg-primary/30 dark:hover:bg-primary/36`):e.isSelected?C(t,`bg-primary/15 text-foreground hover:bg-primary/19 hover:text-foreground dark:bg-primary/22 dark:hover:bg-primary/28`):e.isActive?C(t,`bg-accent/85 text-foreground font-medium hover:bg-accent hover:text-foreground dark:bg-accent/55 dark:hover:bg-accent/70`):C(t,`text-muted-foreground hover:bg-accent hover:text-foreground`)}function Be(e){let{thread:t}=e,n=x(t);return n===`approval`?{label:`Pending Approval`,colorClass:`text-amber-600 dark:text-amber-300/90`,dotClass:`bg-amber-500 dark:bg-amber-300/90`,pulse:!1}:n===`input`?{label:`Awaiting Input`,colorClass:`text-indigo-600 dark:text-indigo-300/90`,dotClass:`bg-indigo-500 dark:bg-indigo-300/90`,pulse:!1}:n===`working`?{label:`Working`,colorClass:`text-sky-600 dark:text-sky-300/80`,dotClass:`bg-sky-500 dark:bg-sky-300/80`,pulse:!0}:n===`connecting`?{label:`Connecting`,colorClass:`text-sky-600 dark:text-sky-300/80`,dotClass:`bg-sky-500 dark:bg-sky-300/80`,pulse:!0}:n===`plan-ready`?{label:`Plan Ready`,colorClass:`text-violet-600 dark:text-violet-300/90`,dotClass:`bg-violet-500 dark:bg-violet-300/90`,pulse:!1}:n===`monitoring`?{label:`Monitoring`,colorClass:`text-sky-600 dark:text-sky-300/80`,dotClass:`bg-sky-500 dark:bg-sky-300/80`,pulse:!0}:Te(t)?{label:`Completed`,colorClass:`text-emerald-600 dark:text-emerald-300/90`,dotClass:`bg-emerald-500 dark:bg-emerald-300/90`,pulse:!1}:null}function Ve(e){let t=null;for(let n of e)n!==null&&(t===null||Y[n.label]>Y[t.label])&&(t=n);return t}function He(e){let{deletedThreadId:t,deletedThreadIds:n,sortOrder:r,threads:i}=e,a=i.find(e=>e.id===t);if(!a)return null;let o=i.filter(e=>e.id!==t&&!n?.has(e.id));return d(o.filter(e=>e.projectId===a.projectId),r)[0]?.id??d(o,r)[0]?.id??null}function Z(e,t,n){return t.length>0?t.reduce((e,t)=>Math.max(e,_(t,n)),-1/0):n===`created_at`?N(e.createdAt)??-1/0:N(e.updatedAt??e.createdAt)??-1/0}function Ue(e,t,n){if(n===`manual`)return[...e];let r=new Map;for(let e of t){let t=r.get(e.projectId)??[];t.push(e),r.set(e.projectId,t)}return[...e].toSorted((e,t)=>{let i=Z(t,r.get(t.id)??[],n),a=Z(e,r.get(e.id)??[],n),o=i===a?0:i>a?1:-1;return o===0?e.name.localeCompare(t.name)||e.id.localeCompare(t.id):o})}function We(e){if(!e.ready||e.primaryEnvironmentId===null)return e.machines;let t=e.machines.filter(t=>t.environmentId!==e.primaryEnvironmentId&&t.environmentId!==e.localHubEnvironmentId);return[{environmentId:e.primaryEnvironmentId,label:oe({environmentId:e.primaryEnvironmentId,primaryEnvironmentId:e.primaryEnvironmentId,localHubEnvironmentId:e.localHubEnvironmentId??null,machines:e.machines,fallback:e.primaryLabel}),online:!0,canMutate:!0,nativeTrust:`not-required`},...t]}function Ge(e){if(e.preferredEnvironmentId!==void 0&&e.preferredEnvironmentId!==null){if(!e.ready)return null;let t=e.machines.find(t=>t.environmentId===e.preferredEnvironmentId);if(!t?.online||!t.canMutate)return null;let r=e.orderedProjects.find(t=>t.environmentId===e.preferredEnvironmentId);return r===void 0?null:n(r.environmentId,r.id)}let r=e.orderedProjects[0];if(!r)return null;if(!e.ready)return n(r.environmentId,r.id);let i=e.logicalKey(r),a=new Map(e.machines.map(e=>[e.environmentId,e])),o=e.orderedProjects.filter(t=>e.logicalKey(t)===i),s=fe({project:{key:i,label:r.name,repositoryIdentity:r.repositoryIdentity??null,ambiguous:o.length>1,variants:o.flatMap(r=>{let i=a.get(r.environmentId);return i?[{environmentId:r.environmentId,projectId:r.id,physicalKey:t(n(r.environmentId,r.id)),name:r.name,cwd:r.cwd,repositoryIdentity:r.repositoryIdentity??null,machineLabel:i.label,online:i.online,canMutate:i.canMutate,nativeTrust:i.nativeTrust,effectiveRole:i.canMutate?`owner`:null,lastUsedAt:null,lastLiveAt:null,localDesktop:e.localEnvironmentId===r.environmentId}]:[]})}});return s.status===`resolved`?n(s.target.environmentId,s.target.projectId):null}function Ke(){let e=(0,G.useRef)(new Map),n=l(V(e=>f(e))),r=y(e=>({sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides})),i=F(),o=(0,G.useCallback)(e=>{let t=z(e);t&&re(t)},[]),s=(0,G.useCallback)(()=>{let e=i.state.matches[i.state.matches.length-1]?.params??{};return b(e)},[i]);return(0,G.useCallback)(function l(u,d){let f=z(u.environmentId);if(f!==null&&(o(u.environmentId),R(u.environmentId)===null))return ne(u.environmentId).then(e=>{if(e===null){if(d?.freshDraft)throw Error(`The workspace is unavailable. Your selection draft is preserved.`);return}return l(u,d)});let{getDraftSessionByLogicalProjectKey:p,getDraftSession:h,getDraftThread:g,applyStickyState:_,setDraftThreadContext:v,setLogicalProjectDraftThreadId:y}=j.getState(),b=s(),x=n.find(e=>e.id===u.projectId&&e.environmentId===u.environmentId),S=x?P(x,r):t(u);if(d?.freshDraft){let t=d.freshDraft;if(!t.isCurrent())throw Error(`The source chat changed. Your selection draft was not sent.`);let n=j.getState();return(()=>{let n=j.getState(),r=e.current.get(t.draftId);if(n.draftThreadsByThreadKey[t.draftId]&&(!r||n.getComposerDraft(t.draftId)!==r.composer||n.draftThreadsByThreadKey[t.draftId]!==r.session))throw Error(`The destination draft changed elsewhere. Both drafts are preserved; open the destination to continue.`)})(),n.createDetachedDraftSession(S,u,t.draftId,{threadId:t.threadId,branch:d.branch??null,worktreePath:d.worktreePath??null,envMode:d.envMode??`local`,runtimeMode:t.runtimeMode,tokenMode:t.tokenMode}),n.setPrompt(t.draftId,t.prompt),n.setModelSelection(t.draftId,t.modelSelection),n.setRuntimeMode(t.draftId,t.runtimeMode),n.setTokenMode(t.draftId,t.tokenMode),n.setDraftThreadContext(t.draftId,{branch:d.branch??null,envMode:d.envMode??`local`}),e.current.clear(),e.current.set(t.draftId,{composer:n.getComposerDraft(t.draftId),session:j.getState().draftThreadsByThreadKey[t.draftId]}),(async()=>{await i.navigate({to:`/draft/$draftId`,params:{draftId:t.draftId}});let n=j.getState().getComposerDraft(t.draftId),r=e.current.get(t.draftId)?.composer;if(n?.prompt!==t.prompt||n?.images!==r?.images||n?.terminalContexts!==r?.terminalContexts||n?.sourceControlContexts!==r?.sourceControlContexts)throw Error(`The destination draft changed. Send from the full composer to keep your edits.`);let a=s();if(a?.kind!==`draft`||a.draftId!==t.draftId)throw Error(`Navigation was cancelled. Your selection draft is preserved.`)})()}let C=d?.branch!==void 0,w=d?.worktreePath!==void 0,D=d?.envMode!==void 0,O=p(S),A=b?b.kind===`server`?g(b.threadRef):h(b.draftId):null;if(O)return(async()=>{(C||w||D)&&v(O.draftId,{...C?{branch:d?.branch??null}:{},...w?{worktreePath:d?.worktreePath??null}:{},...D?{envMode:d?.envMode}:{}}),y(S,u,O.draftId,{threadId:O.threadId}),(b?.kind!==`draft`||b.draftId!==O.draftId)&&(o(u.environmentId),await i.navigate({to:`/draft/$draftId`,params:{draftId:O.draftId}}))})();if(A&&b?.kind===`draft`&&A.logicalProjectKey===S&&A.promotedTo==null)return(C||w||D)&&v(b.draftId,{...C?{branch:d?.branch??null}:{},...w?{worktreePath:d?.worktreePath??null}:{},...D?{envMode:d?.envMode}:{}}),y(S,u,b.draftId,{threadId:A.threadId,createdAt:A.createdAt,runtimeMode:A.runtimeMode,interactionMode:A.interactionMode,tokenMode:A.tokenMode??`off`,...C?{branch:d?.branch??null}:{},...w?{worktreePath:d?.worktreePath??null}:{},...D?{envMode:d?.envMode}:{}}),Promise.resolve();let N=T(),F=k(),I=new Date().toISOString();return(async()=>{let e=f===null?null:R(u.environmentId),t=a(),n=t?.environment.environmentId===u.environmentId?t:M(u.environmentId)?.serverConfig;if(!n)throw Error(`Node settings are still loading. Try creating the draft again.`);let r=await H({api:E(u.environmentId),config:n,projectId:u.projectId}),s=f===null?null:R(u.environmentId);if(f!==null&&(!e||!s||!ie(e,u.environmentId,s)))throw Error(`The workspace connection changed. Try creating the draft again.`);if(p(S))return l(u,d);y(S,u,N,{threadId:F,createdAt:I,branch:d?.branch??null,worktreePath:d?.worktreePath??null,envMode:d?.envMode??r?.defaultThreadEnvMode.value??n.settings.defaultThreadEnvMode,runtimeMode:c,tokenMode:n.settings.defaultAgentTokenMode}),_(N);let m=d?.modelSelection??r?.initialModelSelection.value;m&&j.getState().setModelSelection(N,ce({effective:r,fallback:m,explicit:d?.modelSelection})),o(u.environmentId),await i.navigate({to:`/draft/$draftId`,params:{draftId:N}})})().catch(e=>{m.add({type:`error`,title:`Could not create a draft`,description:e instanceof Error?e.message:`Reconnect to this node and try again.`})})},[o,s,r,i,n])}function qe(){let e=(0,K.c)(2),t=Ke(),n;return e[0]===t?n=e[1]:(n={handleNewThread:t},e[0]=t,e[1]=n),n}function Je(){let e=(0,K.c)(29),t=v(tt),n=y(et),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={strict:!1,select:$e},e[0]=r):r=e[0];let a=w(r),o=a?.kind===`server`?a.threadRef:null,s;e[1]===o?s=e[2]:(s=S(o),e[1]=o,e[2]=s);let c=l(s),d=j(Qe),f;e[3]!==d||e[4]!==a?(f=()=>a?a.kind===`server`?d(a.threadRef):j.getState().getDraftSession(a.draftId):null,e[3]=d,e[4]=a,e[5]=f):f=e[5];let p=j(f),m=l(V(Ze)),h;e[6]!==t||e[7]!==m?(h=X({items:m,preferredIds:t,getId:u}),e[6]=t,e[7]=m,e[8]=h):h=e[8];let _=h,b=Ke(),x=se(),C=ae(),T=te(),E=i(),D=g(Xe),O;e[9]!==C||e[10]!==T.machines||e[11]!==T.status||e[12]!==x||e[13]!==E?(O=T.status===`signed-out`?{machines:We({machines:C.machines,ready:C.status===`ready`,primaryEnvironmentId:E,localHubEnvironmentId:C.localEnvironmentId,primaryLabel:x}),ready:C.status===`ready`,localEnvironmentId:E}:{machines:T.machines.map(Ye),ready:T.status===`ready`,localEnvironmentId:null},e[9]=C,e[10]=T.machines,e[11]=T.status,e[12]=x,e[13]=E,e[14]=O):O=e[14];let k=O,A;e[15]===n?A=e[16]:(A=e=>P(e,n),e[15]=n,e[16]=A);let M;e[17]!==T.status||e[18]!==_||e[19]!==D||e[20]!==A||e[21]!==k?(M=Ge({orderedProjects:_,...k,logicalKey:A,...T.status===`signed-out`?{}:{preferredEnvironmentId:D}}),e[17]=T.status,e[18]=_,e[19]=D,e[20]=A,e[21]=k,e[22]=M):M=e[22];let N=M,F=D!==null&&c?.environmentId!==D?void 0:c,I=D!==null&&p?.environmentId!==D?null:p,L;return e[23]!==I||e[24]!==F||e[25]!==N||e[26]!==b||e[27]!==o?(L={activeDraftThread:I,activeThread:F,defaultProjectRef:N,handleNewThread:b,routeThreadRef:o},e[23]=I,e[24]=F,e[25]=N,e[26]=b,e[27]=o,e[28]=L):L=e[28],L}function Ye(e){return{...e,online:e.presence.online}}function Xe(e){return e.selectedNode?.environmentId??null}function Ze(e){return f(e)}function Qe(e){return e.getDraftThread}function $e(e){return b(e)}function et(e){return{sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides}}function tt(e){return e.projectOrder}var nt={archive:`Thread archived`,settle:`Thread settled`,snooze:`Thread snoozed`,unpin:`Thread unpinned`},Q=new Map;function rt(e){for(let[t,n]of Q)e.some(e=>e.id===t)||(Q.delete(t),m.close(n.toastId));for(let t of e){let e=Q.get(t.id),n=B({type:`info`,title:t.applying?{archive:`Archiving thread…`,settle:`Settling thread…`,snooze:`Snoozing thread…`,unpin:`Unpinning thread…`}[t.action]:nt[t.action],timeout:0,description:t.threadTitle,actionProps:{children:t.pending?`Undoing…`:`Undo`,disabled:t.pending,"aria-label":`Undo ${t.action}${t.threadTitle?` ${t.threadTitle}`:``}`,onClick:()=>void $.undo(t.id)},data:{onClose:()=>$.dismiss(t.id)}});e?(e.pending!==t.pending||e.applying!==t.applying)&&(m.update(e.toastId,n),e.pending=t.pending,e.applying=t.applying):Q.set(t.id,{toastId:m.add(n),pending:t.pending,applying:t.applying})}}function it(e){let t=l.getState(),n=h(t,e),r=n?p(t,{environmentId:e.environmentId,projectId:n.projectId}):null;return!n||!r?null:{threadRevision:ue(n),parentRevision:r,threadTitle:n.title,subscribe:l.subscribe}}function at(e){let t=D(e.environmentId),n=t?.shellSnapshotReadiness.read(),r=A(e.environmentId),i=it(e);if(!t||!n||!r||!i)return null;let a=M(e.environmentId),c=s(),l=(c?.environmentId===e.environmentId?c.capabilities:a.descriptor?.capabilities)?.threadSidebarUndo===!0;if(o()){let t=ee().machines.find(t=>t.environmentId===e.environmentId);if(!t?.canMutate||t.connectionState!==`connected`||t.cacheDisposition!==`available`)return null}return{generation:n,api:r,threadRevision:i.threadRevision,parentRevision:i.parentRevision,threadTitle:i.threadTitle,supported:l}}var $=de({readContext:at,readLocalContext:it,newCommandId:O,changed:rt,failed:e=>m.add(B({type:`error`,title:`Could not undo thread action`,description:e instanceof Error?e.message:`The request failed. Check the current thread state before trying again.`}))});export{ve as A,Ee as C,Me as D,xe as E,Ne as M,we as N,je as O,H as P,Fe as S,J as T,Oe as _,q as a,Be as b,ye as c,Ae as d,Re as f,Ve as g,Le as h,We as i,Ue as j,Ie as k,he as l,X as m,Je as n,me as o,De as p,qe as r,ge as s,$ as t,He as u,ke as v,Se as w,Pe as x,ze as y};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Jt as t,Kt as n,Yt as r,a as i,pt as a,q as o,r as s}from"./primary-CQh_KHGG.js";import{Z as c}from"./src-DHNjfMxR.js";import{Bn as l,C as u,Cn as d,Dn as f,En as p,Kr as m,On as h,P as g,Sn as _,V as v,Vr as y,Xr as b,Yt as x,bn as S,ei as C,go as w,ii as T,or as E,p as D,ri as O,si as k,sr as A,ui as j,ur as M,wn as N,x as P,xo as F}from"./runtime-OM-uAtaj.js";import{t as I}from"./react-CwJFpaho.js";import{t as L}from"./compiler-runtime-C4g8XhC5.js";import{a as ee,c as te,i as R,l as ne,p as re,r as z,x as ie}from"./hostedConnectionCoordinator-BztHfGNt.js";import{t as B}from"./toastHelpers-CSQRKo4F.js";import"./authorization-BugIGt5e.js";import{o as ae}from"./desktopWorkspace-Ocqt625W.js";import{i as oe,n as se}from"./deviceName-z0ZWSq0z.js";import{t as V}from"./shallow-B--PNURq.js";import"./storeSelectors-D60AAN01.js";function ce(e){let t=e.explicit??e.effective?.initialModelSelection.value??e.fallback;return{...t,options:t.options??[]}}async function H(e){if(e.config?.environment.capabilities.projectPreferences!==!0)return null;let t=e.api.server?.getProjectPreferences;if(!t)throw Error(`Project preferences are unavailable on this connection.`);return t(e.projectId===void 0?{}:{projectId:e.projectId})}var le=5e3;function ue(e){return JSON.stringify([e.projectId,e.title,e.modelSelection,e.interactionMode,e.tokenMode,e.createdAt,e.archivedAt,e.settledOverride,e.settledAt,e.snoozedUntil,e.snoozedAt,e.branch,e.worktreePath,e.worktreeId,e.manualStatusBucket,e.manualPosition,e.latestUserMessageAt,e.priority,e.latestUserMessageAt==null?e.updatedAt:null])}function de(e){let t=e.now??(()=>Date.now()),n=t=>{try{return e.readContext(t)}catch{return null}},i=t=>{try{return e.readLocalContext?.(t)??null}catch{return null}},a=e.setTimer??((e,t)=>setTimeout(e,t)),o=e.clearTimer??(e=>clearTimeout(e)),s=0,c=[],l,u=e=>(e.restoring||t()<e.expiresAt)&&e.valid(),d=()=>e.changed(c.map(({id:e,action:t,target:n,pending:r,applying:i,threadTitle:a})=>({id:e,action:t,target:n,pending:r,applying:i,threadTitle:a}))),f=e=>{c.find(t=>t.id===e)?.cleanup?.(),c=c.filter(t=>t.id!==e),d()},p=()=>{let e=c.filter(e=>u(e)?!0:(e.cleanup?.(),!1));e.length!==c.length&&(c=e,d())},m=()=>{l!==void 0&&o(l),l=void 0,c.length&&(l=a(()=>{l=void 0,p(),m()},100))},h=e=>{c=c.filter(t=>r(t.target)!==r(e.target)||(t.cleanup?.(),!1));let n={...e,id:++s,expiresAt:t()+le,pending:!1,restoring:!1,threadTitle:e.context.threadTitle,applying:e.applying??!1};return c.push(n),c.length>5&&c.shift()?.cleanup?.(),d(),m(),n},g={async dispatch(t,i,a){let o=n(t);if(!o||i.threadId!==t.threadId)throw Error(`The owning node is not ready for this action.`);for(let e of c)r(e.target)===r(t)&&f(e.id);let s=o.api.orchestration.dispatchCommand(i),l=o.supported&&(i.type===`thread.archive`||i.type===`thread.settle`||i.type===`thread.snooze`)?h({target:t,context:o,valid:()=>n(t)?.generation===o.generation,action:i.type.slice(7),ready:s,applying:!0,restore:async()=>{await o.api.orchestration.dispatchCommand({type:`thread.sidebar.undo`,threadId:t.threadId,commandId:e.newCommandId(),undoCommandId:i.commandId}),l&&c.includes(l)&&n(t)?.generation===o.generation&&await a?.(()=>c.includes(l)&&n(t)?.generation===o.generation)}}):null;try{await s}catch(e){throw l&&f(l.id),e}l&&c.includes(l)&&(l.applying=!1,d()),p()},async archive(e,t,r){let i=n(e)?.generation,a=r.currentRoute(),o=null,s,c=new Promise(e=>{s=e});try{await g.dispatch(e,{type:`thread.archive`,commandId:t,threadId:e.threadId},async e=>{await c,e()&&o!==null&&r.currentRoute()===o&&await r.reopen()}),i&&n(e)?.generation===i&&a!==null&&r.currentRoute()===a&&r.shouldLeave()&&(o=await r.leave())}finally{s()}},unpin(e,t){if(!t.read())return;g.supersede(e);let n=i(e);if(t.write(!1),!n)return;let r=!1,a=()=>{let t=i(e);return t?.threadRevision===n.threadRevision&&t.parentRevision===n.parentRevision};if(!a())return;let o=()=>{(t.read()||!a())&&(r=!0)},s=t.subscribe(o),c=n.subscribe(o);h({target:e,context:n,valid:()=>!r&&!t.read()&&a(),action:`unpin`,ready:Promise.resolve(),cleanup:()=>{s(),c()},restore:async()=>{if(r||t.read()||!a())throw Error(`The pin changed. Its current position was kept.`);t.write(!0)}})},supersede(e){for(let t of c)r(t.target)===r(e)&&f(t.id);m()},async undo(t){p();let n=c.find(e=>e.id===t);if(n&&!n.pending){n.pending=!0,d();try{if(await n.ready,!c.includes(n)||!u(n))return;n.restoring=!0,await n.restore()}catch(t){e.failed(t)}finally{f(t),m()}}},dismiss(e){f(e),m()},invalidate:p,dispose(){for(let e of c)e.cleanup?.();c=[],l!==void 0&&o(l),l=void 0,d()}};return g}function U(e){return e.online&&e.canMutate&&(e.nativeTrust===`verified`||e.nativeTrust===`account-trusted`||e.nativeTrust===`not-required`)}function W(e){return{environmentId:e.environmentId,projectId:e.projectId,physicalKey:e.physicalKey,machineLabel:e.machineLabel}}function fe(e){if(e.override){let t=e.override,n=e.project.variants.find(e=>e.environmentId===t.environmentId&&e.projectId===t.projectId);return n?U(n)?{status:`resolved`,target:W(n),source:`override`}:{status:`unavailable`,message:`No verified machine available`,reason:`override-unavailable`}:{status:`unavailable`,message:`No verified machine available`,reason:`override-not-in-project`}}let t=e.project.variants.filter(U);if(t.length===0)return{status:`unavailable`,message:`No verified machine available`,reason:`no-eligible-variant`};let n=t.toSorted((e,t)=>{let n=e.lastUsedAt??-1/0,r=t.lastUsedAt??-1/0;return n===r?e.localDesktop===t.localDesktop?String(e.environmentId).localeCompare(String(t.environmentId)):e.localDesktop?-1:1:r-n})[0],r=Math.max(...t.map(e=>e.lastUsedAt??-1/0)),i=Number.isFinite(r)&&n.lastUsedAt===r?`recent`:n.localDesktop?`local-desktop`:`stable`;return{status:`resolved`,target:W(n),source:i}}var G=e(I(),1),K=L(),pe=`[data-thread-item], [data-thread-selection-safe]`,q=`phone:pointer-coarse:size-8 phone:pointer-coarse:after:absolute phone:pointer-coarse:after:top-1/2 phone:pointer-coarse:after:left-1/2 phone:pointer-coarse:after:size-11 phone:pointer-coarse:after:-translate-x-1/2 phone:pointer-coarse:after:-translate-y-1/2`,me=`phone:pointer-coarse:relative ${q}`;function he(e){if(e.manualBucket!==null)return e.manualBucket;switch(e.statusPill?.label){case`Working`:case`Monitoring`:case`Connecting`:return`in_progress`;case`Plan Ready`:case`Pending Approval`:case`Awaiting Input`:return`review`;case`Completed`:return`done`;default:return`idle`}}function ge(e){return e.includes(`in_progress`)?`in_progress`:e.includes(`review`)?`review`:e.length>0&&e.every(e=>e===`done`)?`done`:`idle`}var _e=6048e5;function ve(e){if(e.buckets.length===0||!e.buckets.every(e=>e===`done`)||!e.latestUpdatedAt)return!1;let t=Date.parse(e.latestUpdatedAt);return!Number.isNaN(t)&&e.nowMs-t>=_e}function ye(e){return e.latestUserMessageAt!==null}function be(e){return e.latestUserMessageAt!==null}function J(e){return e.confirmThreadDelete&&be(e.thread)}function xe(e){for(let t of e.threads)if(t&&J({confirmThreadDelete:e.confirmThreadDelete,thread:t}))return!0;return!1}function Se(e){return e.archiveAvailable&&e.confirmThreadArchive}var Y={"Pending Approval":6,"Awaiting Input":5,Working:4,Connecting:4,"Plan Ready":3,Monitoring:2,Completed:1};function Ce(e){let t=e.setTimeoutFn??globalThis.setTimeout,n=e.clearTimeoutFn??globalThis.clearTimeout,r=!1,i=null,a=()=>{i!==null&&(n(i),i=null)};return{sync:n=>{if(!n){a(),r&&(r=!1,e.onVisibilityChange(!1));return}r||i!==null||(i=t(()=>{i=null,r=!0,e.onVisibilityChange(!0)},e.delayMs))},dispose:()=>{a()}}}function we(){let[e,t]=G.useState(!1),n=G.useRef(null);return G.useEffect(()=>{let e=Ce({delayMs:100,onVisibilityChange:e=>{t(e)},setTimeoutFn:window.setTimeout.bind(window),clearTimeoutFn:window.clearTimeout.bind(window)});return n.current=e,()=>{e.dispose(),n.current=null}},[]),{showThreadJumpHints:e,updateThreadJumpHintsVisibility:G.useCallback(e=>{n.current?.sync(e)},[])}}function Te(e){if(!e.latestTurn?.completedAt)return!1;let t=Date.parse(e.latestTurn.completedAt);if(Number.isNaN(t))return!1;if(!e.lastVisitedAt)return!0;let n=Date.parse(e.lastVisitedAt);return Number.isNaN(n)?!0:t>n}function Ee(e){return e===null||!e.closest(pe)}function De(e){return e>1}function Oe(e){return e.requestedEnvMode??e.defaultEnvMode}function ke(e){return e.defaultEnvMode===`worktree`?{envMode:`worktree`}:e.activeDraftThread?.projectId===e.projectId?{branch:e.activeDraftThread.branch,worktreePath:e.activeDraftThread.worktreePath,envMode:e.activeDraftThread.envMode}:e.activeThread?.projectId===e.projectId?{branch:e.activeThread.branch,worktreePath:e.activeThread.worktreePath,envMode:e.activeThread.worktreePath?`worktree`:`local`}:{envMode:e.defaultEnvMode}}function X(e){let{getId:t,items:n,preferredIds:r}=e;if(r.length===0)return[...n];let i=new Map(n.map(e=>[t(e),e])),a=new Set(r),o=new Set,s=r.flatMap(e=>{if(o.has(e))return[];let t=i.get(e);return t?(o.add(e),[t]):[]}),c=n.filter(e=>!a.has(t(e)));return[...s,...c]}function Ae(e,t=3){return e.slice(0,Math.max(0,t))}function je(e){return e.sidebarMode===`projects`&&(e.isMobile?e.openMobile:e.open)}function Me(e){return e.isActive||e.isIntersecting}function Ne(e){let t=d(e.threads,e.sortOrder);return e.pinnedThreadKeys.size===0?t:t.toSorted((t,n)=>{let r=e.pinnedThreadKeys.has(e.getThreadKey(t));return r===e.pinnedThreadKeys.has(e.getThreadKey(n))?0:r?-1:1})}function Pe(e){return e<=80}function Fe(e){return e.projectCount<=80&&e.visibleThreadCount<=120}function Ie(e){return e.explorerOpen||e.projectVisible}function Le(e){let{currentThreadId:t,direction:n,threadIds:r}=e;if(r.length===0)return null;if(t===null)return n===`previous`?r.at(-1)??null:r[0]??null;let i=r.indexOf(t);return i===-1?null:n===`previous`?i>0?r[i-1]??null:null:i<r.length-1?r[i+1]??null:null}function Re(e){return e.button===2||e.isMac&&e.button===0&&e.ctrlKey}function ze(e){let t=`h-7 w-full translate-x-0 cursor-pointer justify-start px-2 text-left select-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring`;return e.isSelected&&e.isActive?C(t,`bg-primary/22 text-foreground font-medium hover:bg-primary/26 hover:text-foreground dark:bg-primary/30 dark:hover:bg-primary/36`):e.isSelected?C(t,`bg-primary/15 text-foreground hover:bg-primary/19 hover:text-foreground dark:bg-primary/22 dark:hover:bg-primary/28`):e.isActive?C(t,`bg-accent/85 text-foreground font-medium hover:bg-accent hover:text-foreground dark:bg-accent/55 dark:hover:bg-accent/70`):C(t,`text-muted-foreground hover:bg-accent hover:text-foreground`)}function Be(e){let{thread:t}=e,n=x(t);return n===`approval`?{label:`Pending Approval`,colorClass:`text-amber-600 dark:text-amber-300/90`,dotClass:`bg-amber-500 dark:bg-amber-300/90`,pulse:!1}:n===`input`?{label:`Awaiting Input`,colorClass:`text-indigo-600 dark:text-indigo-300/90`,dotClass:`bg-indigo-500 dark:bg-indigo-300/90`,pulse:!1}:n===`working`?{label:`Working`,colorClass:`text-sky-600 dark:text-sky-300/80`,dotClass:`bg-sky-500 dark:bg-sky-300/80`,pulse:!0}:n===`connecting`?{label:`Connecting`,colorClass:`text-sky-600 dark:text-sky-300/80`,dotClass:`bg-sky-500 dark:bg-sky-300/80`,pulse:!0}:n===`plan-ready`?{label:`Plan Ready`,colorClass:`text-violet-600 dark:text-violet-300/90`,dotClass:`bg-violet-500 dark:bg-violet-300/90`,pulse:!1}:n===`monitoring`?{label:`Monitoring`,colorClass:`text-sky-600 dark:text-sky-300/80`,dotClass:`bg-sky-500 dark:bg-sky-300/80`,pulse:!0}:Te(t)?{label:`Completed`,colorClass:`text-emerald-600 dark:text-emerald-300/90`,dotClass:`bg-emerald-500 dark:bg-emerald-300/90`,pulse:!1}:null}function Ve(e){let t=null;for(let n of e)n!==null&&(t===null||Y[n.label]>Y[t.label])&&(t=n);return t}function He(e){let{deletedThreadId:t,deletedThreadIds:n,sortOrder:r,threads:i}=e,a=i.find(e=>e.id===t);if(!a)return null;let o=i.filter(e=>e.id!==t&&!n?.has(e.id));return d(o.filter(e=>e.projectId===a.projectId),r)[0]?.id??d(o,r)[0]?.id??null}function Z(e,t,n){return t.length>0?t.reduce((e,t)=>Math.max(e,_(t,n)),-1/0):n===`created_at`?N(e.createdAt)??-1/0:N(e.updatedAt??e.createdAt)??-1/0}function Ue(e,t,n){if(n===`manual`)return[...e];let r=new Map;for(let e of t){let t=r.get(e.projectId)??[];t.push(e),r.set(e.projectId,t)}return[...e].toSorted((e,t)=>{let i=Z(t,r.get(t.id)??[],n),a=Z(e,r.get(e.id)??[],n),o=i===a?0:i>a?1:-1;return o===0?e.name.localeCompare(t.name)||e.id.localeCompare(t.id):o})}function We(e){if(!e.ready||e.primaryEnvironmentId===null)return e.machines;let t=e.machines.filter(t=>t.environmentId!==e.primaryEnvironmentId&&t.environmentId!==e.localHubEnvironmentId);return[{environmentId:e.primaryEnvironmentId,label:oe({environmentId:e.primaryEnvironmentId,primaryEnvironmentId:e.primaryEnvironmentId,localHubEnvironmentId:e.localHubEnvironmentId??null,machines:e.machines,fallback:e.primaryLabel}),online:!0,canMutate:!0,nativeTrust:`not-required`},...t]}function Ge(e){if(e.preferredEnvironmentId!==void 0&&e.preferredEnvironmentId!==null){if(!e.ready)return null;let t=e.machines.find(t=>t.environmentId===e.preferredEnvironmentId);if(!t?.online||!t.canMutate)return null;let r=e.orderedProjects.find(t=>t.environmentId===e.preferredEnvironmentId);return r===void 0?null:n(r.environmentId,r.id)}let r=e.orderedProjects[0];if(!r)return null;if(!e.ready)return n(r.environmentId,r.id);let i=e.logicalKey(r),a=new Map(e.machines.map(e=>[e.environmentId,e])),o=e.orderedProjects.filter(t=>e.logicalKey(t)===i),s=fe({project:{key:i,label:r.name,repositoryIdentity:r.repositoryIdentity??null,ambiguous:o.length>1,variants:o.flatMap(r=>{let i=a.get(r.environmentId);return i?[{environmentId:r.environmentId,projectId:r.id,physicalKey:t(n(r.environmentId,r.id)),name:r.name,cwd:r.cwd,repositoryIdentity:r.repositoryIdentity??null,machineLabel:i.label,online:i.online,canMutate:i.canMutate,nativeTrust:i.nativeTrust,effectiveRole:i.canMutate?`owner`:null,lastUsedAt:null,lastLiveAt:null,localDesktop:e.localEnvironmentId===r.environmentId}]:[]})}});return s.status===`resolved`?n(s.target.environmentId,s.target.projectId):null}function Ke(){let e=(0,G.useRef)(new Map),n=l(V(e=>f(e))),r=y(e=>({sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides})),i=F(),o=(0,G.useCallback)(e=>{let t=z(e);t&&re(t)},[]),s=(0,G.useCallback)(()=>{let e=i.state.matches[i.state.matches.length-1]?.params??{};return b(e)},[i]);return(0,G.useCallback)(function l(u,d){let f=z(u.environmentId);if(f!==null&&(o(u.environmentId),R(u.environmentId)===null))return ne(u.environmentId).then(e=>{if(e===null){if(d?.freshDraft)throw Error(`The workspace is unavailable. Your selection draft is preserved.`);return}return l(u,d)});let{getDraftSessionByLogicalProjectKey:p,getDraftSession:h,getDraftThread:g,applyStickyState:_,setDraftThreadContext:v,setLogicalProjectDraftThreadId:y}=j.getState(),b=s(),x=n.find(e=>e.id===u.projectId&&e.environmentId===u.environmentId),S=x?P(x,r):t(u);if(d?.freshDraft){let t=d.freshDraft;if(!t.isCurrent())throw Error(`The source chat changed. Your selection draft was not sent.`);let n=j.getState();return(()=>{let n=j.getState(),r=e.current.get(t.draftId);if(n.draftThreadsByThreadKey[t.draftId]&&(!r||n.getComposerDraft(t.draftId)!==r.composer||n.draftThreadsByThreadKey[t.draftId]!==r.session))throw Error(`The destination draft changed elsewhere. Both drafts are preserved; open the destination to continue.`)})(),n.createDetachedDraftSession(S,u,t.draftId,{threadId:t.threadId,branch:d.branch??null,worktreePath:d.worktreePath??null,envMode:d.envMode??`local`,runtimeMode:t.runtimeMode,tokenMode:t.tokenMode}),n.setPrompt(t.draftId,t.prompt),n.setModelSelection(t.draftId,t.modelSelection),n.setRuntimeMode(t.draftId,t.runtimeMode),n.setTokenMode(t.draftId,t.tokenMode),n.setDraftThreadContext(t.draftId,{branch:d.branch??null,envMode:d.envMode??`local`}),e.current.clear(),e.current.set(t.draftId,{composer:n.getComposerDraft(t.draftId),session:j.getState().draftThreadsByThreadKey[t.draftId]}),(async()=>{await i.navigate({to:`/draft/$draftId`,params:{draftId:t.draftId}});let n=j.getState().getComposerDraft(t.draftId),r=e.current.get(t.draftId)?.composer;if(n?.prompt!==t.prompt||n?.images!==r?.images||n?.terminalContexts!==r?.terminalContexts||n?.sourceControlContexts!==r?.sourceControlContexts)throw Error(`The destination draft changed. Send from the full composer to keep your edits.`);let a=s();if(a?.kind!==`draft`||a.draftId!==t.draftId)throw Error(`Navigation was cancelled. Your selection draft is preserved.`)})()}let C=d?.branch!==void 0,w=d?.worktreePath!==void 0,D=d?.envMode!==void 0,O=p(S),A=b?b.kind===`server`?g(b.threadRef):h(b.draftId):null;if(O)return(async()=>{(C||w||D)&&v(O.draftId,{...C?{branch:d?.branch??null}:{},...w?{worktreePath:d?.worktreePath??null}:{},...D?{envMode:d?.envMode}:{}}),y(S,u,O.draftId,{threadId:O.threadId}),(b?.kind!==`draft`||b.draftId!==O.draftId)&&(o(u.environmentId),await i.navigate({to:`/draft/$draftId`,params:{draftId:O.draftId}}))})();if(A&&b?.kind===`draft`&&A.logicalProjectKey===S&&A.promotedTo==null)return(C||w||D)&&v(b.draftId,{...C?{branch:d?.branch??null}:{},...w?{worktreePath:d?.worktreePath??null}:{},...D?{envMode:d?.envMode}:{}}),y(S,u,b.draftId,{threadId:A.threadId,createdAt:A.createdAt,runtimeMode:A.runtimeMode,interactionMode:A.interactionMode,tokenMode:A.tokenMode??`off`,...C?{branch:d?.branch??null}:{},...w?{worktreePath:d?.worktreePath??null}:{},...D?{envMode:d?.envMode}:{}}),Promise.resolve();let N=T(),F=k(),I=new Date().toISOString();return(async()=>{let e=f===null?null:R(u.environmentId),t=a(),n=t?.environment.environmentId===u.environmentId?t:M(u.environmentId)?.serverConfig;if(!n)throw Error(`Node settings are still loading. Try creating the draft again.`);let r=await H({api:E(u.environmentId),config:n,projectId:u.projectId}),s=f===null?null:R(u.environmentId);if(f!==null&&(!e||!s||!ie(e,u.environmentId,s)))throw Error(`The workspace connection changed. Try creating the draft again.`);if(p(S))return l(u,d);y(S,u,N,{threadId:F,createdAt:I,branch:d?.branch??null,worktreePath:d?.worktreePath??null,envMode:d?.envMode??r?.defaultThreadEnvMode.value??n.settings.defaultThreadEnvMode,runtimeMode:c,tokenMode:n.settings.defaultAgentTokenMode}),_(N);let m=d?.modelSelection??r?.initialModelSelection.value;m&&j.getState().setModelSelection(N,ce({effective:r,fallback:m,explicit:d?.modelSelection})),o(u.environmentId),await i.navigate({to:`/draft/$draftId`,params:{draftId:N}})})().catch(e=>{m.add({type:`error`,title:`Could not create a draft`,description:e instanceof Error?e.message:`Reconnect to this node and try again.`})})},[o,s,r,i,n])}function qe(){let e=(0,K.c)(2),t=Ke(),n;return e[0]===t?n=e[1]:(n={handleNewThread:t},e[0]=t,e[1]=n),n}function Je(){let e=(0,K.c)(29),t=v(tt),n=y(et),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={strict:!1,select:$e},e[0]=r):r=e[0];let a=w(r),o=a?.kind===`server`?a.threadRef:null,s;e[1]===o?s=e[2]:(s=S(o),e[1]=o,e[2]=s);let c=l(s),d=j(Qe),f;e[3]!==d||e[4]!==a?(f=()=>a?a.kind===`server`?d(a.threadRef):j.getState().getDraftSession(a.draftId):null,e[3]=d,e[4]=a,e[5]=f):f=e[5];let p=j(f),m=l(V(Ze)),h;e[6]!==t||e[7]!==m?(h=X({items:m,preferredIds:t,getId:u}),e[6]=t,e[7]=m,e[8]=h):h=e[8];let _=h,b=Ke(),x=se(),C=ae(),T=te(),E=i(),D=g(Xe),O;e[9]!==C||e[10]!==T.machines||e[11]!==T.status||e[12]!==x||e[13]!==E?(O=T.status===`signed-out`?{machines:We({machines:C.machines,ready:C.status===`ready`,primaryEnvironmentId:E,localHubEnvironmentId:C.localEnvironmentId,primaryLabel:x}),ready:C.status===`ready`,localEnvironmentId:E}:{machines:T.machines.map(Ye),ready:T.status===`ready`,localEnvironmentId:null},e[9]=C,e[10]=T.machines,e[11]=T.status,e[12]=x,e[13]=E,e[14]=O):O=e[14];let k=O,A;e[15]===n?A=e[16]:(A=e=>P(e,n),e[15]=n,e[16]=A);let M;e[17]!==T.status||e[18]!==_||e[19]!==D||e[20]!==A||e[21]!==k?(M=Ge({orderedProjects:_,...k,logicalKey:A,...T.status===`signed-out`?{}:{preferredEnvironmentId:D}}),e[17]=T.status,e[18]=_,e[19]=D,e[20]=A,e[21]=k,e[22]=M):M=e[22];let N=M,F=D!==null&&c?.environmentId!==D?void 0:c,I=D!==null&&p?.environmentId!==D?null:p,L;return e[23]!==I||e[24]!==F||e[25]!==N||e[26]!==b||e[27]!==o?(L={activeDraftThread:I,activeThread:F,defaultProjectRef:N,handleNewThread:b,routeThreadRef:o},e[23]=I,e[24]=F,e[25]=N,e[26]=b,e[27]=o,e[28]=L):L=e[28],L}function Ye(e){return{...e,online:e.presence.online}}function Xe(e){return e.selectedNode?.environmentId??null}function Ze(e){return f(e)}function Qe(e){return e.getDraftThread}function $e(e){return b(e)}function et(e){return{sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides}}function tt(e){return e.projectOrder}var nt={archive:`Thread archived`,settle:`Thread settled`,snooze:`Thread snoozed`,unpin:`Thread unpinned`},Q=new Map;function rt(e){for(let[t,n]of Q)e.some(e=>e.id===t)||(Q.delete(t),m.close(n.toastId));for(let t of e){let e=Q.get(t.id),n=B({type:`info`,title:t.applying?{archive:`Archiving thread…`,settle:`Settling thread…`,snooze:`Snoozing thread…`,unpin:`Unpinning thread…`}[t.action]:nt[t.action],timeout:0,description:t.threadTitle,actionProps:{children:t.pending?`Undoing…`:`Undo`,disabled:t.pending,"aria-label":`Undo ${t.action}${t.threadTitle?` ${t.threadTitle}`:``}`,onClick:()=>void $.undo(t.id)},data:{onClose:()=>$.dismiss(t.id)}});e?(e.pending!==t.pending||e.applying!==t.applying)&&(m.update(e.toastId,n),e.pending=t.pending,e.applying=t.applying):Q.set(t.id,{toastId:m.add(n),pending:t.pending,applying:t.applying})}}function it(e){let t=l.getState(),n=h(t,e),r=n?p(t,{environmentId:e.environmentId,projectId:n.projectId}):null;return!n||!r?null:{threadRevision:ue(n),parentRevision:r,threadTitle:n.title,subscribe:l.subscribe}}function at(e){let t=D(e.environmentId),n=t?.shellSnapshotReadiness.read(),r=A(e.environmentId),i=it(e);if(!t||!n||!r||!i)return null;let a=M(e.environmentId),c=s(),l=(c?.environmentId===e.environmentId?c.capabilities:a.descriptor?.capabilities)?.threadSidebarUndo===!0;if(o()){let t=ee().machines.find(t=>t.environmentId===e.environmentId);if(!t?.canMutate||t.connectionState!==`connected`||t.cacheDisposition!==`available`)return null}return{generation:n,api:r,threadRevision:i.threadRevision,parentRevision:i.parentRevision,threadTitle:i.threadTitle,supported:l}}var $=de({readContext:at,readLocalContext:it,newCommandId:O,changed:rt,failed:e=>m.add(B({type:`error`,title:`Could not undo thread action`,description:e instanceof Error?e.message:`The request failed. Check the current thread state before trying again.`}))});export{ve as A,Ee as C,Me as D,xe as E,Ne as M,we as N,je as O,H as P,Fe as S,J as T,Oe as _,q as a,Be as b,ye as c,Ae as d,Re as f,Ve as g,Le as h,We as i,Ue as j,Ie as k,he as l,X as m,Je as n,me as o,De as p,qe as r,ge as s,$ as t,He as u,ke as v,Se as w,Pe as x,ze as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$l as e,ei as t}from"./runtime-
|
|
1
|
+
import{$l as e,ei as t}from"./runtime-OM-uAtaj.js";import{t as n}from"./compiler-runtime-C4g8XhC5.js";var r=n(),i=e();function a(e){let n=(0,r.c)(8),a,o;n[0]===e?(a=n[1],o=n[2]):({className:a,...o}=e,n[0]=e,n[1]=a,n[2]=o);let s;n[3]===a?s=n[4]:(s=t(`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),n[3]=a,n[4]=s);let c;return n[5]!==o||n[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`skeleton`,...o}),n[5]=o,n[6]=s,n[7]=c):c=n[7],c}export{a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ho as e}from"./runtime-
|
|
1
|
+
import{ho as e}from"./runtime-OM-uAtaj.js";var t={name:`smartphone`,size:24,node:[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ho as e}from"./runtime-OM-uAtaj.js";var t={name:`square`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ho as e}from"./runtime-
|
|
1
|
+
import{ho as e}from"./runtime-OM-uAtaj.js";var t={name:`star`,size:24,node:[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]};t.node;var n=e(t);export{n as t};
|
package/dist/client/assets/{stateDiagram-OKZ733FA-D8fRUjov.js → stateDiagram-OKZ733FA-DoIZN669.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{at as e,lt as t}from"./noop-CdBy4H-p.js";import{g as n}from"./chunk-NSK5VX7P-BgrjQWAz.js";import{n as r,t as i}from"./src-BISxbUej.js";import{n as a}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{O as o,c as s,s as c,x as l}from"./chunk-I66GZJ75-DAfCveu2.js";import"./chunk-W5SLKNZC-0-ctjkBJ.js";import"./chunk-UBXNYLIW-BVySE3ty.js";import"./chunk-4I5QYGJK-a9tLNjnj.js";import"./chunk-WRU74C26-AGGo_1S7.js";import"./chunk-QR6OTTB3-NTX__XXO.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-7Z6QIM7H-Ba8d__CQ.js";import"./mermaidEngine-3NZnIFOn.js";import{t as u}from"./graphlib-DS17s2tU.js";import{t as d}from"./dagre-jnk0s9qx.js";import"./chunk-2GRJ4B5K-CFM4Ac_N.js";import"./chunk-XXDRQBXY-DKGD__ll.js";import"./chunk-KBJHAD2P-X87J_pHD.js";import{i as f,n as p,t as m}from"./chunk-5RXB4S5H-CbEb4Ht8.js";var h=a(e=>e.append(`circle`).attr(`class`,`start-state`).attr(`r`,l().state.sizeUnit).attr(`cx`,l().state.padding+l().state.sizeUnit).attr(`cy`,l().state.padding+l().state.sizeUnit),`drawStartState`),g=a(e=>e.append(`line`).style(`stroke`,`grey`).style(`stroke-dasharray`,`3`).attr(`x1`,l().state.textHeight).attr(`class`,`divider`).attr(`x2`,l().state.textHeight*2).attr(`y1`,0).attr(`y2`,0),`drawDivider`),_=a((e,t)=>{let n=e.append(`text`).attr(`x`,2*l().state.padding).attr(`y`,l().state.textHeight+2*l().state.padding).attr(`font-size`,l().state.fontSize).attr(`class`,`state-title`).text(t.id),r=n.node().getBBox();return e.insert(`rect`,`:first-child`).attr(`x`,l().state.padding).attr(`y`,l().state.padding).attr(`width`,r.width+2*l().state.padding).attr(`height`,r.height+2*l().state.padding).attr(`rx`,l().state.radius),n},`drawSimpleState`),v=a((e,t)=>{let n=a(function(e,t,n){let r=e.append(`tspan`).attr(`x`,2*l().state.padding).text(t);n||r.attr(`dy`,l().state.textHeight)},`addTspan`),r=e.append(`text`).attr(`x`,2*l().state.padding).attr(`y`,l().state.textHeight+1.3*l().state.padding).attr(`font-size`,l().state.fontSize).attr(`class`,`state-title`).text(t.descriptions[0]).node().getBBox(),i=r.height,o=e.append(`text`).attr(`x`,l().state.padding).attr(`y`,i+l().state.padding*.4+l().state.dividerMargin+l().state.textHeight).attr(`class`,`state-description`),s=!0,c=!0;t.descriptions.forEach(function(e){s||(n(o,e,c),c=!1),s=!1});let u=e.append(`line`).attr(`x1`,l().state.padding).attr(`y1`,l().state.padding+i+l().state.dividerMargin/2).attr(`y2`,l().state.padding+i+l().state.dividerMargin/2).attr(`class`,`descr-divider`),d=o.node().getBBox(),f=Math.max(d.width,r.width);return u.attr(`x2`,f+3*l().state.padding),e.insert(`rect`,`:first-child`).attr(`x`,l().state.padding).attr(`y`,l().state.padding).attr(`width`,f+2*l().state.padding).attr(`height`,d.height+i+2*l().state.padding).attr(`rx`,l().state.radius),e},`drawDescrState`),y=a((e,t,n)=>{let r=l().state.padding,i=2*l().state.padding,a=e.node().getBBox(),o=a.width,s=a.x,c=e.append(`text`).attr(`x`,0).attr(`y`,l().state.titleShift).attr(`font-size`,l().state.fontSize).attr(`class`,`state-title`).text(t.id),u=c.node().getBBox().width+i,d=Math.max(u,o);d===o&&(d+=i);let f,p=e.node().getBBox();t.doc,f=s-r,u>o&&(f=(o-d)/2+r),Math.abs(s-p.x)<r&&u>o&&(f=s-(u-o)/2);let m=1-l().state.textHeight;return e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,m).attr(`class`,n?`alt-composit`:`composit`).attr(`width`,d).attr(`height`,p.height+l().state.textHeight+l().state.titleShift+1).attr(`rx`,`0`),c.attr(`x`,f+r),u<=o&&c.attr(`x`,s+(d-i)/2-u/2+r),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,l().state.titleShift-l().state.textHeight-l().state.padding).attr(`width`,d).attr(`height`,l().state.textHeight*3).attr(`rx`,l().state.radius),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,l().state.titleShift-l().state.textHeight-l().state.padding).attr(`width`,d).attr(`height`,p.height+3+2*l().state.textHeight).attr(`rx`,l().state.radius),e},`addTitleAndBox`),b=a(e=>(e.append(`circle`).attr(`class`,`end-state-outer`).attr(`r`,l().state.sizeUnit+l().state.miniPadding).attr(`cx`,l().state.padding+l().state.sizeUnit+l().state.miniPadding).attr(`cy`,l().state.padding+l().state.sizeUnit+l().state.miniPadding),e.append(`circle`).attr(`class`,`end-state-inner`).attr(`r`,l().state.sizeUnit).attr(`cx`,l().state.padding+l().state.sizeUnit+2).attr(`cy`,l().state.padding+l().state.sizeUnit+2)),`drawEndState`),x=a((e,t)=>{let n=l().state.forkWidth,r=l().state.forkHeight;if(t.parentId){let e=n;n=r,r=e}return e.append(`rect`).style(`stroke`,`black`).style(`fill`,`black`).attr(`width`,n).attr(`height`,r).attr(`x`,l().state.padding).attr(`y`,l().state.padding)},`drawForkJoinState`),S=a((e,t,n,r)=>{let i=0,a=r.append(`text`);a.style(`text-anchor`,`start`),a.attr(`class`,`noteText`);let o=e.replace(/\r\n/g,`<br/>`);o=o.replace(/\n/g,`<br/>`);let s=o.split(c.lineBreakRegex),u=1.25*l().state.noteMargin;for(let e of s){let r=e.trim();if(r.length>0){let e=a.append(`tspan`);if(e.text(r),u===0){let t=e.node().getBBox();u+=t.height}i+=u,e.attr(`x`,t+l().state.noteMargin),e.attr(`y`,n+i+1.25*l().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},`_drawLongText`),C=a((e,t)=>{t.attr(`class`,`state-note`);let n=t.append(`rect`).attr(`x`,0).attr(`y`,l().state.padding),{textWidth:r,textHeight:i}=S(e,0,0,t.append(`g`));return n.attr(`height`,i+2*l().state.noteMargin),n.attr(`width`,r+l().state.noteMargin*2),n},`drawNote`),w=a(function(e,t){let n=t.id,r={id:n,label:t.id,width:0,height:0},i=e.append(`g`).attr(`id`,n).attr(`class`,`stateGroup`);t.type===`start`&&h(i),t.type===`end`&&b(i),(t.type===`fork`||t.type===`join`)&&x(i,t),t.type===`note`&&C(t.note.text,i),t.type===`divider`&&g(i),t.type==="default"&&t.descriptions.length===0&&_(i,t),t.type==="default"&&t.descriptions.length>0&&v(i,t);let a=i.node().getBBox();return r.width=a.width+2*l().state.padding,r.height=a.height+2*l().state.padding,r},`drawState`),T=0,E=a(function(i,s,u){let d=a(function(e){switch(e){case m.relationType.AGGREGATION:return`aggregation`;case m.relationType.EXTENSION:return`extension`;case m.relationType.COMPOSITION:return`composition`;case m.relationType.DEPENDENCY:return`dependency`}},`getRelationType`);s.points=s.points.filter(e=>!Number.isNaN(e.y));let f=s.points,p=t().x(function(e){return e.x}).y(function(e){return e.y}).curve(e),h=i.append(`path`).attr(`d`,p(f)).attr(`id`,`edge`+T).attr(`class`,`transition`),g=``;if(l().state.arrowMarkerAbsolute&&(g=o(!0)),h.attr(`marker-end`,`url(`+g+`#`+d(m.relationType.DEPENDENCY)+`End)`),u.title!==void 0){let e=i.append(`g`).attr(`class`,`stateLabel`),{x:t,y:a}=n.calcLabelPosition(s.points),o=c.getRows(u.title),d=0,f=[],p=0,m=0;for(let n=0;n<=o.length;n++){let i=e.append(`text`).attr(`text-anchor`,`middle`).text(o[n]).attr(`x`,t).attr(`y`,a+d),s=i.node().getBBox();p=Math.max(p,s.width),m=Math.min(m,s.x),r.info(s.x,t,a+d),d===0&&(d=i.node().getBBox().height,r.info(`Title height`,d,a)),f.push(i)}let h=d*o.length;if(o.length>1){let e=(o.length-1)*d*.5;f.forEach((t,n)=>t.attr(`y`,a+n*d-e)),h=d*o.length}let g=e.node().getBBox();e.insert(`rect`,`:first-child`).attr(`class`,`box`).attr(`x`,t-p/2-l().state.padding/2).attr(`y`,a-h/2-l().state.padding/2-3.5).attr(`width`,p+l().state.padding).attr(`height`,h+l().state.padding),r.info(g)}T++},`drawEdge`),D,O={},k=a(function(){},`setConf`),A=a(function(e){e.append(`defs`).append(`marker`).attr(`id`,`dependencyEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`insertMarkers`),j=a(function(e,t,n,a){D=l().state;let o=l().securityLevel,c;o===`sandbox`&&(c=i(`#i`+t));let u=i(o===`sandbox`?c.nodes()[0].contentDocument.body:`body`),d=o===`sandbox`?c.nodes()[0].contentDocument:document;r.debug(`Rendering diagram `+e);let f=u.select(`[id='${t}']`);A(f),N(a.db.getRootDoc(),f.append(`g`).attr(`id`,t+`-root`),void 0,!1,u,d,a);let p=D.padding,m=f.node().getBBox(),h=m.width+p*2,g=m.height+p*2,_=h*1.75;s(f,g,_,D.useMaxWidth),f.attr(`viewBox`,`${m.x-D.padding} ${m.y-D.padding} `+h+` `+g)},`draw`),M=a(e=>e?e.length*D.fontSizeFactor:1,`getLabelWidth`),N=a((e,t,n,i,a,o,s)=>{let l=new u({compound:!0,multigraph:!0}),f,p=!0;for(f=0;f<e.length;f++)if(e[f].stmt===`relation`){p=!1;break}n?l.setGraph({rankdir:`LR`,multigraph:!0,compound:!0,ranker:`tight-tree`,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,isMultiGraph:!0}):l.setGraph({rankdir:`TB`,multigraph:!0,compound:!0,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,ranker:`tight-tree`,isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}});let m=s.db.getStates(),h=s.db.getRelations(),g=Object.keys(m);for(let e of g){let r=m[e];n&&(r.parentId=n);let c;if(r.doc){let e=t.append(`g`).attr(`id`,r.id).attr(`class`,`stateGroup`);c=N(r.doc,e,r.id,!i,a,o,s);{e=y(e,r,i);let t=e.node().getBBox();c.width=t.width,c.height=t.height+D.padding/2,O[r.id]={y:D.compositTitleSize}}}else c=w(t,r,l);if(r.note){let e=w(t,{descriptions:[],id:r.id+`-note`,note:r.note,type:`note`},l);r.note.position===`left of`?(l.setNode(c.id+`-note`,e),l.setNode(c.id,c)):(l.setNode(c.id,c),l.setNode(c.id+`-note`,e)),l.setParent(c.id,c.id+`-group`),l.setParent(c.id+`-note`,c.id+`-group`)}else l.setNode(c.id,c)}r.debug(`Count=`,l.nodeCount(),l);let _=0;h.forEach(function(e){_++,r.debug(`Setting edge`,e),l.setEdge(e.id1,e.id2,{relation:e,width:M(e.title),height:D.labelHeight*c.getRows(e.title).length,labelpos:`c`},`id`+_)}),d(l),r.debug(`Graph after layout`,l.nodes());let v=t.node();l.nodes().forEach(function(e){e!==void 0&&l.node(e)!==void 0?(r.warn(`Node `+e+`: `+JSON.stringify(l.node(e))),a.select(`#`+v.id+` #`+e).attr(`transform`,`translate(`+(l.node(e).x-l.node(e).width/2)+`,`+(l.node(e).y+(O[e]?O[e].y:0)-l.node(e).height/2)+` )`),a.select(`#`+v.id+` #`+e).attr(`data-x-shift`,l.node(e).x-l.node(e).width/2),o.querySelectorAll(`#`+v.id+` #`+e+` .divider`).forEach(e=>{let t=e.parentElement,n=0,r=0;t&&(t.parentElement&&(n=t.parentElement.getBBox().width),r=parseInt(t.getAttribute(`data-x-shift`),10),Number.isNaN(r)&&(r=0)),e.setAttribute(`x1`,0-r+8),e.setAttribute(`x2`,n-r-8)})):r.debug(`No Node `+e+`: `+JSON.stringify(l.node(e)))});let b=v.getBBox();l.edges().forEach(function(e){e!==void 0&&l.edge(e)!==void 0&&(r.debug(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(l.edge(e))),E(t,l.edge(e),l.edge(e).relation))}),b=v.getBBox();let x={id:n||`root`,label:n||`root`,width:0,height:0};return x.width=b.width+2*D.padding,x.height=b.height+2*D.padding,r.debug(`Doc rendered`,x,l),x},`renderDoc`),P={parser:p,get db(){return new m(1)},renderer:{setConf:k,draw:j},styles:f,init:a(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{P as diagram};
|
|
1
|
+
import{at as e,lt as t}from"./noop-CdBy4H-p.js";import{g as n}from"./chunk-NSK5VX7P-BVMz_Hc4.js";import{n as r,t as i}from"./src-BISxbUej.js";import{n as a}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{O as o,c as s,s as c,x as l}from"./chunk-I66GZJ75-BZ7XtZf4.js";import"./chunk-W5SLKNZC-Bnf3sQl4.js";import"./chunk-UBXNYLIW-BuxXXP2s.js";import"./chunk-4I5QYGJK-Clf86zK0.js";import"./chunk-WRU74C26-xu-KDOon.js";import"./chunk-QR6OTTB3-DWitTCy-.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-7Z6QIM7H-Ctqebv_4.js";import"./mermaidEngine-Cjfgf3Bg.js";import{t as u}from"./graphlib-DS17s2tU.js";import{t as d}from"./dagre-jnk0s9qx.js";import"./chunk-2GRJ4B5K-D1tZuCzA.js";import"./chunk-XXDRQBXY-DKGD__ll.js";import"./chunk-KBJHAD2P-DtWbzsRm.js";import{i as f,n as p,t as m}from"./chunk-5RXB4S5H-B36N5RYZ.js";var h=a(e=>e.append(`circle`).attr(`class`,`start-state`).attr(`r`,l().state.sizeUnit).attr(`cx`,l().state.padding+l().state.sizeUnit).attr(`cy`,l().state.padding+l().state.sizeUnit),`drawStartState`),g=a(e=>e.append(`line`).style(`stroke`,`grey`).style(`stroke-dasharray`,`3`).attr(`x1`,l().state.textHeight).attr(`class`,`divider`).attr(`x2`,l().state.textHeight*2).attr(`y1`,0).attr(`y2`,0),`drawDivider`),_=a((e,t)=>{let n=e.append(`text`).attr(`x`,2*l().state.padding).attr(`y`,l().state.textHeight+2*l().state.padding).attr(`font-size`,l().state.fontSize).attr(`class`,`state-title`).text(t.id),r=n.node().getBBox();return e.insert(`rect`,`:first-child`).attr(`x`,l().state.padding).attr(`y`,l().state.padding).attr(`width`,r.width+2*l().state.padding).attr(`height`,r.height+2*l().state.padding).attr(`rx`,l().state.radius),n},`drawSimpleState`),v=a((e,t)=>{let n=a(function(e,t,n){let r=e.append(`tspan`).attr(`x`,2*l().state.padding).text(t);n||r.attr(`dy`,l().state.textHeight)},`addTspan`),r=e.append(`text`).attr(`x`,2*l().state.padding).attr(`y`,l().state.textHeight+1.3*l().state.padding).attr(`font-size`,l().state.fontSize).attr(`class`,`state-title`).text(t.descriptions[0]).node().getBBox(),i=r.height,o=e.append(`text`).attr(`x`,l().state.padding).attr(`y`,i+l().state.padding*.4+l().state.dividerMargin+l().state.textHeight).attr(`class`,`state-description`),s=!0,c=!0;t.descriptions.forEach(function(e){s||(n(o,e,c),c=!1),s=!1});let u=e.append(`line`).attr(`x1`,l().state.padding).attr(`y1`,l().state.padding+i+l().state.dividerMargin/2).attr(`y2`,l().state.padding+i+l().state.dividerMargin/2).attr(`class`,`descr-divider`),d=o.node().getBBox(),f=Math.max(d.width,r.width);return u.attr(`x2`,f+3*l().state.padding),e.insert(`rect`,`:first-child`).attr(`x`,l().state.padding).attr(`y`,l().state.padding).attr(`width`,f+2*l().state.padding).attr(`height`,d.height+i+2*l().state.padding).attr(`rx`,l().state.radius),e},`drawDescrState`),y=a((e,t,n)=>{let r=l().state.padding,i=2*l().state.padding,a=e.node().getBBox(),o=a.width,s=a.x,c=e.append(`text`).attr(`x`,0).attr(`y`,l().state.titleShift).attr(`font-size`,l().state.fontSize).attr(`class`,`state-title`).text(t.id),u=c.node().getBBox().width+i,d=Math.max(u,o);d===o&&(d+=i);let f,p=e.node().getBBox();t.doc,f=s-r,u>o&&(f=(o-d)/2+r),Math.abs(s-p.x)<r&&u>o&&(f=s-(u-o)/2);let m=1-l().state.textHeight;return e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,m).attr(`class`,n?`alt-composit`:`composit`).attr(`width`,d).attr(`height`,p.height+l().state.textHeight+l().state.titleShift+1).attr(`rx`,`0`),c.attr(`x`,f+r),u<=o&&c.attr(`x`,s+(d-i)/2-u/2+r),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,l().state.titleShift-l().state.textHeight-l().state.padding).attr(`width`,d).attr(`height`,l().state.textHeight*3).attr(`rx`,l().state.radius),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,l().state.titleShift-l().state.textHeight-l().state.padding).attr(`width`,d).attr(`height`,p.height+3+2*l().state.textHeight).attr(`rx`,l().state.radius),e},`addTitleAndBox`),b=a(e=>(e.append(`circle`).attr(`class`,`end-state-outer`).attr(`r`,l().state.sizeUnit+l().state.miniPadding).attr(`cx`,l().state.padding+l().state.sizeUnit+l().state.miniPadding).attr(`cy`,l().state.padding+l().state.sizeUnit+l().state.miniPadding),e.append(`circle`).attr(`class`,`end-state-inner`).attr(`r`,l().state.sizeUnit).attr(`cx`,l().state.padding+l().state.sizeUnit+2).attr(`cy`,l().state.padding+l().state.sizeUnit+2)),`drawEndState`),x=a((e,t)=>{let n=l().state.forkWidth,r=l().state.forkHeight;if(t.parentId){let e=n;n=r,r=e}return e.append(`rect`).style(`stroke`,`black`).style(`fill`,`black`).attr(`width`,n).attr(`height`,r).attr(`x`,l().state.padding).attr(`y`,l().state.padding)},`drawForkJoinState`),S=a((e,t,n,r)=>{let i=0,a=r.append(`text`);a.style(`text-anchor`,`start`),a.attr(`class`,`noteText`);let o=e.replace(/\r\n/g,`<br/>`);o=o.replace(/\n/g,`<br/>`);let s=o.split(c.lineBreakRegex),u=1.25*l().state.noteMargin;for(let e of s){let r=e.trim();if(r.length>0){let e=a.append(`tspan`);if(e.text(r),u===0){let t=e.node().getBBox();u+=t.height}i+=u,e.attr(`x`,t+l().state.noteMargin),e.attr(`y`,n+i+1.25*l().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},`_drawLongText`),C=a((e,t)=>{t.attr(`class`,`state-note`);let n=t.append(`rect`).attr(`x`,0).attr(`y`,l().state.padding),{textWidth:r,textHeight:i}=S(e,0,0,t.append(`g`));return n.attr(`height`,i+2*l().state.noteMargin),n.attr(`width`,r+l().state.noteMargin*2),n},`drawNote`),w=a(function(e,t){let n=t.id,r={id:n,label:t.id,width:0,height:0},i=e.append(`g`).attr(`id`,n).attr(`class`,`stateGroup`);t.type===`start`&&h(i),t.type===`end`&&b(i),(t.type===`fork`||t.type===`join`)&&x(i,t),t.type===`note`&&C(t.note.text,i),t.type===`divider`&&g(i),t.type==="default"&&t.descriptions.length===0&&_(i,t),t.type==="default"&&t.descriptions.length>0&&v(i,t);let a=i.node().getBBox();return r.width=a.width+2*l().state.padding,r.height=a.height+2*l().state.padding,r},`drawState`),T=0,E=a(function(i,s,u){let d=a(function(e){switch(e){case m.relationType.AGGREGATION:return`aggregation`;case m.relationType.EXTENSION:return`extension`;case m.relationType.COMPOSITION:return`composition`;case m.relationType.DEPENDENCY:return`dependency`}},`getRelationType`);s.points=s.points.filter(e=>!Number.isNaN(e.y));let f=s.points,p=t().x(function(e){return e.x}).y(function(e){return e.y}).curve(e),h=i.append(`path`).attr(`d`,p(f)).attr(`id`,`edge`+T).attr(`class`,`transition`),g=``;if(l().state.arrowMarkerAbsolute&&(g=o(!0)),h.attr(`marker-end`,`url(`+g+`#`+d(m.relationType.DEPENDENCY)+`End)`),u.title!==void 0){let e=i.append(`g`).attr(`class`,`stateLabel`),{x:t,y:a}=n.calcLabelPosition(s.points),o=c.getRows(u.title),d=0,f=[],p=0,m=0;for(let n=0;n<=o.length;n++){let i=e.append(`text`).attr(`text-anchor`,`middle`).text(o[n]).attr(`x`,t).attr(`y`,a+d),s=i.node().getBBox();p=Math.max(p,s.width),m=Math.min(m,s.x),r.info(s.x,t,a+d),d===0&&(d=i.node().getBBox().height,r.info(`Title height`,d,a)),f.push(i)}let h=d*o.length;if(o.length>1){let e=(o.length-1)*d*.5;f.forEach((t,n)=>t.attr(`y`,a+n*d-e)),h=d*o.length}let g=e.node().getBBox();e.insert(`rect`,`:first-child`).attr(`class`,`box`).attr(`x`,t-p/2-l().state.padding/2).attr(`y`,a-h/2-l().state.padding/2-3.5).attr(`width`,p+l().state.padding).attr(`height`,h+l().state.padding),r.info(g)}T++},`drawEdge`),D,O={},k=a(function(){},`setConf`),A=a(function(e){e.append(`defs`).append(`marker`).attr(`id`,`dependencyEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`insertMarkers`),j=a(function(e,t,n,a){D=l().state;let o=l().securityLevel,c;o===`sandbox`&&(c=i(`#i`+t));let u=i(o===`sandbox`?c.nodes()[0].contentDocument.body:`body`),d=o===`sandbox`?c.nodes()[0].contentDocument:document;r.debug(`Rendering diagram `+e);let f=u.select(`[id='${t}']`);A(f),N(a.db.getRootDoc(),f.append(`g`).attr(`id`,t+`-root`),void 0,!1,u,d,a);let p=D.padding,m=f.node().getBBox(),h=m.width+p*2,g=m.height+p*2,_=h*1.75;s(f,g,_,D.useMaxWidth),f.attr(`viewBox`,`${m.x-D.padding} ${m.y-D.padding} `+h+` `+g)},`draw`),M=a(e=>e?e.length*D.fontSizeFactor:1,`getLabelWidth`),N=a((e,t,n,i,a,o,s)=>{let l=new u({compound:!0,multigraph:!0}),f,p=!0;for(f=0;f<e.length;f++)if(e[f].stmt===`relation`){p=!1;break}n?l.setGraph({rankdir:`LR`,multigraph:!0,compound:!0,ranker:`tight-tree`,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,isMultiGraph:!0}):l.setGraph({rankdir:`TB`,multigraph:!0,compound:!0,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,ranker:`tight-tree`,isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}});let m=s.db.getStates(),h=s.db.getRelations(),g=Object.keys(m);for(let e of g){let r=m[e];n&&(r.parentId=n);let c;if(r.doc){let e=t.append(`g`).attr(`id`,r.id).attr(`class`,`stateGroup`);c=N(r.doc,e,r.id,!i,a,o,s);{e=y(e,r,i);let t=e.node().getBBox();c.width=t.width,c.height=t.height+D.padding/2,O[r.id]={y:D.compositTitleSize}}}else c=w(t,r,l);if(r.note){let e=w(t,{descriptions:[],id:r.id+`-note`,note:r.note,type:`note`},l);r.note.position===`left of`?(l.setNode(c.id+`-note`,e),l.setNode(c.id,c)):(l.setNode(c.id,c),l.setNode(c.id+`-note`,e)),l.setParent(c.id,c.id+`-group`),l.setParent(c.id+`-note`,c.id+`-group`)}else l.setNode(c.id,c)}r.debug(`Count=`,l.nodeCount(),l);let _=0;h.forEach(function(e){_++,r.debug(`Setting edge`,e),l.setEdge(e.id1,e.id2,{relation:e,width:M(e.title),height:D.labelHeight*c.getRows(e.title).length,labelpos:`c`},`id`+_)}),d(l),r.debug(`Graph after layout`,l.nodes());let v=t.node();l.nodes().forEach(function(e){e!==void 0&&l.node(e)!==void 0?(r.warn(`Node `+e+`: `+JSON.stringify(l.node(e))),a.select(`#`+v.id+` #`+e).attr(`transform`,`translate(`+(l.node(e).x-l.node(e).width/2)+`,`+(l.node(e).y+(O[e]?O[e].y:0)-l.node(e).height/2)+` )`),a.select(`#`+v.id+` #`+e).attr(`data-x-shift`,l.node(e).x-l.node(e).width/2),o.querySelectorAll(`#`+v.id+` #`+e+` .divider`).forEach(e=>{let t=e.parentElement,n=0,r=0;t&&(t.parentElement&&(n=t.parentElement.getBBox().width),r=parseInt(t.getAttribute(`data-x-shift`),10),Number.isNaN(r)&&(r=0)),e.setAttribute(`x1`,0-r+8),e.setAttribute(`x2`,n-r-8)})):r.debug(`No Node `+e+`: `+JSON.stringify(l.node(e)))});let b=v.getBBox();l.edges().forEach(function(e){e!==void 0&&l.edge(e)!==void 0&&(r.debug(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(l.edge(e))),E(t,l.edge(e),l.edge(e).relation))}),b=v.getBBox();let x={id:n||`root`,label:n||`root`,width:0,height:0};return x.width=b.width+2*D.padding,x.height=b.height+2*D.padding,r.debug(`Doc rendered`,x,l),x},`renderDoc`),P={parser:p,get db(){return new m(1)},renderer:{setConf:k,draw:j},styles:f,init:a(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{P as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-NSK5VX7P-BVMz_Hc4.js";import"./src-BISxbUej.js";import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./chunk-I66GZJ75-BZ7XtZf4.js";import"./chunk-W5SLKNZC-Bnf3sQl4.js";import"./chunk-UBXNYLIW-BuxXXP2s.js";import"./chunk-4I5QYGJK-Clf86zK0.js";import"./chunk-WRU74C26-xu-KDOon.js";import"./chunk-QR6OTTB3-DWitTCy-.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-7Z6QIM7H-Ctqebv_4.js";import"./mermaidEngine-Cjfgf3Bg.js";import"./chunk-2GRJ4B5K-D1tZuCzA.js";import"./chunk-XXDRQBXY-DKGD__ll.js";import"./chunk-KBJHAD2P-DtWbzsRm.js";import{i as t,n,r,t as i}from"./chunk-5RXB4S5H-B36N5RYZ.js";var a={parser:n,get db(){return new i(2)},renderer:r,styles:t,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./runtime-OM-uAtaj.js";
|