@p4code/cli 0.8.33 → 0.8.35
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.mjs +1 -1
- package/dist/{binCli-CReSoYE2.mjs → binCli-26z5sNBT.mjs} +2313 -1491
- package/dist/client/.vite/manifest.json +2037 -2022
- package/dist/client/assets/{2NI2N5EU-Cq8AdBdr.js → 2NI2N5EU-BLnY4aCF.js} +2 -2
- package/dist/client/assets/{4UO7MD6I-BtyHa2r8.js → 4UO7MD6I-BApNVkfU.js} +2 -2
- package/dist/client/assets/{5B3SVYGG-DJhrK_P7.js → 5B3SVYGG-Y7V7NdZO.js} +2 -2
- package/dist/client/assets/{5GK6JWQ2-Di3oWVTL.js → 5GK6JWQ2-BSIhKcw-.js} +2 -2
- package/dist/client/assets/{5N7A7DKN-IYvb4i83.js → 5N7A7DKN-CNUCnWLs.js} +2 -2
- package/dist/client/assets/{5OC2THR4-C4L8eWnK.js → 5OC2THR4-Bne-pf_A.js} +2 -2
- package/dist/client/assets/{5S6HY5KT-CRP52QAR.js → 5S6HY5KT-7d4UMONz.js} +2 -2
- package/dist/client/assets/{6IMQ5BUJ-CNHI0F6y.js → 6IMQ5BUJ-BWW19n-D.js} +2 -2
- package/dist/client/assets/{6OLKWJ4F-B4vHLWw5.js → 6OLKWJ4F-CxTUuvA6.js} +2 -2
- package/dist/client/assets/{74OO7NKP-Cy2GHTnO.js → 74OO7NKP-DByVTRKE.js} +2 -2
- package/dist/client/assets/{75O6YZUN-DQlP5MhD.js → 75O6YZUN-CZanyedf.js} +2 -2
- package/dist/client/assets/{77XECAW3-DSSYRZCk.js → 77XECAW3-TL2w7pHK.js} +2 -2
- package/dist/client/assets/{ABYRPUBD-BKqULKA5.js → ABYRPUBD-CJboH7Uz.js} +2 -2
- package/dist/client/assets/AlertDialogRoot-9jRALQXL.js +2 -0
- package/dist/client/assets/{AnimatedHeight-CFR4EWDw.js → AnimatedHeight-OxEbW01v.js} +2 -2
- package/dist/client/assets/{AuthSurfaceShell-X2oPejN8.js → AuthSurfaceShell-KQXgPV4i.js} +2 -2
- package/dist/client/assets/{BB2UYUI2-C2iBTfII.js → BB2UYUI2-BxW-R2h1.js} +2 -2
- package/dist/client/assets/{BUM34MOA-D8LFlnDQ.js → BUM34MOA-ngG-irUy.js} +2 -2
- package/dist/client/assets/{CEQABKGZ-D15ZAT0K.js → CEQABKGZ-C-u-W0bS.js} +2 -2
- package/dist/client/assets/{CXAC5362-CicOZ45Z.js → CXAC5362-DfFRkI7L.js} +2 -2
- package/dist/client/assets/ChatGptUsageButton-C3KgGt4z.js +2 -0
- package/dist/client/assets/{ChatMarkdown-DfVVLQX2.js → ChatMarkdown-9gWM0ED9.js} +9 -9
- package/dist/client/assets/{CheckboxIndicator-IpoyLEZ-.js → CheckboxIndicator-DbU3csPQ.js} +2 -2
- package/dist/client/assets/{ClippedText-DTOlMbAH.js → ClippedText-CS_BYNco.js} +2 -2
- package/dist/client/assets/{CodexSetupSection.logic-B5cbwzh2.js → CodexSetupSection.logic-CNbTXxKb.js} +2 -2
- package/dist/client/assets/{ComboboxClear-DsPTusk5.js → ComboboxClear-Bn_kslrf.js} +2 -2
- package/dist/client/assets/{ComboboxGroupLabel-DqaoaBhS.js → ComboboxGroupLabel-fL8lMA25.js} +2 -2
- package/dist/client/assets/{CommandBlock-Da9iVEid.js → CommandBlock-DcQXu_lq.js} +2 -2
- package/dist/client/assets/ComposerPromptEditor-DQ9wFfKn.js +204 -0
- package/dist/client/assets/{CompositeRoot-Dfl7FdSL.js → CompositeRoot-BuwzXGHT.js} +2 -2
- package/dist/client/assets/{ConnectionDiagnosisDetails-DCPX1JuG.js → ConnectionDiagnosisDetails-DGbJY7Hw.js} +2 -2
- package/dist/client/assets/{ConnectionStatusDot-DVkDejK1.js → ConnectionStatusDot-CixsTBXI.js} +2 -2
- package/dist/client/assets/{DRLTVNUE-BEVEy9Nb.js → DRLTVNUE-Cbb71R0Y.js} +2 -2
- package/dist/client/assets/{DYY6UVD2-DtPiS3Ow.js → DYY6UVD2-BZn5fuF5.js} +2 -2
- package/dist/client/assets/{DevicePanel-B8KdDbzD.js → DevicePanel-JP__PY1s.js} +2 -2
- package/dist/client/assets/{DeviceSetup-5wa1rPPZ.js → DeviceSetup-D8qb_qBj.js} +2 -2
- package/dist/client/assets/{DialogTitle-JDa7kdjH.js → DialogTitle-B_9LEmy3.js} +2 -2
- package/dist/client/assets/{DiffCommentAnnotation-Bp1MeIVC.js → DiffCommentAnnotation-WMKzOwCh.js} +2 -2
- package/dist/client/assets/{DiffFileTree-b24emCci.js → DiffFileTree-BSbsOOmA.js} +2 -2
- package/dist/client/assets/DiffPanel-BWFuiHvv.js +2 -0
- package/dist/client/assets/{DiffWorkerPoolProvider-BoEAlLkf.js → DiffWorkerPoolProvider-BBk0lIX3.js} +2 -2
- package/dist/client/assets/EmbeddedDesign-B4RMmwTG.css +1 -0
- package/dist/client/assets/EmbeddedDesign-D5YUndkh.js +21 -0
- package/dist/client/assets/{EnvironmentMachineIcon-Emg7F_9r.js → EnvironmentMachineIcon-Dpgx67FY.js} +2 -2
- package/dist/client/assets/{ExpandableText-CK6tzx1k.js → ExpandableText-Cpm1gOKG.js} +2 -2
- package/dist/client/assets/{FNOVOB4O-C31Sm0mF.js → FNOVOB4O-BkEIrB0k.js} +2 -2
- package/dist/client/assets/{FieldControl-7KI8YfqD.js → FieldControl-BHe6unoZ.js} +2 -2
- package/dist/client/assets/{FileDiff-CXJUPm2t.js → FileDiff-C1vAOUga.js} +2 -2
- package/dist/client/assets/{FilePreviewPanel-BMID-IVR.js → FilePreviewPanel-CbpNevZP.js} +4 -4
- package/dist/client/assets/{FoldedSettingsSection-Dzi9RecU.js → FoldedSettingsSection-DySTg20x.js} +2 -2
- package/dist/client/assets/{FormContext-DAP0MupI.js → FormContext-CmvUzTS-.js} +2 -2
- package/dist/client/assets/{HDGCDEEZ-DZ2nNieb.js → HDGCDEEZ-CN-ckGDk.js} +2 -2
- package/dist/client/assets/{HSJLKHB7-DlFBBKjs.js → HSJLKHB7-B0BvmnZE.js} +2 -2
- package/dist/client/assets/{Icons-aTRNsMJy.js → Icons-B4l3TqYa.js} +2 -2
- package/dist/client/assets/Input-Cv-TKh6s.js +2 -0
- package/dist/client/assets/JZOYTAAL-CB_B_Rei.js +1 -0
- package/dist/client/assets/{K3MD6TGW-Drb40Qks.js → K3MD6TGW-IS0rWO1U.js} +2 -2
- package/dist/client/assets/{K7RP3OMA-C0M5Zt3R.js → K7RP3OMA-DcqjCOJO.js} +2 -2
- package/dist/client/assets/{KeybindingsSettings.logic-mOtug0lc.js → KeybindingsSettings.logic-mF9mJWrc.js} +2 -2
- package/dist/client/assets/{LHDIQX7Q-CdTAxECn.js → LHDIQX7Q-CLMgIt4Y.js} +2 -2
- package/dist/client/assets/{LUXOKEGN-DtIPjv1z.js → LUXOKEGN-B1dkmN_M.js} +2 -2
- package/dist/client/assets/{MathTypeset-DTaIJ55e.js → MathTypeset-qeRVy_bc.js} +2 -2
- package/dist/client/assets/{N3JZAHOW-C8Pvhbkj.js → N3JZAHOW-C6sq5aqx.js} +2 -2
- package/dist/client/assets/{NUIALGQ3-DY7_VZ5G.js → NUIALGQ3-BG7xJ_qe.js} +2 -2
- package/dist/client/assets/{NoProjectsHero-CDfuCTEv.js → NoProjectsHero-B0KzU91d.js} +2 -2
- package/dist/client/assets/{O65XPQGZ-BH6EzDhm.js → O65XPQGZ-BEfVfDlS.js} +2 -2
- package/dist/client/assets/{O7XIQ6OM-BSPRvWV7.js → O7XIQ6OM-BUiRjV87.js} +2 -2
- package/dist/client/assets/{OFQON5FD-VO8HiyY7.js → OFQON5FD-DTgVPbd-.js} +2 -2
- package/dist/client/assets/{P4ConnectAccountPages-Cbg00I7Q.js → P4ConnectAccountPages-C4KYM5XU.js} +2 -2
- package/dist/client/assets/{P4ConnectSidebarSignIn-C9gBlkFF.js → P4ConnectSidebarSignIn-DNPUNJl_.js} +2 -2
- package/dist/client/assets/{PJQHF43J-yTbK55y3.js → PJQHF43J-QRnhQpHu.js} +2 -2
- package/dist/client/assets/PanelLayoutControls-4VFKEoHg.js +216 -0
- package/dist/client/assets/{PierreEntryIcon-HuUxlwtG.js → PierreEntryIcon-DeI-j_7w.js} +2 -2
- package/dist/client/assets/{PopoverHandle-CG975ng4.js → PopoverHandle-DMB4QSp6.js} +2 -2
- package/dist/client/assets/PreviewPanel-CO66mekh.js +2 -0
- package/dist/client/assets/ProjectDefaultsSettings-BF-iyQ8T.js +2 -0
- package/dist/client/assets/{ProjectFavicon-UXGwc_-W.js → ProjectFavicon-_6hkSNzm.js} +3 -3
- package/dist/client/assets/{ProjectIconPickerDialog-BAM7e1e5.js → ProjectIconPickerDialog-DeL1rZxy.js} +2 -2
- package/dist/client/assets/{ProjectMonogram-f16fmYcx.js → ProjectMonogram-Cn4l-YGU.js} +2 -2
- package/dist/client/assets/{ProviderAuthTerminal-e0ZkNHAb.js → ProviderAuthTerminal-qGeMxZDy.js} +2 -2
- package/dist/client/assets/ProviderModelPicker-DJQYH_Pp.js +2 -0
- package/dist/client/assets/{ProviderSettingsForm-CXMFT8YA.js → ProviderSettingsForm-BSVuPnR0.js} +2 -2
- package/dist/client/assets/PullRequestCodeTab-0OaJE6XS.js +6 -0
- package/dist/client/assets/{RHNBAITX-TQrYdbHC.js → RHNBAITX-ChqB7inB.js} +2 -2
- package/dist/client/assets/{ReadOnlySourcePreview-xMB_y284.js → ReadOnlySourcePreview-B08Wms4m.js} +2 -2
- package/dist/client/assets/{RenderErrorBoundary-C2ZkZ4DB.js → RenderErrorBoundary-BsOuLEci.js} +3 -3
- package/dist/client/assets/{SLD4V6NK-Bz1tyL2C.js → SLD4V6NK-IkYRGtTH.js} +2 -2
- package/dist/client/assets/ScheduledTasksSettings-1UDkELZo.js +4 -0
- package/dist/client/assets/{ScopedSwitch-DBUAjY1n.js → ScopedSwitch-Bhp6-hCj.js} +2 -2
- package/dist/client/assets/{ScrollAreaCorner-U1Zhpkdl.js → ScrollAreaCorner-BPMuWLbs.js} +2 -2
- package/dist/client/assets/{SecretInput-BxYmGvR5.js → SecretInput-RlOzrLKL.js} +2 -2
- package/dist/client/assets/{SelectScrollUpArrow-CJ4E0xi4.js → SelectScrollUpArrow-6kh66YCd.js} +2 -2
- package/dist/client/assets/{SettingsPanels-DRK5QQ04.js → SettingsPanels-BfBUSBAG.js} +6 -6
- package/dist/client/assets/{SettingsPanels.logic-Bdp6GzIj.js → SettingsPanels.logic-BsFZYDgm.js} +2 -2
- package/dist/client/assets/{SettingsScopeNotice-DYiUHoov.js → SettingsScopeNotice-H7UzC9bb.js} +2 -2
- package/dist/client/assets/{T3PCR2KE-DJwqsK9f.js → T3PCR2KE-BxaunvVy.js} +2 -2
- package/dist/client/assets/{TKWO2OVW-CRU32th0.js → TKWO2OVW-DFURsfqA.js} +2 -2
- package/dist/client/assets/{TSHNXIZL-dMhDuHVe.js → TSHNXIZL-CIukdyLy.js} +2 -2
- package/dist/client/assets/{ThemeEditorPanel-BIQc-w2Q.js → ThemeEditorPanel-otrA-nTg.js} +3 -3
- package/dist/client/assets/{ThreadTerminalDrawer-BqO5rPzw.js → ThreadTerminalDrawer-BQKZCFAC.js} +4 -4
- package/dist/client/assets/TooltipViewport-ZmVCer7P.js +2 -0
- package/dist/client/assets/{UQJE5E4I-DH2S3Hdw.js → UQJE5E4I-CfqCotH2.js} +2 -2
- package/dist/client/assets/{USNYFO5S-Cfz4g-2W.js → USNYFO5S-CctAAheU.js} +2 -2
- package/dist/client/assets/{Virtualizer-ChRGRE40.js → Virtualizer-CImHNxBq.js} +2 -2
- package/dist/client/assets/{WEVWDWVA-C55QWN7O.js → WEVWDWVA-DS9YO9IT.js} +2 -2
- package/dist/client/assets/{WorkspaceBreadcrumb-8nBISaRF.js → WorkspaceBreadcrumb-BW_omYU1.js} +2 -2
- package/dist/client/assets/{WorkspacePageContainer-BGE_kHaP.js → WorkspacePageContainer-BS8FWt_4.js} +2 -2
- package/dist/client/assets/{WorkspacePageHeader-D704geLh.js → WorkspacePageHeader-CE_94tTR.js} +2 -2
- package/dist/client/assets/{X5RFHQXM-hmS6q1sh.js → X5RFHQXM-B0KbwoE1.js} +2 -2
- package/dist/client/assets/{X62E3GBT-BhTtqjj4.js → X62E3GBT-wpz8X9Yh.js} +2 -2
- package/dist/client/assets/{XBNEOJTC-1paZyqxX.js → XBNEOJTC-DFRK5c6Y.js} +2 -2
- package/dist/client/assets/{YHV2MVVZ-DbfthGUh.js → YHV2MVVZ-1NnqTTZ2.js} +2 -2
- package/dist/client/assets/{YURCZMG2-D8tAzwGP.js → YURCZMG2-rnzWY5ij.js} +2 -2
- package/dist/client/assets/{YVG2LODB-DMSQWWQ_.js → YVG2LODB-Dxuuk2M-.js} +2 -2
- package/dist/client/assets/_chat-1QGQLbCc.js +45 -0
- package/dist/client/assets/{_chat.design-CdPf_wsA.js → _chat.design-z2pu_9A5.js} +2 -2
- package/dist/client/assets/{_chat.index-BkTRJLOf.js → _chat.index-D8X9o5jY.js} +2 -2
- package/dist/client/assets/{_chat.new-CEmRJFEH.js → _chat.new-CGJw8cpo.js} +3 -3
- package/dist/client/assets/_chat.pull-requests-BfW9qMU1.js +2 -0
- package/dist/client/assets/{alert-DiE1d01s.js → alert-DO06etEs.js} +2 -2
- package/dist/client/assets/{assetUrls-BeScRf6b.js → assetUrls-CmOUMX2M.js} +2 -2
- package/dist/client/assets/assets-aBpLf8r4.js +2 -0
- package/dist/client/assets/{browserHistoryStore-hrG24FfH.js → browserHistoryStore-tYgeZygn.js} +2 -2
- package/dist/client/assets/{browserLinkTarget-D8HEmVsi.js → browserLinkTarget-CQFfJKWJ.js} +2 -2
- package/dist/client/assets/{checkbox-CwFE3KXZ.js → checkbox-BEQFb7GO.js} +2 -2
- package/dist/client/assets/{color-picker-BKtR2mwD.js → color-picker-CXfnfmuH.js} +2 -2
- package/dist/client/assets/{combobox-DBUxcuwi.js → combobox--XoXA5uu.js} +2 -2
- package/dist/client/assets/{command-NV0JEoGo.js → command-E2aLhsct.js} +2 -2
- package/dist/client/assets/composer-logic-BPTz1APL.js +6 -0
- package/dist/client/assets/{composerDraftUploads-BmpBCVnP.js → composerDraftUploads-b_0oxKs9.js} +2 -2
- package/dist/client/assets/{connect-Bzgsrfe8.js → connect-CU9dNvTt.js} +2 -2
- package/dist/client/assets/{connect-agent-BCguLPkZ.js → connect-agent-Byc9PCdW.js} +2 -2
- package/dist/client/assets/{design-BGLTZdWG.js → design-CoGbXd61.js} +2 -2
- package/dist/client/assets/{device-D0-STSSP.js → device-DmH6IHQ4.js} +2 -2
- package/dist/client/assets/{dialog-pqqgtsKn.js → dialog-CBBxT1gk.js} +2 -2
- package/dist/client/assets/{diffRendering-eAJMSnXr.js → diffRendering-BOVFJuWd.js} +2 -2
- package/dist/client/assets/{dist-KeWCSS5h.js → dist-B2P3f-0Q.js} +3 -3
- package/dist/client/assets/{draft-input-DrGl-qts.js → draft-input-CSOOVntS.js} +2 -2
- package/dist/client/assets/{duoViewer-DKygyhUj.js → duoViewer-BhHYrurM.js} +2 -2
- package/dist/client/assets/{dynamic-DKhgWyT6.js → dynamic-BhzrutAo.js} +2 -2
- package/dist/client/assets/{embeddedScripts-WSYzbtcW.js → embeddedScripts-43_R83vp.js} +2 -2
- package/dist/client/assets/{empty-Du5F51Da.js → empty-FOL5U4KY.js} +2 -2
- package/dist/client/assets/entities-Bqo0n1Pb.js +2 -0
- package/dist/client/assets/{fileLinks-BEJjCE8r.js → fileLinks-D4GSqJYj.js} +2 -2
- package/dist/client/assets/{fileTreeExpansion-CCF3XVRn.js → fileTreeExpansion-BBT5F8P1.js} +2 -2
- package/dist/client/assets/{getDiffFileInput-Dkc1Whpr.js → getDiffFileInput-CGw09SPI.js} +2 -2
- package/dist/client/assets/{guideRunStore-CVyie1IJ.js → guideRunStore-DvIkVECt.js} +2 -2
- package/dist/client/assets/{htmlRender-fSOuRG49.js → htmlRender-CmEeFzCo.js} +2 -2
- package/dist/client/assets/{index-RvCv9K-x.js → index-B1djVqM4.js} +3 -3
- package/dist/client/assets/{input-GkmNnHh7.js → input-ekYqAkUx.js} +2 -2
- package/dist/client/assets/{input-group-Cql1yQRL.js → input-group-C3pxk97H.js} +2 -2
- package/dist/client/assets/{kbd-D2OGhJqG.js → kbd-3FPzNikV.js} +2 -2
- package/dist/client/assets/{keybindings-1XWkWeQB.js → keybindings-B3oDRRkK.js} +2 -2
- package/dist/client/assets/{lazy-BUyZ03gL.js → lazy-DyNR0b0B.js} +4 -4
- package/dist/client/assets/{lazyRouteComponent-BXmOK9bz.js → lazyRouteComponent-BPxq_G_s.js} +2 -2
- package/dist/client/assets/{link-BGMNeg05.js → link-B3B5a5Ju.js} +2 -2
- package/dist/client/assets/{linkedPrompt-B3l4m_6D.js → linkedPrompt-BsCPMHxQ.js} +2 -2
- package/dist/client/assets/main-BWh6jqG2.js +29 -0
- package/dist/client/assets/main-DdVSHl80.css +2 -0
- package/dist/client/assets/{mediaReference-CsA5Lv5E.js → mediaReference-Bb8H-qbI.js} +2 -2
- package/dist/client/assets/{mediaSource-BbYoxHZJ.js → mediaSource-C2MsZgy8.js} +2 -2
- package/dist/client/assets/number-field-SoHEiP55.js +2 -0
- package/dist/client/assets/{observeResize-CNtO3VS7.js → observeResize-3Vj9DYOV.js} +2 -2
- package/dist/client/assets/{onboarding-KXMrOHsw.js → onboarding-CPgiVEVK.js} +2 -2
- package/dist/client/assets/{openFileInPreview-BKTnNQFl.js → openFileInPreview-BBWCOLh_.js} +2 -2
- package/dist/client/assets/{p4ProjectFile-sAVjpCzn.js → p4ProjectFile-qmvlbzKv.js} +2 -2
- package/dist/client/assets/{pair-BIaVaT-B.js → pair-CZnRGdd8.js} +2 -2
- package/dist/client/assets/{pendingSendStore-CPz2p40W.js → pendingSendStore-L5KquCDf.js} +2 -2
- package/dist/client/assets/{phoneViewer-DGKQHyy3.js → phoneViewer-D-8v-sMf.js} +2 -2
- package/dist/client/assets/{pierre-icons-6ByaxkH5.js → pierre-icons-jwqMPUxD.js} +2 -2
- package/dist/client/assets/{popover-BIXQitBy.js → popover-OfG3wVsl.js} +2 -2
- package/dist/client/assets/{preview-BcEybEc8.js → preview-BYnEURcB.js} +2 -2
- package/dist/client/assets/{preview-C3ymkoAM.js → preview-DGdQ5Ycc.js} +2 -2
- package/dist/client/assets/{previewMiniPlayerStore-DWw2A_gt.js → previewMiniPlayerStore-Dlbj5KrZ.js} +2 -2
- package/dist/client/assets/primary-B47ivN3o.js +2 -0
- package/dist/client/assets/primaryCloudLinkState-CreqR0gU.js +2 -0
- package/dist/client/assets/projectFilesQueryState-CanWrACx.js +2 -0
- package/dist/client/assets/{projectScriptEditor-CNXQwWP8.js → projectScriptEditor-gWuw6vwd.js} +2 -2
- package/dist/client/assets/{providerSkills-CNeLyiqf.js → providerSkills-C_Rxqah9.js} +2 -2
- package/dist/client/assets/{pullRequestDetail.logic-BNpxef-3.js → pullRequestDetail.logic-RASi2EgP.js} +4 -4
- package/dist/client/assets/{pullRequestIcons-CSs54zQk.js → pullRequestIcons-ucGaXXG7.js} +2 -2
- package/dist/client/assets/{pullRequestReviewStore-BawbGhnx.js → pullRequestReviewStore-CEr41DEl.js} +2 -2
- package/dist/client/assets/pullRequests-Bw3Ui6hK.js +2 -0
- package/dist/client/assets/queries-EslKFJTV.js +2 -0
- package/dist/client/assets/query-d1pQlqP0.js +2 -0
- package/dist/client/assets/{radio-group-yq5YEgUO.js → radio-group-Ciy_K5uE.js} +2 -2
- package/dist/client/assets/{renderScheduler--3RDWz9Z.js → renderScheduler-CP-JkmKx.js} +2 -2
- package/dist/client/assets/rightPanelStore-D3KOmuPa.js +2 -0
- package/dist/client/assets/runtime-DR7JxgbQ.js +6 -0
- package/dist/client/assets/runtime-d6B1vJeH.js +3 -0
- package/dist/client/assets/runtimeModeConfig-Rxeb1uGg.js +2 -0
- package/dist/client/assets/{scheduledTasksSettings.logic-DefawCwN.js → scheduledTasksSettings.logic-CVIC4Kpr.js} +3 -3
- package/dist/client/assets/{scroll-area-CfW8fzQ8.js → scroll-area-yyfi3ycu.js} +2 -2
- package/dist/client/assets/{select-C10oXKGz.js → select-DaYjjw1q.js} +2 -2
- package/dist/client/assets/selfImproveFindings-1XIHD-7i.js +2 -0
- package/dist/client/assets/server-sXApTCjZ.js +2 -0
- package/dist/client/assets/{session-yxXjF8AQ.js → session-C949OsEI.js} +2 -2
- package/dist/client/assets/session-logic-DkSfwnHl.js +26 -0
- package/dist/client/assets/{settings-CgshkEb_.js → settings-B0O54Q3P.js} +2 -2
- package/dist/client/assets/{settings.appearance-yicuncxz.js → settings.appearance-BesXhA1a.js} +2 -2
- package/dist/client/assets/settings.archived-FtcZf_Ug.js +2 -0
- package/dist/client/assets/settings.computer-use-BeKmLbNe.js +2 -0
- package/dist/client/assets/settings.connections-D1UxckE0.js +2 -0
- package/dist/client/assets/{settings.data-controls-CZ5aXdyA.js → settings.data-controls-lPiIwMgc.js} +2 -2
- package/dist/client/assets/settings.decisions-D97jIUyr.js +2 -0
- package/dist/client/assets/{settings.designs-j9E6N2pN.js → settings.designs-B473PRvt.js} +2 -2
- package/dist/client/assets/settings.diagnostics-DDOaOIDg.js +2 -0
- package/dist/client/assets/{settings.general-BCrYSHkU.js → settings.general-qzEOE2zF.js} +2 -2
- package/dist/client/assets/settings.integrations-D6ctQ9WI.js +2 -0
- package/dist/client/assets/{settings.keybindings-BQ-LrcTn.js → settings.keybindings-BL57H4sD.js} +2 -2
- package/dist/client/assets/{settings.open-source-licenses-BHiHgzgF.js → settings.open-source-licenses-DaS82UhN.js} +2 -2
- package/dist/client/assets/{settings.plugins-DavhWo4Q.js → settings.plugins-DnS3RrT2.js} +4 -4
- package/dist/client/assets/{settings.projects-uuJOwkSl.js → settings.projects-D-ZICXey.js} +4 -4
- package/dist/client/assets/settings.providers-CFpCmv0o.js +3 -0
- package/dist/client/assets/{settings.scheduled-tasks-DoWHIDOp.js → settings.scheduled-tasks-IEAC3STn.js} +2 -2
- package/dist/client/assets/{settings.snap-shot-ClKlVUUJ.js → settings.snap-shot-BaOFk9WR.js} +2 -2
- package/dist/client/assets/{settings.source-control-o8jFa_Cr.js → settings.source-control-BW16AA5z.js} +2 -2
- package/dist/client/assets/{settings.storage-Bb-cW0xG.js → settings.storage-D4vBYBRP.js} +2 -2
- package/dist/client/assets/settingsLayout-CFQx1XDM.js +3 -0
- package/dist/client/assets/{sidebar-Bd6PzVyD.js → sidebar-C1E4GqL6.js} +2 -2
- package/dist/client/assets/{sidebarProjectGrouping-C13IyN_p.js → sidebarProjectGrouping-9cUrCOXH.js} +2 -2
- package/dist/client/assets/{skeleton-pd7m2J5F.js → skeleton-BCpBrYxh.js} +2 -2
- package/dist/client/assets/{sourceControl-Y9v_vyKt.js → sourceControl-DwJWPP0h.js} +2 -2
- package/dist/client/assets/{sourceControlClients-KQ5315mN.js → sourceControlClients-BBJW7ra4.js} +2 -2
- package/dist/client/assets/{spinner-CW23--q5.js → spinner-CSTrcxhP.js} +2 -2
- package/dist/client/assets/{terminal-links-Bd9AoAyA.js → terminal-links-D18LpQ1T.js} +2 -2
- package/dist/client/assets/{terminalSessions-CF7f4A-6.js → terminalSessions-C2NUFncF.js} +2 -2
- package/dist/client/assets/{textarea-DSS-lavF.js → textarea-R4UQ47Ns.js} +2 -2
- package/dist/client/assets/{themePalette-C_1pk_Mi.js → themePalette-neUNWCzK.js} +3 -3
- package/dist/client/assets/toast-B84QdqqM.js +2 -0
- package/dist/client/assets/{toggle-Cpfo0sMT.js → toggle-BH5BGBcD.js} +2 -2
- package/dist/client/assets/{toggle-group-FrArhs7R.js → toggle-group-Di3SFV73.js} +2 -2
- package/dist/client/assets/{tooltip-CSzrAm8M.js → tooltip-D-GRl-oZ.js} +2 -2
- package/dist/client/assets/{uiStateStore-VHQ8vDs5.js → uiStateStore-xSkh4_PU.js} +2 -2
- package/dist/client/assets/{usage-uwswTMhu.js → usage-DUdXloVo.js} +2 -2
- package/dist/client/assets/{usageAccess-BDwH_c8I.js → usageAccess-DSLF-sRE.js} +2 -2
- package/dist/client/assets/{usageFormat-CKgwjLMR.js → usageFormat-Bzyvr9m4.js} +2 -2
- package/dist/client/assets/{usageShortcuts-lXBRgPmi.js → usageShortcuts-D6nQeRtx.js} +2 -2
- package/dist/client/assets/{use-atom-command-CSWaAmR7.js → use-atom-command-DA6OG-Qk.js} +2 -2
- package/dist/client/assets/{useAriaLabelledBy-vgEmgPPR.js → useAriaLabelledBy-PLuOxvFb.js} +2 -2
- package/dist/client/assets/{useHandleNewThread-BVFM3SUe.js → useHandleNewThread-Dm0SCq59.js} +2 -2
- package/dist/client/assets/{useLocation-FEfJrgGU.js → useLocation-Bqc94klS.js} +2 -2
- package/dist/client/assets/{useNavigate-Lp_S-tAl.js → useNavigate-DdjG4MB_.js} +2 -2
- package/dist/client/assets/{useNavigateBack-BTJoRrRy.js → useNavigateBack-sP0LsL3p.js} +2 -2
- package/dist/client/assets/{useP4ConnectAuthPrompt-7Z8osIH2.js → useP4ConnectAuthPrompt-C9d7n33S.js} +2 -2
- package/dist/client/assets/{useParams-8KxPyQmv.js → useParams-DZQvRQLJ.js} +2 -2
- package/dist/client/assets/{usePermissionStatus-CyvlYHNs.js → usePermissionStatus-BzfAUU9X.js} +2 -2
- package/dist/client/assets/{usePullRequestActions-DfyxdDPg.js → usePullRequestActions-DIjGLg1E.js} +3 -3
- package/dist/client/assets/{useRegisterFieldControl-Dj6RbECy.js → useRegisterFieldControl-CyBVe0G0.js} +2 -2
- package/dist/client/assets/{useScopedModelAvailability-BfFbT2DU.js → useScopedModelAvailability-D4n22Nmm.js} +2 -2
- package/dist/client/assets/useSettings-CaJMqrvF.js +3 -0
- package/dist/client/assets/utils-BoMYW9A3.js +37 -0
- package/dist/client/assets/vcsRefInvalidation-w_CQ3i43.js +2 -0
- package/dist/client/assets/{welcome-CIETplg9.js → welcome-BIKH3rbU.js} +2 -2
- package/dist/client/index.html +1 -1
- package/dist/{renderer-D8FhaVWU.mjs → renderer-CveKT929.mjs} +26 -3
- package/dist/{runtime-a3PrAU7n.mjs → runtime-DGGSjC6Q.mjs} +149 -5
- package/package.json +1 -1
- package/dist/client/assets/AlertDialogRoot-B--i3imS.js +0 -2
- package/dist/client/assets/ChatGptUsageButton-LQ3LzsF3.js +0 -2
- package/dist/client/assets/ComposerPromptEditor-Bz4_w6ez.js +0 -204
- package/dist/client/assets/DiffPanel-bEjr64Vx.js +0 -2
- package/dist/client/assets/EmbeddedDesign-Cud7UEy4.css +0 -1
- package/dist/client/assets/EmbeddedDesign-DmRjhA9k.js +0 -21
- package/dist/client/assets/Input-rVh9fuLP.js +0 -2
- package/dist/client/assets/JZOYTAAL-DXVzZiqj.js +0 -1
- package/dist/client/assets/PanelLayoutControls-40ju6vkz.js +0 -216
- package/dist/client/assets/PreviewPanel-Ljaq9IHA.js +0 -2
- package/dist/client/assets/ProjectDefaultsSettings-DhwkzlK6.js +0 -2
- package/dist/client/assets/ProviderModelPicker-BviWI2wX.js +0 -2
- package/dist/client/assets/PullRequestCodeTab-Bm67cV34.js +0 -6
- package/dist/client/assets/ScheduledTasksSettings-D-GMMbJH.js +0 -4
- package/dist/client/assets/TooltipViewport-Bz56sWCM.js +0 -2
- package/dist/client/assets/_chat-CXVo1NVJ.js +0 -46
- package/dist/client/assets/_chat.pull-requests-4M0tUrJ6.js +0 -2
- package/dist/client/assets/assets-RdKoqY9e.js +0 -2
- package/dist/client/assets/composer-logic-BQdFVlkE.js +0 -6
- package/dist/client/assets/entities-n6SMnPE8.js +0 -2
- package/dist/client/assets/main-BP1f3auf.css +0 -2
- package/dist/client/assets/main-Dcfxjdkd.js +0 -29
- package/dist/client/assets/number-field-jauVDwvy.js +0 -2
- package/dist/client/assets/primary-DD11poOa.js +0 -2
- package/dist/client/assets/primaryCloudLinkState-CD2_f6q-.js +0 -2
- package/dist/client/assets/projectFilesQueryState-C8dGr8oR.js +0 -2
- package/dist/client/assets/pullRequests-jsc4Hq78.js +0 -2
- package/dist/client/assets/queries-DZV2RDc9.js +0 -2
- package/dist/client/assets/query-BV3IuYff.js +0 -2
- package/dist/client/assets/rightPanelStore-CeZBJCMI.js +0 -2
- package/dist/client/assets/runtime-DSZ2mWrf.js +0 -6
- package/dist/client/assets/runtime-DTUiqO10.js +0 -3
- package/dist/client/assets/runtimeModeConfig-BwioIXVs.js +0 -2
- package/dist/client/assets/server-ztj8tD38.js +0 -2
- package/dist/client/assets/session-logic-w7gGMFHb.js +0 -26
- package/dist/client/assets/settings.archived-ZXG8lJ_T.js +0 -2
- package/dist/client/assets/settings.computer-use-lOJg1Jos.js +0 -2
- package/dist/client/assets/settings.connections-DSPQOd-W.js +0 -2
- package/dist/client/assets/settings.decisions-C8qxQCjl.js +0 -2
- package/dist/client/assets/settings.diagnostics-yio3SGbE.js +0 -2
- package/dist/client/assets/settings.integrations-Dl-vtiOS.js +0 -2
- package/dist/client/assets/settings.providers-rZQTQdtf.js +0 -3
- package/dist/client/assets/settingsLayout-DzBeWTUO.js +0 -3
- package/dist/client/assets/toast-BFuAqla3.js +0 -2
- package/dist/client/assets/useSettings-CPPvBMmM.js +0 -3
- package/dist/client/assets/utils-BE5iQuUP.js +0 -37
- package/dist/client/assets/vcsRefInvalidation-DCdd2BDA.js +0 -2
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{$C as e,$T as t,$h as n,$x as r,$y as i,AS as a,AT as o,Ab as s,Au as c,Av as l,Ax as u,Ay as d,BC as f,Bg as p,Bl as m,Bw as h,CT as g,Cb as _,Cu as ee,Cx as v,Dc as te,Ds as ne,Dv as re,Dx as ie,EC as y,ES as ae,Es as oe,Ew as se,Ex as ce,Fl as le,Fy as ue,Gv as de,Gx as fe,Hg as pe,Hy as me,IS as he,IT as ge,Ig as _e,Is as ve,Iv as ye,JC as be,Jh as xe,Jv as Se,Jw as Ce,Jx as we,Jy as Te,KC as Ee,KT as De,LT as Oe,Lb as ke,Lg as b,Ll as Ae,Lv as je,MS as Me,Mb as Ne,Mv as Pe,Mx as Fe,NS as Ie,Nb as Le,Nx as Re,Ny as ze,OE as Be,OS as Ve,Ob as He,Os as Ue,Ow as We,Ox as Ge,Oy as Ke,PS as qe,PT as Je,Px as x,QT as Ye,Qh as Xe,Qx as S,Rg as Ze,Rv as Qe,Ry as $e,SC as C,SS as w,Sb as et,Sg as tt,Sl as nt,Su as rt,Sv as it,Sw as at,Sy as ot,TS as st,TT as ct,Tb as lt,Tv as ut,UC as dt,UT as ft,Uc as T,Ug as pt,Ux as mt,VC as ht,VS as gt,VT as _t,Vb as vt,Vg as yt,Vs as bt,Vv as xt,Vy as St,WC as Ct,Ww as wt,Wx as E,Wy as Tt,XC as Et,XT as Dt,Xh as Ot,YC as kt,YT as At,Yh as jt,Yx as D,Yy as Mt,ZT as Nt,Zh as Pt,Zo as Ft,Zv as It,Zw as Lt,_C as Rt,_v as zt,_x as Bt,aC as Vt,aE as Ht,aS as O,ab as Ut,as as k,aw as Wt,ay as Gt,bE as Kt,bS as A,bb as qt,bl as Jt,bu as Yt,bw as Xt,bx as Zt,by as Qt,cC as $t,cE as j,cS as M,cT as en,cb as tn,cs as nn,cv as rn,dS as an,db as on,dg as sn,eE as N,eS as cn,eb as ln,eg as un,ev as dn,ew as fn,fC as pn,fc as mn,fg as hn,fv as gn,gC as _n,gT as vn,gu as yn,gv as bn,gx as xn,h as Sn,hC as Cn,hS as wn,hl as Tn,hs as En,hu as Dn,iC as On,iE as P,iS as kn,is as An,jS as jn,jt as Mn,jv as Nn,jy as Pn,kS as Fn,ku as In,kv as Ln,kw as Rn,kx as zn,ky as Bn,l as Vn,lC as F,lS as Hn,lg as Un,ls as I,lx as Wn,ly as Gn,mC as Kn,mb as qn,mw as Jn,mx as Yn,nC as Xn,nS as Zn,nw as Qn,oC as $n,oE as er,oy as tr,pC as nr,pg as rr,ps as L,pv as ir,px as ar,qT as or,ql as sr,qs as cr,qv as lr,qx as ur,rC as dr,rE as R,rS as fr,rb as z,rg as pr,rs as B,ry as mr,sC as hr,sE as V,sb as gr,sg as _r,tE as vr,tc as yr,tg as br,ts as xr,tw as Sr,uC as Cr,uE as wr,ub as Tr,ug as Er,ux as Dr,uy as Or,vS as H,vT as kr,vu as Ar,wT as jr,wb as Mr,wg as Nr,ws as Pr,wu as Fr,wx as Ir,xb as Lr,xs as Rr,xu as zr,xv as Br,xw as Vr,xx as Hr,yC as Ur,yb as Wr,yu as Gr,yx as Kr,zS as qr,zb as Jr,zg as Yr,zw as Xr}from"./utils-BE5iQuUP.js";import{$ as Zr,$t as Qr,A as U,An as $r,At as ei,Bn as ti,Bt as ni,Cn as ri,Ct as ii,D as ai,Dn as oi,Dt as si,E as ci,En as li,F as ui,G as di,Gn as W,Gt as fi,Hn as pi,Ht as mi,I as hi,Jn as gi,Jt as _i,K as vi,Kn as yi,Kt as bi,M as G,Mt as xi,N as K,Nt as Si,P as Ci,Pn as wi,Pt as Ti,Q as Ei,Qt as Di,R as Oi,Rn as ki,S as Ai,Sn as ji,St as Mi,Tn as Ni,Tt as Pi,Un as q,Ut as Fi,V as Ii,Vn as Li,Vt as Ri,W as zi,Wn as Bi,Wt as Vi,X as Hi,Xt as Ui,Y as Wi,Yt as Gi,Z as Ki,Zt as qi,_n as Ji,_t as Yi,an as Xi,bn as Zi,bt as Qi,cn as $i,ct as ea,dn as ta,dt as J,en as na,fn as ra,ft as ia,gn as aa,gt as oa,hn as sa,ht as ca,in as la,j as ua,k as da,kn as fa,kt as pa,ln as ma,lt as ha,m as ga,mt as _a,nn as va,nt as ya,ot as ba,p as xa,pn as Sa,pt as Ca,q as wa,qt as Ta,rn as Ea,rt as Da,sn as Oa,t as ka,tn as Aa,tt as ja,un as Ma,ut as Na,v as Pa,vn as Fa,vt as Ia,w as La,wn as Ra,wt as za,xn as Ba,xt as Va,y as Ha,yn as Ua,yt as Wa,zn as Ga,zt as Ka}from"./runtime-DSZ2mWrf.js";function qa(e){let t=new URL(e);if(t.protocol===`ws:`?t.protocol=`http:`:t.protocol===`wss:`&&(t.protocol=`https:`),t.protocol!==`http:`&&t.protocol!==`https:`)throw Error(`Endpoint must use HTTP or HTTPS. Received ${t.protocol}`);return t.pathname=`/`,t.search=``,t.hash=``,t.toString()}function Ja(e){let t=new URL(qa(e));return t.protocol=t.protocol===`https:`?`wss:`:`ws:`,t.toString()}function Ya(e,t){return[...e].sort(t)}function Xa(e){return/^[a-zA-Z]:([/\\]|$)/.test(e)}function Za(e){return e.startsWith(`\\\\`)}function Qa(e){return/^[\\/]{2}/.test(e)}function $a(e){return Za(e)||Xa(e)}function eo(e){return e===`.`||e===`..`||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)}function to(e){return e===`/`||e===`\\`||/^[a-zA-Z]:[/\\]$/.test(e)}function no(e){if(e.length===0||to(e))return e;let t=e.startsWith(`/`)?e.replace(/\/+$/g,``):e.replace(/[\\/]+$/g,``);return t.length===0?e:/^[a-zA-Z]:$/.test(t)?`${t}\\`:t}function ro(e){return no(e.trim())}function io(e){let t=ro(e);return Xa(t)||Za(t)?t.replaceAll(`/`,`\\`).toLowerCase():t}var ao=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/;function oo(e){let t=e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+/,``).slice(0,64).replace(/-+$/,``);return t.length===0?`project`:ao.test(t)?`${t}-project`:t}var so=/^\/[A-Za-z]:[\\/]/;function co(e){return so.test(e)?e.slice(1):e}function lo(e){let t=e.replace(/[/\\]+$/,``);if(t.length===0)return e;let n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n>=0?t.slice(n+1):t}function uo(e,t){if(!t)return null;let n=co(e.replaceAll(`\\`,`/`)),r=co(t.replaceAll(`\\`,`/`)).replace(/\/+$/,``),i=$a(co(t)),a=i?n.toLowerCase():n,o=i?r.toLowerCase():r;if(a.replace(/\/+$/,``)===o)return`.`;if(!a.startsWith(`${o}/`))return null;let s=n.slice(r.length+1),c=0;for(let e of s.split(`/`))if(e===`..`?--c:e.length>0&&e!==`.`&&(c+=1),c<0)return null;return s}function fo(e){return e.startsWith(`/`)||$a(e)}function po(e,t){if(fo(e)||e.startsWith(`~/`)||e.startsWith(`~\\`))return e;let n=t.replace(/[/\\]+$/,``);return $a(t)?`${n}\\${e.replaceAll(`/`,`\\`)}`:`${n}/${e}`}function mo(e){try{return decodeURIComponent(e)}catch{return e}}function ho(e){if(!e)return null;if(e.provider===`azure-devops`){let t=(e.displayName??``).split(`/`).filter(e=>e!==`_git`),n=e.name||t.at(-1);return n?mo(n):null}return e.displayName?e.displayName:e.owner&&e.name?`${e.owner}/${e.name}`:null}function go(e){return e.replace(/^(?:ssh\.dev\.azure\.com|vs-ssh\.visualstudio\.com)\/v3\/([^/]+)\/([^/]+)\/([^/]+)$/u,`dev.azure.com/$1/$2/_git/$3`).replace(/^([^.]+)\.visualstudio\.com\/(?:defaultcollection\/)?([^/]+)\/_git\/([^/]+)$/u,`dev.azure.com/$1/$2/_git/$3`)}function _o(e,t,n){return e===t||e.endsWith(`.${t}`)?!0:n!==void 0&&e.split(`.`).includes(n)}function vo(e){let t;try{t=new URL(e)}catch{return null}if(t.protocol!==`https:`&&t.protocol!==`http:`)return null;let n=t.hostname.toLowerCase();if(n===`git.cafe`||n===`staging.git.cafe`)return yo(n,/^\/([^/]+\/[^/]+)\/pulls\/(\d+)(?:\/|$)/u.exec(t.pathname));if(_o(n,`github.com`,`github`)){let e=/^\/([^/]+\/[^/]+)\/pull\/(\d+)(?:\/|$)/u.exec(t.pathname);if(e)return yo(n,e)}let r=/^\/([^/]+(?:\/[^/]+)+)\/pulls\/(\d+)(?:\/|$)/u.exec(t.pathname);if(r){let e=yo(n,r);return e===null?null:{...e,authority:t.host.toLowerCase()}}let i=/^\/([^/]+(?:\/[^/]+)+)\/-\/merge_requests\/(\d+)(?:\/|$)/u.exec(t.pathname);return i?yo(n,i):_o(n,`bitbucket.org`,`bitbucket`)?yo(n,/^\/([^/]+\/[^/]+)\/pull-requests\/(\d+)(?:\/|$)/u.exec(t.pathname)):_o(n,`dev.azure.com`)||n.endsWith(`.visualstudio.com`)?yo(n,/^\/((?:[^/]+\/)*_git\/[^/]+)\/pullrequest\/(\d+)(?:\/|$)/u.exec(t.pathname)):null}function yo(e,t){let n=t?.[1],r=Number(t?.[2]);return n&&Number.isSafeInteger(r)&&r>0?{host:e,repository:n.toLowerCase(),number:r}:null}function bo(e,t,n){if(e?.provider!==`github`||!Number.isSafeInteger(n)||n<1)return null;let r=t.split(`/`);if(r.length!==2||r.some(e=>e.length===0||e===`.`||e===`..`))return null;let i=null;try{let t=new URL(e.locator.remoteUrl.trim());(t.protocol===`http:`||t.protocol===`https:`)&&(i=t.origin)}catch{}let a=e.canonicalKey.split(`/`)[0];if(i===null&&!a)return null;try{let e=new URL(i??`https://${a}`);return e.pathname=`/${r.join(`/`)}/pull/${n}`,e.toString()}catch{return null}}function xo(e){let t;try{t=new URL(e)}catch{return null}if(t.protocol!==`https:`&&t.protocol!==`http:`||!(t.hostname.toLowerCase()===`github.com`||t.hostname.toLowerCase().endsWith(`.github.com`)||t.hostname.toLowerCase().split(`.`).includes(`github`)))return null;let n=/^\/([^/]+\/[^/]+)\/issues\/(\d+)(?:\/|$)/u.exec(t.pathname);return n?.[1]===void 0||n[2]===void 0?null:(t.pathname=`/${n[1]}/pull/${n[2]}`,t.toString())}function So(e,t){let n=vo(e.url),r=vo(t);return n!==null&&r!==null&&n.host===r.host&&n.repository===r.repository&&n.number===r.number&&n.authority===r.authority}function Co(e){if(vo(e)===null)return null;let t=new URL(e),n=/^(.*?)\/-\/merge_requests\/\d+(?:\/|$)/iu.exec(t.pathname)?.[1]??/^(.*?)(?:\/pulls?\/\d+|\/-\/merge_requests\/\d+|\/pull-requests\/\d+|\/pullrequest\/\d+)(?:\/|$)/iu.exec(t.pathname)?.[1];return n?(t.pathname=n,t.search=``,t.hash=``,t.toString()):null}function wo(e){let t=e.url===void 0?null:vo(e.url),n=go(`${(e.authority??(t?.repository===e.repository.trim().toLowerCase()&&t.number===e.number?t.authority:void 0)??e.host).trim().toLowerCase()}/${e.repository.trim().toLowerCase()}`),r=n.indexOf(`/`);return{host:n.slice(0,r),repository:n.slice(r+1),number:e.number}}function To(e,t){let n=vo(e.url);if(n!==null&&n.number===e.number){let e=go(`${n.host}/${n.repository}`);if(n.authority!==void 0||e.startsWith(`dev.azure.com/`))return wo(n)}let r=t;if(r===void 0)try{r=new URL(e.url).hostname}catch{r=`unknown`}return{host:r.trim().toLowerCase()||`unknown`,repository:e.repository.trim().toLowerCase(),number:e.number}}function Eo(e,t){return Do(e)===Do(t)}function Do(e){let t=wo(e);return`${t.host}/${t.repository}#${t.number}`}function Oo(e){return e.filter(e=>e.source!==`stack-dismissed`)}function ko(e){return e.snapshot===null||e.snapshot.state===`open`}function Ao(e){let t=e.snapshot?.updatedAt??e.linkedAt,n=Date.parse(t);return Number.isNaN(n)?0:n}function jo(e){let t=Oo(e);if(t.length===0)return null;let n=t.filter(ko);if(n.length===1)return{kind:`single`,link:n[0]};let r=No(t);if(n.length>1){let e=r.map(e=>[...e.layers].reverse().filter(ko)).filter(e=>e.length>0).sort((e,t)=>Math.max(...t.map(e=>Date.parse(e.linkedAt)))-Math.max(...e.map(e=>Date.parse(e.linkedAt)))).flat();return{kind:`stack`,open:e,top:e[0]}}return r.length===1?{kind:`single`,link:r[0].layers.at(-1)}:{kind:`single`,link:[...t].sort((e,t)=>Ao(t)-Ao(e))[0]}}function Mo(e){let t=jo(e);return t===null?null:t.kind===`single`?t.link:t.top}function No(e){let t=Oo(e),n=[],r=new Set,i=new Map;for(let e of t){if(e.stack===null)continue;let t=wo(e),n=`${t.host}/${t.repository}#stack:${e.stack.id}`,r=i.get(n)??[];r.push(e),i.set(n,r)}for(let e of i.values()){let t=new Map(e[0].stack.layers.map((e,t)=>[e.number,t]));e.sort((e,n)=>(t.get(e.number)??0)-(t.get(n.number)??0));for(let t of e)r.add(Do(t));n.push({kind:`native`,layers:e})}let a=t.filter(e=>!r.has(Do(e))),o=(e,t)=>{let n=wo(e);return`${n.host}/${n.repository}:${t}`},s=new Map;for(let e of a){if(e.snapshot===null)continue;let t=o(e,e.snapshot.headBranch);s.set(t,s.has(t)?null:e)}let c=new Set;for(let e of a){if(e.snapshot===null)continue;let t=s.get(o(e,e.snapshot.baseBranch));t!=null&&t!==e&&c.add(Do(t))}for(let e of a){if(c.has(Do(e)))continue;let t=[],i=e;for(;i!==void 0&&!r.has(Do(i));)r.add(Do(i)),t.unshift(i),i=i.snapshot===null?void 0:s.get(o(i,i.snapshot.baseBranch))??void 0;t.length>0&&n.push({kind:`derived`,layers:t})}for(let e of a)r.has(Do(e))||n.push({kind:`derived`,layers:[e]});return n}function Po(e){let t=Oo(e??[]);if(t.length===0)return null;let n=t.map(e=>e.snapshot?.state??`open`),r=t.every(e=>e.snapshot?.state===`open`&&e.snapshot.isDraft)?`draft`:n.includes(`open`)?`open`:n.every(e=>e===`merged`)?`merged`:`closed`,i=No(t);return t.length>1&&i.length===1?{kind:`stack`,layers:t.length,state:r}:{kind:`pull-request`,others:t.length-1,state:r}}function Fo(e){let t=e.branchPullRequest,n=t?[`#${t.number}`,`${t.repository}#${t.number}`,t.url]:[];if(e.pullRequests!==void 0&&e.pullRequests.length>0)return n.concat(Oo(e.pullRequests).flatMap(e=>[`#${e.number}`,`${e.repository}#${e.number}`,e.url,e.snapshot?.title??``]));let r=e.linkedPullRequest;return r?n.concat([`#${r.number}`,`${r.repository}#${r.number}`,r.url]):n}function Io(e){if(e.pullRequests!==void 0)return e.pullRequests;let t=e.linkedPullRequest;return t==null?[]:[{...To(t),url:t.url,source:`manual`,linkedAt:`1970-01-01T00:00:00.000Z`,snapshot:null,stack:null}]}function Lo(e,t){return{...e,pullRequests:Io(e).map(e=>Eo(e,t)?t:e)}}var Ro=new Set([`command_execution`,`dynamic_tool`,`subagent`]),zo=new Set([`cancelled`,`completed`,`failed`,`interrupted`,`waiting`]);function Bo(e){return e.some(e=>Vo(e.kind))}function Vo(e){switch(e){case`command`:return!1;case`subagent`:case`monitor`:case`background_task`:return!0}}function Ho(e){return e!=null&&zo.has(e.status)}function Uo(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Reflect.get(e,`persistent`)===!0}function Wo(e){if(typeof e.title==`string`&&e.title.trim().length>0)return e.title.trim();if(e.type===`command_execution`&&typeof e.input==`string`){let t=e.input.trim();return t.length>0?t:void 0}if(e.type===`dynamic_tool`){let t=Reflect.get(e,`toolName`);if(typeof t==`string`&&t.trim().length>0)return t.trim()}if(e.type===`subagent`&&typeof e.prompt==`string`){let t=e.prompt.trim();return t.length>0?t:void 0}}function Go(e,t){let n=Wo(t),r={taskId:e,...n===void 0?{}:{description:n}};switch(t.type){case`subagent`:return{...r,kind:`subagent`,...t.owningProviderInstanceId===void 0?{}:{providerInstanceId:t.owningProviderInstanceId},...t.childThreadId==null?{}:{childThreadId:t.childThreadId}};case`command_execution`:return{...r,kind:`command`};default:return{...r,kind:`background_task`}}}function Ko(e){let t=e.nativeItemRef?.nativeId;return typeof t==`string`&&t.length>0?t:String(e.id)}function qo(e){let t=new Set((e.runs??[]).filter(e=>e.status===`rolled_back`).map(e=>String(e.id)));return e.turnItems.filter(e=>Ro.has(e.type)&&ee(e.status)&&!(e.type===`dynamic_tool`&&Uo(e.input))&&(e.runId===void 0||e.runId===null||!t.has(String(e.runId))))}function Jo(e){if(e.hasActiveRun??e.runs?.some(e=>e.status===`preparing`||e.status===`starting`||e.status===`running`)??!1)return[];if(e.latestRun==null)return Yo(e.pullRequests);if(!Ho(e.latestRun))return[];let t=new Map,n=e.activeProviderThreadId===void 0||e.activeProviderThreadId===null?e.providerThreads:e.providerThreads.filter(t=>t.id===e.activeProviderThreadId);for(let e of n)for(let n of e.pendingBackgroundTasks??[]){if(n.taskId.length===0||t.has(n.taskId))continue;let{description:r,...i}=n,a=r?.trim();t.set(n.taskId,{...i,...n.kind===`subagent`?{providerInstanceId:e.providerInstanceId}:{},...a===void 0||a.length===0?{}:{description:a}})}for(let n of qo(e)){let e=Ko(n);t.has(e)||t.set(e,Go(e,n))}for(let n of Yo(e.pullRequests))t.set(n.taskId,n);return Array.from(t.values())}function Yo(e){return(e??[]).flatMap(e=>e.watch===void 0||e.source===`stack-dismissed`?[]:[{taskId:`pull-request-watch:${Do(e)}`,description:`Watching pull request #${e.number}`,kind:`monitor`}])}var Y=S(`EnvironmentCommands.allocateCommandId`)(function*(e){if(e.commandId!==void 0)return e.commandId;let t=yield*gi;return d.make(yield*t.randomUUIDv4().pipe(jn))}),X=e=>Ki(Dn.dispatchCommand,e),Xo=e=>Ki(Dn.getThreadProjection,{threadId:e}),Zo=S(`EnvironmentCommands.supportsServerResolvedCommandContext`)(function*(){return(yield*Wi()).environment.capabilities.serverResolvedCommandContext===!0}),Qo=S(`EnvironmentCommands.persistAttachments`)(function*(e,t,n){let r=n.filter(e=>!(`dataUrl`in e)),i=n.filter(e=>`dataUrl`in e);if(i.length===0)return r;let a=yield*Ki(T.assetsPersistChatAttachments,{threadId:e,messageId:t,attachments:i});if(r.length===0)return a.attachments;let o=new Map(i.map((e,t)=>[e,a.attachments[t]]));return n.flatMap(e=>{if(!(`dataUrl`in e))return[e];let t=o.get(e);return t===void 0?[]:[t]})}),$o=S(`EnvironmentCommands.mutateProject`)(function*(e){return yield*Ki(T.projectsMutate,e)}),es=S(`EnvironmentCommands.createProject`)(function*(e){return yield*$o({type:`project.create`,commandId:yield*Y(e),projectId:e.projectId,title:e.title,workspaceRoot:e.workspaceRoot,...e.createWorkspaceRootIfMissing===void 0?{}:{createWorkspaceRootIfMissing:e.createWorkspaceRootIfMissing},...e.defaultModelSelection===void 0?{}:{defaultModelSelection:e.defaultModelSelection},...e.scripts===void 0?{}:{scripts:e.scripts}})}),ts=S(`EnvironmentCommands.updateProject`)(function*(e){return yield*$o({type:`project.update`,commandId:yield*Y(e),projectId:e.projectId,...e.title===void 0?{}:{title:e.title},...e.workspaceRoot===void 0?{}:{workspaceRoot:e.workspaceRoot},...e.defaultModelSelection===void 0?{}:{defaultModelSelection:e.defaultModelSelection},...e.autoPull===void 0?{}:{autoPull:e.autoPull},...e.projectIcon===void 0?{}:{projectIcon:e.projectIcon},...e.faviconPath===void 0?{}:{faviconPath:e.faviconPath},...e.defaultThreadEnvMode===void 0?{}:{defaultThreadEnvMode:e.defaultThreadEnvMode},...e.scripts===void 0?{}:{scripts:e.scripts}})}),ns=S(`EnvironmentCommands.deleteProject`)(function*(e){return yield*$o({type:`project.delete`,commandId:yield*Y(e),projectId:e.projectId,...e.force===void 0?{}:{force:e.force}})}),rs=S(`EnvironmentCommands.createThread`)(function*(e){return yield*X({type:`thread.create`,commandId:yield*Y(e),createdBy:`user`,creationSource:e.creationSource??`web`,threadId:e.threadId,projectId:e.projectId,title:e.title,modelSelection:e.modelSelection,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,branch:e.branch,worktreePath:e.worktreePath,...e.parentThreadId===void 0?{}:{parentThreadId:e.parentThreadId},...e.sideChat===void 0?{}:{sideChat:e.sideChat}})});function is(e,t){return Y(t).pipe(D(n=>X({type:e,commandId:n,threadId:t.threadId})))}var as=S(`EnvironmentCommands.deleteThread`)(function*(e){return e.expectedEmpty!==!0&&e.expectedSideChat!==!0?yield*is(`thread.delete`,e):yield*X({type:`thread.delete`,commandId:yield*Y(e),threadId:e.threadId,...e.expectedEmpty===!0?{expectedEmpty:!0}:{},...e.expectedSideChat===!0?{expectedSideChat:!0}:{}})}),os=S(`EnvironmentCommands.archiveThread`)(function*(e){return yield*is(`thread.archive`,e)}),ss=S(`EnvironmentCommands.unarchiveThread`)(function*(e){return yield*is(`thread.unarchive`,e)}),cs=S(`EnvironmentCommands.settleThread`)(function*(e){return yield*is(`thread.settle`,e)}),ls=S(`EnvironmentCommands.pinThread`)(function*(e){return yield*X({type:`thread.pin`,commandId:yield*Y(e),threadId:e.threadId,...e.orderKey===void 0?{}:{orderKey:e.orderKey}})}),us=S(`EnvironmentCommands.setThreadAutoSettle`)(function*(e){return yield*X({type:`thread.auto-settle.set`,commandId:yield*Y(e),threadId:e.threadId,enabled:e.enabled})}),ds=S(`EnvironmentCommands.reorderPinnedThread`)(function*(e){return yield*X({type:`thread.pin.reorder`,commandId:yield*Y(e),threadId:e.threadId,orderKey:e.orderKey})}),fs=S(`EnvironmentCommands.reorderActiveThread`)(function*(e){return yield*X({type:`thread.active.reorder`,commandId:yield*Y(e),threadId:e.threadId,orderKey:e.orderKey})}),ps=S(`EnvironmentCommands.unpinThread`)(function*(e){return yield*is(`thread.unpin`,e)}),ms=S(`EnvironmentCommands.unsettleThread`)(function*(e){return yield*X({type:`thread.unsettle`,commandId:yield*Y(e),threadId:e.threadId,reason:e.reason})}),hs=S(`EnvironmentCommands.snoozeThread`)(function*(e){return yield*X({type:`thread.snooze`,commandId:yield*Y(e),threadId:e.threadId,snoozedUntil:e.snoozedUntil})}),gs=S(`EnvironmentCommands.unsnoozeThread`)(function*(e){return yield*X({type:`thread.unsnooze`,commandId:yield*Y(e),threadId:e.threadId,reason:e.reason})}),_s=S(`EnvironmentCommands.visitThread`)(function*(e){return yield*X({type:`thread.visit`,commandId:yield*Y(e),threadId:e.threadId,visitedAt:e.visitedAt})}),vs=S(`EnvironmentCommands.markThreadUnread`)(function*(e){return yield*X({type:`thread.mark-unread`,commandId:yield*Y(e),threadId:e.threadId})}),ys=S(`EnvironmentCommands.updateThreadMetadata`)(function*(e){let t=yield*Y(e),n=null;return(e.projectId!==void 0||e.title!==void 0||e.branch!==void 0||e.worktreePath!==void 0||e.regenerateTitle!==void 0||e.linkedPullRequest!==void 0||e.sideChat!==void 0||e.limitRecovery!==void 0)&&(n=yield*X({type:`thread.metadata.update`,...e.projectId===void 0?{}:{projectId:e.projectId},...e.limitRecovery===void 0?{}:{limitRecovery:e.limitRecovery},commandId:t,threadId:e.threadId,...e.title===void 0?{}:{title:e.title},...e.branch===void 0?{}:{branch:e.branch},...e.worktreePath===void 0?{}:{worktreePath:e.worktreePath},...e.expectedEmpty===!0?{expectedEmpty:!0}:{},...e.regenerateTitle===void 0?{}:{regenerateTitle:e.regenerateTitle},...e.linkedPullRequest===void 0?{}:{linkedPullRequest:e.linkedPullRequest},...e.sideChat===void 0?{}:{sideChat:e.sideChat}})),e.modelSelection!==void 0&&(n=yield*X({type:(yield*Zo())?`thread.model-selection.set`:bt((yield*Xo(e.threadId)).thread.providerInstanceId,e.modelSelection),commandId:n===null?t:d.make(`${t}:model-selection`),threadId:e.threadId,modelSelection:e.modelSelection})),n??{sequence:0}}),bs=S(`EnvironmentCommands.setThreadRuntimeMode`)(function*(e){return yield*X({type:`thread.runtime-mode.set`,commandId:yield*Y(e),threadId:e.threadId,runtimeMode:e.runtimeMode})}),xs=S(`EnvironmentCommands.setThreadInteractionMode`)(function*(e){return yield*X({type:`thread.interaction-mode.set`,commandId:yield*Y(e),threadId:e.threadId,interactionMode:e.interactionMode})}),Ss=S(`EnvironmentCommands.startThreadTurn`)(function*(e){let t=yield*Y(e),n=yield*Qo(e.threadId,e.message.messageId,e.message.attachments),r=te(e.message.context,e.message.attachments,n),i=e.bootstrap?.createThread,a=e.bootstrap?.prepareWorktree;if(i!==void 0||a!==void 0){let o=i===void 0?yield*Xo(e.threadId):null,s=i??o.thread,c=a===void 0?i?.worktreePath?{type:`existing_worktree`,worktreePath:i.worktreePath,...i.branch===null?{}:{branch:i.branch}}:{type:`root`,...i?.branch===null||i?.branch===void 0?{}:{branch:i.branch}}:{type:a.auto===!0?`auto`:`worktree`,baseRef:a.baseBranch,...a.branch===void 0?{}:{branch:a.branch},...a.startFromOrigin===void 0?{}:{startFromOrigin:a.startFromOrigin}};return yield*Ki(Dn.launchThread,{commandId:t,creationSource:e.creationSource??`web`,threadId:e.threadId,...i===void 0?{reuseExistingThread:!0}:{},projectId:s.projectId,title:e.titleSeed??s.title,generateTitle:e.titleSeed!==void 0,modelSelection:e.modelSelection??s.modelSelection,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,workspaceStrategy:c,initialMessage:{messageId:e.message.messageId,text:e.message.text,...r?{context:r}:{},attachments:n}})}let o=e.dispatchMode??`auto`;if(o===`start`)return yield*X({type:`message.dispatch`,commandId:t,createdBy:`user`,creationSource:e.creationSource??`web`,threadId:e.threadId,messageId:e.message.messageId,...e.manualContinuationOfRunId===void 0?{}:{manualContinuationOfRunId:e.manualContinuationOfRunId},text:e.message.text,...r?{context:r}:{},attachments:n,...e.modelSelection===void 0?{}:{modelSelection:e.modelSelection},...e.sourceProposedPlan===void 0?{}:{sourcePlanRef:e.sourceProposedPlan},dispatchMode:{type:`start_immediately`}});let s=yield*Zo(),c=s?null:yield*Xo(e.threadId),l=c?.runs.findLast(e=>e.status===`preparing`||e.status===`starting`||e.status===`running`||e.status===`waiting`),u=l===void 0?void 0:c?.providerThreads.find(e=>e.id===l.providerThreadId),d=(u?.providerSessionId===null||u?.providerSessionId===void 0?void 0:c?.providerSessions.find(e=>e.id===u.providerSessionId))?.capabilities.turns,f=s?o===`queue`?{type:`queue_after_active`}:{type:`start_immediately`}:l===void 0?{type:`start_immediately`}:o===`steer`?{type:`steer_active`,targetRunId:l.id}:o===`restart`?{type:`restart_active`,targetRunId:l.id}:o===`queue`?{type:`queue_after_active`}:d?.supportsActiveSteering===!0?{type:`steer_active`,targetRunId:l.id}:d?.supportsQueuedMessages===!0?{type:`queue_after_active`}:d?.supportsSteeringByInterruptRestart===!0?{type:`restart_active`,targetRunId:l.id}:{type:`queue_after_active`},p=e.titleSeed!==void 0&&(s||c?.messages.length===0);return yield*X({type:`message.dispatch`,commandId:t,createdBy:`user`,creationSource:e.creationSource??`web`,threadId:e.threadId,messageId:e.message.messageId,text:e.message.text,...r?{context:r}:{},attachments:n,...p?{titleSeed:e.titleSeed}:{},...e.modelSelection===void 0?{}:{modelSelection:e.modelSelection},...e.sourceProposedPlan===void 0?{}:{sourcePlanRef:e.sourceProposedPlan},...s&&o!==`queue`?{deliveryIntent:o}:{},dispatchMode:f})}),Cs=S(`EnvironmentCommands.interruptThreadTurn`)(function*(e){if(e.subagentId!==void 0){let t=(yield*Xo(e.threadId)).subagents.find(t=>t.id===e.subagentId);return t?.runId==null?{sequence:0}:yield*X({type:`subagent.stop`,commandId:yield*Y(e),threadId:e.threadId,runId:t.runId,subagentId:t.id})}let t=e.runId??e.turnId;if(t===void 0){let n=yield*Xo(e.threadId);if(t=n.runs.findLast(e=>e.status===`preparing`||e.status===`starting`||e.status===`running`||e.status===`waiting`)?.id,t===void 0){let e=n.runs.at(-1);Jo({latestRun:e,providerThreads:n.providerThreads,turnItems:n.turnItems,activeProviderThreadId:n.thread.activeProviderThreadId,runs:n.runs}).length>0&&(t=e?.id)}if(t===void 0){let t={sequence:0};for(let r of Oo(n.thread.pullRequests??[]))r.watch!==void 0&&(t=yield*X({type:`thread.pull-request.watch`,commandId:yield*Y(t.sequence===0?e:{}),threadId:e.threadId,host:r.host,repository:r.repository,number:r.number,watching:!1}));return t}}return t===void 0?{sequence:0}:yield*X({type:`run.interrupt`,commandId:yield*Y(e),threadId:e.threadId,runId:t,holdQueue:!0})}),ws=S(`EnvironmentCommands.respondToThreadApproval`)(function*(e){return yield*X({type:`runtime-request.respond`,commandId:yield*Y(e),threadId:e.threadId,requestId:e.requestId,decision:e.decision})}),Ts=S(`EnvironmentCommands.respondToThreadUserInput`)(function*(e){return yield*X({type:`runtime-request.respond`,commandId:yield*Y(e),threadId:e.threadId,requestId:e.requestId,answers:e.answers,...e.attachmentsByQuestionId===void 0?{}:{attachmentsByQuestionId:e.attachmentsByQuestionId}})}),Es=S(`EnvironmentCommands.dismissThreadUserInput`)(function*(e){return yield*X({type:`thread.user-input.dismiss`,commandId:yield*Y(e),threadId:e.threadId,requestId:e.requestId})}),Ds=S(`EnvironmentCommands.revertThreadCheckpoint`)(function*(e){if(e.checkpointId!==void 0&&e.scopeId!==void 0&&(yield*Zo()))return yield*X({type:`checkpoint.rollback`,...e.restoreFiles===void 0?{}:{restoreFiles:e.restoreFiles},commandId:yield*Y(e),threadId:e.threadId,scopeId:Bn.make(e.scopeId),checkpointId:Ke.make(e.checkpointId)});let t=yield*Xo(e.threadId),n=t.checkpoints.find(t=>t.id===e.checkpointId&&t.scopeId===e.scopeId)??t.checkpoints.findLast(t=>e.turnCount===0?t.ordinalWithinScope===0&&t.appRunOrdinal===null:t.appRunOrdinal===e.turnCount);if(n===void 0||n.status!==`ready`){let t=e.checkpointId===void 0?`run ordinal ${e.turnCount??`unknown`}`:`checkpoint ${e.checkpointId}`;return yield*new yn({threadId:e.threadId,target:t})}return yield*X({type:`checkpoint.rollback`,...e.restoreFiles===void 0?{}:{restoreFiles:e.restoreFiles},commandId:yield*Y(e),threadId:e.threadId,scopeId:n.scopeId,checkpointId:n.id})}),Os=S(`EnvironmentCommands.stopThreadSession`)(function*(e){let t=yield*Xo(e.threadId),n=yield*Y(e),r={sequence:0};for(let i of t.providerSessions)r=yield*X({type:`provider-session.detach`,commandId:d.make(`${n}:detach:${i.id}`),threadId:e.threadId,providerSessionId:i.id,reason:`client-requested`});return r}),ks=S(`EnvironmentCommands.forkThreadFromRun`)(function*(e){return yield*X({type:`thread.fork`,commandId:yield*Y(e),createdBy:`user`,creationSource:e.creationSource??`web`,sourceThreadId:e.sourceThreadId,targetThreadId:e.targetThreadId,sourcePoint:e.runId===void 0?{type:`latest_stable`}:{type:`run`,runId:e.runId},...e.title===void 0?{}:{title:e.title},...e.sideChat===void 0?{}:{sideChat:e.sideChat},...e.runtimeMode===void 0?{}:{runtimeMode:e.runtimeMode}})}),As=S(`EnvironmentCommands.mergeThreadBack`)(function*(e){return yield*X({type:`thread.merge_back`,commandId:yield*Y(e),createdBy:`user`,creationSource:e.creationSource??`web`,sourceThreadId:e.sourceThreadId,targetThreadId:e.targetThreadId,sourcePoint:{type:`run`,runId:e.runId}})}),js=S(`EnvironmentCommands.resumeThreadQueue`)(function*(e){return yield*X({type:`queue.resume`,commandId:yield*Y(e),threadId:e.threadId})}),Ms=S(`EnvironmentCommands.reorderQueuedRun`)(function*(e){return yield*X({type:`queued-run.reorder`,commandId:yield*Y(e),threadId:e.threadId,runId:e.runId,beforeRunId:e.beforeRunId})}),Ns=S(`EnvironmentCommands.promoteQueuedRun`)(function*(e){return yield*X({type:`queued-message.promote-to-steer`,commandId:yield*Y(e),threadId:e.threadId,queuedRunId:e.queuedRunId,targetRunId:e.targetRunId})}),Ps=S(`EnvironmentCommands.cancelQueuedRun`)(function*(e){return yield*X({type:`queued-run.cancel`,commandId:yield*Y(e),threadId:e.threadId,runId:e.runId})}),Fs=S(`EnvironmentCommands.retryWorkspacePreparation`)(function*(e){return yield*X({type:`prepared-run.retry`,commandId:yield*Y(e),threadId:e.threadId,runId:e.runId})}),Is=S(`EnvironmentCommands.editQueuedRun`)(function*(e){let t=e.edit===void 0?void 0:yield*Qo(e.threadId,e.edit.messageId,e.edit.attachments);return yield*X({type:`queued-run.edit`,commandId:yield*Y(e),threadId:e.threadId,runId:e.runId,text:e.text,...t===void 0?{}:{attachments:t},...e.edit?.context&&t?{context:te(e.edit.context,e.edit.attachments,t)}:{}})}),Ls=S(`EnvironmentCommands.linkThreadPullRequest`)(function*(e){return yield*X({...e,type:`thread.pull-request.link`,commandId:yield*Y(e)})}),Rs=S(`EnvironmentCommands.linkThreadDesign`)(function*(e){return yield*X({...e,type:`thread.design.link`,commandId:yield*Y(e)})}),zs=S(`EnvironmentCommands.unlinkThreadDesign`)(function*(e){return yield*X({...e,type:`thread.design.unlink`,commandId:yield*Y(e)})}),Bs=S(`EnvironmentCommands.watchThreadPullRequest`)(function*(e){return yield*X({...e,type:`thread.pull-request.watch`,commandId:yield*Y(e)})}),Vs=S(`EnvironmentCommands.unlinkThreadPullRequest`)(function*(e){return yield*X({...e,type:`thread.pull-request.unlink`,commandId:yield*Y(e)})}),Hs=new Set([`completed`,`failed`,`cancelled`,`interrupted`]);function Us(e){return Hs.has(e)}function Ws(e){return ee(e)}function Gs(e){return e.type===`subagent`&&ee(e.status)}function Ks(e){return e.totalTokens===void 0?null:{totalTokens:e.totalTokens,...e.toolCalls===void 0?{}:{toolUses:e.toolCalls},...e.durationMs===void 0?{}:{durationMs:e.durationMs}}}function qs(e){return e===void 0?null:Dr(ar(e))}function Js(e,t){return t.agents.map(t=>{let n=(t.state===`queued`||t.state===`running`)&&Us(e.status)?e.status:t.state===`queued`?`pending`:t.state,r=n===`failed`,i=qs(t.startedAt),a=Us(n)?t.startedAt!==void 0&&t.durationMs!==void 0?qs(t.startedAt+t.durationMs):e.completedAt:null;return{...e,id:`${e.id}:agent:${t.index}`,kind:`workflow_agent`,title:t.label,model:t.model??null,status:n,activationCount:t.attempt??1,usage:Ks(t),progress:t.prompt??null,result:r?null:t.result??null,error:r?t.result??null:null,parentAgentId:e.id,agentIndex:t.index,phaseIndex:t.phaseIndex??null,phaseTitle:t.phaseTitle??null,attempt:t.attempt??null,phases:[],childThreadId:t.childThreadId??null,recentActivity:[],firstSeenAt:qs(t.queuedAt)??i??e.firstSeenAt,startedAt:i,completedAt:a,updatedAt:a??i??e.firstSeenAt}})}function Ys(e){return e.flatMap(e=>{let t=Dr(e.updatedAt),n=e.startedAt===null?null:Dr(e.startedAt),r=n??t,{workflow:i}=e,a=i?.runHandles??null,o={id:e.id,kind:i===void 0?`subagent`:`workflow`,title:e.title??(e.prompt.length>80?`${e.prompt.slice(0,77)}...`:e.prompt),role:null,model:e.model,effort:null,status:e.status,activationCount:1,usage:i===void 0?null:Ks(i),progress:e.progress??null,lastToolName:null,result:e.result,error:e.status===`failed`?e.result??null:null,outputFile:null,parentAgentId:null,agentIndex:null,phaseIndex:null,phaseTitle:null,attempt:null,workflowName:i?.name??null,phases:i?.phases??[],runHandles:a,childThreadId:e.childThreadId??null,recentActivity:[],firstSeenAt:r,startedAt:n,completedAt:e.completedAt===null?null:Dr(e.completedAt),updatedAt:t};return i===void 0?[o]:[o,...Js(o,i)]})}function Xs(e){let t=e.filter(e=>e.kind===`workflow`).sort((e,t)=>e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),n=Je(e.filter(e=>e.kind!==`workflow`&&e.parentAgentId!==null),e=>e.parentAgentId);return t.map(e=>{let t=Object.hasOwn(n,e.id)?n[e.id]:[],r=new Map;for(let e of t)e.phaseIndex!==null&&r.set(e.phaseIndex,e.phaseTitle??r.get(e.phaseIndex)??`Phase ${e.phaseIndex+1}`);for(let t of e.phases)r.set(t.index,t.title);return{workflow:e,phases:Array.from(r.entries()).map(([e,t])=>({index:e,title:t})).sort((e,t)=>e.index-t.index).map(e=>{let n=t.filter(t=>t.phaseIndex===e.index).sort((e,t)=>(e.agentIndex??0)-(t.agentIndex??0)),r=n.some(e=>Ws(e.status)||e.status===`idle`),i=n.filter(e=>Us(e.status)).length,a=n.length===0?`pending`:r?`running`:`done`;return{index:e.index,title:e.title,members:n,state:a,settledCount:i}}),unphasedMembers:t.filter(e=>e.phaseIndex===null).sort((e,t)=>(e.agentIndex??0)-(t.agentIndex??0))}})}function Zs(e){let t=e.some(({status:e})=>e===`pending`||e===`running`||e===`waiting`);return{label:`${t?`Kicked off`:`Ran`} ${e.length} ${e.length===1?`subagent`:`subagents`}`,active:t,failed:e.some(({status:e})=>e===`failed`)}}function Qs(e){let t={working:0,done:0,failed:0,stopped:0,idle:0};for(let n of e)n===`pending`||n===`running`||n===`waiting`?t.working+=1:n===`completed`?t.done+=1:n===`failed`?t.failed+=1:n===`idle`?t.idle+=1:t.stopped+=1;return Object.keys(t).filter(e=>t[e]>0).map(e=>`${t[e]} ${e}`).join(` · `)}function $s(e){let t=e.replace(/^Subagent:\s*/i,``),n=/^\/root\/(?:[^/]+\/)*([^/]+)\/?$/u.exec(t);return n===null?t:n[1].replace(/[_\s]+/gu,` `).trim().replace(/(^|\s)\S/gu,e=>e.toUpperCase())||t}function ec(e){let t=e.model?.trim(),n=e.provider?cr(e.provider.driver,t,e.provider.models):t,r=e.provider?.models.find(e=>e.slug===n),i=r?r.shortName||r.name:t?ve(t):`Not reported`,a=r?.subProvider?.trim(),o=a&&i.replace(RegExp(`^${a.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}(?:\\s*[.:/-]\\s*|\\s+)`,`iu`),``).trim()||i,s=e.parentThread?.worktreePath??e.parentProject?.workspaceRoot,c=e.childThread?.worktreePath??e.childProject?.workspaceRoot;return{modelLabel:o,workspace:[...e.parentThread&&e.childProject&&e.childProject.id!==e.parentThread.projectId?[{label:`Project`,value:e.childProject.title}]:[],...s&&c&&s!==c?[{label:e.childThread?.branch?`Branch`:e.childThread?.worktreePath?`Worktree`:`Workspace`,value:e.childThread?.branch??lo(c)}]:[]]}}function tc(e){let t=e.result?.trim(),n=e.progress?.trim(),r=((Us(e.status)?t||n:n||t)||``).replace(/\s+/gu,` `);return r.length>280?`${r.slice(0,280).trimEnd()}…`:r||null}function nc(e){return e!=null&&ic(e.status)}function rc(e){return e?.status===`queued`?e.activeRunId===null:e?.status!==`preparing`&&e?.status!==`starting`&&e?.status!==`running`}function ic(e){return e===`preparing`||e===`queued`||e===`starting`||e===`running`||e===`waiting`}function ac(e){return Dr(e)}function oc(e){return e===null?null:ac(e)}function sc(e){return e===`completed`||e===`interrupted`||e===`failed`||e===`cancelled`||e===`rolled_back`}function cc(e){let t=Bo(e.pendingBackgroundTasks??[])&&e.status!==`failed`;return e.latestRunId===null&&e.activeProviderThreadId===null&&!t?null:{status:t?`idle`:e.activityRunStatus??e.status,activeRunId:e.activeRunId,activityStartedAt:e.activityRunStartedAt===void 0?void 0:oc(e.activityRunStartedAt),providerInstanceId:e.providerInstanceId,providerName:null,lastError:e.lastError??null,lastErrorClass:e.lastErrorClass??null,usageLimitResetAt:e.usageLimitResetAt??null,updatedAt:ac(e.updatedAt)}}function lc(e,t){return{...t,environmentId:e}}function uc(e,t,n=null){let r=ac(t.updatedAt),i=t.latestRunId===null?null:{runId:t.latestRunId,status:t.status===`idle`?`completed`:t.status,requestedAt:oc(t.latestRunRequestedAt??null),startedAt:oc(t.latestRunStartedAt??null),completedAt:t.latestRunCompletedAt===void 0?t.status===`idle`||sc(t.status)?r:null:oc(t.latestRunCompletedAt),assistantMessageId:null};return{environmentId:e,id:t.id,projectId:t.projectId,title:t.lineage.relationshipToParent===`subagent`?$s(t.title):t.title,providerInstanceId:t.providerInstanceId,modelSelection:t.modelSelection,runtimeMode:t.runtimeMode,interactionMode:t.interactionMode,branch:t.branch,worktreePath:t.worktreePath,pullRequests:Io(t),designs:t.designs??[],linkedPullRequest:t.linkedPullRequest??null,branchPullRequest:t.branchPullRequest??null,sideChat:t.sideChat===!0,lineage:t.lineage,forkedFrom:t.forkedFrom,activeProviderThreadId:t.activeProviderThreadId,latestRun:i,runtime:cc(t),latestUserMessageAt:oc(t.latestUserMessageAt),...t.latestUserAuthoredMessageAt===void 0?{}:{latestUserAuthoredMessageAt:oc(t.latestUserAuthoredMessageAt)},hasPendingApprovals:t.pendingRuntimeRequest!==null&&t.pendingRuntimeRequest.kind!==`user_input`&&t.pendingRuntimeRequest.kind!==`auth_refresh`,hasPendingUserInput:t.pendingRuntimeRequest?.kind===`user_input`,pendingSubagentRequest:n,hasActionableProposedPlan:t.hasActionableProposedPlan,pendingBackgroundTasks:t.pendingBackgroundTasks??[],providerInstanceHistory:t.providerInstanceHistory??[],goal:t.goal??null,itemCount:t.itemCount,visibleItemCount:t.visibleItemCount,createdAt:ac(t.createdAt),updatedAt:r,archivedAt:oc(t.archivedAt),settledOverride:t.settledOverride,settledAt:oc(t.settledAt),unsettledAt:oc(t.unsettledAt??null),snoozedUntil:oc(t.snoozedUntil??null),snoozedAt:oc(t.snoozedAt??null),limitRecovery:t.limitRecovery??null,pinnedAt:oc(t.pinnedAt??null),autoSettleDisabledAt:oc(t.autoSettleDisabledAt??null),pinOrderKey:t.pinOrderKey??null,activeOrderKey:t.activeOrderKey??null,...t.lastVisitedAt===void 0?{}:{lastVisitedAt:oc(t.lastVisitedAt)},titleRegeneration:t.titleRegeneration==null?null:{requestId:t.titleRegeneration.requestId,startedAt:ac(t.titleRegeneration.startedAt)},deletedAt:oc(t.deletedAt),source:t}}function dc(e){let t=e=>e!=null&&Number.isFinite(Date.parse(e))?e:null;if(e.runtime?.activityStartedAt!==void 0)return t(e.runtime.activityStartedAt);let n=e.latestRun;return n?.completedAt===null&&n.runId===e.runtime?.activeRunId?t(n.startedAt)??t(n.requestedAt):null}function*fc(e){for(let[t,n]of e.entries)n.enabled&&(yield t)}var pc=Object.freeze({isReady:!1,entries:new Map});function mc(e){let n=da(),r={mode:`serial`,key:()=>`environment-catalog`},i=e.atom(Se(J.pipe(A(e=>_e(e.entries).pipe(re(e=>({isReady:!0,entries:e})))))),{initialValue:pc}),a=k(e=>t(Ue(e(i)),()=>pc)).pipe(L(`environment-catalog-value`)),o=e.atom(Se(ni.pipe(A(e=>e.changes))),{initialValue:[]}),s=k(e=>t(Ue(e(o)),()=>[])).pipe(L(`environment-github-routing-permissions`)),c=hi(e,{label:`environment-catalog:github-routing-permission`,scheduler:n,concurrency:r,execute:S(function*(e){let t=yield*J,n=(yield*b(t.entries)).get(e.environmentId);if(n===void 0)return yield*new Na({environmentId:e.environmentId});yield*(yield*ni).set(n,e.permission)})}),l=e.atom(Se(J.pipe(A(e=>_e(e.networkStatus)))),{initialValue:`unknown`}),u=k(e=>t(Ue(e(l)),()=>`unknown`)).pipe(L(`environment-network-status-value`)),d=B(t=>e.atom(ba(t,Se(Ca.pipe(A(e=>_e(e.state))))),{initialValue:ji})),f=hi(e,{label:`environment-catalog:register`,scheduler:n,concurrency:r,execute:e=>J.pipe(D(t=>t.register(e)))}),p=hi(e,{label:`environment-catalog:remove`,scheduler:n,concurrency:r,execute:e=>J.pipe(D(t=>t.remove(e)))}),m=hi(e,{label:`environment-catalog:remove-relay-environments`,scheduler:n,concurrency:r,execute:e=>J.pipe(D(e=>e.removeRelayEnvironments()))}),h=hi(e,{label:`environment-catalog:set-enabled`,scheduler:n,concurrency:r,execute:e=>J.pipe(D(t=>t.setEnabled(e.environmentId,e.enabled)))});return{catalogAtom:i,catalogValueAtom:a,githubRoutingPermissionsValueAtom:s,setGitHubRoutingPermission:c,networkStatusAtom:l,networkStatusValueAtom:u,stateAtom:d,register:f,remove:p,removeRoute:hi(e,{label:`environment-catalog:remove-route`,scheduler:n,concurrency:r,execute:e=>J.pipe(D(t=>t.removeRoute(e.environmentId,e.routeId)))}),reorderRoutes:hi(e,{label:`environment-catalog:reorder-routes`,scheduler:n,concurrency:r,execute:e=>J.pipe(D(t=>t.reorderRoutes(e.environmentId,e.routeIds)))}),removeRelayEnvironments:m,retryNow:hi(e,{label:`environment-catalog:retry-now`,scheduler:n,concurrency:r,execute:e=>J.pipe(D(t=>t.retryNow(e)))}),setEnabled:h}}var hc=class extends gr()(`InvalidScopedProjectKeyError`,{key:z}){get message(){return`Invalid scoped project atom key: ${JSON.stringify(this.key)}.`}},gc=class extends gr()(`InvalidScopedThreadKeyError`,{key:z}){get message(){return`Invalid scoped thread atom key: ${JSON.stringify(this.key)}.`}},_c=class extends gr()(`InvalidScopedProjectRefCollectionKeyError`,{key:z,cause:Tt()}){get message(){return`Invalid scoped project reference collection atom key: ${JSON.stringify(this.key)}.`}},vc=Lr(St(tn([z,z])));function yc(e){return`${e.environmentId}\u0000${e.projectId}`}function Z(e){return`${e.environmentId}\u0000${e.threadId}`}function bc(e){return JSON.stringify(e.map(e=>[e.environmentId,e.projectId]))}function xc(e){let t=e.indexOf(`\0`);if(t<0)throw new hc({key:e});return{environmentId:Pn.make(e.slice(0,t)),projectId:ue.make(e.slice(t+1))}}function Sc(e){let t;try{t=vc(JSON.parse(e))}catch(t){throw new _c({key:e,cause:t})}return t.map(([e,t])=>({environmentId:Pn.make(e),projectId:ue.make(t)}))}function Cc(e){let t=e.indexOf(`\0`);if(t<0)throw new gc({key:e});return{environmentId:Pn.make(e.slice(0,t)),threadId:$e.make(e.slice(t+1))}}function wc(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.projectId===t[n]?.projectId)}function Tc(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.threadId===t[n]?.threadId)}function Ec(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var Dc=new Set([`origin_unreachable`,`invalid_response`]);function Oc(e){let t=e.state.lastFailure;if(e.state.network===`offline`||e.state.phase===`offline`)return{hop:`device`,cause:`offline`};if(t?._tag===`ConnectionBlockedError`&&t.serverUpdateRequired)return{hop:`server`,cause:`outdated`};if(t?.hop!==void 0)return{hop:t.hop,cause:t.failureCause??null};if(t!==null){let n=t.reason===`network`||t.reason===`timeout`||t.reason===`transport`,r=t.via??e.via;return{hop:n&&r===`relay`?`tunnel`:`server`,cause:null}}let n=e.relayStatus;if(n?.status!==`offline`)return null;if(n.offlineReason===`tunnel_released`)return{hop:`tunnel`,cause:`released`};let r=n.endpointFailure??null;return{hop:r!==null&&Dc.has(r)?`server`:`tunnel`,cause:r}}function kc(e,t,n){switch(t.cause){case`offline`:return`This device is offline`;case`outdated`:return`${e} runs an older P4 Code`;case`clock_skew`:return`This device's clock is off`;case`not_linked`:return`${e} is not linked to your P4 Connect account`;case`relay_error`:return`P4 Connect returned an error`;case`tunnel_pending`:return`${e}'s tunnel is still being set up`;case`tunnel_not_enabled`:return`P4 Connect is not turned on for ${e}`;case`released`:case`tunnel_down`:return`${e}'s tunnel is offline`;case`origin_unreachable`:return`Tunnel works, but P4 Code on ${e} did not answer`;case`invalid_response`:return`P4 Code on ${e} sent an unexpected answer`;case`dns`:return`${e}'s tunnel address did not resolve`;case`tls`:return`Secure connection to ${e}'s tunnel failed`;case`refused`:return`${e}'s tunnel refused the connection`;case`timeout`:return`${e} did not answer in time`}switch(t.hop){case`device`:return`This device could not prepare the connection`;case`relay`:return n?.reason===`authentication`?`P4 Connect did not accept this device's sign-in`:`This device can't reach P4 Connect`;case`tunnel`:return n?.reason===`network`||n?.reason===`transport`||n?.reason===`timeout`?`This device can't reach ${e}'s tunnel`:`P4 Connect could not reach ${e}'s tunnel`;case`server`:return n?.reason===`authentication`||n?.reason===`permission`?`P4 Code on ${e} did not accept this device`:`P4 Code on ${e} did not answer`}}function Ac(e,t,n){let r=`On ${e}, check Settings > Connections or run \`p4c connect status\`.`;switch(t.cause){case`offline`:return[`Connect this device to the internet. P4 Code reconnects on its own.`];case`outdated`:return[`Update P4 Code on ${e}.`];case`clock_skew`:return[`Turn on automatic date and time on this device and on ${e}, then retry.`];case`not_linked`:return[`Check that this device is signed in to the same P4 Connect account as the host.`,`On ${e}, open Settings > Connections and turn P4 Connect on.`];case`tunnel_pending`:return[`Wait a minute. P4 Code retries on its own.`,r];case`relay_error`:return[`Wait a few minutes. P4 Code retries on its own.`,`If it keeps failing, copy the diagnostics and report it.`];case`tunnel_not_enabled`:return[`On ${e}, open Settings > Connections and turn P4 Connect on.`];case`released`:case`tunnel_down`:return[`Make sure ${e} is awake and P4 Code is running on it.`,r,`A VPN or Tailscale exit node on ${e} can block the tunnel (port 7844). Turn it off or allow the tunnel.`];case`origin_unreachable`:case`invalid_response`:return[`Open or restart P4 Code on ${e}.`,r];case`dns`:case`tls`:case`refused`:case`timeout`:case`unknown`:return[`Make sure ${e} is awake and online.`,r]}switch(t.hop){case`device`:return[`Restart P4 Code on this device.`,`If it keeps failing, remove ${e} from this device and add it again.`];case`relay`:return n?.reason===`authentication`?[`Sign out of P4 Connect and sign in again.`]:[`Check this device's internet connection.`,`A VPN, firewall, or ad blocker on this device can block P4 Connect.`];case`tunnel`:return n?.reason===`network`||n?.reason===`transport`||n?.reason===`timeout`?[`A VPN, firewall, or DNS filter on this device can block the tunnel.`,`Try another network, or add a direct route such as a Tailscale address.`]:[`Make sure ${e} is awake and online.`,r];case`server`:return[`Make sure P4 Code is running on ${e}.`,`Retry. If it keeps failing, copy the diagnostics.`]}}function jc(e,t){switch(e.cause){case`offline`:return`this-device-cant-reach-p4-connect`;case`outdated`:return`the-host-runs-an-older-p4-code`;case`clock_skew`:return`the-clock-is-off`;case`not_linked`:case`tunnel_not_enabled`:return`sign-in-account-or-link-problems`;case`relay_error`:return`p4-connect-returned-an-error`;case`released`:case`tunnel_down`:case`tunnel_pending`:return`the-hosts-tunnel-is-offline`;case`origin_unreachable`:case`invalid_response`:return`the-tunnel-works-but-p4-code-does-not-answer`;case`dns`:case`tls`:case`refused`:case`timeout`:case`unknown`:return`the-p4-connect-address-does-not-resolve-or-answer`}let n=t?.reason===`network`||t?.reason===`transport`||t?.reason===`timeout`;switch(e.hop){case`device`:return`this-device-cant-reach-p4-connect`;case`relay`:return t?.reason===`authentication`?`sign-in-account-or-link-problems`:`this-device-cant-reach-p4-connect`;case`tunnel`:return n?`this-device-cant-reach-p4-connect`:`the-hosts-tunnel-is-offline`;case`server`:return t?.reason===`authentication`||t?.reason===`permission`?`sign-in-account-or-link-problems`:`the-tunnel-works-but-p4-code-does-not-answer`}}var Mc={relay:[`device`,`relay`,`tunnel`,`server`],direct:[`device`,`server`]};function Nc(e,t){switch(e){case`device`:return`This device`;case`relay`:return`P4 Connect`;case`tunnel`:return`${t} tunnel`;case`server`:return`P4 Code on ${t}`}}function Pc(e){let t=Oc(e);if(t===null)return null;let n=e.hostLabel,r=e.state.lastFailure,i=t.hop===`relay`||t.hop===`tunnel`||r===null&&e.relayStatus?.status===`offline`||(r?.via??e.via)===`relay`,a=Mc[i?`relay`:`direct`],o=a.indexOf(t.hop),s=a.map((e,t)=>({hop:e,label:Nc(e,n),result:t<o?`ok`:t===o?`failed`:`unchecked`})),c=r===null?e.relayStatus?.endpointStatus:r.httpStatus,l=[],u=(e,t)=>{t!=null&&t!==``&&l.push([e,String(t)])};return u(`Cause`,t.cause??r?.reason),u(`HTTP status`,c),u(`Attempts`,e.state.attempt>0?e.state.attempt:null),u(`Next retry`,e.state.retryAt===null?null:Dr(ar(e.state.retryAt))),u(`Route`,i?`P4 Connect`:`Direct`),u(`App version`,e.clientVersion),u(`Host version`,e.serverVersion),u(`Error`,r?.detail),u(`Trace ID`,r?.traceId),{headline:kc(n,t,r),hops:s,steps:Ac(n,t,r),facts:l,moreInfoUrl:i?sr(jc(t,r)):null}}var Fc={ok:`ok`,failed:`FAILED`,unchecked:`not checked`};function Ic(e,t){return[`P4 Code connection to ${e}: ${t.headline}`,``,...t.hops.map(e=>`${e.label}: ${Fc[e.result]}`),``,...t.facts.map(([e,t])=>`${e}: ${t}`),...t.moreInfoUrl?[``,`More info: ${t.moreInfoUrl}`]:[]].join(`
|
|
2
|
-
`)}var Lc=`token`,Rc=`host`,zc=`label`,Bc=new Set([`http:`,`https:`,`ws:`,`wss:`]),Vc=e=>new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash),Hc=class extends gr()(`RemoteBackendUrlMissingError`,{}){get message(){return`Enter a backend URL.`}},Uc=class extends gr()(`RemotePairingUrlInvalidError`,{cause:Ne(Tt()),protocol:Ne(z)}){get message(){return`Pairing URL is invalid.`}},Wc=class extends gr()(`RemoteBackendUrlInvalidError`,{source:Mt([`direct-host`,`hosted-pairing-host`]),cause:Ne(Tt()),protocol:Ne(z)}){get message(){return`Backend URL is invalid.`}},Gc=class extends gr()(`RemotePairingTokenMissingError`,{host:z}){get message(){return`Pairing URL is missing its token.`}},Kc=class extends gr()(`RemotePairingCodeMissingError`,{host:z}){get message(){return`Enter a pairing code.`}};on([Hc,Uc,Wc,Gc,Kc]);var qc=e=>Bc.has(e.protocol),Jc=(e,t)=>{let n=e.trim();if(!n)throw new Hc;let r=n.replace(/^\/+/,``),i=/^[a-zA-Z][a-zA-Z\d+-]*:\/\//.test(r)?r:`https://${r}`,a;try{a=new URL(i)}catch(e){throw new Wc({source:t,cause:e})}if(!qc(a))throw new Wc({source:t,protocol:a.protocol});return a.pathname=`/`,a.search=``,a.hash=``,a},Yc=e=>{let t=new URL(e.toString());return t.protocol===`ws:`?t.protocol=`http:`:t.protocol===`wss:`&&(t.protocol=`https:`),t.pathname=`/`,t.search=``,t.hash=``,t.toString()},Xc=e=>{let t=new URL(e.toString());return t.protocol===`http:`?t.protocol=`ws:`:t.protocol===`https:`&&(t.protocol=`wss:`),t.pathname=`/`,t.search=``,t.hash=``,t.toString()},Zc=e=>{let t=Vc(e).get(Lc)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(Lc)?.trim()??``;return n.length>0?n:null},Qc=e=>{let t=new URL(e.toString()),n=Vc(t);return n.has(Lc)&&(n.delete(Lc),t.hash=n.toString()),t.searchParams.delete(Lc),t},$c=(e,t)=>{let n=new URL(e.toString());return n.searchParams.delete(Lc),n.hash=new URLSearchParams([[Lc,t]]).toString(),n},el=e=>{let t=e.searchParams.get(Rc)?.trim()??``,n=Zc(e)?.trim()??``,r=e.searchParams.get(zc)?.trim()??``;return!t||!n?null:{host:t,token:n,label:r}},tl=e=>{let t=e.pairingUrl?.trim()??``;if(t.length>0){let e;try{e=new URL(t)}catch(e){throw new Uc({cause:e})}if(!qc(e))throw new Uc({protocol:e.protocol});let n=el(e);if(n){let e=Jc(n.host,`hosted-pairing-host`);return{credential:n.token,httpBaseUrl:Yc(e),wsBaseUrl:Xc(e)}}let r=Zc(e)??``;if(!r)throw new Gc({host:e.host});return{credential:r,httpBaseUrl:Yc(e),wsBaseUrl:Xc(e)}}let n=e.host?.trim()??``,r=e.pairingCode?.trim()??``;if(!n)throw new Hc;let i=Jc(n,`direct-host`);if(!r)throw new Kc({host:i.host});return{credential:r,httpBaseUrl:Yc(i),wsBaseUrl:Xc(i)}},nl=class extends jr()(`@p4code/client-runtime/connection/onboarding/ConnectionOnboarding`){},rl=S(`clientRuntime.connection.onboarding.resolvePairingTarget`)(function*(e){return yield*Rt({try:()=>tl(e),catch:e=>new Ra({reason:`configuration`,detail:e instanceof Error?e.message:`The pairing details are invalid.`})})});function il(e,t){return`bearer:${e}:${new URL(t).origin}`}function al(e){return new Ra({reason:`configuration`,detail:`That address reaches ${e}, a different machine. Add it as its own environment instead.`})}var ol=S(`clientRuntime.connection.onboarding.preparePairingRegistration`)(function*(e){let t=yield*rl(e),n=yield*aa,r=yield*yr({httpBaseUrl:t.httpBaseUrl}).pipe(w(Ba));if(e.expectedEnvironmentId!==void 0&&r.environmentId!==e.expectedEnvironmentId)return yield*al(r.label);let i=Ka(r);if(i!==null&&i.serverUpdateRequired!==!0)return yield*i;let a=yield*wi({httpBaseUrl:t.httpBaseUrl,credential:t.credential,clientMetadata:n.metadata}).pipe(w(Ba)),o=il(r.environmentId,t.httpBaseUrl);return new va({target:new ri({environmentId:r.environmentId,label:r.label,connectionId:o}),profile:new Aa({connectionId:o,environmentId:r.environmentId,label:r.label,httpBaseUrl:t.httpBaseUrl,wsBaseUrl:t.wsBaseUrl}),credential:new na({token:a.access_token})})}),sl=S(`clientRuntime.connection.onboarding.registerPairingConnection`)(function*(e){let t=yield*ol(e),n=yield*J;return(yield*n.register(t))?(yield*n.setCompatibility(t.target.environmentId,null),yield*n.setEnabled(t.target.environmentId,!0).pipe(Re({EnvironmentNotRegisteredError:()=>C})),t.target.environmentId):t.target.environmentId}),cl=lt(na),ll=lt(Aa),ul=S(`clientRuntime.connection.onboarding.updateBearerConnection`)(function*(e){let t=yield*J,n=yield*Di,r=(yield*b(t.entries)).get(e.environmentId),i=r===void 0?void 0:pa(r).find(e=>e.target._tag===`BearerConnectionTarget`),a=r===void 0||i===void 0?r:xi(r,i),o=a?.target._tag===`BearerConnectionTarget`?yield*n.get(a.target.connectionId):V(),s=yield*dl({input:e,entry:Ye(a),credential:o});yield*t.register(s)}),dl=S(`clientRuntime.connection.onboarding.prepareBearerConnectionUpdate`)(function*(e){let t=N(e.entry);if(t==null||t.target._tag!==`BearerConnectionTarget`||R(t.profile)||!ll(t.profile.value))return yield*new Ra({reason:`configuration`,detail:`Only saved bearer environments can be edited.`});let n=e.credential;if(R(n)||!cl(n.value))return yield*new Ra({reason:`authentication`,detail:`The saved bearer credential is unavailable.`});let r=e.input.label.trim();if(r===``)return yield*new Ra({reason:`configuration`,detail:`Environment label cannot be empty.`});let i=yield*Rt({try:()=>qa(e.input.httpBaseUrl),catch:e=>new Ra({reason:`configuration`,detail:e instanceof Error?e.message:`The environment URL is invalid.`})}),a=t.target.connectionId;return new va({target:new ri({environmentId:e.input.environmentId,label:r,connectionId:a}),profile:new Aa({connectionId:a,environmentId:e.input.environmentId,label:r,httpBaseUrl:i,wsBaseUrl:Ja(i)}),credential:n.value})}),fl=S(`clientRuntime.connection.onboarding.prepareSshRegistration`)(function*(e){let t=yield*(yield*Zi).provision(e.target,e.expectedEnvironmentId),n=`ssh:${t.environmentId}:${Ti(t.bootstrap.target)}`,r=e.label?.trim()||t.label||t.bootstrap.target.alias;return new $i({target:new fa({environmentId:t.environmentId,label:r,connectionId:n}),profile:new Oa({connectionId:n,environmentId:t.environmentId,label:r,target:t.bootstrap.target})})}),pl=S(`clientRuntime.connection.onboarding.registerSshConnection`)(function*(e){let t=yield*fl(e);return e.expectedEnvironmentId!==void 0&&t.target.environmentId!==e.expectedEnvironmentId?yield*al(t.target.label):(yield*(yield*J).register(t),t.target.environmentId)}),ml=M(function*(){let e=yield*J,t=yield*aa,n=yield*c,r=yield*Zi,i=yield*Di;return nl.of({registerPairing:r=>sl(r).pipe(he(J,e),he(aa,t),he(c,n)),registerSsh:t=>pl(t).pipe(he(J,e),he(Zi,r)),updateBearer:t=>ul(t).pipe(he(J,e),he(Di,i))})}),hl=be(nl,ml),gl=class extends jr()(`@p4code/client-runtime/platform/source/PlatformConnectionSource`){},_l=S(`connection.watchDiscoveredCompatibility`)(function*(){let e=yield*J,t=yield*ci,n=new Map;yield*l(_e(t.state),_e(e.entries)).pipe(ye(()=>M(function*(){let r=yield*b(t.state);if(!r.refreshing)for(let e of n.keys())r.environments.has(e)||n.delete(e);let i=yield*b(e.entries);for(let t of r.environments.values()){let r=N(t.status),a=r?.descriptor;if(r===null||a===void 0)continue;let o=t.environment.environmentId,s=i.get(o);if(s===void 0||pa(s).length!==1||!ei(s))continue;let c=n.get(o),l=c?.checkedAt!==r.checkedAt||(c.descriptor?.orchestrationProtocolVersion??1)!==(a.orchestrationProtocolVersion??1)||c.descriptor?.serverVersion!==a.serverVersion,u=Ka(a);(u!==null||l)&&(yield*e.setCompatibility(o,u)),n.set(o,r)}}).pipe(x(e=>H(`Could not apply discovered environment compatibility.`,{error:e})))))});function vl(t){let n=Ia.pipe(fn(e(Pi,Wa(t)))),r=ia.pipe(fn(n)),i=hl.pipe(fn(r)),a=e(r,ai,i,Pi);return Et(M(function*(){let e=yield*J,t=yield*gl;yield*_l().pipe(O),yield*e.start,yield*t.registrations.pipe(ye(e.reconcilePlatform),O)}).pipe(y(`clientRuntime.connection.application.start`))).pipe(Sr(a),Sr(Ma))}vl({});function yl(e){switch(e.phase){case`available`:return{phase:`available`,error:null,traceId:null};case`offline`:return{phase:`offline`,error:null,traceId:null};case`connecting`:return{phase:e.attempt<=1&&e.lastFailure===null?`connecting`:`reconnecting`,error:e.lastFailure?.message??null,traceId:e.lastFailure?.traceId??null};case`connected`:return{phase:`connected`,error:null,traceId:null};case`backoff`:return{phase:`reconnecting`,error:e.lastFailure?.message??null,traceId:e.lastFailure?.traceId??null};case`blocked`:return{phase:e.lastFailure?.reason===`unsupported`?`unsupported`:`error`,error:e.lastFailure?.message??null,traceId:e.lastFailure?.traceId??null}}}function bl(e){switch(e.phase){case`available`:return`Available`;case`offline`:return`Offline`;case`connecting`:return`Connecting...`;case`reconnecting`:return e.error?`Failed to connect. Reconnecting... Reason: ${e.error}`:`Reconnecting...`;case`connected`:return`Connected`;case`unsupported`:return`Client not supported`;case`error`:return e.error?`Connection failed. Reason: ${e.error}`:`Connection failed`}}function xl(e){return e.phase===`reconnecting`&&e.error?`Failed to connect. Reconnecting...`:bl({...e,error:null})}function Sl(e){return yl(e)}function Cl(e){let t=e.connectedTarget?si(e.connectedTarget):null,n=pa(e.entry),r=n.find(e=>si(e.target)===t);for(let t of r?[r,...n]:n){let n=t.target._tag===`RelayConnectionTarget`?e.relayHttpBaseUrl??null:Si(t),r=n===null?null:wl(n);if(r!==null)return r}return null}function wl(e){let t;try{t=new URL(e)}catch{return null}return t.pathname=`/mcp`,t.search=``,t.hash=``,t.toString()}function Tl(e){switch(e.target._tag){case`PrimaryConnectionTarget`:return e.target.httpBaseUrl;case`RelayConnectionTarget`:return null;case`BearerConnectionTarget`:return P(e.profile)&&e.profile.value._tag===`BearerConnectionProfile`?e.profile.value.httpBaseUrl:null;case`SshConnectionTarget`:return P(e.profile)&&e.profile.value._tag===`SshConnectionProfile`?`${e.profile.value.target.username}@${e.profile.value.target.hostname}`:null}}var El=S(`runCachePersistence`)(function*(e,n){let r=yield*Or(e);for(yield*Vt(`500 millis`),r=t(yield*tr(e),()=>r);;)yield*n(r),yield*Vt(`10 seconds`),r=yield*Or(e)}),Dl={status:`idle`},Ol=k(Dl).pipe(L(`environment-data:server:update-state:empty`)),kl=B(e=>k(Dl).pipe(L(`environment-data:server:update-state:${e}`))),Al=class extends gr()(`ServerUpdateResumeTimeoutError`,{environmentId:z,targetVersion:z}){get message(){return`The server did not resume on @p4code/cli@${this.targetVersion}.`}},jl=class extends gr()(`ServerUpdateProgressIncompleteError`,{targetVersion:z}){get message(){return`The @p4code/cli@${this.targetVersion} update ended before the server accepted the restart.`}},Ml=class extends gr()(`ServerUpdateTerminalError`,{targetVersion:z,status:Mt([`committed`,`rolled-back`,`failed`]),reason:Ne(z)}){get message(){return this.reason??`The @p4code/cli@${this.targetVersion} update ${this.status}.`}},Nl=vn(32);function Pl(e,t){return e.updateId===void 0?t.payload.environment.serverVersion===e.targetVersion:t.payload.updateOutcome?.id===e.updateId}function Fl(e,t){return e.method===`desktop-app`&&e.desktopUpdateToken!==void 0||Pl(e,t)}function Il(e,t){if(e.updateId===void 0)return C;let n=t.payload.updateOutcome;return n?.id===e.updateId&&n.status===`committed`&&n.targetVersion===e.targetVersion&&t.payload.environment.serverVersion===e.targetVersion?C:E(new Ml({targetVersion:e.targetVersion,status:n?.status??`failed`,reason:n?.reason??`The service launcher resumed without committing the requested server version.`}))}function Ll(e){return e.stateChanges.pipe(Br(e=>e.phase===`backoff`||e.phase===`blocked`&&e.lastFailure?.reason===`authentication`),ye(()=>Vt(e.interval??kr(1)).pipe(Hr(e.retryNow))),Kn(Nl),Hn)}function Rl(e){return e.pipe(bn(e=>e.phase===`connected`),Br(e=>e.phase===`connected`),Qe,ce)}var zl=S(`runDesktopCommitWithReconnectObserver`)(function*(e,t){let n=yield*Xt(),r=yield*Xt(),i=yield*e.pipe(de(()=>at(n,void 0)),Rl,Hr(at(r,void 0)),Zn);yield*Jn(n);let a=yield*t.pipe(mt);if(Rn(a)){yield*Qt(i);return}return Gl(a.cause)?(yield*Jn(r).pipe(nr(Nl)),yield*fe(a.cause)):(yield*Qt(i),yield*fe(a.cause))}),Bl=S(`waitForDesktopUpdateTarget`)(function*(e,t,n,r=3){for(let i=1;i<=r;i+=1){let a=yield*t;if(a.payload.environment.serverVersion===e)return a;if(i===r)break;let o=yield*n.pipe(mt);if(Rn(o))break;if(!Gl(o.cause))return yield*fe(o.cause)}return yield*new Ml({targetVersion:e,status:`failed`,reason:`The desktop app resumed without installing the prepared update.`})});function Vl(e,t,n){return{status:`running`,stage:n.type===`complete`?`resuming`:n.stage,fromVersion:e,targetVersion:t}}function Hl(e,t){return e.status===`idle`||e.status===`running`||t===null||e.fromVersion===t?e:Dl}function Ul(e){return e instanceof Error?e.message:`Server update failed.`}function Wl(e){if(!Hi(e))return!1;switch(e.reason._tag){case`SocketReadError`:case`SocketWriteError`:case`SocketCloseError`:return!0;default:return!1}}function Gl(e){return h(e)?!0:e.reasons.length>0&&e.reasons.every(e=>wt(e)&&Wl(e.error))}function Kl(e,t,n){return P(t)&&(Rn(n)||Gl(n.cause))?$n(t.value):We(n)?fe(n.cause):E(new jl({targetVersion:e}))}var ql=e=>({version:1,type:`snapshot`,config:e}),Jl=S(`EnvironmentServerConfigState.make`)(function*(e){let t=yield*Ca,n=yield*Ta,r=t.target.environmentId,i=yield*n.loadServerConfig(r).pipe(x(e=>H(`Could not load cached server configuration.`).pipe(v({environmentId:r,...Yi(e)}),Ir(V())))),a=yield*Ze(Ht(i,e=>({config:Va(e),latestEvent:ql(Va(e)),source:`cache`}))),o=yield*Gn(1),s=yield*Bi(V()),c=S(`EnvironmentServerConfigState.persist`)(function*(e){let{lastEventLoopStall:t,...i}=Va(e);return yield*n.saveServerConfig(r,i).pipe(Ir(!0),x(e=>H(`Could not persist cached server configuration.`).pipe(v({environmentId:r,...Yi(e)}),Ir(!1))))}),l=S(`EnvironmentServerConfigState.persistPending`)(function*(e){(yield*c(e))&&(yield*yi(s,t=>P(t)&&t.value===e?V():t))});return yield*Kr(()=>q(s).pipe(D(er({onNone:()=>C,onSome:e=>c(e).pipe(ce)})))),yield*El(o,l).pipe(O),yield*ja(T.subscribeServerConfig,{...e.environmentThemes===!0?{environmentThemes:!0}:{},...e.usageLimitSources===!0?{usageLimitSources:!0}:{},...e.usageLimitsCommand===!0?{usageLimitsCommand:!0}:{}}).pipe(ye(e=>M(function*(){let t=Qi(yield*b(a),e);R(t)||(yield*W(s,j(t.value.config)),yield*yt(a,t),yield*mr(o,t.value.config))})),O),a});function Yl(e,t){return ba(e,Se(Jl(t).pipe(A(e=>_e(e).pipe(it(e=>er(e,{onNone:()=>_t,onSome:e=>De(e)})))))))}function Xl(e,t,n){return n.type===`welcome`&&e.currentSession===t?{...e,welcomeSession:t,welcome:n.payload}:e}function Zl(e){return e.currentSession===e.welcomeSession?e.welcome:null}var Ql=S(`EnvironmentServerWelcomeState.make`)(function*(){let e=yield*Ca,t=N(yield*b(e.session)),n=yield*Ze({currentSession:t,welcomeSession:null,welcome:null}),r=S(`EnvironmentServerWelcomeState.updateWithCurrentSession`)(function*(t){return yield*p(n,n=>b(e.session).pipe(A(e=>[void 0,t(n,N(e))])))});return yield*_e(e.session).pipe(ye(()=>r((e,t)=>({...e,currentSession:t}))),O),yield*Da(T.subscribeServerLifecycle,S(`EnvironmentServerWelcomeState.makeSubscribeInput`)(function*(e){return yield*r((t,n)=>n===e?{...t,currentSession:n,welcomeSession:e,welcome:null}:{...t,currentSession:n}),{}})).pipe(ye(([e,t])=>r((n,r)=>Xl({...n,currentSession:r},e,t))),O),n});function $l(e){return ba(e,Se(Ql().pipe(A(e=>_e(e).pipe(re(Zl))))))}function eu(e,t){return e?.source===`live`&&(t===null||e.config.environment.serverVersion===t.environment.serverVersion)?e.config:t??e?.config??null}function tu(e,t){let n=da(),r=da(),i={mode:`serial`,key:({environmentId:e})=>e},a=B(n=>e.atom(Yl(n,{...t.environmentThemes===!0?{environmentThemes:!0}:{},...t.usageLimitSources===!0?{usageLimitSources:!0}:{},...t.usageLimitsCommand===!0?{usageLimitsCommand:!0}:{}})).pipe(I(3e5),L(`environment-data:server:config-projection:${n}`))),o=e=>a(e.environmentId),s=k(null).pipe(L(`environment-data:server:config:empty`)),c=B(e=>e===null?s:k(n=>eu(N(Ue(n(o({environmentId:e,input:{}})))),n(t.initialConfigValueAtom(e)))).pipe(L(`environment-data:server:config:${e}`))),l=B(e=>k(t=>Hl(t(kl(e)),t(c(e))?.environment.serverVersion??null)).pipe(L(`environment-data:server:update-state-value:${e}`))),u=e=>e===null?Ol:l(e),d=hi(e,{label:`environment-data:server:update-server`,scheduler:r,concurrency:i,execute:(e,t)=>{let r=kl(e.environmentId),a=e.input.targetVersion,o=t.get(c(e.environmentId))?.environment.serverVersion??a,s=`downloading`,l=!1;return t.set(r,{status:`running`,stage:s,fromVersion:o,targetVersion:a}),M(function*(){let u=yield*J,d=yield*Xt(),f=yield*Xt(),p=yield*Xt();yield*Jn(d).pipe(Hr(u.stateChanges(e.environmentId).pipe(de(()=>at(f,void 0)),bn(e=>e.phase===`connected`),Br(e=>e.phase===`connected`),Qe)),Hr(at(p,void 0)),Zn);let m=yield*Ii(t,n,i,e,M(function*(){let n=t.get(c(e.environmentId));o=n?.environment.serverVersion??a,t.set(r,{status:`running`,stage:s,fromVersion:o,targetVersion:a});let i=n?.environment.capabilities.serverSelfUpdateProgress===!0?yield*M(function*(){let n=yield*Bi(V()),i=yield*u.runStream(e.environmentId,Zr(T.serverUpdateServerWithProgress,e.input)).pipe(ye(e=>F(()=>{s=e.type===`complete`?`resuming`:e.stage,t.set(r,Vl(o,a,e))}).pipe(Hr(e.type===`complete`?W(n,j(e.result)):C))),mt);return yield*Kl(a,yield*q(n),i)}):yield*M(function*(){let t=n?.environment.capabilities.serverSelfUpdate,r=yield*u.run(e.environmentId,Ki(T.serverUpdateServer,e.input)).pipe(mt);return Rn(r)?r.value:(t===`boot-service`||t===`respawn`)&&Gl(r.cause)?{targetVersion:a,method:t}:yield*fe(r.cause)});if(i.method===`desktop-app`&&i.desktopUpdateToken!==void 0){yield*at(d,void 0),yield*Jn(f);let t=yield*u.run(e.environmentId,Ki(T.serverCommitDesktopUpdate,{requestId:i.desktopUpdateToken})).pipe(mt);if(We(t)&&!Gl(t.cause))return yield*fe(t.cause);l=We(t)}return a=i.targetVersion,s=`resuming`,t.set(r,{status:`running`,stage:s,fromVersion:o,targetVersion:a}),i}));yield*Ll({stateChanges:u.stateChanges(e.environmentId),retryNow:u.retryNow(e.environmentId)}).pipe(Zn),m.method===`desktop-app`&&l&&(yield*Jn(p).pipe(nr(Nl)));let h=u.followStream(e.environmentId,ja(T.subscribeServerLifecycle,{})).pipe(Br(e=>e.type===`ready`&&Fl(m,e)),Qe,Kn(Nl),A(Dt)).pipe(D(er({onNone:()=>new Al({environmentId:e.environmentId,targetVersion:a}),onSome:$n}))),g=m.desktopUpdateToken;return yield*Il(m,m.method===`desktop-app`&&g!==void 0?yield*Bl(m.targetVersion,h,zl(u.stateChanges(e.environmentId),u.run(e.environmentId,Ki(T.serverCommitDesktopUpdate,{requestId:g})).pipe(ce))):yield*h),t.set(r,Dl),m}).pipe(Ve(e=>F(()=>{if(!Rn(e)){if(h(e.cause)){t.set(r,Dl);return}t.set(r,{status:`failed`,stage:s,fromVersion:o,targetVersion:a,message:Ul(Lt(e.cause))})}})))}}),f=B(e=>k(t=>t(c(e))?.settings??null).pipe(L(`environment-data:server:settings:${e}`))),p=B(e=>k(t=>{let n=t(f(e))?.usagePriceOverrides??{};return JSON.stringify(Object.keys(n).sort().map(e=>{let t=n[e];return[e,t.inputCostPerMillionTokens,t.outputCostPerMillionTokens,t.cacheReadCostPerMillionTokens,t.cacheWriteCostPerMillionTokens]}))}).pipe(L(`environment-data:server:usage-prices:${e}`))),m=B(e=>k(t=>{let n=t(f(e)),r=n?.usageModelAliases??{};return JSON.stringify([t(p(e)),Object.keys(r).sort().map(e=>[e,r[e]]),n?.cursorKeychainUsageEnabled??!1])}).pipe(L(`environment-data:server:usage-scan-settings:${e}`))),g=B(e=>k(t=>t(c(e))?.providers??null).pipe(L(`environment-data:server:providers:${e}`))),_=B(t=>e.atom($l(t),{initialValue:null}).pipe(I(3e5),L(`environment-data:server:welcome-state:${t}`))),ee=B(e=>k(t=>{let n=t(_(e));return n._tag===`Success`?n.value===null?Pr(n.waiting):ne(n.value,n):n}).pipe(L(`environment-data:server:welcome:${e}`))),te=e=>ee(e.environmentId),re=G(e,{label:`environment-data:server:update-settings`,tag:T.serverUpdateSettings,scheduler:n,concurrency:i});return{configValueAtom:c,runStorageCleanup:G(e,{label:`environment-data:server:run-storage-cleanup`,tag:T.serverRunStorageCleanup,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),databaseStorage:Ci(e,{label:`environment-data:server:database-storage`,tag:T.serverGetDatabaseStorage,idleTtlMs:0}),storageCleanupReport:Ci(e,{label:`environment-data:server:storage-cleanup-report`,tag:T.serverGetStorageCleanupReport,idleTtlMs:0}),updateStateAtom:u,settingsValueAtom:f,providersValueAtom:g,providerAuthState:Ci(e,{label:`environment-data:provider:auth-state`,tag:T.providerAuthSubscribe,idleTtlMs:0}),startProviderAuth:G(e,{label:`environment-data:provider:auth-start`,tag:T.providerAuthStart,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t])}}),respondProviderAuth:G(e,{label:`environment-data:provider:auth-respond`,tag:T.providerAuthRespond}),completeProviderAuth:G(e,{label:`environment-data:provider:auth-complete`,tag:T.providerAuthComplete}),chatGptReconnectProfile:G(e,{label:`environment-data:chatgpt:reconnect-profile`,tag:T.chatGptReconnectProfile}),chatGptImportProfile:G(e,{label:`environment-data:chatgpt:import-profile`,tag:T.chatGptImportProfile}),chatGptHandoffState:ui(e,{label:`environment-data:chatgpt:handoff`,sensitiveInput:!0,subscribe:e=>Zr(T.chatGptHandoffSubscribe,e),idleTtlMs:0}),codexAuthCallbackState:Ci(e,{label:`environment-data:codex:auth-callback`,tag:T.codexAuthCallbackSubscribe,idleTtlMs:0}),cancelProviderAuth:G(e,{label:`environment-data:provider:auth-cancel`,tag:T.providerAuthCancel}),logoutProviderAuth:G(e,{label:`environment-data:provider:auth-logout`,tag:T.providerAuthLogout}),providerInstallState:Ci(e,{label:`environment-data:provider:install-state`,tag:T.providerInstallSubscribe,idleTtlMs:0}),startProviderInstall:G(e,{label:`environment-data:provider:install-start`,tag:T.providerInstallStart,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),cancelProviderInstall:G(e,{label:`environment-data:provider:install-cancel`,tag:T.providerInstallCancel}),removeProviderInstallation:G(e,{label:`environment-data:provider:install-remove`,tag:T.providerInstallRemove}),traceDiagnostics:K(e,{label:`environment-data:server:trace-diagnostics`,tag:T.serverGetTraceDiagnostics}),processDiagnostics:K(e,{label:`environment-data:server:process-diagnostics`,tag:T.serverGetProcessDiagnostics}),hostResources:ua(e,{label:`environment-data:server:host-resources`,idleTtlMs:0,staleTimeMs:5e3,execute:e=>Ki(T.serverGetHostResources,e).pipe(nr(`5 seconds`))}),processResourceHistory:K(e,{label:`environment-data:server:process-resource-history`,tag:T.serverGetProcessResourceHistory}),scheduledTaskWebhookDeliveries:K(e,{label:`environment-data:server:scheduled-task:webhook-deliveries`,tag:T.scheduledTasksListWebhookDeliveries}),scheduledTaskWebhookDelivery:K(e,{label:`environment-data:server:scheduled-task:webhook-delivery`,tag:T.scheduledTasksGetWebhookDelivery}),scheduledTasksLive:Ci(e,{label:`environment-data:server:scheduled-tasks:live`,tag:T.scheduledTasksSubscribe}),threadDecisionsLive:Ci(e,{label:`environment-data:server:thread-decisions:live`,tag:T.subscribeThreadDecisions}),threadSelfImproveFindingsLive:Ci(e,{label:`environment-data:server:thread-self-improve-findings:live`,tag:T.selfImproveSubscribeThreadFindings}),dismissSelfImproveFindings:G(e,{label:`environment-data:server:dismiss-self-improve-findings`,tag:T.selfImproveDismissFindings}),usageSummary:K(e,{label:`environment-data:server:usage-summary`,tag:T.serverGetUsageSummary,staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>m(e),execute:(e,t)=>Ki(T.serverGetUsageSummary,e).pipe(D(n=>n.sources.some(e=>e.refreshing===!0)?t(n).pipe(Hr(Ki(T.serverGetUsageSummary,{...e,awaitRefresh:!0})),x(e=>H(`Could not refresh slow usage sources.`).pipe(v({...Yi(e)}),Ir(n)))):$n(n)))}),resourceTelemetry:Ci(e,{label:`environment-data:server:resource-telemetry`,tag:T.subscribeResourceTelemetry,idleTtlMs:0}),resourceTelemetryHistory:K(e,{label:`environment-data:server:resource-telemetry-history`,tag:T.serverGetResourceTelemetryHistory,staleTimeMs:5e3}),searchAcpRegistry:K(e,{label:`environment-data:server:acp-registry:search`,tag:T.serverSearchAcpRegistry,staleTimeMs:0,idleTtlMs:0}),configProjection:o,welcome:te,legacyThreadMigration:Ci(e,{label:`environment-data:server:legacy-thread-migration`,tag:T.subscribeServerLifecycle,transform:e=>e.pipe(it(e=>e.type===`legacyThreadMigration`?De(e.payload):_t))}),consumeResetCredit:G(e,{label:`environment-data:server:consume-reset-credit`,tag:T.providerConsumeResetCredit,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t])}}),refreshProviders:G(e,{label:`environment-data:server:refresh-providers`,tag:T.serverRefreshProviders,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.instanceId??null,t.cwd??null,t.fresh??!1,t.refreshModels??!1])}}),updateProvider:G(e,{label:`environment-data:server:update-provider`,tag:T.serverUpdateProvider,scheduler:n,concurrency:i}),updateServer:d,upsertKeybinding:G(e,{label:`environment-data:server:upsert-keybinding`,tag:T.serverUpsertKeybinding,scheduler:n,concurrency:i}),removeKeybinding:G(e,{label:`environment-data:server:remove-keybinding`,tag:T.serverRemoveKeybinding,scheduler:n,concurrency:i}),updateSettings:re,mutateProviderInstance:re,prepareAcpRegistryAgent:G(e,{label:`environment-data:server:acp-registry:prepare`,tag:T.serverPrepareAcpRegistryAgent,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.agentId}`}}),uninstallAcpRegistryManagedBinary:G(e,{label:`environment-data:server:acp-registry:uninstall-managed-binary`,tag:T.serverUninstallAcpRegistryManagedBinary,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.agentId}`}}),acceptAcpRegistryUrlAuth:G(e,{label:`environment-data:server:acp-registry:accept-url-auth`,tag:T.serverAcceptAcpRegistryUrlAuth,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.elicitationId}`}}),listAcpRegistrySessions:G(e,{label:`environment-data:server:acp-registry:list-sessions`,tag:T.serverListAcpRegistrySessions,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.cursor??`first`}`}}),importAcpRegistrySession:G(e,{label:`environment-data:server:acp-registry:import-session`,tag:T.serverImportAcpRegistrySession,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.sessionId}`}}),deleteAcpRegistrySession:G(e,{label:`environment-data:server:acp-registry:delete-session`,tag:T.serverDeleteAcpRegistrySession,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.sessionId}`}}),listAcpRegistryProviders:G(e,{label:`environment-data:server:acp-registry:list-providers`,tag:T.serverListAcpRegistryProviders,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}`}}),setAcpRegistryProvider:G(e,{label:`environment-data:server:acp-registry:set-provider`,tag:T.serverSetAcpRegistryProvider,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.providerId}`}}),disableAcpRegistryProvider:G(e,{label:`environment-data:server:acp-registry:disable-provider`,tag:T.serverDisableAcpRegistryProvider,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.providerId}`}}),logoutAcpRegistry:G(e,{label:`environment-data:server:acp-registry:logout`,tag:T.serverLogoutAcpRegistry,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}`}}),signalProcess:G(e,{label:`environment-data:server:signal-process`,tag:T.serverSignalProcess}),upsertScheduledTask:G(e,{label:`environment-data:server:scheduled-task:upsert`,tag:T.scheduledTasksUpsert,scheduler:n,concurrency:i}),setScheduledTaskEnabled:G(e,{label:`environment-data:server:scheduled-task:set-enabled`,tag:T.scheduledTasksSetEnabled,scheduler:n,concurrency:i}),deleteScheduledTask:G(e,{label:`environment-data:server:scheduled-task:delete`,tag:T.scheduledTasksDelete,scheduler:n,concurrency:i}),runScheduledTaskNow:G(e,{label:`environment-data:server:scheduled-task:run-now`,tag:T.scheduledTasksRunNow}),rotateScheduledTaskWebhookToken:G(e,{label:`environment-data:server:scheduled-task:rotate-webhook-token`,tag:T.scheduledTasksRotateWebhookToken,scheduler:n,concurrency:i}),answerSecretRequest:G(e,{label:`environment-data:server:secrets:answer-request`,tag:T.secretsAnswerRequest,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId,t.turnItemId])}}),refreshUsageRates:G(e,{label:`environment-data:server:refresh-usage-rates`,tag:T.serverRefreshUsageRates,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),mcpRegistryState:G(e,{label:`environment-data:mcp-registry:state`,tag:T.mcpRegistryState}),mcpRegistryTest:G(e,{label:`environment-data:mcp-registry:test`,tag:T.mcpRegistryTest,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.serverId])}}),mcpRegistryOAuthStart:G(e,{label:`environment-data:mcp-registry:oauth-start`,tag:T.mcpRegistryOAuthStart}),mcpRegistryOAuthSignOut:G(e,{label:`environment-data:mcp-registry:oauth-sign-out`,tag:T.mcpRegistryOAuthSignOut}),mcpRegistryProviderSignInState:G(e,{label:`environment-data:mcp-registry:provider-sign-in-state`,tag:T.mcpRegistryProviderSignInState,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.serverId])}}),mcpRegistryProviderSignInStart:G(e,{label:`environment-data:mcp-registry:provider-sign-in-start`,tag:T.mcpRegistryProviderSignInStart}),mcpRegistryProviderSignInComplete:G(e,{label:`environment-data:mcp-registry:provider-sign-in-complete`,tag:T.mcpRegistryProviderSignInComplete}),mcpRegistryProviderSignInCancel:G(e,{label:`environment-data:mcp-registry:provider-sign-in-cancel`,tag:T.mcpRegistryProviderSignInCancel}),mcpRegistryProviderSignInWait:G(e,{label:`environment-data:mcp-registry:provider-sign-in-wait`,tag:T.mcpRegistryProviderSignInWait}),mcpRegistryProviderSignOut:G(e,{label:`environment-data:mcp-registry:provider-sign-out`,tag:T.mcpRegistryProviderSignOut}),mcpRegistryDiscover:G(e,{label:`environment-data:mcp-registry:discover`,tag:T.mcpRegistryDiscover,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),mcpRegistryImport:G(e,{label:`environment-data:mcp-registry:import`,tag:T.mcpRegistryImport}),checkOtlpEndpoint:G(e,{label:`environment-data:server:check-otlp-endpoint`,tag:T.serverCheckOtlpEndpoint}),retryResourceTelemetry:G(e,{label:`environment-data:server:retry-resource-telemetry`,tag:T.serverRetryResourceTelemetry,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}})}}var nu=vn(4),ru=`15 seconds`,iu=class extends gr()(`OutdatedHostUpdateError`,{environmentId:z,message:z}){},au=S(`clientRuntime.connection.updateOutdatedHost`)(function*(t,n,r){let i=yield*J,o=yield*za,s=yield*Li,l=yield*c,d=(yield*b(i.entries)).get(t);if(d===void 0)return yield*new Na({environmentId:t});let{prepared:p,descriptor:m}=yield*we(pa(d).map(e=>o.prepareForUpdate(xi(d,e)))),h=m.capabilities;if(h.serverSelfUpdate===void 0||h.serverSelfUpdate===`desktop-managed`&&h.desktopAppUpdate!==!0)return yield*new iu({environmentId:t,message:`Update P4 Code on ${m.label} manually; it cannot update itself.`});let g=yield*dr(M(function*(){let t=yield*Ee(be(ki,Ga({pingTimeout:Mi,retryTransientErrors:!1,retryPolicy:f(0)})).pipe(fn(e(pi(p.socketUrl,{openTimeout:ru}).pipe(fn(Qn(Li,s))),ti)))),i=yield*ii.pipe(qe(t)),a=h.serverSelfUpdateProgress===!0?yield*M(function*(){let e=yield*Bi(V()),t=yield*i[T.serverUpdateServerWithProgress](n).pipe(ye(t=>t.type===`complete`?W(e,j(t.result)):r(t.stage)),mt);return yield*Kl(n.targetVersion,yield*q(e),t)}):yield*i[T.serverUpdateServer](n).pipe(u(e=>(h.serverSelfUpdate===`boot-service`||h.serverSelfUpdate===`respawn`)&&Gl(e),()=>$n({targetVersion:n.targetVersion,method:h.serverSelfUpdate})));return a.method===`desktop-app`&&a.desktopUpdateToken!==void 0&&(yield*i[T.serverCommitDesktopUpdate]({requestId:a.desktopUpdateToken}).pipe(u(e=>Gl(e),()=>C))),a}));yield*r(`resuming`);let _=[p.httpBaseUrl,...pa(d).flatMap(e=>Si(e)??[])].filter((e,t,n)=>n.indexOf(e)===t),ee=yield*we(_.map(e=>yr({httpBaseUrl:e}).pipe(ur(e=>e.environmentId===t&&ou(e),()=>`not-ready`)))).pipe(he(c,l),a,qr({schedule:ht(kr(1)),until:e=>or(e,ou)}),Kn(nu),A(Dt));return R(ee)?yield*new iu({environmentId:t,message:`${m.label} did not come back on a compatible P4 Code version.`}):(ei(d)&&(yield*(yield*ci).refresh),yield*i.setCompatibility(t,null),yield*i.setEnabled(t,!0),{...g,targetVersion:ee.value.serverVersion})});function ou(e){return(e.orchestrationProtocolVersion??1)===2}var su=Vt(`1 millis`),cu=Wr(Tr(ke(St(In)))),lu=400;function uu(e){if(!Kt(e))return[];let t=e.threads;return Array.isArray(t)?t.map(e=>{if(!Kt(e))return;let t=e.pullRequests;return delete e.pullRequests,t}):[]}function du(e,t){let n=e.threads.map(e=>e.id),r=M(function*(){let e=new Map,r=lu;for(let[i,a]of n.entries()){let n=t[i];if(n===void 0)continue;let o=Array.isArray(n)?n.length:1;r+o>lu&&(yield*su,r=0),r+=o;let s=yield*cu(n).pipe(x(e=>H(`Discarding unreadable shell pull request links.`,{threadId:a,cause:String(e)}).pipe(Ir(void 0))));s!==void 0&&e.set(a,s)}return e});return{...e,loadPullRequests:r}}var fu=Wr(ke(Ar)),pu=r(function*(e){let t=uu(e);return du(yield*fu(e),t)}),mu=2e4,hu=S(`clientRuntime.state.fetchEnvironmentShellSnapshot`)(function*(e){return yield*ea({...e,group:`orchestration`,method:`GET`,url:e=>e.shellSnapshot(),timeoutMs:e.timeoutMs??mu,request:({client:e,headers:t})=>e.shellSnapshot({headers:ha(t),responseMode:`response-only`}).pipe(D(_u))})}),gu=Wr(ke(m)),_u=e=>{if(e.status===200)return e.json.pipe(D(pu));let t=new tt({reason:new Nr({request:e.request,response:e})});return e.json.pipe(D(gu),st({onFailure:()=>E(t),onSuccess:E}))},vu=class extends jr()(`@p4code/client-runtime/state/shellSnapshotHttp/ShellSnapshotLoader`){},yu=be(vu,M(function*(){let e=yield*c,t=yield*On(sa),n=yield*On(ma);return vu.of({load:r=>hu({prepared:r,signer:t,remoteAuthorization:n}).pipe(A(j),he(c,e),zn(e=>H(`Could not load the environment shell snapshot over HTTP; using the socket snapshot instead.`).pipe(v({cause:Ce(e)}),Ir(V()))))})})),bu=Jr(rt),xu=Jr(Tr(St(In)));function Su(e,t){return e===t||xu(e,t)}function Cu(e,t){if(e===null||e.threads.length===0)return t;let n=new Map(e.threads.map(e=>[e.id,e])),r=0,i=t.threads.map(e=>{let t=n.get(e.id);return t===void 0||!bu(t,e.pullRequests===void 0&&t.pullRequests!==void 0?{...e,pullRequests:t.pullRequests}:e)?e:(r+=1,t)});return r===0?t:{...t,threads:i}}function wu(e,t){let n=e.findIndex(e=>e.id===t.id);return n===-1?[...e,t]:e.map((e,r)=>r===n?t:e)}function Tu(e,t){return t.repositoryIdentity==null&&e?.repositoryIdentity!=null&&e.workspaceRoot===t.workspaceRoot?{...t,repositoryIdentity:e.repositoryIdentity}:t}function Eu(e,t,n){if(e==null)return t;let r=n!==void 0,i=r?new Set(n.resolvedRepositoryIdentityRoots):null;if(r){let n=new Map(t.projects.map(e=>[e.id,e]));return{...e,projects:e.projects.map(e=>{let t=n.get(e.id);return t===void 0||t.workspaceRoot!==e.workspaceRoot?e:i?.has(e.workspaceRoot)===!0||e.repositoryIdentity==null&&t.repositoryIdentity!=null?{...e,repositoryIdentity:t.repositoryIdentity}:e})}}let a=new Map(e.projects.map(e=>[e.id,e]));return{...t,projects:t.projects.map(e=>{let t=a.get(e.id);return i?.has(e.workspaceRoot)===!0?e:Tu(t,e)})}}function Du(e,t){if(t.sequence<=e.snapshotSequence)return e;switch(t.kind){case`project.updated`:{let n=Tu(e.projects.find(e=>e.id===t.project.id),t.project);return{...e,projects:wu(e.projects,n),snapshotSequence:t.sequence}}case`project.removed`:return{...e,projects:e.projects.filter(e=>e.id!==t.projectId),snapshotSequence:t.sequence};case`thread.updated`:{let n=t.location===`active`?e.threads.find(e=>e.id===t.thread.id):void 0;if(n!==void 0&&bu(n,t.thread))return{...e,snapshotSequence:t.sequence};let r=e=>e.filter(e=>e.id!==t.thread.id);return{...e,threads:t.location===`active`?wu(e.threads,t.thread):r(e.threads),archivedThreads:r(e.archivedThreads),snapshotSequence:t.sequence}}case`thread.removed`:return{...e,threads:e.threads.filter(e=>e.id!==t.threadId),archivedThreads:e.archivedThreads.filter(e=>e.id!==t.threadId),snapshotSequence:t.sequence};default:return e}}function Ou(e){return{openInEditor:G(e,{label:`environment-data:shell:open-in-editor`,tag:T.shellOpenInEditor})}}var ku={snapshot:V(),status:`empty`,error:V()};function Au(e){return P(e)?`cached`:`empty`}function ju(e){if(e.loadPullRequests===void 0)return e;let{loadPullRequests:t,...n}=e;return n}var Mu=`Could not synchronize environment data.`,Nu=S(`EnvironmentShellState.make`)(function*(){let e=yield*Ca,t=yield*Ta,n=yield*vu,i=yield*On(_a),a=e.target.environmentId,o=yield*t.loadShell(a).pipe(x(e=>H(`Could not load cached environment shell.`).pipe(v({environmentId:a,...Yi(e)}),Ir(V())))),s=Ht(o,ju),c=yield*Ze({snapshot:s,status:Au(s),error:V()}),l=yield*Bi(!1),u=yield*Bi(null),d=yield*Bi(null),f=yield*Bi(V()),p=yield*Gn(1),m=yield*It(1),h,g=new Set,_=S(`EnvironmentShellState.persistLatest`)(function*(e){for(;;){let n=yield*q(f);if(R(n)||n.value===h||n.value.threads.some(e=>g.has(e)))return;let r=n.value;if(!(yield*t.saveShell(a,r).pipe(Ir(!0),x(e=>H(`Could not persist environment shell cache.`).pipe(v({environmentId:a,...Yi(e)}),Ir(!1)))))||(h=r,!e))return}},m.withPermit),ee=()=>_(!1),te=_(!0);yield*Kr(()=>te),yield*El(p,ee).pipe(O);let ne=W(l,!1).pipe(Hr(pe(c,e=>({...e,status:Au(e.snapshot)}))),Hr(te.pipe(O)),ce),ie=pe(c,e=>({...e,status:`synchronizing`,error:V()})),y=pe(c,e=>e.status===`live`?e:{...e,status:`synchronizing`,error:V()}),ae=e=>W(l,!1).pipe(Hr(H(`Could not synchronize the environment shell.`)),v({environmentId:a,...Yi(e)}),Hr(pe(c,e=>({...e,status:Au(e.snapshot),error:j(Mu)})))),oe=yield*It(1),se=S(`EnvironmentShellState.applyItems`)(function*(e,t){let n=yield*b(c),r=yield*q(l),i=n,a=!1;for(let t of e){if(t.kind===`synchronized`){r=!1,P(i.snapshot)&&(i={...i,status:`live`,error:V()});continue}let e=t.kind===`snapshot`?Eu(N(i.snapshot),t.snapshot,t.resolvedRepositoryIdentityRoots===void 0?void 0:{resolvedRepositoryIdentityRoots:t.resolvedRepositoryIdentityRoots}):er(i.snapshot,{onNone:()=>null,onSome:e=>t.sequence>e.snapshotSequence?Du(e,t):e});e!==null&&(a||=t.kind===`snapshot`,i={snapshot:j(e),status:r?`synchronizing`:`live`,error:V()})}if(yield*W(l,r),i!==n){if(t!==void 0&&P(i.snapshot)&&(g=new Set(i.snapshot.value.threads.filter(e=>t.has(e.id)))),P(i.snapshot)&&(yield*W(f,i.snapshot)),yield*yt(c,i),a){let e=yield*q(d);e!==null&&(yield*W(u,e))}i.snapshot!==n.snapshot&&P(i.snapshot)&&(yield*mr(p,i.snapshot.value))}},oe.withPermit),le=yield*Xn,ue,de=$t(()=>{let e=ue;return ue=void 0,e===void 0?C:Qt(e)}),fe=r(function*(e,t){if(yield*de,e.loadPullRequests===void 0)return;let n=new Set(t.threads),r=new Set(e.threads.map(e=>e.id));g=new Set(t.threads.filter(e=>r.has(e.id))),ue=yield*e.loadPullRequests.pipe(D(e=>me(e,n,r)),kn(le))}),me=r(function*(e,t,n){let r=yield*Yr(c,r=>{if(R(r.snapshot))return[V(),r];let i=r.snapshot.value,a=!1,o=i.threads.map(r=>{if(!t.has(r)||!n.has(r.id))return r;let i=e.get(r.id);if(Su(r.pullRequests,i))return r;if(a=!0,i===void 0){let{pullRequests:e,...t}=r;return t}return{...r,pullRequests:i}});if(!a)return[V(),r];let s={...i,threads:o};return[j(s),{...r,snapshot:j(s)}]});g=new Set;let i=yield*q(f);if(R(i))return;let a=P(r)?r:i;yield*W(f,a),yield*mr(p,a.value)},e=>oe.withPermit(e));P(o)&&P(s)&&(yield*fe(o.value,s.value));let he=er(i,{onNone:()=>Pe,onSome:e=>e.changes.pipe(Br(oa))});return yield*ie,yield*O(ya(Dn.subscribeShell,S(`EnvironmentShellState.makeSubscribeInput`)(function*(t){yield*W(d,t);let r=yield*t.initialConfig.pipe(A(e=>e.shellResumeCompletionMarker===!0),Me(()=>!1));yield*W(l,r),yield*ie;let i=(yield*q(u))===t,a=i,o=yield*b(c);if(!i||R(o.snapshot)){let t=yield*b(e.prepared).pipe(D(er({onSome:$n,onNone:()=>_e(e.prepared).pipe(Br(P),re(e=>e.value),Qe,A(vr))}))),r=yield*n.load(t);if(P(r)){yield*de;let e=yield*b(c),t=Cu(N(e.snapshot),ju(r.value)),n=new Set(r.value.loadPullRequests===void 0?[]:r.value.threads.map(e=>e.id));yield*se([{kind:`snapshot`,snapshot:t}],n),a=!0,o=yield*b(c),P(o.snapshot)&&(yield*fe(r.value,o.snapshot.value))}}return!a||R(o.snapshot)?r?{requestCompletionMarker:!0}:{}:(r||(yield*pe(c,e=>({...e,status:`live`,error:V()}))),{afterSequence:o.snapshot.value.snapshotSequence,...r?{requestCompletionMarker:!0}:{}})}),{onExpectedFailure:e=>ae(Lt(e)),retryExpectedFailureAfter:`250 millis`,resubscribe:he}).pipe(je(e=>se(e)))),yield*_e(e.state).pipe(ye(e=>{switch($r(e)){case`synchronizing`:return ie;case`disconnected`:return ne;case`ready`:return y}}),O),c});function Pu(e){return ba(e,Se(Nu().pipe(A(_e))))}Object.freeze({hasSnapshot:!1,hasSynchronizingShell:!1,hasCachedShell:!1,hasLiveShell:!1,firstError:null});var Fu=new Map;function Iu(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e)if(t.get(n)!==r)return!1;return!0}function Lu(e){let t=Fu;return k(n=>{let r=new Map;for(let t of fc(n(e.catalogValueAtom))){let i=n(e.serverConfigValueAtom(t));i!==null&&r.set(t,i)}return Iu(t,r)||(t=r),t}).pipe(L(`environment-server-configs`))}function Ru(e){let n=B(t=>e.atom(Pu(t),{initialValue:ku}));return{stateAtom:n,stateValueAtom:B(e=>k(r=>t(Ue(r(n(e))),()=>ku)).pipe(L(`environment-shell-state-value:${e}`)))}}function zu(e,t){return t.visibility===`local`||t.sourceThreadId===e.thread.id}function Bu(e){let t=e.visibleTurnItems.filter(t=>zu(e,t)).map(e=>e.item);return t.length===0?e:{...e,turnItems:[...t,...e.turnItems]}}function Vu(e){return e.turnItemsOmitLocalVisible===!0?Bu(e.projection):e.projection}function Hu(e){let{item:t}=e;return t.type!==`run_interrupt_result`||t.runId===null||t.nodeId===null||!e.attempts.some(e=>e.runId===t.runId&&e.rootNodeId===t.nodeId&&e.status===`superseded`)?!1:!e.items.some(e=>e.type===`run_interrupt_request`&&e.runId===t.runId)}function Uu(e){let{item:t}=e;return t.runId!==null&&e.runs.some(e=>e.id===t.runId&&e.status===`rolled_back`)||t.type===`user_message`&&t.inputIntent===`queued_turn`&&t.runId!==null&&e.runs.some(e=>e.id===t.runId&&e.status===`cancelled`)?!1:!Hu({item:t,attempts:e.attempts,items:e.items})}function Wu(e){let t=new Map(e.runs.map(e=>[e.id,e.status])),n=new Map;for(let t of e.attempts){if(t.status!==`superseded`)continue;let e=n.get(t.runId);e===void 0&&n.set(t.runId,e=new Set),e.add(t.rootNodeId)}let r=new Set(e.items.filter(e=>e.type===`run_interrupt_request`).map(e=>e.runId));return e=>{let i=e.runId===null?void 0:t.get(e.runId);return i===`rolled_back`||i===`cancelled`&&e.type===`user_message`&&e.inputIntent===`queued_turn`?!1:!(e.type===`run_interrupt_result`&&e.runId!==null&&e.nodeId!==null&&n.get(e.runId)?.has(e.nodeId)===!0&&!r.has(e.runId))}}function Gu(e,t){let n=e.findIndex(e=>e.id===t.id);if(n===-1)return[...e,t];let r=[...e];return r[n]=t,r}function Ku(e,t){let n=e.findIndex(e=>e.sourceItemId===t);return n===-1?e:qu([...e.slice(0,n),...e.slice(n+1)])}function qu(e){return e.map((e,t)=>e.position===t?e:{...e,position:t})}function Ju(e,t){return Uu({item:t,runs:e.runs,attempts:e.attempts,items:e.turnItems})}function Yu(e){let t=e.visibleTurnItems,n=Wu({runs:e.runs,attempts:e.attempts,items:e.turnItems}),r=null;for(let e=0;e<t.length;e+=1){let i=t[e];if(!(i.visibility!==`local`||n(i.item))){r??=t.slice(0,e);continue}r?.push(i)}return r===null?t:qu(r)}function Xu(e){let t=null;for(let n of e)n.visibility===`local`&&(t===null||n.item.ordinal<t)&&(t=n.item.ordinal);return t}var Zu=new Set([`preparing`,`queued`,`starting`,`running`,`waiting`]);function Qu(e,t,n){return e.visibleTurnItems.some(e=>e.sourceItemId===t.id)?!1:t.runId===null?$u(e,t,n):e.runs.some(e=>e.id===t.runId&&Zu.has(e.status))||e.visibleTurnItems.some(e=>e.visibility===`local`&&e.item.runId===t.runId&&e.item.ordinal<=t.ordinal)?!1:$u(e,t,n)}function $u(e,t,n){if(n!=null&&t.ordinal<=n)return!0;let r=Xu(e.visibleTurnItems);return r!==null&&t.ordinal<r}function ed(e,t,n,r){let i=e.visibleTurnItems,a=i.findIndex(e=>e.sourceItemId===t.id),o={position:0,visibility:`local`,sourceThreadId:t.threadId,sourceItemId:t.id,item:t},s=a===-1?void 0:i[a];if(s!==void 0&&s.visibility===o.visibility&&s.sourceThreadId===o.sourceThreadId&&s.sourceItemId===o.sourceItemId&&s.item===t||a===-1&&n&&Qu(e,t,r))return i;let c=a===-1?[...i]:[...i.slice(0,a),...i.slice(a+1)],l=c.findIndex(e=>e.visibility===`local`&&(e.item.ordinal>t.ordinal||e.item.ordinal===t.ordinal&&String(e.item.id).localeCompare(String(t.id))>0));return c.splice(l===-1?c.length:l,0,o),qu(c)}function td(e,t,n){if(e===null||t.threadId!==e.thread.id)return e;let r=n?.partialTimeline===!0,i=n?.latestLocalTurnOrdinal,a={...e,updatedAt:t.occurredAt};switch(t.type){case`thread.pull-request-link-updated`:return{...a,thread:Lo(e.thread,t.payload)};case`thread.created`:case`thread.archived`:case`thread.unarchived`:case`thread.deleted`:case`thread.settled`:case`thread.unsettled`:case`thread.snoozed`:case`thread.unsnoozed`:case`thread.auto-settle-set`:case`thread.pinned`:case`thread.unpinned`:case`thread.pin-reordered`:case`thread.active-reordered`:case`thread.metadata-updated`:case`thread.pull-request-synced`:case`thread.runtime-mode-updated`:case`thread.interaction-mode-updated`:case`thread.model-selection-updated`:case`thread.provider-switched`:return{...a,thread:t.payload};case`thread.visited`:case`thread.marked-unread`:return{...e,thread:t.payload};case`run.created`:case`run.updated`:{let e={...a,runs:Gu(a.runs,t.payload)};return{...e,visibleTurnItems:Yu(e)}}case`run.background-work-cancelled`:return{...a,runs:a.runs.map(e=>e.id===t.payload.runId?{...e,restartCancelledBackgroundWork:t.payload.restartCancelledBackgroundWork}:e)};case`run-attempt.created`:case`run-attempt.updated`:{let e={...a,attempts:Gu(a.attempts,t.payload)};return{...e,visibleTurnItems:Yu(e)}}case`node.updated`:return{...a,nodes:Gu(a.nodes,t.payload)};case`subagent.updated`:return{...a,subagents:Gu(a.subagents,t.payload)};case`provider-session.attached`:case`provider-session.updated`:return{...a,providerSessions:Gu(a.providerSessions,t.payload)};case`provider-session.detached`:return{...a,providerSessions:a.providerSessions.filter(e=>e.id!==t.payload.providerSessionId)};case`provider-thread.updated`:return{...a,providerThreads:Gu(a.providerThreads,t.payload)};case`provider-turn.updated`:return{...a,providerTurns:Gu(a.providerTurns,{...t.payload,...(t.payload.tokenUsage??a.providerTurns.find(e=>e.id===t.payload.id)?.tokenUsage)===void 0?{}:{tokenUsage:t.payload.tokenUsage??a.providerTurns.find(e=>e.id===t.payload.id)?.tokenUsage}})};case`runtime-request.updated`:return{...a,runtimeRequests:Gu(a.runtimeRequests,t.payload)};case`message.updated`:return{...a,messages:Gu(a.messages,t.payload)};case`plan.updated`:return{...a,plans:Gu(a.plans,t.payload)};case`turn-item.updated`:{if(r&&!e.turnItems.some(e=>e.id===t.payload.id)&&Qu(e,t.payload,i))return e;let n={...a,turnItems:Gu(a.turnItems,t.payload)},o=e.turnItems.find(e=>e.id===t.payload.id),s=t.payload.type===`run_interrupt_request`||o?.type===`run_interrupt_request`?{...n,visibleTurnItems:Yu(n)}:n;return{...n,visibleTurnItems:Ju(n,t.payload)?ed(s,t.payload,r,i):Ku(s.visibleTurnItems,t.payload.id)}}case`checkpoint-scope.created`:return{...a,checkpointScopes:Gu(a.checkpointScopes,t.payload)};case`checkpoint.captured`:return{...a,checkpoints:Gu(a.checkpoints,t.payload)};case`checkpoint.rollback-requested`:return a;case`context-handoff.updated`:return{...a,contextHandoffs:Gu(a.contextHandoffs,t.payload)};case`context-transfer.created`:case`context-transfer.updated`:return{...a,contextTransfers:Gu(a.contextTransfers,t.payload)}}}var nd=3e5,rd=class extends jr()(`@p4code/client-runtime/state/threadHistoryController`){},id=be(rd,M(function*(){let e=yield*Bi(new Map);return rd.of({register:(t,n,r)=>yi(e,e=>{let i=new Map(e);return i.set(Z({environmentId:t,threadId:n}),r),i}).pipe(Ir({environmentId:t,threadId:n,handler:r})),unregister:t=>yi(e,e=>{let n=Z({environmentId:t.environmentId,threadId:t.threadId});if(e.get(n)!==t.handler)return e;let r=new Map(e);return r.delete(n),r}),loadEarlier:(t,n,r)=>q(e).pipe(D(e=>{let i=e.get(Z({environmentId:t,threadId:n}));return i===void 0?$n({_tag:`noop`}):i.loadEarlier(r)}))})})),ad=6e3,od=S(`clientRuntime.state.fetchEnvironmentThreadHistoryPage`)(function*(e){let t={params:{threadId:e.threadId},query:{cursor:e.cursor,...e.view===void 0?{}:{view:e.view},...e.throughEntryId===void 0?{}:{throughEntryId:e.throughEntryId}}};return yield*ea({...e,group:`orchestration`,method:`GET`,url:e=>e.threadHistoryPage(t),timeoutMs:e.timeoutMs??ad,request:({client:e,headers:n})=>e.threadHistoryPage({...t,headers:ha(n)})})}),sd={historyCursor:null,hasMoreHistory:!1,loading:!1,error:null,expanded:!1,latestLocalTurnOrdinal:null};function cd(e,t){return t.historyCursor===e}function ld(e,t){return!cd(e,t)||!t.loading?t:{...t,loading:!1}}function ud(e){return`${e.sourceThreadId}:${e.sourceItemId}`}function dd(e){return e.map((e,t)=>e.position===t?e:{...e,position:t})}function fd(e,t){if(t.length===0)return e;let n=new Map(e.visibleTurnItems.map(e=>[ud(e),e])),r=new Map(e.turnItems.map(e=>[String(e.id),e])),i=new Set,a=[];for(let o of t){let t=ud(o);if(i.has(t))continue;let s=n.get(t)??o;if(!n.has(t)&&(s.visibility===`local`||s.sourceThreadId===e.thread.id)){let t=r.get(String(s.sourceItemId));if(t!==void 0){if(t.type!==`run_interrupt_request`||!Uu({item:t,runs:e.runs,attempts:e.attempts,items:e.turnItems}))continue;s={...s,item:t}}}i.add(t),a.push(s),(s.visibility===`local`||s.sourceThreadId===e.thread.id)&&!r.has(String(s.sourceItemId))&&r.set(String(s.sourceItemId),s.item)}if(a.length===0)return e;let o=[...a,...e.visibleTurnItems.filter(e=>!i.has(ud(e)))];return o.length===e.visibleTurnItems.length&&o.every((t,n)=>t===e.visibleTurnItems[n])?e:{...e,turnItems:[...r.values()],visibleTurnItems:dd(o)}}function pd(e,t){return{historyCursor:t.nextCursor,hasMoreHistory:t.hasMoreHistory,loading:!1,error:null,expanded:!0,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal}}function md(e){return e.hasMoreHistory||e.error!==null}var hd=2e4,gd=S(`clientRuntime.state.fetchEnvironmentThreadSnapshot`)(function*(e){return yield*ea({...e,group:`orchestration`,method:`GET`,url:t=>t.threadSnapshot({params:{threadId:e.threadId}}),timeoutMs:e.timeoutMs??hd,request:({client:t,headers:n})=>t.threadSnapshot({params:{threadId:e.threadId},headers:ha(n)})})}),_d=class extends jr()(`@p4code/client-runtime/state/threadSnapshotHttp/ThreadSnapshotLoader`){},vd={data:V(),status:`empty`,error:V(),history:sd},yd=``,bd=wr;function xd(e){return Be(e,Oe(bd),e=>e.join(yd))}function Sd(e){return e.length===0?[]:Be(e.split(yd),ge(e=>Pn.make(e)))}function Cd(e){return B(t=>k(n=>{let r=[],i=null,a=!1;for(let o of Sd(t)){let t=n(e.getSnapshotAtom(o));a||=t.waiting;let s=N(Ue(t));s!==null&&r.push({environmentId:o,snapshot:s}),i===null&&t._tag===`Failure`&&(i=`Failed to load archived threads.`)}return{snapshots:r,error:i,isLoading:a}}).pipe(L(`${e.labelPrefix}:${t}`)))}var wd=6e3,Td=S(`clientRuntime.state.fetchEnvironmentBoundedThreadSnapshot`)(function*(e){let t={params:{threadId:e.threadId},query:{compactTurnItems:`1`}};return yield*ea({...e,group:`orchestration`,method:`GET`,url:e=>e.threadBoundedSnapshot(t),timeoutMs:e.timeoutMs??wd,request:({client:e,headers:n})=>e.threadBoundedSnapshot({...t,headers:ha(n)})}).pipe(A(({turnItemsOmitLocalVisible:e,...t})=>({...t,projection:Vu({...t,turnItemsOmitLocalVisible:e})})))}),Ed=be(_d,M(function*(){let e=yield*c,t=yield*On(sa),n=yield*On(ma);return _d.of({load:(r,i)=>{let a=gd({prepared:r,threadId:i,signer:t,remoteAuthorization:n}).pipe(A(e=>({_tag:`present`,snapshot:e})),he(c,e),Re({EnvironmentResourceNotFoundError:()=>wn(`Full thread snapshot not found over HTTP after bounded fallback; treating the thread as deleted.`).pipe(v({threadId:i}),Ir({_tag:`missing`}))}),zn(e=>H(`Could not load the full thread snapshot over HTTP after bounded fallback; using the socket snapshot instead.`).pipe(v({threadId:i,cause:Ce(e)}),Ir({_tag:`unavailable`}))));return Td({prepared:r,threadId:i,signer:t,remoteAuthorization:n}).pipe(A(e=>({_tag:`present`,snapshot:{snapshotSequence:e.snapshotSequence,projection:e.projection,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal},history:{historyCursor:e.historyCursor,hasMoreHistory:e.hasMoreHistory,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal}})),he(c,e),Re({EnvironmentResourceNotFoundError:()=>wn(`Bounded thread snapshot not found over HTTP; treating the thread as deleted.`).pipe(v({threadId:i}),Ir({_tag:`missing`})),RemoteEnvironmentAuthInvalidJsonError:e=>wn(`Bounded thread snapshot returned an invalid response; trying the full HTTP thread snapshot for an older server.`).pipe(v({threadId:i,cause:e.message}),Hr(a)),RemoteEnvironmentAuthUndeclaredStatusError:e=>e.status===404?wn(`Bounded thread snapshot route was not found; trying the full HTTP thread snapshot for an older server.`).pipe(v({threadId:i}),Hr(a)):E(e)}),zn(e=>H(`Could not load the bounded thread snapshot over HTTP; using the socket snapshot instead.`).pipe(v({threadId:i,cause:Ce(e)}),Ir({_tag:`unavailable`}))))}})}));function Dd(e){let t=B(e=>k([]).pipe(An)),n=B(n=>k(r=>{let i=r(e(n)),a=r(t(n));if(i===null||a.length===0)return i;let o=new Map;for(let e of a){if(e.sequence!==void 0&&e.sequence<=i.snapshotSequence)continue;let t=o.get(e.threadId)??[];t.push(e),o.set(e.threadId,t)}return o.size===0?i:{...i,threads:i.threads.map(e=>(o.get(e.id)??[]).reduce((e,t)=>t.apply(e),e))}}));function r(n,r){return{label:n.label,run:async(i,a)=>{let o=Yn(),s=t(a.environmentId),c=e(a.environmentId),l={threadId:a.input.threadId,apply:e=>r(e,a.input,o,l.sequence!==void 0)},u=()=>i.update(s,e=>e.filter(e=>e!==l));i.update(s,e=>[...e,l]);let d=!1;try{let e=await n.run(i,a);if(e._tag===`Success`){l.sequence=e.value.sequence,i.update(s,e=>[...e]);let t=t=>{(t===null||t.snapshotSequence>=e.value.sequence)&&(u(),n())},n=i.subscribe(c,t);t(i.get(c)),d=!0}return e}finally{d||u()}}}}return{snapshotAtom:n,wrap:r}}function Od(e,t){let n=da(),r={mode:`serial`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId])},i={create:U(e,{label:`environment-data:commands:thread:create`,execute:e=>rs(e),scheduler:n,concurrency:r}),delete:U(e,{label:`environment-data:commands:thread:delete`,execute:e=>as(e),scheduler:n,concurrency:r}),archive:U(e,{label:`environment-data:commands:thread:archive`,execute:e=>os(e),scheduler:n,concurrency:r}),unarchive:U(e,{label:`environment-data:commands:thread:unarchive`,execute:e=>ss(e),scheduler:n,concurrency:r}),settle:U(e,{label:`environment-data:commands:thread:settle`,execute:e=>cs(e),scheduler:n,concurrency:r}),unsettle:U(e,{label:`environment-data:commands:thread:unsettle`,execute:e=>ms(e),scheduler:n,concurrency:r}),snooze:U(e,{label:`environment-data:commands:thread:snooze`,execute:e=>hs(e),scheduler:n,concurrency:r}),unsnooze:U(e,{label:`environment-data:commands:thread:unsnooze`,execute:e=>gs(e),scheduler:n,concurrency:r}),pin:U(e,{label:`environment-data:commands:thread:pin`,execute:e=>ls(e),scheduler:n,concurrency:r}),unpin:U(e,{label:`environment-data:commands:thread:unpin`,execute:e=>ps(e),scheduler:n,concurrency:r}),reorderPin:U(e,{label:`environment-data:commands:thread:reorder-pin`,execute:e=>ds(e),scheduler:n,concurrency:r}),setAutoSettle:U(e,{label:`environment-data:commands:thread:set-auto-settle`,execute:e=>us(e),scheduler:n,concurrency:r}),reorderActive:U(e,{label:`environment-data:commands:thread:reorder-active`,execute:e=>fs(e),scheduler:n,concurrency:r}),visit:U(e,{label:`environment-data:commands:thread:visit`,execute:e=>_s(e),scheduler:n,concurrency:r}),markUnread:U(e,{label:`environment-data:commands:thread:mark-unread`,execute:e=>vs(e),scheduler:n,concurrency:r}),updateMetadata:U(e,{label:`environment-data:commands:thread:update-metadata`,execute:e=>ys(e),scheduler:n,concurrency:r}),linkPullRequest:U(e,{label:`environment-data:commands:thread:link-pull-request`,execute:e=>Ls(e),scheduler:n,concurrency:r}),unlinkPullRequest:U(e,{label:`environment-data:commands:thread:unlink-pull-request`,execute:e=>Vs(e),scheduler:n,concurrency:r}),linkDesign:U(e,{label:`environment-data:commands:thread:link-design`,execute:e=>Rs(e),scheduler:n,concurrency:r}),unlinkDesign:U(e,{label:`environment-data:commands:thread:unlink-design`,execute:e=>zs(e),scheduler:n,concurrency:r}),watchPullRequest:U(e,{label:`environment-data:commands:thread:watch-pull-request`,execute:e=>Bs(e),scheduler:n,concurrency:r}),setRuntimeMode:U(e,{label:`environment-data:commands:thread:set-runtime-mode`,execute:e=>bs(e),scheduler:n,concurrency:r}),setInteractionMode:U(e,{label:`environment-data:commands:thread:set-interaction-mode`,execute:e=>xs(e),scheduler:n,concurrency:r}),startTurn:U(e,{label:`environment-data:commands:thread:start-turn`,execute:e=>Ss(e),scheduler:n,concurrency:r}),interruptTurn:U(e,{label:`environment-data:commands:thread:interrupt-turn`,execute:e=>Cs(e),scheduler:n,concurrency:r}),respondToApproval:U(e,{label:`environment-data:commands:thread:respond-to-approval`,execute:e=>ws(e),scheduler:n,concurrency:r}),respondToUserInput:U(e,{label:`environment-data:commands:thread:respond-to-user-input`,execute:e=>Ts(e),scheduler:n,concurrency:r}),dismissUserInput:U(e,{label:`environment-data:commands:thread:dismiss-user-input`,execute:e=>Es(e),scheduler:n,concurrency:r}),revertCheckpoint:U(e,{label:`environment-data:commands:thread:revert-checkpoint`,execute:e=>Ds(e),scheduler:n,concurrency:r}),stopSession:U(e,{label:`environment-data:commands:thread:stop-session`,execute:e=>Os(e),scheduler:n,concurrency:r}),forkFromRun:U(e,{label:`environment-data:commands:thread:fork-from-run`,execute:e=>ks(e),scheduler:n,concurrency:{mode:`serial`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.sourceThreadId])}}),mergeBack:U(e,{label:`environment-data:commands:thread:merge-back`,execute:e=>As(e),scheduler:n,concurrency:{mode:`serial`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.sourceThreadId,t.targetThreadId])}}),resumeThreadQueue:U(e,{label:`environment-data:commands:thread:resume-queue`,execute:e=>js(e),scheduler:n,concurrency:r}),reorderQueuedRun:U(e,{label:`environment-data:commands:thread:reorder-queued-run`,execute:e=>Ms(e),scheduler:n,concurrency:r}),promoteQueuedRun:U(e,{label:`environment-data:commands:thread:promote-queued-run`,execute:e=>Ns(e),scheduler:n,concurrency:r}),cancelQueuedRun:U(e,{label:`environment-data:commands:thread:cancel-queued-run`,execute:e=>Ps(e),scheduler:n,concurrency:r}),retryWorkspacePreparation:U(e,{label:`environment-data:commands:thread:retry-workspace-preparation`,execute:e=>Fs(e),scheduler:n,concurrency:r}),editQueuedRun:U(e,{label:`environment-data:commands:thread:edit-queued-run`,execute:e=>Is(e),scheduler:n,concurrency:r}),loadEarlierHistory:U(e,{label:`environment-data:commands:thread:load-earlier-history`,execute:e=>M(function*(){let t=yield*Ca,n=yield*On(rd);return R(n)?{_tag:`noop`}:yield*n.value.loadEarlier(t.target.environmentId,e.threadId,e.throughEntryId)}),scheduler:n,concurrency:{mode:`serial`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId])}}),uploadFeedback:G(e,{label:`environment-data:commands:thread:upload-feedback`,tag:T.providerUploadFeedback,scheduler:n,concurrency:r})},a=Dd(t);return{...i,snapshotAtom:a.snapshotAtom,settle:a.wrap(i.settle,(e,t,n,r)=>!r&&(e.pendingRuntimeRequest!==null||[`preparing`,`queued`,`starting`,`running`,`waiting`].includes(e.status))?e:{...e,pendingRuntimeRequest:null,settledOverride:`settled`,settledAt:e.settledOverride===`settled`?e.settledAt??n:n,unsettledAt:null,activeOrderKey:null,pinnedAt:null,pinOrderKey:null,snoozedAt:null,snoozedUntil:null}),unsettle:a.wrap(i.unsettle,(e,t,n)=>({...e,settledOverride:t.reason===`user`?`active`:null,settledAt:null,unsettledAt:e.settledOverride===`active`?e.unsettledAt??null:n})),snooze:a.wrap(i.snooze,(e,t,n,r)=>!r&&(e.pendingRuntimeRequest!==null||[`preparing`,`queued`,`starting`].includes(e.status))||!(Date.parse(t.snoozedUntil)>xn(n))?e:{...e,pendingRuntimeRequest:null,snoozedUntil:ar(t.snoozedUntil),snoozedAt:e.snoozedUntil!=null&&Dr(e.snoozedUntil)===t.snoozedUntil?e.snoozedAt??n:n}),unsnooze:a.wrap(i.unsnooze,e=>({...e,snoozedUntil:null,snoozedAt:null})),setAutoSettle:a.wrap(i.setAutoSettle,(e,t,n)=>({...e,autoSettleDisabledAt:t.enabled?null:e.autoSettleDisabledAt??n})),pin:a.wrap(i.pin,(e,t,n)=>({...e,pinnedAt:e.pinnedAt??n,pinOrderKey:e.pinnedAt==null?t.orderKey??null:e.pinOrderKey,...e.settledOverride===`settled`?{settledOverride:`active`,settledAt:null,unsettledAt:n}:{},snoozedUntil:null,snoozedAt:null})),unpin:a.wrap(i.unpin,e=>({...e,pinnedAt:null,pinOrderKey:null})),reorderPin:a.wrap(i.reorderPin,(e,t)=>({...e,pinOrderKey:t.orderKey})),reorderActive:a.wrap(i.reorderActive,(e,t)=>({...e,activeOrderKey:t.orderKey}))}}function kd(e){let t=/^\/feedback(?:\s+([\s\S]*))?$/iu.exec(e.trim());if(!t)return null;let n=t[1]?.trim();return n?{reason:n}:{}}function Ad(e){switch(e.status){case`interrupted`:return null;case`uploading`:return{title:`Sending feedback to OpenAI...`,description:void 0};case`sent`:return{title:`Feedback sent to OpenAI`,description:`Thread ID: ${e.feedbackId}`};case`failed`:return{title:`Could not send feedback to OpenAI`,description:e.errorMessage}}}function jd(e,t=`user`){let n=t===`user`?e.command:e.status===`sent`?`Feedback sent to OpenAI.\n\nThread ID: \`${e.feedbackId}\``:e.status===`failed`?`Could not send feedback to OpenAI.\n\n${e.errorMessage}`:`Sending feedback to OpenAI...`;return{id:t===`user`?e.id:ze.make(`${e.id}:feedback`),role:t,text:n,turnId:null,streaming:!1,createdAt:e.createdAt,updatedAt:e.createdAt}}async function Md(e){e.onUpdate({...e.submission,status:`uploading`}),e.clearDraft();let t=await e.upload();if(t._tag===`Success`)e.onUpdate({...e.submission,status:`sent`,feedbackId:t.value.feedbackId});else if(Oi(t))e.onUpdate({...e.submission,status:`interrupted`});else{let n=zi(t);e.onUpdate({...e.submission,status:`failed`,errorMessage:n instanceof Error?n.message:`An error occurred.`})}return t}var Nd=new Set([`preparing`,`starting`,`running`,`waiting`]),Pd=new Set([`waiting`,`completed`]),Fd=new Set([`preparing`,`starting`,`running`]);function Id(e){return e.runs.findLast(e=>Nd.has(e.status))??null}function Ld(e){let t=e.runs.reduce((e,t)=>Pd.has(t.status)&&(e===null||t.ordinal>e.ordinal)?t:e,null);return t===null||e.runs.some(e=>e.ordinal>t.ordinal&&Fd.has(e.status))?null:t}function Rd(e){let t=Id(e)?.providerThreadId??e.thread.activeProviderThreadId,n=((t===null?null:e.providerThreads.find(e=>e.id===t)??null)??e.providerThreads.find(t=>t.appThreadId===e.thread.id&&t.providerSessionId!==null)??null)?.providerSessionId??null;return n===null?e.providerSessions.findLast(e=>e.status!==`stopped`&&e.status!==`error`)??null:e.providerSessions.find(e=>e.id===n)??null}function zd(e){if(e==null)return!1;let t=Rd(e);return t===null?Id(e)===null?e.thread.historyOrigin===`v1_import`||e.runs.length===0||e.providerThreads.some(t=>t.id===e.thread.activeProviderThreadId&&t.appThreadId===e.thread.id&&t.providerInstanceId===e.thread.modelSelection.instanceId&&t.nativeThreadRef!==null):!1:t.capabilities.sessions.supportsProviderSwitchingViaHandoff}function Bd(e){let t=new Set(e.messages.filter(e=>e.delegatedCompletion!==void 0||e.notification!==void 0).map(e=>e.id));return e.runs.filter(e=>e.status===`queued`&&!t.has(e.userMessageId))}function Vd(e){let t=Id(e),n=Rd(e)?.capabilities.turns,r=t?.status===`running`&&t.activeAttemptId!==null&&e.providerTurns.some(e=>e.runAttemptId===t.activeAttemptId&&e.status===`running`);return{activeRun:t,queuedRuns:Ya(Bd(e),(e,t)=>(e.queuePosition??e.ordinal)-(t.queuePosition??t.ordinal)||e.ordinal-t.ordinal).map(t=>{let n=e.messages.find(e=>e.id===t.userMessageId);return{run:t,text:n?.text??`Queued message`,attachments:n?.attachments??[],messageId:t.userMessageId,...n?.context?{context:n.context}:{}}}),isHeld:e.runs.some(e=>e.status===`queued`&&e.queueHeld===!0),canReorder:n?.supportsQueuedMessages===!0,canPromoteToSteer:r&&(n?.supportsActiveSteering===!0||n?.supportsSteeringByInterruptRestart===!0),canSteerAll:r&&n?.supportsActiveSteering===!0}}function Hd(e){let t=e.projectedItem.item;if(t.type!==`assistant_message`||t.runId===null||t.status!==`completed`)return!1;if(e.capabilities===void 0)return!0;let n=e.capabilities;return n.threads.canForkThread&&n.threads.canForkFromTurn&&n.identity.nativeThreadIds===`strong`||n.context.supportsFullThreadHandoff}function Ud(e){let t=Rd(e);return t!==null&&t.status!==`stopped`&&t.status!==`error`}function Wd(e){if(e==null)return{available:!1,reason:`This thread is still loading.`};let t=e.runs.reduce((e,t)=>t.status===`completed`&&t.checkpointId!==null&&(e===null||t.ordinal>e.ordinal)?t:e,null);if(t===null)return{available:!1,reason:`Nothing to share yet. A run has to finish first.`};let n=Rd(e)?.capabilities;return n!==void 0&&!(n.threads.canForkThread&&n.threads.canForkFromTurn&&n.identity.nativeThreadIds===`strong`)&&!n.context.supportsFullThreadHandoff?{available:!1,reason:`This provider cannot share history with a side chat yet.`}:{available:!0,upToRunOrdinal:t.ordinal}}function Gd(e){if(e.forkedFrom?.type!==`run`)return`Sees no history`;let t=e.forkedFrom.runId,n=e.parentRuns?.find(e=>e.id===t);return n===void 0?`Sees history`:`Sees up to run ${n.ordinal}`}function Kd(e){let t=new Set(e.flatMap(e=>e.deletedAt?[]:[`${e.environmentId}:${e.id}`]));return e=>{let n=e.lineage?.parentThreadId;return!e.sideChat||!n||!t.has(`${e.environmentId}:${n}`)}}function qd(e){return xn(e.startedAt??e.updatedAt)}function Jd(e){if(e.subagents.length===0)return null;let t=Id(e),n=e.subagents.reduce((e,t)=>xn(t.updatedAt)>xn(e.updatedAt)?t:e),r=t?.id??n.runId,i=Ya(e.subagents.filter(e=>e.runId===r),(e,t)=>qd(e)-qd(t)||e.id.localeCompare(t.id));if(i.length===0)return null;let a=0,o=0;for(let e of i)Ws(e.status)?a+=1:Us(e.status)&&(o+=1);return{runId:r,turnActive:t!==null,subagents:i,liveCount:a,settledCount:o}}async function Yd(e,t){for(let n of e)if(n.responseCapability===`live`&&(await t(n.requestId,`decline`))?._tag!==`Success`)return!1;return!0}var Xd=`Why am I being asked this?`;function Zd(e){return e===`ask_rule`?`Full access skips approvals, but an ask rule in the agent's own settings matches this action, so it still asks. Remove or narrow that rule to stop these prompts.`:`Full access skips approvals, but the agent still stops for a few safety checks of its own that no setting can skip, such as a delete whose path it can't verify. P4 Code can't turn these off, so check the request and approve it if it's what you expect.`}function Qd(e,t){let n=t;for(let r of e)r.initialAnswer!==void 0&&r.allowCustomAnswer!==!1&&n[r.id]===void 0&&(n===t&&(n={...t}),n[r.id]={customAnswer:r.initialAnswer});return n}function $d(e){let t=[],n=[];for(let r of e.runtimeRequests){if(r.status!==`pending`)continue;let i=r.responseCapability.type;if(r.kind===`user_input`){let t=e.turnItems.findLast(e=>e.type===`user_input_request`&&e.requestId===r.id);if(t===void 0||t.type!==`user_input_request`)continue;n.push({requestId:r.id,createdAt:Dr(r.createdAt),questions:t.questions.map(e=>({...e,multiSelect:e.multiSelect??!1})),responseCapability:i,dismissible:t.responseMode===`message`||i===`message`,...t.responseMode===`message`||i===`message`?{responseMode:`message`}:{}});continue}if(r.kind===`auth_refresh`||r.kind===`dynamic_tool_call`)continue;let a=e.turnItems.findLast(e=>e.type===`approval_request`&&e.requestId===r.id);t.push({requestId:r.id,requestKind:r.kind,createdAt:Dr(r.createdAt),...a?.type===`approval_request`&&a.prompt?{detail:a.prompt}:{},...a?.type===`approval_request`&&a.reason?{reason:a.reason}:{},...a?.type===`approval_request`&&a.fullAccessOverride?{fullAccessOverride:a.fullAccessOverride}:{},...a?.type===`approval_request`&&a.appName?{appName:a.appName}:{},...a?.type===`approval_request`&&a.options!==void 0?{options:a.options}:{},responseCapability:i===`live`?`live`:`not_resumable`})}return{approvals:t,userInputs:n}}function ef(){let e,t,n,r=new WeakMap;return i=>{let{visibleTurnItems:a,runtimeRequests:o}=i;if(a===e&&o===t&&n)return n;let s=new Map(o.map(e=>[e.id,e])),c;for(let[e,t]of a.entries()){let n=t.item,i=n.type===`user_input_request`&&!n.questionAnswer?s.get(n.requestId):void 0,o=t;if(n.type===`user_input_request`&&i?.status===`resolved`&&i.answers!==void 0){let e=r.get(t);o=e?.request===i?e.row:{...t,item:{...n,questionAnswer:{requestId:i.id,answers:i.answers,attachmentsByQuestionId:{},questionTextById:Object.fromEntries(n.questions.map(e=>[e.id,e.question]))}}},r.set(t,{request:i,row:o})}o!==t&&(c??=a.slice(0,e)),c?.push(o)}return e=a,t=o,n=c??a,n}}var tf=Object.freeze([]);function nf(e){let n=B(n=>{let r=Cc(n);return k(n=>t(Ue(n(e(r.environmentId,r.threadId))),()=>vd)).pipe(I(0),L(`environment-thread-state-value:${n}`))}),r=B(e=>{let t=Cc(e),r=null,i=null;return k(a=>{let o=N(a(n(e)).data);return o===r?i:(r=o,i=o===null?null:{environmentId:t.environmentId,projection:o},i)}).pipe(I(0),L(`environment-thread:${e}`))}),i=B(e=>{let t=ef();return k(r=>{let i=N(r(n(e)).data);return i===null?tf:t(i)}).pipe(I(0),L(`environment-thread-visible-turn-items:${e}`))}),a=B(e=>{let t=null,r=null;return k(i=>{let a=N(i(n(e)).data);if(a===null)t=null,r=null;else if(t===null||a.thread!==t.thread||a.runs!==t.runs||a.messages!==t.messages||a.providerThreads!==t.providerThreads||a.providerSessions!==t.providerSessions||a.providerTurns!==t.providerTurns){r=Vd(a);let{thread:e,runs:n,messages:i,providerThreads:o,providerSessions:s,providerTurns:c}=a;t={thread:e,runs:n,messages:i,providerThreads:o,providerSessions:s,providerTurns:c}}return r}).pipe(I(0),L(`environment-thread-queue:${e}`))}),o=B(e=>{let t=null,r=0;return k(i=>{let a=N(i(n(e)).data);if(a===null)t=null,r=0;else if(a.runs!==t?.runs||a.messages!==t?.messages){let{runs:e,messages:n}=a;t={runs:e,messages:n},r=Bd(t).length}return r}).pipe(I(0),L(`environment-thread-queue-count:${e}`))}),s=B(e=>{let t=null,r=null;return k(i=>{let a=N(i(n(e)).data);if(a===null)t=null,r=null;else if(a.runs!==t?.runs||a.subagents!==t?.subagents){let{runs:e,subagents:n}=a;t={runs:e,subagents:n},r=Jd(t)}return r}).pipe(I(0),L(`environment-thread-turn-subagents:${e}`))}),c=B(e=>k(t=>N(t(n(e)).data)?.thread.worktreePath??null).pipe(I(0),L(`environment-thread-worktree:${e}`))),l=B(e=>{let t=null,r=null;return k(i=>{let a=N(i(n(e)).data);if(a===null)return t=null,r=null,r;let o=a.runtimeRequests.filter(e=>e.status===`pending`),s=new Set(o.map(e=>e.id)),c=s.size===0?[]:a.turnItems.filter(e=>(e.type===`approval_request`||e.type===`user_input_request`)&&s.has(e.requestId));return(t===null||!Ec(t.runtimeRequests,o)||!Ec(t.turnItems,c))&&(t={runtimeRequests:o,turnItems:c},r=$d(t)),r}).pipe(I(0),L(`environment-thread-pending-requests:${e}`))}),u=B(e=>k(t=>t(n(e)).status).pipe(I(0),L(`environment-thread-status:${e}`))),d=B(e=>k(t=>N(t(n(e)).error)).pipe(I(0),L(`environment-thread-error:${e}`))),f=B(e=>k(t=>t(n(e)).history).pipe(I(0),L(`environment-thread-history:${e}`)));return{worktreePathAtom:e=>c(Z(e)),pendingRequestsAtom:e=>l(Z(e)),queueWorkflowAtom:e=>a(Z(e)),queuedCountAtom:e=>o(Z(e)),turnSubagentsAtom:e=>s(Z(e)),stateAtom:e=>n(Z(e)),threadAtom:e=>r(Z(e)),visibleTurnItemsAtom:e=>i(Z(e)),statusAtom:e=>u(Z(e)),errorAtom:e=>d(Z(e)),historyAtom:e=>f(Z(e))}}var rf=Object.freeze([]),af=Object.freeze([]),of=new Map,sf=new Map,cf=new Map,lf=e=>e.activityRunStatus===void 0?e.status===`preparing`||e.status===`starting`||e.status===`running`||e.status===`waiting`:e.activityRunStatus!==null;function uf(e){let t=e.pendingRuntimeRequest?.kind;return t===void 0||t===`auth_refresh`||e.lineage.relationshipToParent!==`subagent`||Fr(e)||!lf(e)?null:t===`user_input`?`user_input`:`approval`}function df(e){let t=new Map,n;for(let r of e){let i=uf(r);if(i===null)continue;n??=new Map(e.map(e=>[e.id,e]));let a=new Set([r.id]),o=r;for(;o?.lineage.relationshipToParent===`subagent`;){let e=o.lineage.parentThreadId;if(e===null||a.has(e))break;a.add(e),t.get(e)!==`approval`&&t.set(e,i),o=n.get(e)}}return t.size===0?sf:t}function ff(e){let t=e.filter(e=>e.hasPendingApprovals).length,n=t===0?`input`:t===e.length?`approval`:`you`;return e.length===1?`Subagent needs ${n}`:`${e.length} subagents need ${n}`}var pf=Jr(rt);function mf(e,t){if(e.environmentId!==t.environmentId||e.pendingSubagentRequest!==t.pendingSubagentRequest||!nc(t.runtime))return!1;let n=e.source,r=t.source;return n.itemCount>0==r.itemCount>0&&n.visibleItemCount>0==r.visibleItemCount>0&&pf({...n,updatedAt:r.updatedAt,itemCount:r.itemCount,visibleItemCount:r.visibleItemCount,latestVisibleMessage:r.latestVisibleMessage},r)}function hf(e){let t=new WeakMap,n=(e,n,r)=>{let i=t.get(n);i===void 0&&(i=new Map,t.set(n,i));let a=r.get(n.id)??null,o=a===null?e:`${e}:${a}`,s=i.get(o);return s===void 0&&(s=uc(e,n,a),i.set(o,s)),s},r=B(t=>k(n=>n(e.snapshotAtom(t))?.threads??rf).pipe(L(`environment-threads:${t}`))),i=B(e=>k(t=>{let n=t(r(e));return n.length===0?of:new Map(n.map(e=>[e.id,e]))}).pipe(L(`environment-thread-index:${e}`))),a=B(e=>{let t=sf;return k(n=>{let i=df(n(r(e)));return i.size===t.size&&[...i].every(([e,n])=>t.get(e)===n)?t:(t=i,i)}).pipe(L(`environment-pending-subagent-requests:${e}`))}),o=B(e=>{let t=[];return k(n=>{let i=n(r(e)).map(t=>({environmentId:e,threadId:t.id}));return Tc(t,i)?t:(t=i,i)}).pipe(L(`environment-thread-refs:${e}`))}),s=B(e=>{let t=cf;return k(n=>{let i=new Map;for(let t of n(r(e))){let n=i.get(t.projectId),r={environmentId:e,threadId:t.id};n===void 0?i.set(t.projectId,[r]):n.push(r)}if(i.size===0)return t=cf,t;let a=new Map;for(let[e,n]of i){let r=t.get(e);a.set(e,r!==void 0&&Tc(r,n)?r:n)}let o=[...t.keys()];return a.size===t.size&&[...a].every(([e,n],r)=>o[r]===e&&t.get(e)===n)||(t=a),t}).pipe(L(`environment-thread-refs-by-project:${e}`))}),c=B(e=>{let t=Cc(e);return k(e=>{let r=e(i(t.environmentId)).get(t.threadId)??null;return r===null?null:n(t.environmentId,r,e(a(t.environmentId)))}).pipe(L(`environment-thread-shell:${e}`))}),l=B(e=>{let t=null;return k(n=>{let r=n(c(e));return t!==null&&r!==null&&mf(t,r)?t:(t=r,r)}).pipe(L(`environment-quiet-thread-shell:${e}`))}),u=B(e=>{let t=Cc(e),i=[];return k(e=>{let o=new Map;for(let n of e(r(t.environmentId))){let e=n.lineage.parentThreadId;if(e===null||n.lineage.relationshipToParent!==`subagent`)continue;let t=o.get(e);t?t.push(n):o.set(e,[n])}let s=e(a(t.environmentId)),c=new Set([t.threadId]),l=[t.threadId],u=[];for(let e of l)for(let r of o.get(e)??[])c.has(r.id)||(c.add(r.id),l.push(r.id),uf(r)!==null&&u.push(n(t.environmentId,r,s)));return i.length===u.length&&i.every((e,t)=>e.id===u[t]?.id&&e.title===u[t]?.title&&e.hasPendingApprovals===u[t]?.hasPendingApprovals)?i:(i=u,u)}).pipe(L(`environment-child-thread-inputs:${e}`))}),d=B(e=>{let t=Sc(e),r=[];return k(e=>{let o=[],c=new Set;for(let r of t){let t=e(s(r.environmentId)).get(r.projectId)??af;if(t.length===0)continue;let l=e(i(r.environmentId)),u=e(a(r.environmentId));for(let e of t){let t=Z(e);if(c.has(t))continue;c.add(t);let r=l.get(e.threadId);r!==void 0&&o.push(n(e.environmentId,r,u))}}return Ec(r,o)||(r=o),r}).pipe(L(`environment-thread-shells-for-projects:${e}`))}),f=[],p=k(t=>{let n=[];for(let r of fc(t(e.catalogValueAtom)))n.push(...t(o(r)));return Tc(f,n)?f:(f=n,n)}).pipe(L(`environment-thread-refs`)),m=[],h=k(t=>{let i=[];for(let o of fc(t(e.catalogValueAtom))){let e=t(a(o));for(let a of t(r(o)))i.push(n(o,a,e))}return Ec(m,i)||(m=i),m}).pipe(L(`environment-thread-shell-list`)),g=[],_=k(e=>{let t=[];for(let n of e(p)){let r=e(l(Z(n)));r!==null&&t.push(r)}return Ec(g,t)?g:(g=t,t)}).pipe(L(`environment-quiet-thread-shell-list`)),ee=[];return{environmentThreadsAtom:r,environmentThreadIndexAtom:i,environmentThreadRefsAtom:o,environmentThreadRefsByProjectAtom:s,threadRefsAtom:p,threadShellsAtom:h,quietThreadShellsAtom:_,navigationThreadShellsAtom:k(t=>{let i=[];for(let o of fc(t(e.catalogValueAtom))){let e=t(a(o)),s=t(r(o)).map(t=>n(o,t,e)),c=Kd(s);for(let e of s)e.archivedAt===null&&e.lineage.relationshipToParent!==`subagent`&&c(e)&&i.push(e)}return Ec(ee,i)?ee:(ee=i,i)}).pipe(L(`environment-navigation-thread-shells`)),threadShellsForProjectRefsAtom:e=>d(bc(e)),threadShellAtom:e=>c(Z(e)),quietThreadShellAtom:e=>l(Z(e)),childThreadInputsAtom:e=>u(Z(e))}}function gf(e){return P(e)?`cached`:`empty`}function _f(e){let t=Lt(e);return t instanceof Error&&t.message.trim().length>0?t.message:`Could not synchronize the thread.`}function vf(e){return e instanceof Error&&e.message.trim().length>0?e.message:`Could not load earlier activity.`}function yf(e){return{historyCursor:e.historyCursor??null,hasMoreHistory:e.hasMoreHistory??!1,loading:!1,error:null,expanded:!1,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal??null}}function bf(e,t,n,r){return r||n.hasMoreHistory||n.historyCursor!==null?{snapshotSequence:e,projection:t,historyCursor:n.historyCursor,hasMoreHistory:n.hasMoreHistory,latestLocalTurnOrdinal:n.latestLocalTurnOrdinal}:{snapshotSequence:e,projection:t}}function xf(e,t){return!t.expanded&&!e.runs.some(e=>e.status===`preparing`||e.status===`starting`||e.status===`running`)}function Sf(e,t,n,r){if(e.sequence!==n||N(e.state.data)!==t)return!1;let i=e.state.history;return i.historyCursor===r.historyCursor&&i.hasMoreHistory===r.hasMoreHistory&&(!(r.hasMoreHistory||r.historyCursor!==null)||i.latestLocalTurnOrdinal===r.latestLocalTurnOrdinal)}function Cf(e){return{...e,status:e.status===`deleted`||e.status===`live`&&P(e.data)?e.status:gf(e.data),error:V(),history:{...e.history,loading:!1,error:null}}}var wf=S(`EnvironmentThreadState.make`)(function*(e,t){let n=yield*Ca,r=yield*Ta,i=yield*_d,a=yield*On(rd),o=yield*On(c),s=yield*On(sa),l=yield*On(ma),u=yield*On(_a),d=n.target.environmentId,f=t?.snapshot,p={};t&&(t.owner=p);let m=f===void 0?yield*r.loadThread(d,e).pipe(x(t=>H(`Could not load cached thread.`).pipe(v({environmentId:d,threadId:e,error:t.message}),Ir(V())))):V(),h=Ht(m,e=>e.projection),g=f?Cf(f.state):{data:h,status:gf(h),error:V(),history:er(m,{onNone:()=>sd,onSome:yf})},_=yield*Ze(g),ee=P(o)&&P(a),te=yield*Bi(ee),ne=f?.sequence??er(m,{onNone:()=>0,onSome:e=>e.snapshotSequence}),ie=yield*Ze(ne),y={state:g,sequence:ne,persisted:f?.persisted??P(m),acceptsBoundedSnapshots:ee};t?.owner===p&&(t.snapshot=y);let oe=yield*Bi(!1),se=yield*It(1),ce=M(function*(){let e=yield*b(_),n=yield*b(ie);y={state:e,sequence:n,acceptsBoundedSnapshots:yield*q(te),persisted:y.persisted&&Sf(y,N(e.data),n,e.history)},t?.owner===p&&(t.snapshot=y)}),le=yield*Gn(1),ue=S(`EnvironmentThreadState.persist`)(function*(n){(t===void 0||t.owner===p)&&y.state.status!==`deleted`&&(y.persisted&&Sf(y,n.projection,n.snapshotSequence,yf(n))||(yield*r.saveThread(d,n).pipe(Cr(()=>F(()=>{Sf(y,n.projection,n.snapshotSequence,yf(n))&&(y={...y,persisted:!0},t?.owner===p&&(t.snapshot=y))})),x(t=>H(`Could not persist the thread cache.`).pipe(v({environmentId:d,threadId:e,error:t.message}))))))});yield*Kr(()=>$t(()=>{let{state:e,sequence:t}=y;return er(e.data,{onNone:()=>C,onSome:n=>xf(n,e.history)?ue(bf(t,n,e.history,y.acceptsBoundedSnapshots===!0)):C})})),yield*El(le,ue).pipe(O);let de=pe(_,e=>e.status===`deleted`||P(e.error)?e:{...e,status:`synchronizing`,error:V()}),fe=pe(_,e=>e.status===`live`||e.status===`deleted`||P(e.error)?e:{...e,status:`synchronizing`,error:V()}),me=M(function*(){yield*W(oe,!1),yield*pe(_,e=>({...e,status:e.status===`deleted`?e.status:gf(e.data)}))}),ge=e=>W(oe,!1).pipe(Hr(pe(_,t=>({...t,status:t.status===`deleted`?t.status:gf(t.data),error:j(e)})))),ve=S(`EnvironmentThreadState.setThread`)(function*(e,t){let n=yield*q(oe),r=yield*pt(_,r=>{let i=t?.history===void 0?t?.resetHistory===!0?sd:r.history:t.history;return{...r,data:j(e),status:P(r.error)?`cached`:n?`synchronizing`:`live`,error:r.error,history:i}});if(xf(e,r.history)){let t=yield*b(ie);yield*mr(le,bf(t,e,r.history,yield*q(te)))}}),be=e=>pe(_,t=>({...t,history:e(t.history)})),xe=S(`EnvironmentThreadState.setDeleted`)(function*(){yield*W(oe,!1),yield*yt(_,{data:V(),status:`deleted`,error:V(),history:sd}),yield*ce,(t===void 0||t.owner===p)&&(yield*r.removeThread(d,e).pipe(x(t=>H(`Could not remove the cached thread.`).pipe(v({environmentId:d,threadId:e,error:t.message})))))}),Se=S(`EnvironmentThreadState.applyEventsLocked`)(function*(t){let n=yield*b(ie),r=n,i=[];for(let n of t)if(!(n.sequence<=r)){if(r=n.sequence,n.kind===`event`){i.push(n);continue}yield*wn(`Skipped a thread event type this client does not know.`).pipe(v({environmentId:d,threadId:e,eventType:n.eventType.slice(0,64),sequence:n.sequence}))}if(r===n||(yield*yt(ie,r),i.length===0))return;let a=yield*q(oe),o=(e,t)=>{if(e.status===`deleted`)return[{_tag:`noop`},e];if(R(e.data))return[t.event.type===`thread.deleted`?{_tag:`delete`}:{_tag:`noop`},e];if(t.event.type===`thread.deleted`)return[{_tag:`delete`},e];let n=e.history.hasMoreHistory||e.history.historyCursor!==null?{partialTimeline:!0,latestLocalTurnOrdinal:e.history.latestLocalTurnOrdinal}:void 0,r=td(e.data.value,t.event,n);if(r===null||r===e.data.value)return[{_tag:`noop`},e];let i=e.history;if(n!==void 0&&t.event.type===`turn-item.updated`){let e=t.event.payload.ordinal,n=i.latestLocalTurnOrdinal;(n===null||e>n)&&(i={...i,latestLocalTurnOrdinal:e})}let o={...e,data:j(r),status:a?`synchronizing`:`live`,error:V(),history:i};return[{_tag:`applied`,projection:r,history:o.history},o]},s=yield*Yr(_,e=>{let t={_tag:`noop`};for(let n of i){let[r,i]=o(e,n);if(e=i,r._tag!==`noop`&&(t=r),r._tag===`delete`)break}return[t,e]});if(s._tag===`delete`){yield*xe();return}if(s._tag===`applied`&&xf(s.projection,s.history)){let e=yield*b(ie);yield*mr(le,bf(e,s.projection,s.history,yield*q(te)))}}),Ce=S(`EnvironmentThreadState.applyItemLocked`)(function*(e){if(e.kind===`synchronized`){yield*W(oe,!1),yield*pe(_,e=>P(e.data)&&e.status!==`deleted`&&R(e.error)?{...e,status:`live`,error:V()}:e);return}if(e.kind===`snapshot`){yield*yt(ie,e.snapshotSequence);let t=e.historyCursor!==void 0||e.hasMoreHistory!==void 0||e.latestLocalTurnOrdinal!==void 0;yield*ve(Vu(e),t?{history:{historyCursor:e.historyCursor??null,hasMoreHistory:e.hasMoreHistory??!1,loading:!1,error:null,expanded:!1,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal??null}}:{resetHistory:!0});return}yield*Se([e])}),we=S(`EnvironmentThreadState.applyItems`)(function*(e){yield*se.withPermits(1)(M(function*(){let t=[];for(let n of e){if(n.kind===`unknown-event`||n.kind===`event`&&n.event.type!==`thread.deleted`){t.push(n);continue}yield*Se(t),t=[],yield*Ce(n)}yield*Se(t),yield*ce}))}),Te=S(`EnvironmentThreadState.loadEarlier`)(function*(t){let r=yield*b(_);if(r.status===`deleted`||R(r.data)||!r.history.hasMoreHistory||r.history.historyCursor===null)return{_tag:`noop`};if(r.history.loading)return{_tag:`busy`};let i=r.history.historyCursor;yield*be(e=>cd(i,e)?{...e,loading:!0,error:null}:e);let a=e=>Yr(_,t=>cd(i,t.history)?[{_tag:`error`,message:e},{...t,history:{...t.history,loading:!1,error:e}}]:[{_tag:`noop`},t]);return yield*M(function*(){let r=yield*b(n.prepared);if(R(r)||R(o))return yield*a(`Environment is not connected.`);let u=t===void 0?[void 0]:[`conversation`,void 0];for(let n of u){let u=yield*od({prepared:r.value,threadId:e,cursor:i,throughEntryId:t,view:n,signer:s,remoteAuthorization:l}).pipe(he(c,o.value),gt);if(ft(u))return yield*a(vf(u.failure));let d=u.success,f=n===void 0,p=yield*q(oe),m=yield*se.withPermits(1)(Yr(_,e=>cd(i,e.history)?R(e.data)||e.status===`deleted`?[{_tag:`noop`},{...e,history:sd}]:[{_tag:`loaded`},{...e,data:j(fd(e.data.value,d.items)),status:f&&p?`synchronizing`:e.status,history:f?pd(e.history,d):{...e.history,expanded:!0}}]:[{_tag:`noop`},e]));if(m._tag!==`loaded`)return m;f&&(yield*ce)}return{_tag:`loaded`}}).pipe(Fn(()=>pe(_,e=>({...e,history:ld(i,e.history)}))))});if(P(a)){let t=yield*Wt,n=yield*a.value.register(d,e,{loadEarlier:e=>Te(e).pipe(kn(t),D(ot))});yield*Kr(()=>a.value.unregister(n))}yield*_e(n.state).pipe(ye(e=>{switch($r(e)){case`synchronizing`:return de;case`disconnected`:return me;case`ready`:return fe}}),O);let Ee=er(u,{onNone:()=>Pe,onSome:e=>e.changes.pipe(Br(oa))}),De=yield*Bi(g.status===`live`),Oe=M(function*(){(yield*q(De))||(yield*pe(_,e=>e.status===`deleted`?e:{...e,status:`synchronizing`,error:V()}))});return yield*Oe,yield*O(ya(Dn.subscribeThread,S(`EnvironmentThreadState.makeSubscribeInput`)(function*(t){let r=yield*b(_);if(r.status===`deleted`)return yield*ae;let a=yield*t.initialConfig.pipe(A(e=>e.threadResumeCompletionMarker===!0),Me(()=>!1));if(yield*W(oe,a),yield*Oe,yield*W(De,!1),R(r.data)){let t=yield*b(n.prepared).pipe(D(er({onSome:$n,onNone:()=>_e(n.prepared).pipe(Br(P),re(e=>e.value),Qe,A(vr))}))),a=yield*i.load(t,e);switch(a._tag){case`present`:ee&&a.history!==void 0&&(yield*W(te,!0)),yield*se.withPermits(1)(M(function*(){yield*yt(ie,a.snapshot.snapshotSequence);let e=a.history===void 0?sd:{historyCursor:a.history.historyCursor,hasMoreHistory:a.history.hasMoreHistory,loading:!1,error:null,expanded:!1,latestLocalTurnOrdinal:a.history.latestLocalTurnOrdinal??null};yield*ve(a.snapshot.projection,{history:e}),yield*ce})),r=yield*b(_);break;case`missing`:return yield*xe(),yield*ae}}let o=yield*b(ie),s=P(r.data),c=yield*q(te);return!a&&s&&(yield*pe(_,e=>({...e,status:e.status===`deleted`?e.status:`live`,error:V()}))),{threadId:e,...s?{afterSequence:o}:{},...a?{requestCompletionMarker:!0}:{},...c?{acceptBoundedSnapshot:!0,acceptCompactTurnItems:!0}:{}}}),{onDefect:()=>ge(`Could not synchronize the thread.`),onExpectedFailure:e=>ge(_f(e)),retryExpectedFailureAfter:`250 millis`,resubscribe:Ee}).pipe(je(we))),_});function Tf(e,t,n){return ba(e,Se(wf(t,n).pipe(A(_e))))}function Ef(e){let t=B(e=>k(()=>({snapshot:void 0,owner:void 0})).pipe(I(nd),L(`environment-thread-resume:${e}`))),n=B(n=>{let{environmentId:r,threadId:i}=Cc(n),a=t(n);return e.atom(e=>{e.mount(a);let t=e.once(a),n=Tf(r,i,t);return t.snapshot===void 0?n:gn(xt(Cf(t.snapshot.state)),n)},{initialValue:vd}).pipe(I(0),L(`environment-thread-state:${n}`))});return{stateAtom:(e,t)=>n(Z({environmentId:e,threadId:t}))}}var Df=class extends g(`@p4code/client-runtime/EnvironmentQueryStore`,{defaultValue:()=>null}){};function Of(e){let t=Mr(ke(e));return{load:(e,n)=>M(function*(){let r=yield*Df;if(r===null)return V();let i=yield*r.load(e,n);return R(i)?V():yield*Wr(t)(i.value).pipe(A(j),x(()=>hr))}),save:(e,n,r)=>M(function*(){let i=yield*Df;if(i===null)return;let a=yield*et(t)(r);yield*i.save(e,n,a)}).pipe(x(()=>H(`Offline query cache save failed`)))}}var kf=Mr(tn([z,Un])),Af=e=>JSON.stringify([`pull-request-stat`,e.projectId,e.host??``,e.repository,e.number]);function jf(){let e=Of(n);return{load:(t,n)=>M(function*(){let[,r]=yield*qn(kf)(n),i=(yield*cn(r.refs,n=>e.load(t,Af(n)))).flatMap(e=>P(e)?[e.value]:[]);return i.length?j({stats:i}):V()}).pipe(Me(()=>V())),save:(t,n,r)=>M(function*(){let[,i]=yield*qn(kf)(n);yield*cn(r.stats,n=>{let r=i.refs.find(e=>e.projectId===n.projectId&&e.repository===n.repository&&e.number===n.number);return r?e.save(t,Af(r),n):C})}).pipe(Hn)}}var Mf=new Set([T.pullRequestsSummary,T.pullRequestsStack,T.pullRequestsDetail,T.pullRequestsPreview,T.pullRequestsChecks,T.pullRequestsActivity,T.pullRequestsThreadComments,T.pullRequestsDiffFileContents,T.pullRequestsFilesViewed,T.pullRequestsChangeBreakdown,T.pullRequestsReviewerCandidates,T.pullRequestsLabelCandidates]),Nf=new Set([T.pullRequestsSetFilesViewed,T.pullRequestsRunAction,T.pullRequestsUpdate,T.pullRequestsComment,T.pullRequestsUpdateComment,T.pullRequestsSubmitReview,T.pullRequestsReplyToThread,T.pullRequestsSetReaction,T.pullRequestsSetThreadResolution,T.pullRequestsRequestReviewers,T.pullRequestsSetLabels]),Pf=lt(hn),Ff=lt(Ut({state:rr,isDraft:Ne(me)})),If=lt(br),Lf=e=>Cn({duration:`30 seconds`,orElse:()=>E(new wa({environmentId:e,message:`The environment did not respond to the PR request.`}))}),Rf=new WeakMap,zf=lt(Na),Bf=_(Mr(St(i(z)))),Vf=new WeakMap,Hf=new WeakMap;function Uf(e,t,n){return Ur(r=>M(function*(){let i=yield*Ca,a=yield*b(i.session);if(R(a))return yield*r(n);let o=e.get(a.value)??new Map;e.set(a.value,o);let s=o.get(t);if(s!==void 0){let i=yield*r(Jn(s));return yield*r(se(i)?Uf(e,t,n):i)}let c=Vr();return o.set(t,c),yield*r(n).pipe(Ve(e=>F(()=>o.delete(t)).pipe(Hr(at(c,e)))))}))}function Wf(e){let t=e.target._tag===`PrimaryConnectionTarget`?e.target.httpBaseUrl:P(e.profile)&&e.profile.value._tag===`BearerConnectionProfile`?e.profile.value.httpBaseUrl:void 0;if(t===void 0)return!1;try{return[`localhost`,`127.0.0.1`,`[::1]`].includes(new URL(t).hostname)}catch{return!1}}function Gf(e){return typeof e==`object`&&!!e&&`_tag`in e&&(e._tag===`EnvironmentRpcUnavailableError`||e._tag===`EnvironmentNotRegisteredError`||e._tag===`PullRequestOperationError`&&`operation`in e&&e.operation===`routeIdentity`)}var Kf=S(`PullRequestRouting.allowed`)(function*(e,t,n,r){let i=yield*b(e.entries),a=i.get(t),o=i.get(n);if(!a?.enabled||!o?.enabled)return!1;let s=yield*ni,c=yield*s.get(a),l=yield*s.get(o);if(!(r?c===`read-write`&&l===`read-write`:c!==`off`&&l!==`off`))return!1;for(let e of[a,o]){if(e.target._tag!==`SshConnectionTarget`)continue;let t=yield*On(Ui);if(R(t))return!1;let n=yield*t.value.get(e.target.connectionId).pipe(Me(()=>V())),r=mi(e);if(r===null||r!==mi({...e,profile:n}))return!1}return!0});function qf(e,t){return e.projectId===t.projectId&&e.repository.toLowerCase()===t.repository.toLowerCase()&&e.number===t.number&&(t.host===void 0||e.host?.toLowerCase()===t.host.toLowerCase())}var Jf=S(`PullRequestRouting.invalidateTarget`)(function*(e,t,n,r){(n===t||(yield*Kf(e,t,n,!1)))&&(yield*cn(r,t=>e.run(n,Ei(T.pullRequestsInvalidate,t)).pipe(Kn(`1 second`),Me(()=>void 0)),{concurrency:3,discard:!0}))}),Yf=({allowStale:e,expectedAccountId:t,...n},r)=>Ei(T.pullRequestsReportState,{reference:n,state:r.state,...r.isDraft===void 0?{}:{isDraft:r.isDraft}}).pipe(Kn(`5 seconds`),Hn,fr,ce);function Xf(){let e=S(`PullRequestRouting.request`)(function*(e,t,n){let r=n??Ei(e,t);if(e===T.pullRequestsInvalidate&&If(t)){let n=yield*Ei(e,t),r=yield*Ca,i=yield*J,a=Rf.get(i),o=new Map;for(let e of a?.values()??[]){if(e.origin!==r.target.environmentId)continue;let n=t.reference;if(n===void 0||qf(e.reference,n)){for(let t of e.targets)o.set(t,e.reference);t.reference!==void 0&&o.set(r.target.environmentId,e.reference)}}return yield*cn(o,([e,n])=>Jf(i,r.target.environmentId,e,[{...t,...t.reference===void 0?{}:{reference:n}}]),{concurrency:4,discard:!0}),n}if(!Mf.has(e)&&!Nf.has(e)||!Pf(t))return yield*Ei(e,t);let i=t,a=yield*Ca,o=yield*J,s=yield*b(o.entries),c=s.get(a.target.environmentId),l=Rf.get(o)??new Map;Rf.set(o,l);let u=Bf([a.target.environmentId,i.projectId,i.host?.toLowerCase()??null,i.repository.toLowerCase(),String(i.number)]),d=t=>t.pipe(Cr(()=>{if(!Nf.has(e)||l.size===0)return C;let t=new Map([[a.target.environmentId,[i]]]);for(let e of l.values())if(e.origin===a.target.environmentId&&qf(e.reference,i))for(let n of[...e.targets,a.target.environmentId]){let r=t.get(n)??[];r.some(t=>t.host===e.reference.host)||r.push(e.reference),t.set(n,r)}return cn(t,([t,n])=>Jf(o,a.target.environmentId,t,[...n.map(t=>({reference:t,...e===T.pullRequestsSetFilesViewed?{filesViewedOnly:!0}:{}})),...e===T.pullRequestsSetFilesViewed?[]:[{}]]),{concurrency:4,discard:!0})})),f=[];for(let[t,n]of s){if(t===a.target.environmentId||!(yield*Kf(o,a.target.environmentId,t,Nf.has(e))))continue;let r=yield*o.run(t,Ca.pipe(D(e=>b(e.session)))).pipe(Me(()=>V()));R(r)||(e!==T.pullRequestsChecks||(yield*r.value.initialConfig.pipe(A(e=>e.environment.capabilities.pullRequestChecks===!0),nr(`2 seconds`),zn(e=>Xr(e)?an:$n(!1)))))&&f.push({id:t,local:Wf(n)})}if(f.length===0)return yield*d(r);let p=Ei(T.pullRequestsRouting,i).pipe(nr(`2 seconds`),zn(e=>Xr(e)?an:$n(null))),m=yield*Mf.has(e)?Uf(Vf,Bf([i.projectId,i.host?.toLowerCase()??null,i.repository.toLowerCase()]),p):p;if(m===null||m.provider!==`github`)return yield*d(r);let h={...t,host:m.host,expectedAccountId:m.accountId},g=n??(yield*ie(Ei(e,h))),_=f.filter(e=>e.local),ee=f.filter(e=>!e.local),v=c!==void 0&&Wf(c),te=[...v&&Nf.has(e)?[a.target.environmentId]:[],..._.map(e=>e.id),...!v&&Nf.has(e)?[a.target.environmentId]:[],...ee.map(e=>e.id),...Mf.has(e)?[a.target.environmentId]:[]],ne=t=>(t===a.target.environmentId?g:o.run(t,Ei(e,h))).pipe(Cr(e=>t!==a.target.environmentId&&Ff(e)?Yf(i,e):C),Cr(()=>F(()=>{let e=l.get(u)??{origin:a.target.environmentId,reference:{...i,host:m.host},targets:new Set};if(e.targets.add(t),l.size>=256&&!l.has(u)){let e=l.keys().next().value;e!==void 0&&l.delete(e)}l.set(u,e)})),w(e=>zf(e)?new wa({environmentId:t,message:`The environment was removed.`}):e)),re=t=>{let n=te[t];return n===void 0?g:M(function*(){if(n!==a.target.environmentId){if(!(yield*Kf(o,a.target.environmentId,n,Nf.has(e))))return yield*re(t+1);let r=Ei(T.pullRequestsRoutingIdentity,{host:m.host}).pipe(nr(`2 seconds`),zn(e=>Xr(e)?an:$n(null))),i=yield*o.run(n,Mf.has(e)?Uf(Hf,m.host.toLowerCase(),r):r).pipe(nr(`2 seconds`),zn(e=>Xr(e)?an:$n(null)));if(i===null||i.provider!==`github`||i.host.toLowerCase()!==m.host.toLowerCase()||i.accountId!==m.accountId||!(yield*Kf(o,a.target.environmentId,n,Nf.has(e))))return yield*re(t+1)}let r=ne(n);return yield*(Mf.has(e)?r.pipe(Lf(n)):r).pipe(Fe(n=>(Mf.has(e)||Gf(n))&&t+1<te.length,()=>re(t+1)),A(t=>typeof t==`object`&&t&&`projectId`in t?{...t,projectId:i.projectId,...e===T.pullRequestsDetail?{projectTitle:m.projectTitle,workspaceRoot:m.workspaceRoot}:{}}:t))})};return yield*d(re(0))});return S(`PullRequestRouting.readOrWrite`)(function*(t,n){if(!Mf.has(t)||!Pf(n))return yield*e(t,n);let r=yield*J,i=yield*b(r.entries);if(i.size<2)return yield*Ei(t,n);let a=yield*Ca,o=!1;for(let e of i.keys())if(e!==a.target.environmentId&&(yield*Kf(r,a.target.environmentId,e,!1))){o=!0;break}if(!o)return yield*Ei(t,n);let s={...n,allowStale:!1},c=yield*ie(Ei(t,s).pipe(Lf(a.target.environmentId))),l=i.get(a.target.environmentId),u=e(t,s,c);return yield*(l!==void 0&&Wf(l)?c.pipe(x(()=>u)):u).pipe(x(e=>n.allowStale!==!1&&(t===T.pullRequestsSummary||t===T.pullRequestsDetail)?Ei(t,n):E(e)))})}var Zf=6e4,Qf=class extends gr()(`PullRequestDiffCredentialRejectedError`,{repository:z,number:ln,traceId:z,cause:Ae}){get message(){return`This environment session is no longer valid (invalid_credential). Refresh the page or quit and reopen P4 Code.`}},$f=S(`clientRuntime.state.fetchEnvironmentPullRequestDiff`)(function*(e){return yield*ea({...e,group:`pullRequests`,method:`POST`,url:e=>e.diff(),timeoutMs:e.timeoutMs??Zf,request:({client:t,headers:n})=>t.diff({payload:e.diff,headers:n})}).pipe(w(t=>t._tag===`EnvironmentAuthInvalidError`&&t.reason===`invalid_credential`?new Qf({repository:e.diff.repository,number:e.diff.number,traceId:t.traceId,cause:t}):t))}),ep=class extends jr()(`@p4code/client-runtime/state/pullRequestDiffHttp/PullRequestDiffLoader`){},tp=be(ep,M(function*(){let e=yield*c,t=yield*On(sa),n=yield*On(ma);return ep.of({load:(r,i)=>$f({prepared:r,diff:i,signer:t,remoteAuthorization:n}).pipe(he(c,e))})})),np=class extends en(`EnvironmentHttpConnectionNotReadyError`){},rp=5e3;function ip(e){let t=B(e=>En(t=>{let n=t(e);if(n._tag===`Success`&&!n.waiting)return n;let r=t.self(),i=At(r,Ue);return R(i)?n:n._tag===`Failure`?Rr(n.cause,{previous:r,waiting:n.waiting}):ne(i.value,n)},(e,t)=>e.setSelf(t),t=>t(e)).pipe(I(3e5)));return({environmentId:n,input:{projectId:r,host:i,repository:a,number:o,allowStale:s}})=>t(e({environmentId:n,input:{projectId:r,...i===void 0?{}:{host:i},repository:a,number:o,...s===void 0?{}:{allowStale:s}}}))}function ap(e,t,n,r=!1){(r||e.get(t).waiting)&&e.refresh(t),e.update(t,oe(n))}function op(e){return Ci(e,{label:`environment-data:pull-requests:turn-refreshes`,tag:T.pullRequestsSubscribeRefreshes})}function sp(e,t=op(e)){let n=Xf();return K(e,{label:`environment-data:pull-requests:linked-summary`,tag:T.pullRequestsSummary,execute:e=>n(T.pullRequestsSummary,e),staleTimeMs:6e4,refreshIntervalMs:6e4,idleTtlMs:rp,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}}),isFinal:e=>e.state===`merged`})}function cp(e,t=op(e)){let n=Xf();return K(e,{label:`environment-data:pull-requests:stack`,tag:T.pullRequestsStack,execute:e=>n(T.pullRequestsStack,e),staleTimeMs:6e4,idleTtlMs:rp,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})}function lp(e){return{number:e.number,title:e.title,url:e.url,baseRef:e.baseBranch,headRef:e.headBranch,state:e.state,...e.isDraft===!0?{isDraft:!0}:{},updatedAt:e.updatedAt}}function up(e){let t=op(e),n=da(),r=Xf(),a={mode:`serial`,key:({environmentId:e})=>e},o=ip(K(e,{label:`environment-data:pull-requests:activity`,persistence:Of(xe),tag:T.pullRequestsActivity,execute:e=>r(T.pullRequestsActivity,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),s=ip(K(e,{label:`environment-data:pull-requests:detail`,persistence:Of(Pt),tag:T.pullRequestsDetail,execute:e=>r(T.pullRequestsDetail,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),c=ip(K(e,{label:`environment-data:pull-requests:preview`,persistence:Of(sn),tag:T.pullRequestsPreview,execute:e=>r(T.pullRequestsPreview,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),l=ip(K(e,{label:`environment-data:pull-requests:label-candidates`,tag:T.pullRequestsLabelCandidates,execute:e=>r(T.pullRequestsLabelCandidates,e),staleTimeMs:6e4})),u=ip(K(e,{label:`environment-data:pull-requests:review-guide`,persistence:Of(Tn),tag:T.pullRequestsReviewGuide,execute:e=>r(T.pullRequestsReviewGuide,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),d=ip(K(e,{label:`environment-data:pull-requests:reviewer-candidates`,tag:T.pullRequestsReviewerCandidates,execute:e=>r(T.pullRequestsReviewerCandidates,e),staleTimeMs:6e4}));return{refreshes:t,linkedThreads:K(e,{label:`environment-data:pull-requests:linked-threads`,persistence:Of(pr),tag:T.pullRequestsLinkedThreads,staleTimeMs:0,refreshIntervalMs:1e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})}),list:K(e,{label:`environment-data:pull-requests:list`,persistence:Of(_r),tag:T.pullRequestsList,staleTimeMs:3e4,refreshTrigger:({environmentId:e,input:n})=>n.cursors===void 0?t({environmentId:e,input:{}}):void 0}),listStats:K(e,{label:`environment-data:pull-requests:list-stats`,persistence:jf(),tag:T.pullRequestsListStats,staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})}),detail:s,preview:c,checks:K(e,{label:`environment-data:pull-requests:checks`,persistence:Of(i(Ot)),tag:T.pullRequestsChecks,execute:e=>r(T.pullRequestsChecks,e),staleTimeMs:45e3,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})}),activity:o,threadComments:G(e,{label:`environment-data:pull-requests:thread-comments`,tag:T.pullRequestsThreadComments,execute:e=>r(T.pullRequestsThreadComments,e),scheduler:n,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId,t.cursor])}}),diff:ua(e,{label:`environment-data:pull-requests:diff`,persistence:Of(Xe),staleTimeMs:6e4,execute:e=>M(function*(){let t=yield*Ca,n=yield*ep,r=yield*b(t.prepared);return R(r)?yield*new np({message:`The environment HTTP connection is not ready.`}):yield*n.load(r.value,e)})}),diffFileContents:G(e,{label:`environment-data:pull-requests:diff-file-contents`,tag:T.pullRequestsDiffFileContents,execute:e=>r(T.pullRequestsDiffFileContents,e),scheduler:n,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.projectId,t.host?.toLowerCase()??null,t.repository,t.number,t.commit??null,t.changeType,t.oldPath,t.newPath])}}),filesViewed:K(e,{label:`environment-data:pull-requests:files-viewed`,persistence:Of(un),tag:T.pullRequestsFilesViewed,execute:e=>r(T.pullRequestsFilesViewed,e),staleTimeMs:15e3}),changeBreakdown:K(e,{label:`environment-data:pull-requests:change-breakdown`,persistence:Of(jt),tag:T.pullRequestsChangeBreakdown,execute:e=>r(T.pullRequestsChangeBreakdown,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})}),setFilesViewed:G(e,{label:`environment-data:pull-requests:set-files-viewed`,tag:T.pullRequestsSetFilesViewed,execute:e=>r(T.pullRequestsSetFilesViewed,e),scheduler:n,concurrency:{mode:`serial`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.projectId,t.repository,t.number])}}),runAction:G(e,{tag:T.pullRequestsRunAction,label:`environment-data:pull-requests:run-action`,execute:e=>M(function*(){let{resolveMergeMethod:t,...n}=e,i=n;if(n.action===`merge`&&t!==void 0){let{projectId:e,host:a,repository:o,number:s}=n,c={projectId:e,host:a,repository:o,number:s,allowStale:!1},l=yield*r(T.pullRequestsDetail,c);if(l.state!==`open`||l.isDraft||!l.capabilities.actions.includes(`merge`)||!l.viewerPermissions.actions.includes(`merge`))return yield*new Er({operation:`runAction`,detail:`This pull request cannot be merged.`});if(l.capabilities.stackActions&&(yield*r(T.pullRequestsStack,c))!==null)return yield*new Er({operation:`runAction`,detail:`Open this pull request to merge its stack.`});let u=yield*Rt({try:()=>t(l),catch:e=>new Er({operation:`runAction`,detail:e instanceof Error?e.message:`Could not choose a merge method.`})});i={...n,mergeMethod:u}}return yield*r(T.pullRequestsRunAction,i)}),onSuccess:({environmentId:e,input:t},n)=>F(()=>n.refresh(c({environmentId:e,input:t}))),scheduler:n,concurrency:a}),update:G(e,{label:`environment-data:pull-requests:update`,tag:T.pullRequestsUpdate,execute:e=>r(T.pullRequestsUpdate,e),onSuccess:(e,t)=>F(()=>t.refresh(c(e))),scheduler:n,concurrency:a}),comment:G(e,{label:`environment-data:pull-requests:comment`,tag:T.pullRequestsComment,execute:e=>r(T.pullRequestsComment,e),scheduler:n,concurrency:a}),updateComment:G(e,{label:`environment-data:pull-requests:update-comment`,tag:T.pullRequestsUpdateComment,execute:e=>r(T.pullRequestsUpdateComment,e),scheduler:n,concurrency:a,onSuccess:({environmentId:e,input:{projectId:t,host:n,repository:r,number:i}},a)=>F(()=>a.refresh(o({environmentId:e,input:{projectId:t,...n===void 0?{}:{host:n},repository:r,number:i}})))}),submitReview:G(e,{label:`environment-data:pull-requests:submit-review`,tag:T.pullRequestsSubmitReview,execute:e=>r(T.pullRequestsSubmitReview,e),scheduler:n,concurrency:a}),replyToThread:G(e,{label:`environment-data:pull-requests:reply-to-thread`,tag:T.pullRequestsReplyToThread,execute:e=>r(T.pullRequestsReplyToThread,e),scheduler:n,concurrency:a}),reviewerCandidates:d,requestReviewers:G(e,{label:`environment-data:pull-requests:request-reviewers`,tag:T.pullRequestsRequestReviewers,execute:e=>r(T.pullRequestsRequestReviewers,e),scheduler:n,concurrency:a,onSuccess:(e,t)=>F(()=>{let{reviewers:n,requested:r}=e.input,i=d(e),a=N(Ue(t.get(i)))?.candidates.filter(e=>n.some(t=>t.id===e.id&&t.kind===e.kind))??[],c=a.length<n.length;ap(t,i,e=>({...e,candidates:e.candidates.map(e=>a.includes(e)?{...e,isRequested:r}:e)}));let l=new Set(a.map(e=>e.login.toLowerCase())),u=(e,t=e=>!1)=>r?[...e,...a.filter(t=>!e.some(e=>e.login.toLowerCase()===t.login.toLowerCase())).map(({login:e,name:t,avatarUrl:n})=>({login:e,name:t,avatarUrl:n}))]:e.filter(e=>!l.has(e.login.toLowerCase())||t(e));ap(t,s(e),e=>({...e,reviewers:u(e.reviewers)}),c),ap(t,o(e),e=>({...e,reviewers:e.reviewers===void 0?void 0:u(e.reviewers,t=>e.comments.some(e=>(e.kind===`review`||e.kind===`review-comment`)&&e.author?.login.toLowerCase()===t.login.toLowerCase()))}),c)})}),reviewGuide:u,generateReviewGuide:G(e,{label:`environment-data:pull-requests:generate-review-guide`,tag:T.pullRequestsGenerateReviewGuide,execute:e=>r(T.pullRequestsGenerateReviewGuide,e),onSuccess:(e,t,n)=>F(()=>{ap(t,u(e),()=>n,!0)})}),labelCandidates:l,setLabels:G(e,{label:`environment-data:pull-requests:set-labels`,tag:T.pullRequestsSetLabels,execute:e=>r(T.pullRequestsSetLabels,e),scheduler:n,concurrency:a,onSuccess:(e,t)=>F(()=>{let{labels:n,applied:r}=e.input,i=l(e),a=N(Ue(t.get(i))),o=new Set(n);ap(t,i,e=>({...e,candidates:e.candidates.map(e=>o.has(e.name)?{...e,isApplied:r}:e)})),ap(t,s(e),e=>({...e,labels:r?[...e.labels,...n.filter(t=>!e.labels.some(e=>e.name===t)).map(e=>({name:e,color:a?.candidates.find(t=>t.name===e)?.color??null}))]:e.labels.filter(e=>!o.has(e.name))}))})}),setThreadResolution:G(e,{label:`environment-data:pull-requests:set-thread-resolution`,tag:T.pullRequestsSetThreadResolution,execute:e=>r(T.pullRequestsSetThreadResolution,e),scheduler:n,concurrency:a}),setReaction:G(e,{label:`environment-data:pull-requests:set-reaction`,tag:T.pullRequestsSetReaction,execute:e=>r(T.pullRequestsSetReaction,e),scheduler:n,concurrency:a}),invalidate:G(e,{label:`environment-data:pull-requests:invalidate`,tag:T.pullRequestsInvalidate,execute:e=>r(T.pullRequestsInvalidate,e),onSuccess:({environmentId:e,input:t},n)=>F(()=>{t.reference!==void 0&&n.refresh(c({environmentId:e,input:t.reference}))}),scheduler:n,concurrency:a})}}var dp=`p4.backgroundActivity.clientId`,fp=25e3,pp=45e3,mp=pp,hp=[{type:`provider-status`}],gp=new Map,_p=new Set;function vp(){for(let e of _p)try{e()}catch{}}function yp(e,t){switch(t.type){case`server-config`:case`diagnostics`:return JSON.stringify([e,t.type]);case`provider-status`:return JSON.stringify([e,t.type,t.instanceId??null]);case`vcs-status`:case`git-refs`:return JSON.stringify([e,t.type,t.cwd]);case`thread`:return JSON.stringify([e,t.type,t.threadId])}}function bp(){try{let e=window.localStorage.getItem(dp);if(e)return e;let t=Vn();return window.localStorage.setItem(dp,t),t}catch{return`ephemeral-browser-client`}}function xp(){return window.desktopBridge?`desktop-renderer`:`web`}function Sp(e,t){return e<=t&&t-e<=mp}function Cp(e,t,n){let r=[...hp];for(let t of gp.values())t.environmentId===e&&r.push(t.scope);return{environmentId:e,clientId:bp(),clientKind:xp(),visible:document.visibilityState===`visible`,focused:document.hasFocus(),recentlyInteracted:Sp(t,n),appState:document.visibilityState===`visible`?`active`:`background`,scopes:r,ttlMs:pp,observedAt:ar(n)}}function wp(e){if(e.method===T.subscribeResourceTelemetry)return{type:`diagnostics`};if(e.method!==T.subscribeVcsStatus)return null;let t=e.input;return t.includeRemote===!1?null:typeof t.cwd==`string`?{type:`vcs-status`,cwd:t.cwd}:null}function Tp(e,t){let n=yp(e,t),r=gp.get(n);return r?r.refCount+=1:(gp.set(n,{environmentId:e,scope:t,refCount:1}),vp()),()=>{let e=gp.get(n);e&&(--e.refCount,e.refCount<=0&&(gp.delete(n),vp()))}}function Ep(e){let t=wp(e);return t===null?$n(C):F(()=>{let n=Tp(e.environmentId,t);return F(n)})}var Dp=Qn(vi,vi.of({observe:Ep})),Op=Et(M(function*(){if(typeof window>`u`||typeof document>`u`)return;let e=yield*J,t=yield*dt,n=yield*Gn(1),r=()=>Gt(n,void 0),i=t.currentTimeMillisUnsafe(),a=()=>{let e=t.currentTimeMillisUnsafe(),n=Sp(i,e);i=e,n||r()},o={passive:!0},s=M(function*(){let t=yield*Ct,n=yield*b(e.entries);yield*cn(n.keys(),n=>e.run(n,Ki(T.serverReportClientActivity,Cp(n,i,t))).pipe(Hn),{concurrency:`unbounded`,discard:!0})}).pipe(y(`web.backgroundActivity.report`));yield*Bt(F(()=>{_p.add(r),document.addEventListener(`visibilitychange`,r),window.addEventListener(`focus`,r),window.addEventListener(`blur`,r),window.addEventListener(`online`,r),window.addEventListener(`pointermove`,a),window.addEventListener(`keydown`,a),window.addEventListener(`wheel`,a,o),window.addEventListener(`touchstart`,a,o)}),()=>F(()=>{_p.delete(r),document.removeEventListener(`visibilitychange`,r),window.removeEventListener(`focus`,r),window.removeEventListener(`blur`,r),window.removeEventListener(`online`,r),window.removeEventListener(`pointermove`,a),window.removeEventListener(`keydown`,a),window.removeEventListener(`wheel`,a),window.removeEventListener(`touchstart`,a)})),yield*_e(e.entries).pipe(ye(()=>F(r)),O),yield*ut(n).pipe(ir(`250 millis`),ye(()=>s),O),yield*F(r).pipe(qr(ht(`${fp} millis`)),O)})),kp=Ut({schemaVersion:Te(3),environmentId:Pn,snapshot:Gr}),Ap=Ut({schemaVersion:Te(4),environmentId:Pn,threadId:$e,snapshot:Yt.mapFields(e=>({...e,projection:zr}))});function jp(e,t){return e.pipe(x(()=>t.pipe(Ir(V()))))}var Mp=Ut({connectionId:z,credential:Ea}),Np=Ut({schemaVersion:Te(1),targets:St(li),profiles:St(la),credentials:St(Mp),remoteDpopTokens:St(ta),githubRoutingPermissions:Le(St(Ri)),disabledEnvironmentIds:St(Pn).pipe(vt($n([])))}),Pp=Object.freeze({schemaVersion:1,targets:[],profiles:[],credentials:[],remoteDpopTokens:[],disabledEnvironmentIds:[]});function Fp(e,t,n){let r=t(n);return[...e.filter(e=>t(e)!==r),n]}function Ip(e,t,n){return e.filter(e=>t(e)!==n)}function Lp(e){switch(e._tag){case`PrimaryConnectionTarget`:case`RelayConnectionTarget`:return null;case`BearerConnectionTarget`:case`SshConnectionTarget`:return e.connectionId}}function Rp(e){return Lp(e)??e._tag}function zp(e,t){let n=new Set(t.flatMap(e=>Lp(e)??[])),r=t.some(e=>e._tag===`RelayConnectionTarget`),i=new Set(t.map(e=>e.environmentId));return{...e,profiles:e.profiles.filter(e=>!n.has(e.connectionId)),credentials:e.credentials.filter(e=>!n.has(e.connectionId)),remoteDpopTokens:r?e.remoteDpopTokens.filter(e=>!i.has(e.environmentId)):e.remoteDpopTokens}}function Bp(e,t){return e.targets.filter(e=>e.environmentId===t)}function Vp(e,t,n){let r=new Set(n.map(Rp)),i=Bp(e,t).filter(e=>!r.has(Rp(e))),a=e.targets.findIndex(e=>e.environmentId===t),o=e.targets.filter(e=>e.environmentId!==t),s=a===-1?o.length:e.targets.slice(0,a).filter(e=>e.environmentId!==t).length;return{...zp(e,i),targets:[...o.slice(0,s),...n,...o.slice(s)]}}function Hp(e,t,n=[t.target]){let r=Vp(e,t.target.environmentId,n);switch(t._tag){case`RelayConnectionRegistration`:return r;case`BearerConnectionRegistration`:return{...r,profiles:Fp(r.profiles,e=>e.connectionId,t.profile),credentials:Fp(r.credentials,e=>e.connectionId,{connectionId:t.target.connectionId,credential:t.credential})};case`SshConnectionRegistration`:return{...r,profiles:Fp(r.profiles,e=>e.connectionId,t.profile)}}}function Up(e,t){let n=Vp(e,t,[]);return{...n,remoteDpopTokens:Ip(n.remoteDpopTokens,e=>e.environmentId,t),disabledEnvironmentIds:Ip(n.disabledEnvironmentIds,e=>e,t),...n.githubRoutingPermissions===void 0?{}:{githubRoutingPermissions:n.githubRoutingPermissions.filter(e=>e.environmentId!==t)}}}function Wp(e,t,n){let r=e.targets.some(e=>e.environmentId===t),i=Ip(e.disabledEnvironmentIds,e=>e,t);return{...e,disabledEnvironmentIds:r&&!n?[...i,t]:i}}function Gp(e,t){return e.targets.some(e=>e._tag===`RelayConnectionTarget`&&e.environmentId===t.environmentId)?{...e,remoteDpopTokens:Fp(e.remoteDpopTokens,e=>e.environmentId,t)}:e}var Kp=/^[^-+]+-(?:nightly|preview)\.\d{8}\.\d+$/;function qp(e){return e.stageLabel.trim().toLowerCase()===`latest`?e.baseName:`${e.baseName} (${e.stageLabel})`}function Jp(e){return e.primaryServerVersion&&Kp.test(e.primaryServerVersion)?`Nightly`:e.fallbackStageLabel}function Yp(e){let t=Jp({primaryServerVersion:e.primaryServerVersion,fallbackStageLabel:e.fallbackStageLabel});return t===e.fallbackStageLabel?e.fallbackDisplayName:qp({baseName:e.baseName,stageLabel:t})}function Xp(){return typeof window>`u`?null:window.desktopBridge?.getAppBranding?.()??null}var Zp=Xp(),Qp=``,$p=Qp===`latest`||Qp===`nightly`?Qp:null,em=$p===`nightly`?`Nightly`:$p===`latest`?`Latest`:null,tm=Zp?.baseName??`P4 Code`,nm=Zp?.stageLabel??em??`Latest`,rm=Zp?.displayName??qp({baseName:tm,stageLabel:nm}),im=`0.8.33`,am=`state`,om=`challenge`,sm=`port`,cm=`/callback`,lm=`https://app.p4.codes`,um=[`openid`,`profile`,`email`,`offline_access`];function dm(e){let t=Vc(e),n=t.get(am)?.trim()??``,r=t.get(om)?.trim()??``,i=fm(t.get(sm)?.trim()??``);return!n||!r||i===null?null:{state:n,challenge:r,loopbackPort:i}}function fm(e){if(!/^\d{1,5}$/.test(e))return null;let t=Number(e);return t>=1&&t<=65535?t:null}function pm(e){return`http://127.0.0.1:${e}${cm}`}function mm(e){let t=new URL(e.authorizationEndpoint);return t.searchParams.set(`client_id`,e.clientId),t.searchParams.set(`redirect_uri`,e.redirectUri),t.searchParams.set(`response_type`,`code`),t.searchParams.set(`scope`,e.scopes.join(` `)),t.searchParams.set(`state`,e.state),t.searchParams.set(`code_challenge`,e.challenge),t.searchParams.set(`code_challenge_method`,`S256`),t.toString()}function hm(){return lm}function gm(){return``}function _m(){return null}function vm(e){try{return new URL(e).origin}catch{return null}}function ym(e){if(gm())return!1;if(_m())return!0;if(e===void 0&&(typeof window>`u`||window.location===void 0))return!1;let t=vm(hm());return t!==null&&(e??new URL(window.location.href)).origin===t}function bm(e=new URL(window.location.href)){let t=e.searchParams.get(`host`)?.trim()??``,n=Zc(e)?.trim()??``,r=e.searchParams.get(`label`)?.trim()??``;return!t||!n?null:{host:t,token:n,label:r}}function xm(e=new URL(window.location.href)){return bm(e)!==null}function Sm(e){let t=new URL(`/pair`,hm());t.searchParams.set(`host`,e.host);let n=e.label?.trim();return n&&t.searchParams.set(`label`,n),$c(t,e.token).toString()}function Cm(e){let t=new URL(`/__p4code/channel`,hm());return t.searchParams.set(`channel`,e.channel),t.toString()}var wm=15e3,Tm=12e4,Em=wm,Dm=new Map,Om=new Set([T.serverGetUsageSummary,T.mcpRegistryProviderSignInWait]),km=new Set([T.serverUpdateProvider,T.serverRefreshProviders,T.serverUpdateServer,T.vcsRefreshStatus]),Am=k([]).pipe(An,L(`slow-rpc-ack-requests`));function jm(e){Ft.set(Am,[...e])}function Mm(){return Ft.get(Am)}function Nm(e){return!e.includes(`subscribe`)&&!e.startsWith(`pullRequests.`)&&!Om.has(e)}function Pm(e){return km.has(e)?Math.max(Em,Tm):Em}function Fm(e,t,n=t){if(!Nm(t))return;Lm(e),zm();let r=Date.now(),i=Pm(t),a={requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:n,thresholdMs:i},o=setTimeout(()=>{Dm.delete(e),Rm(a)},i);Dm.set(e,{request:a,timeoutId:o})}function Im(e){Lm(e);let t=Mm();t.some(t=>t.requestId===e)&&jm(t.filter(t=>t.requestId!==e))}function Lm(e){let t=Dm.get(e);t&&(clearTimeout(t.timeoutId),Dm.delete(e))}function Rm(e){let t=[...Mm(),e];if(t.length<=256){jm(t);return}jm(t.slice(-256))}function zm(){for(;Dm.size>=256;){let e=Dm.keys().next().value;if(e===void 0)return;Lm(e)}}function Bm(){return xr(Am)}var Vm=`local:`;function Hm(e){return`${Vm}${e}`}function Um(e){return e._tag===`BearerConnectionTarget`&&e.connectionId.startsWith(Vm)}function Wm(e){return Um(e)?e.connectionId.slice(6):null}function Gm(e){return Wm(e)?.startsWith(`wsl:`)===!0}function Km(e){let t=[],n=()=>{let n=e();if(n===void 0)return t.length>0&&(t=[]),{_tag:`Success`,bootstraps:t};try{let e=n.getLocalEnvironmentBootstraps().filter(e=>e.id!==le);return(e.length!==t.length||e.some((e,n)=>{let r=t[n];return r===void 0||e.id!==r.id||e.label!==r.label||e.runningDistro!==r.runningDistro||e.httpBaseUrl!==r.httpBaseUrl||e.wsBaseUrl!==r.wsBaseUrl||e.bootstrapToken!==r.bootstrapToken}))&&(t=e),{_tag:`Success`,bootstraps:t}}catch(e){return{_tag:`Failure`,cause:e}}};return{readResult:n,readSnapshot:()=>{let e=n();return e._tag===`Success`?e.bootstraps:t}}}var qm=Km(()=>window.desktopBridge);function Jm(){return qm.readResult()}function Ym(){return qm.readSnapshot()}var Xm={"image/png":`png`,"image/jpeg":`jpg`,"image/gif":`gif`,"image/webp":`webp`,"application/pdf":`pdf`,"application/zip":`zip`,"application/vnd.sqlite3":`sqlite`,"text/x-python":`py`,"text/javascript":`js`,"text/x-ruby":`rb`,"text/x-shellscript":`sh`};function Zm(e,t){let n=Xm[t??``];return n?`file.${n}`:e}function Qm(e){let t=e.mimeType?.split(`;`,1)[0]?.trim().toLowerCase()??``,n=e.name.toLowerCase(),r=n.slice(n.lastIndexOf(`.`)),i=!t||t===`application/octet-stream`||t===`text/plain`;if(t===`application/pdf`)return`pdf`;if(t===`text/html`)return`html`;if(t===`text/markdown`||t===`text/x-markdown`)return`markdown`;if(t.startsWith(`image/`))return`image`;if(t.startsWith(`video/`))return`video`;if(t.startsWith(`audio/`))return`audio`;if(i){if(r===`.pdf`)return`pdf`;if(/^\.html?$/.test(r))return`html`;if(/^\.(md|markdown|mdown|mkd|mdx)$/.test(r))return`markdown`;let e=ah(r);if(e?.startsWith(`image/`))return`image`;if(e?.startsWith(`video/`))return`video`;if(ih(r)!==null)return`audio`;if(/^\.(txt|log|json|jsonc|jsonl|ndjson|yaml|yml|toml|ini|conf|config|env|csv|tsv|xml|css|scss|sass|less|js|jsx|mjs|cjs|ts|tsx|mts|cts|py|pyi|rb|go|rs|swift|kt|kts|java|c|h|cc|cpp|hpp|cs|php|sh|bash|zsh|fish|sql|graphql|gql|vue|svelte|r|lua|ex|exs|erl|hs|clj|dart|diff|patch|lock|properties|gradle)$/.test(r)||/^(dockerfile|makefile|gemfile|rakefile|license|readme|\.gitignore|\.gitattributes|\.editorconfig|\.env)(\.|$)/i.test(n.split(/[\\/]/).at(-1)??``))return`text`}return t.startsWith(`text/`)||/^(application\/(json|.*\+json|xml|.*\+xml|javascript|x-javascript|yaml|x-yaml|toml|sql))$/.test(t)?`text`:`unsupported`}var $m=1048576;function eh(e,t=!1){let n=e.subarray(0,$m);if(n.some(e=>e===0))throw Error(`This file contains binary data and cannot be shown as text.`);let r=new TextDecoder(`utf-8`,{fatal:!0});try{return{text:r.decode(n,{stream:t||e.length>n.length}),truncated:t||e.length>n.length}}catch{throw Error(`This file is not UTF-8 text. Open it in another app to view its contents.`)}}var th=[`.avif`,`.gif`,`.ico`,`.jpeg`,`.jpg`,`.png`,`.svg`,`.webp`],nh=new Map([[`.avif`,`image/avif`],[`.gif`,`image/gif`],[`.ico`,`image/x-icon`],[`.jpeg`,`image/jpeg`],[`.jpg`,`image/jpeg`],[`.png`,`image/png`],[`.svg`,`image/svg+xml`],[`.webp`,`image/webp`]]),rh=new Map([[`.mp3`,`audio/mpeg`],[`.wav`,`audio/wav`],[`.ogg`,`audio/ogg`],[`.oga`,`audio/ogg`],[`.flac`,`audio/flac`],[`.aac`,`audio/aac`],[`.m4a`,`audio/mp4`],[`.opus`,`audio/ogg`],[`.aiff`,`audio/aiff`]]);function ih(e){return/^\.[a-z0-9]+$/i.test(e)?rh.get(e.toLowerCase())??null:null}function ah(e){return/^\.[a-z0-9]+$/i.test(e)?nh.get(e.toLowerCase())??Mn({name:`media${e}`,mimeType:``}):null}function oh(e){let t=e.trim(),n=t.startsWith(`<`)&&t.endsWith(`>`)?t.slice(1,-1):t,r=/^data:((?:image|video)\/[\w.+-]+)[;,]/i.exec(n)?.[1];if(r)return r.toLowerCase();let i=n.split(/[?#]/,1)[0]??``;if(/^(?:https?:|file:|\/\/)/i.test(n))try{i=new URL(n,`https://media.invalid`).pathname}catch{return null}try{i=decodeURIComponent(i)}catch{}let a=i.split(/[\\/]/).at(-1)??``,o=a.lastIndexOf(`.`);return o<0?null:ah(a.slice(o))}function sh(e){let t=oh(e);return t===null?null:t.startsWith(`video/`)?`video`:`image`}function ch(e,t){let n=e.toLowerCase();return t.some(e=>n.endsWith(e))}function lh(e){return ch(e,th)}function uh(e){return Mn({name:e,mimeType:``})!==null}function dh(e){let t=e.lastIndexOf(`.`);return t>=0&&ih(e.slice(t))!==null}var fh=`project-favicon-missing`;[...th];function ph(e,t,n){return JSON.stringify([e,t,n||null])}function mh(e,t,n){let r=n;try{let e=new URL(n,`https://p4.invalid`).pathname;r=e.slice(e.lastIndexOf(`/`)+1)}catch{}return JSON.stringify([e,t,r])}function hh(e){if(!e)return!1;try{let t=new URL(e,`https://p4.invalid`).pathname;return t.slice(t.lastIndexOf(`/`)+1)===fh}catch{return!1}}var gh=32768,_h=4194304,vh=z.check(He(gh),s(/^data:image\/(?:png|jpeg|gif|webp|avif|svg\+xml|x-icon|vnd\.microsoft\.icon);base64,[A-Za-z0-9+/]+={0,2}$/)),yh=Ut({environmentId:Pn,cwd:z,faviconPath:i(z),revision:z,dataUrl:vh}),bh=qt(yh),xh=lt(vh);function Sh(e){return ph(e.environmentId,e.cwd,e.faviconPath)}async function Ch(e,t){if(Number(e.headers.get(`content-length`))>t)throw Error(`Project icon is too large to decode.`);if(!e.body){let n=new Uint8Array(await e.arrayBuffer());if(n.byteLength>t)throw Error(`Project icon is too large to decode.`);return n}let n=e.body.getReader(),r=[],i=0;try{for(;;){let{done:e,value:a}=await n.read();if(e)break;if(i+=a.byteLength,i>t)throw Error(`Project icon is too large to decode.`);r.push(a)}}finally{n.cancel().catch(()=>{})}let a=new Uint8Array(new ArrayBuffer(i)),o=0;for(let e of r)a.set(e,o),o+=e.byteLength;return a}function wh(e){let t=e.fetch??globalThis.fetch;return async(n,r)=>{let i=await t(n,{signal:r});if(!i.ok)throw Error(`Project icon request failed with ${i.status}.`);let a=i.headers.get(`content-type`)?.split(`;`,1)[0]?.trim().toLowerCase(),o=a?.startsWith(`image/`)?a:oh(n);if(!o)throw Error(`Project icon has no image type.`);let s=await Ch(i,_h);r.throwIfAborted();let c=`data:${o};base64,${Wn(s)}`;if(xh(c))return c;if(o===`image/svg+xml`)throw Error(`Project icon exceeds the cache limit.`);return e.downscale({url:n,mimeType:o,bytes:s},r)}}function Th(e){let t=new Map,n=new Map,r=0,i,a,o=new Set,s=e=>{let t=e().catch(()=>{}).finally(()=>o.delete(t));o.add(t)},c=n=>{let r=t.get(n);r&&(t.delete(n),s(()=>e.storage.remove(n,r)))},l=()=>{let e=0;for(let n of t.values())e+=n.dataUrl.length;for(;t.size>128||e>1048576;){let n=t.entries().next().value;if(!n)break;e-=n[1].dataUrl.length,c(n[0])}},u=()=>i??=(async()=>{try{for(let n of await e.storage.list()){let e=bh(n);P(e)&&t.set(Sh(e.value),e.value)}l()}catch{}})(),d=e=>t.get(Sh(e))?.dataUrl??null,f=async(i,o,f)=>{await a;let p=r,m=n.get(i.environmentId)??0;if(await u(),f.aborted||o===null)return d(i);let h=Sh(i);if(hh(o))return c(h),null;let g=mh(i.environmentId,i.cwd,o),_=t.get(h);if(_&&(t.delete(h),t.set(h,_),_.revision===g))return _.dataUrl;try{let a=await e.load(o,f);if(f.aborted||p!==r||m!==(n.get(i.environmentId)??0))return d(i);if(xh(a)){let n={environmentId:i.environmentId,cwd:i.cwd,faviconPath:i.faviconPath||null,revision:g,dataUrl:a};return t.set(h,n),s(()=>e.storage.put(h,n)),l(),a}}catch{}return d(i)??o},p=async()=>{await Promise.all(o)},m=async e=>{e===void 0?r+=1:n.set(e,(n.get(e)??0)+1);let i=a,o=(async()=>{await i,await u();for(let[n,r]of t)(e===void 0||r.environmentId===e)&&c(n);await p()})().finally(()=>{a===o&&(a=void 0)});a=o,await o};return{hydrate:u,peek:d,resolve:f,clearEnvironment:e=>m(e),clearAll:()=>m(),flush:p}}var Eh=`p4code:project-favicons`,Dh=2,Oh=`images`,kh;function Ah(){return kh??=new Promise((e,t)=>{let n=indexedDB.open(Eh,Dh);n.addEventListener(`upgradeneeded`,()=>{for(let e of n.result.objectStoreNames)e!==Oh&&n.result.deleteObjectStore(e);n.result.objectStoreNames.contains(Oh)||n.result.createObjectStore(Oh)}),n.addEventListener(`success`,()=>e(n.result)),n.addEventListener(`error`,()=>t(n.error)),n.addEventListener(`blocked`,()=>t(Error(`Project icon cache is blocked.`)))})}function jh(e){return new Promise((t,n)=>{e.addEventListener(`complete`,()=>t()),e.addEventListener(`abort`,()=>n(e.error)),e.addEventListener(`error`,()=>n(e.error))})}async function Mh(e,t){let n=(await Ah()).transaction(Oh,e),r=t(n.objectStore(Oh));return await jh(n),r?.result}async function Nh(e,t){let n=await createImageBitmap(new Blob([e.bytes],{type:e.mimeType}));try{t.throwIfAborted();let e=document.createElement(`canvas`);for(let t of[96,48]){let r=Math.min(1,t/n.width,t/n.height);e.width=Math.max(1,Math.round(n.width*r)),e.height=Math.max(1,Math.round(n.height*r));let i=e.getContext(`2d`);if(!i)throw Error(`Canvas is unavailable.`);i.clearRect(0,0,e.width,e.height),i.drawImage(n,0,0,e.width,e.height);let a=e.toDataURL(`image/webp`,.85);if(a.length<=32768)return a}throw Error(`Project icon thumbnail exceeds the cache limit.`)}finally{n.close()}}var Ph=Th({storage:{list:async()=>await Mh(`readonly`,e=>e.getAll())??[],put:async(e,t)=>{await Mh(`readwrite`,n=>n.put(t,e))},remove:async e=>{await Mh(`readwrite`,t=>t.delete(e))}},load:wh({downscale:Nh})}),Fh=`p4code:connection-runtime`,Ih=4,Lh=`catalog`,Rh=`shell`,zh=`thread`,Bh=`server-config`,Vh=`vcs-refs`,Hh=`document`,Uh=Mr(kp),Wh=Mr(Ap),Gh=Ut({schemaVersion:Te(1),environmentId:Pn,config:nt}),Kh=Mr(Gh),qh=Ut({schemaVersion:Te(1),environmentId:Pn,cwd:z,refs:Jt}),Jh=Mr(qh),Yh=Mr(Np),Xh=Wr(Yh),Zh=et(Yh),Qh=Wr(Uh),$h=et(Uh),eg=Wr(Wh),tg=et(Wh),ng=Wr(Kh),rg=et(Kh),ig=Wr(Jh),ag=et(Jh);function Q(e,t){return new Ni({reason:`remote-unavailable`,detail:`Could not ${e} the local connection catalog: ${String(t)}`})}function $(e,t){return new Vi({operation:e,message:`Could not ${e.replaceAll(`-`,` `)}: ${String(t)}`})}var og=S(`web.connectionStorage.openDatabase`)(function*(){return yield*Ge(e=>{if(typeof indexedDB>`u`){e(E(Q(`open`,`IndexedDB is unavailable in this browser context.`)));return}try{let t=indexedDB.open(Fh,Ih);t.addEventListener(`upgradeneeded`,()=>{t.result.objectStoreNames.contains(Lh)||t.result.createObjectStore(Lh),t.result.objectStoreNames.contains(Rh)||t.result.createObjectStore(Rh),t.result.objectStoreNames.contains(zh)||t.result.createObjectStore(zh),t.result.objectStoreNames.contains(Bh)||t.result.createObjectStore(Bh),t.result.objectStoreNames.contains(Vh)||t.result.createObjectStore(Vh)}),t.addEventListener(`error`,()=>{e(E(Q(`open`,t.error??`Unknown IndexedDB error`)))}),t.addEventListener(`success`,()=>{e($n(t.result))})}catch(t){e(E(Q(`open`,t)))}})}),sg=S(`web.connectionStorage.makeDatabaseHandle`)(function*(){let e=yield*It(1),t=null,n=e=>{t===e&&(t=null)},r=$t(()=>t===null?e.withPermits(1)(M(function*(){if(t!==null)return t;let e=yield*og();return t=e,e.addEventListener(`close`,()=>n(e)),e.addEventListener(`versionchange`,()=>{n(e),e.close()}),e})):$n(t)),i=e.withPermits(1)(F(()=>{t?.close(),t=null}));return{handle:{get:r,invalidate:e=>F(()=>n(e))},close:i}});function cg(e,t){let n=Symbol(`closedConnection`);return D(e.get,r=>t(r).pipe(Fe(e=>e.detail.includes(`InvalidStateError`),t=>e.invalidate(r).pipe(Hr(E({[n]:t})))))).pipe(Fe(e=>n in e,()=>D(e.get,t)))}function lg(e,t,n){return Ge(r=>{try{let i=e.transaction(t,`readonly`).objectStore(t).get(n);i.addEventListener(`error`,()=>{r(E(Q(`read`,i.error??`Unknown IndexedDB read error`)))}),i.addEventListener(`success`,()=>{r($n(i.result))})}catch(e){r(E(Q(`read`,e)))}}).pipe(y(`web.connectionStorage.readDatabaseValue`))}function ug(e,t,n,r){return Ge(i=>{try{let a=e.transaction(t,`readwrite`);a.addEventListener(`abort`,()=>{i(E(Q(`write`,a.error??`Unknown IndexedDB write error`)))}),a.addEventListener(`complete`,()=>{i(C)}),a.objectStore(t).put(r,n)}catch(e){i(E(Q(`write`,e)))}}).pipe(y(`web.connectionStorage.writeDatabaseValue`))}function dg(e,t,n){return Ge(r=>{try{let i=e.transaction(t,`readwrite`);i.addEventListener(`abort`,()=>{r(E(Q(`remove`,i.error??`Unknown IndexedDB remove error`)))}),i.addEventListener(`complete`,()=>{r(C)}),i.objectStore(t).delete(n)}catch(e){r(E(Q(`remove`,e)))}}).pipe(y(`web.connectionStorage.removeDatabaseValue`))}function fg(e,t,n){return Ge(r=>{try{let i=e.transaction(t,`readwrite`);i.addEventListener(`abort`,()=>{r(E(Q(`remove`,i.error??`Unknown IndexedDB cursor error`)))}),i.addEventListener(`complete`,()=>{r(C)});let a=i.objectStore(t).openCursor(n);a.addEventListener(`error`,()=>{r(E(Q(`remove`,a.error??`Unknown IndexedDB cursor error`)))}),a.addEventListener(`success`,()=>{let e=a.result;if(e!==null)try{e.delete(),e.continue()}catch(e){r(E(Q(`remove`,e)))}})}catch(e){r(E(Q(`remove`,e)))}}).pipe(y(`web.connectionStorage.removeDatabaseValuesInRange`))}function pg(e,t,n){return cg(e,e=>lg(e,t,n))}function mg(e,t,n,r){return cg(e,e=>ug(e,t,n,r))}function hg(e,t,n){return cg(e,e=>dg(e,t,n))}function gg(e,t,n){return cg(e,e=>fg(e,t,n))}function _g(e,t){return`${e}:${t}`}function vg(e,t){return`${e}:${t}`}var yg=S(`web.connectionStorage.decodeCatalog`)(function*(e){return yield*Xh(e).pipe(w(e=>Q(`decode`,e)))}),bg=S(`web.connectionStorage.encodeCatalog`)(function*(e){return yield*Zh(e).pipe(w(e=>Q(`encode`,e)))});function xg(e){let t=window.desktopBridge;return t?.getConnectionCatalog!==void 0&&t.setConnectionCatalog!==void 0?{read:_n({try:()=>t.getConnectionCatalog(),catch:e=>Q(`load`,e)}),write:e=>_n({try:()=>t.setConnectionCatalog(e),catch:e=>Q(`save`,e)}).pipe(D(e=>e?C:E(Q(`save`,`Desktop secure storage is unavailable in this system context.`))))}:{read:pg(e,Lh,Hh).pipe(A(e=>typeof e==`string`?e:null)),write:t=>mg(e,Lh,Hh,t),quarantine:t=>mg(e,Lh,`${Hh}:corrupt:${Date.now()}`,t)}}var Sg=S(`web.connectionStorage.makeCatalogStore`)(function*(e){let t=yield*Bi(V()),n=yield*It(1),r=S(`web.connectionStorage.loadCatalog`)(function*(){let n=yield*q(t);if(P(n))return n.value;let r=yield*e.read,i=Pp;return r!==null&&r.trim()!==``&&(i=yield*yg(r).pipe(x(t=>M(function*(){yield*H(`Discarding a corrupt web connection catalog.`,{error:t.message}),e.quarantine!==void 0&&(yield*e.quarantine(r).pipe(x(e=>H(`Could not quarantine the corrupt web connection catalog.`,{error:e.message}))));let n=yield*bg(Pp);return yield*e.write(n).pipe(x(e=>H(`Could not persist the recovered web connection catalog.`,{error:e.message}))),Pp})))),yield*W(t,j(i)),i});return{read:n.withPermits(1)(r()),update:S(`web.connectionStorage.updateCatalog`)(function*(i){yield*n.withPermits(1)(M(function*(){let n=i(yield*r());yield*e.write(yield*bg(n)),yield*W(t,j(n))}))})}}),Cg=`p4code:github-routing:`,wg=`p4code:github-routing-changed`,Tg=lt(Ri),Eg=_(Mr(Ri));function Dg(e=window){let t=t=>{try{let n=e.localStorage.getItem(t),r=n===null?null:JSON.parse(n);return Tg(r)&&t===`${Cg}${r.environmentId}`?r:null}catch{return null}},n=()=>{try{let n=[],r=e.localStorage;for(let e=0;e<r.length;e++){let i=r.key(e);if(i?.startsWith(Cg)){let e=t(i);e!==null&&n.push(e)}}return n}catch{return[]}},r=(t,n)=>Rt({try:()=>{let r=`${Cg}${t}`;n===null?e.localStorage.removeItem(r):e.localStorage.setItem(r,Eg(n)),e.dispatchEvent(new Event(wg))},catch:e=>Q(`save GitHub routing permissions in`,e)});return ni.of({get:e=>F(()=>{let n=t(`${Cg}${e.target.environmentId}`);return Fi(e,n===null?[]:[n])}),changes:rn(t=>Bt(F(()=>{let r=e=>{if(e.type===`storage`){let t=e.key;if(t!==null&&!t?.startsWith(Cg))return}Gt(t,n())};return e.addEventListener(`storage`,r),e.addEventListener(wg,r),Gt(t,n()),r}),t=>F(()=>{e.removeEventListener(`storage`,t),e.removeEventListener(wg,t)})).pipe(ce)),set:(e,t)=>{let n=mi(e);return n===null?E(new Ra({reason:`configuration`,detail:`This environment does not have a saved connection endpoint.`})):r(e.target.environmentId,t===`off`?null:{environmentId:e.target.environmentId,connectionKey:n,permission:t})},forget:e=>r(e,null)})}var Og=kt(M(function*(){let{handle:e}=yield*Bt(sg(),e=>e.close),t=yield*Sg(xg(e)),n=Dg(),r=bi.of({list:t.read.pipe(A(e=>e.targets),w(e=>$(`list-targets`,e))),listDisabled:t.read.pipe(A(e=>e.disabledEnvironmentIds),w(e=>$(`list-disabled-targets`,e)))}),i=fi.of({register:(e,n)=>t.update(t=>Hp(t,e,n)).pipe(w(e=>$(`register-connection`,e))),setRoutes:(e,n)=>t.update(t=>Vp(t,e,n)).pipe(w(e=>$(`set-connection-routes`,e))),remove:e=>t.update(t=>Up(t,e)).pipe(w(e=>$(`remove-connection`,e))),setEnabled:(e,n)=>t.update(t=>Wp(t,e,n)).pipe(w(e=>$(`set-connection-enabled`,e)))}),a=qi({get:e=>t.read.pipe(A(t=>Ye(t.profiles.find(t=>t.connectionId===e)))),put:e=>t.update(t=>({...t,profiles:Fp(t.profiles,e=>e.connectionId,e)})),remove:e=>t.update(t=>({...t,profiles:Ip(t.profiles,e=>e.connectionId,e)}))}),s=Qr({get:e=>t.read.pipe(A(t=>Ye(t.credentials.find(t=>t.connectionId===e)?.credential))),put:(e,n)=>t.update(t=>({...t,credentials:Fp(t.credentials,e=>e.connectionId,{connectionId:e,credential:n})})),remove:e=>t.update(t=>({...t,credentials:Ip(t.credentials,e=>e.connectionId,e)}))}),c=Sa({get:e=>t.read.pipe(A(t=>Ye(t.remoteDpopTokens.find(t=>t.environmentId===e)))),put:e=>t.update(t=>Gp(t,e)),remove:e=>t.update(t=>({...t,remoteDpopTokens:Ip(t.remoteDpopTokens,e=>e.environmentId,e)}))}),l=Ta.of({loadShell:t=>pg(e,Rh,t).pipe(Cr(()=>Ie(()=>Ph.hydrate())),D(n=>typeof n==`string`?jp(Qh(n).pipe(w(e=>$(`load-shell`,e)),A(e=>e.environmentId===t?j(e.snapshot):V())),hg(e,Rh,t)):hr),w(e=>$(`load-shell`,e))),saveShell:(t,n)=>M(function*(){let r=yield*$h({schemaVersion:3,environmentId:t,snapshot:n}).pipe(w(e=>$(`save-shell`,e)));yield*mg(e,Rh,t,r)}).pipe(w(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-shell`,e))),loadServerConfig:t=>pg(e,Bh,t).pipe(D(e=>typeof e==`string`?ng(e).pipe(w(e=>$(`load-server-config`,e)),A(e=>e.environmentId===t?j(e.config):V())):hr),w(e=>e._tag===`ConnectionPersistenceError`?e:$(`load-server-config`,e))),saveServerConfig:(t,n)=>M(function*(){let r=yield*rg({schemaVersion:1,environmentId:t,config:n}).pipe(w(e=>$(`save-server-config`,e)));yield*mg(e,Bh,t,r)}).pipe(w(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-server-config`,e))),loadThread:(t,n)=>pg(e,zh,_g(t,n)).pipe(D(r=>typeof r==`string`?jp(eg(r).pipe(w(e=>$(`load-thread`,e)),A(e=>e.environmentId===t&&e.threadId===n?j(e.snapshot):V())),hg(e,zh,_g(t,n))):hr),w(e=>$(`load-thread`,e))),saveThread:(t,n)=>M(function*(){let r=yield*tg({schemaVersion:4,environmentId:t,threadId:n.projection.thread.id,snapshot:n}).pipe(w(e=>$(`save-thread`,e)));yield*mg(e,zh,_g(t,n.projection.thread.id),r)}).pipe(w(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-thread`,e))),loadVcsRefs:(t,n)=>pg(e,Vh,vg(t,n)).pipe(D(e=>typeof e==`string`?ig(e).pipe(w(e=>$(`load-vcs-refs`,e)),A(e=>e.environmentId===t&&e.cwd===n?j(e.refs):V())):hr),w(e=>e._tag===`ConnectionPersistenceError`?e:$(`load-vcs-refs`,e))),saveVcsRefs:(t,n,r)=>M(function*(){let i=yield*ag({schemaVersion:1,environmentId:t,cwd:n,refs:r}).pipe(w(e=>$(`save-vcs-refs`,e)));yield*mg(e,Vh,vg(t,n),i)}).pipe(w(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-vcs-refs`,e))),removeVcsRefs:(t,n)=>hg(e,Vh,vg(t,n)).pipe(w(e=>$(`remove-vcs-refs`,e))),clearVcsRefs:t=>gg(e,Vh,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)).pipe(w(e=>$(`clear-vcs-refs`,e))),removeThread:(t,n)=>hg(e,zh,_g(t,n)).pipe(w(e=>$(`remove-thread`,e))),clear:t=>Zt([Ie(()=>Ph.clearEnvironment(t)),hg(e,Rh,t),gg(e,zh,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)),hg(e,Bh,t),gg(e,Vh,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`))],{concurrency:`unbounded`,discard:!0}).pipe(w(e=>$(`clear-environment`,e)))});return o(bi,r).pipe(ct(ni,n),ct(fi,i),ct(Ui,a),ct(Di,s),ct(ra,c),ct(Ta,l))}));function kg(e){switch(e){case`darwin`:return`macOS`;case`win32`:return`Windows`;case`linux`:return`Linux`;default:return e?`other`:`unknown`}}function Ag(e){return/macintosh/i.test(e.userAgent)&&/mac/i.test(e.platform)&&e.maxTouchPoints>1}function jg(e){let t=e.userAgent;return t.trim()===``?`unknown`:/iphone|ipad|ipod/i.test(t)||Ag(e)?`iOS`:/android/i.test(t)?`Android`:/cros/i.test(t)?`ChromeOS`:/windows/i.test(t)?`Windows`:/macintosh|mac os x/i.test(t)?`macOS`:/linux|x11/i.test(t)?`Linux`:`other`}function Mg(e){return e.trim()===``?`unknown`:/edg(?:e|a|ios)?\//i.test(e)?`Edge`:/opr\/|opios\//i.test(e)?`Opera`:/samsungbrowser\//i.test(e)?`Samsung Internet`:/firefox\/|fxios\//i.test(e)?`Firefox`:/chrome\/|crios\//i.test(e)?`Chrome`:/safari\//i.test(e)?`Safari`:`other`}function Ng(e){let t=e.userAgent;return t.trim()===``?`unknown`:/ipad|tablet|kindle|silk/i.test(t)||/android/i.test(t)&&!/mobile/i.test(t)||Ag(e)?`tablet`:/iphone|ipod|android.+mobile|mobile/i.test(t)?`mobile`:`desktop`}function Pg(e){return e.desktopBridge===void 0?{label:`P4 Code Web`,deviceType:Ng(e.identity),os:jg(e.identity),surface:`web`,webDeployment:e.hosted?`hosted`:`server`,browser:Mg(e.identity.userAgent),...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}:{label:`P4 Code Desktop`,deviceType:`desktop`,os:kg(e.desktopBridge.getClientPlatform?.()),surface:`desktop`,...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}}var Fg=0;function Ig(){return typeof navigator>`u`?`unknown`:navigator.onLine?`online`:`offline`}var Lg=Gi({status:F(Ig),changes:rn(e=>Bt(F(()=>{let t=()=>Gt(e,`online`),n=()=>Gt(e,`offline`);return window.addEventListener(`online`,t),window.addEventListener(`offline`,n),{online:t,offline:n}}),({online:e,offline:t})=>F(()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,t)})).pipe(ce))}),Rg=rn(e=>Bt(F(()=>{let t=typeof navigator>`u`?void 0:navigator.connection;if(t?.type===void 0)return;let n=t.type,r=()=>{let r=t.type;r!==void 0&&r!==n&&(n=r,Gt(e,`network-changed`))};return t.addEventListener(`change`,r),{connection:t,listener:r}}),e=>F(()=>e?.connection.removeEventListener(`change`,e.listener))).pipe(ce)),zg=ca({changes:Nn([rn(e=>Bt(F(()=>{let t=()=>{document.visibilityState===`visible`&&Gt(e,`application-active`)};return document.addEventListener(`visibilitychange`,t),t}),e=>F(()=>{document.removeEventListener(`visibilitychange`,e)})).pipe(ce)),xa(Ft).pipe(re(()=>`credentials-changed`)),Rg],{concurrency:`unbounded`})});function Bg(){return Pg({appVersion:im,hosted:ym(),identity:{userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints},desktopBridge:window.desktopBridge})}function Vg(e){let t=e instanceof Error?e.message:String(e);return t.toLowerCase().includes(`cancel`)?new Ra({reason:`authentication`,detail:t}):new Ni({reason:`remote-unavailable`,detail:`Could not prepare the SSH environment: ${t}`})}var Hg=S(`web.connectionPlatform.ssh.provisionDesktop`)(function*(e,t,n){let r=yield*_n({try:()=>e.ensureSshEnvironment(t,{issuePairingToken:!0}),catch:Vg}),i=r.pairingToken;if(i===null)return yield*new Ra({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`});let a=yield*_n({try:()=>e.fetchSshEnvironmentDescriptor(r.httpBaseUrl),catch:Vg});if(n!==void 0&&a.environmentId!==n)return yield*new Ra({reason:`configuration`,detail:`That host reaches ${a.label}, a different machine. Add it as its own environment instead.`});let o=yield*_n({try:()=>e.bootstrapSshBearerSession(r.httpBaseUrl,i),catch:Vg});return{environmentId:a.environmentId,label:a.label,bootstrap:r,bearerToken:o.access_token}}),Ug=kt(F(()=>{let e=aa.of({metadata:Bg()}),t=Ji.of({identity:F(()=>Nt(Ft.get(ga))),clerkToken:M(function*(){let e=Ft.get(ga);if(e===null)return yield*new Ra({reason:`authentication`,detail:`Sign in to P4 Connect to connect this environment.`});let t=yield*e.readClerkToken().pipe(w(e=>new Ni({reason:`network`,detail:e.message})));return t===null?yield*new Ra({reason:`authentication`,detail:`The P4 Connect session is unavailable.`}):t})}),n=Ua.of({deviceId:hr}),r=Fa.of({bearerToken:_n({try:Ha,catch:e=>new Ni({reason:`remote-unavailable`,detail:`Could not load the desktop primary credential: ${String(e)}`})}).pipe(A(Nt))}),i=Zi.of({provision:S(`web.connectionPlatform.ssh.provision`)(function*(e,t){let n=window.desktopBridge;return n===void 0?yield*new Ra({reason:`unsupported`,detail:`SSH environments are only available in the desktop app.`}):yield*Hg(n,e,t)}),prepare:S(`web.connectionPlatform.ssh.prepare`)(function*(e){let t=window.desktopBridge;if(t===void 0)return yield*new Ra({reason:`unsupported`,detail:`SSH environments are only available in the desktop app.`});let n=yield*_n({try:()=>t.ensureSshEnvironment(e.target,{issuePairingToken:!0}),catch:Vg});return n.pairingToken===null?yield*new Ra({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`}):{bootstrap:n,bearerToken:(yield*_n({try:()=>t.bootstrapSshBearerSession(n.httpBaseUrl,n.pairingToken),catch:Vg})).access_token}}),disconnect:S(`web.connectionPlatform.ssh.disconnect`)(function*(e){let t=window.desktopBridge;t!==void 0&&(yield*_n({try:()=>t.disconnectSshEnvironment(e),catch:e=>new Ni({reason:`remote-unavailable`,detail:`Could not disconnect the SSH environment: ${String(e)}`})}))})});return o(Ji,t).pipe(ct(Fa,r),ct(Ua,n),ct(aa,e),ct(Zi,i))})),Wg=S(`web.connectionPlatform.loadPrimaryConnectionRegistration`)(function*(e){let t=yield*yr({httpBaseUrl:e.target.httpBaseUrl}).pipe(qe(Pa),w(Ba));return new Xi({target:new oi({environmentId:t.environmentId,label:t.label,httpBaseUrl:e.target.httpBaseUrl,wsBaseUrl:e.target.wsBaseUrl})})}),Gg=S(`web.connectionPlatform.loadSecondaryConnectionRegistration`)(function*(e){if(e.httpBaseUrl===null||e.wsBaseUrl===null||e.bootstrapToken===void 0)return yield*new Ni({reason:`endpoint-unavailable`,detail:`Desktop-local backend ${e.id} is not ready yet.`});let t=e.httpBaseUrl,n=e.wsBaseUrl,r=yield*yr({httpBaseUrl:t}).pipe(w(Ba)),i=yield*Ct,a=yield*wi({httpBaseUrl:t,credential:e.bootstrapToken,scopes:dn,clientMetadata:Bg()}).pipe(w(Ba)),o=Hm(e.id),s=e.label||r.label;return{registration:new va({target:new ri({environmentId:r.environmentId,label:s,connectionId:o}),profile:new Aa({connectionId:o,environmentId:r.environmentId,label:s,httpBaseUrl:t,wsBaseUrl:n}),credential:new na({token:a.access_token})}),expiresAtEpochMs:Jg(i,a.expires_in),refreshAtEpochMs:Yg(i,a.expires_in)}}),Kg=`3 seconds`,qg=5e3;function Jg(e,t){return e+Math.max(0,t*1e3)}function Yg(e,t){return Math.max(e,Jg(e,t)-qg)}function Xg(e=Ai){try{return{_tag:`Success`,target:e()}}catch(e){return{_tag:`Failure`,cause:e}}}function Zg(e,t){return t._tag===`Failure`?e.get(le):void 0}function Qg(e,t,n){return e.signature===t&&(e.refreshAtEpochMs===void 0||n<e.refreshAtEpochMs)}function $g(e,t,n){return e.signature===t&&e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs}var e_=6e4,t_=18e5;function n_(e,t,n){return e!==void 0&&e.signature===t&&n<e.retryAtEpochMs}function r_(e,t,n){let r=e?.signature===t?Math.min(e.delayMs*2,t_):e_;return{signature:t,retryAtEpochMs:n+r,delayMs:r}}function i_(e){return e._tag===`ConnectionBlockedError`&&e.reason===`authentication`}function a_(e,t,n){return t._tag===`Success`?new Map:new Map([...e].filter(([,e])=>e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs))}var o_=be(gl,M(function*(){if(ym()||La())return gl.of({registrations:zt});let e=yield*Bi(new Map),t=yield*Bi(new Map),n=M(function*(){let n=yield*q(e),r=yield*Ct,i=new Map,o=[],s=Xg(),c=Zg(n,s);if(c!==void 0&&(i.set(le,c),o.push(c.registration)),s._tag===`Failure`)yield*H(`Could not read the primary environment topology.`,{cause:s.cause});else if(s.target!==null){let e=s.target,t=`primary|${e.target.httpBaseUrl}|${e.target.wsBaseUrl}`,c=n.get(le);if(c!==void 0&&Qg(c,t,r))i.set(le,c),o.push(c.registration);else{let n=yield*Wg(e).pipe(pn(e=>H(`Could not discover the primary environment.`,{error:e})),a);if(P(n)){let e={signature:t,registration:n.value};i.set(le,e),o.push(n.value)}}}let l=Jm();for(let[e,t]of a_(n,l,r))i.set(e,t),o.push(t.registration);if(l._tag===`Failure`)yield*H(`Could not read the desktop-local backend topology.`,{cause:l.cause});else{let e=yield*q(t),s=new Map;for(let t of l.bootstraps){let c=`${t.httpBaseUrl}|${t.wsBaseUrl}`,l=`${c}|${t.bootstrapToken??``}`,u=n.get(t.id);if(u!==void 0&&u.bootstrapToken===t.bootstrapToken&&Qg(u,c,r)){i.set(t.id,u),o.push(u.registration);continue}let d=e.get(t.id);if(n_(d,l,r)){s.set(t.id,d),u!==void 0&&$g(u,c,r)&&(i.set(t.id,u),o.push(u.registration));continue}let f=yield*Gg(t).pipe(pn(e=>H(`Could not connect a desktop-local backend.`,{id:t.id,error:e})),pn(e=>i_(e)?Ct.pipe(A(e=>s.set(t.id,r_(d,l,e)))):C),a);if(P(f)){let e={signature:c,...t.bootstrapToken===void 0?{}:{bootstrapToken:t.bootstrapToken},...f.value};i.set(t.id,e),o.push(f.value.registration)}else u!==void 0&&$g(u,c,r)&&(i.set(t.id,u),o.push(u.registration))}yield*W(t,s)}return yield*W(e,i),o}).pipe(qe(mn));return gl.of({registrations:lr(Kg).pipe(Ln(()=>n))})})),s_=Qn(_i,_i.of({clear:e=>F(()=>{Sn(e)})})),c_=Qn(di,di.of({observe:({environmentId:e,method:t})=>F(()=>{Fg+=1;let n=`${e}:${Fg}`;return Fm(n,t,`${t} · ${e}`),F(()=>{Im(n)})})})),l_=e(Og,Lg,zg,Ug,o_,s_,c_).pipe(fn(ka)),u_=e(Ed,yu,id,tp).pipe(Sr(vl({environmentThemes:!0,usageLimitSources:!0,usageLimitsCommand:!0})),Sr(e(ka,l_,Dp))),d_=Op.pipe(Sr(u_)),f_=nn(d_);export{Qd as $,Gs as $t,pm as A,oo as An,nl as At,sp as B,mc as Bt,hm as C,lo as Cn,Ul as Ct,um as D,Za as Dn,xl as Dt,bm as E,Qa as En,bl as Et,im as F,uo as Fn,Pc as Ft,ff as G,rc as Gt,cp as H,uc as Ht,$p as I,Ec as It,nf as J,ec as Jt,hf as K,nc as Kt,em as L,xc as Lt,tm as M,ro as Mn,$c as Mt,rm as N,po as Nn,Qc as Nt,lm as O,$a as On,Cl as Ot,nm as P,co as Pn,Ic as Pt,Zd as Q,Xs as Qt,Yp as R,yc as Rt,Sm as S,ho as Sn,tu as St,ym as T,eo as Tn,Tl as Tt,lp as U,dc as Ut,up as V,fc as Vt,Ef as W,lc as Wt,Yd as X,Zs as Xt,Xd as Y,tc as Yt,$d as Z,Qs as Zt,Um as _,bo as _n,md as _t,hh as a,Jo as an,Ld as at,Bm as b,xo as bn,Ou as bt,Zm as c,Mo as cn,jd as ct,lh as d,Do as dn,Md as dt,Ys as en,Ud as et,uh as f,Eo as fn,Od as ft,Wm as g,Co as gn,sd as gt,ah as h,Oo as hn,vd as ht,ph as i,Bo as in,Kd as it,dm as j,io as jn,Zc as jt,mm as k,Xa as kn,Sl as kt,Qm as l,Po as ln,Ad as lt,oh as m,Io as mn,xd as mt,Ph as n,ns as nn,Vd as nt,$m as o,To as on,Wd as ot,sh as p,Fo as pn,Cd as pt,df as q,$s as qt,mh as r,ts as rn,Gd as rt,eh as s,wo as sn,zd as st,f_ as t,es as tn,Hd as tt,dh as u,No as un,kd as ut,Gm as v,So as vn,Lu as vt,xm as w,fo as wn,kl as wt,Cm as x,go as xn,au as xt,Ym as y,vo as yn,Ru as yt,Jp as z,wc as zt};
|
|
3
|
-
//# sourceMappingURL=runtime-DTUiqO10.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ap as e,op as t,ym as n,zp as r}from"./utils-BE5iQuUP.js";var i={"approval-required":{label:`Supervised`,description:`Ask before commands and file changes.`,icon:e},"auto-accept-edits":{label:`Auto-accept edits`,description:`Auto-approve edits, ask before other actions.`,icon:r},auto:{label:`Auto`,description:`Supported providers approve routine actions; others still ask.`,icon:n},"full-access":{label:`Full access`,description:`Allow commands and edits without prompts.`,icon:t}},a=Object.keys(i);export{a as n,i as t};
|
|
2
|
-
//# sourceMappingURL=runtimeModeConfig-BwioIXVs.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Bw as e,Dh as t,Ic as n,OS as r,Os as i,Zw as a,as as o,eE as s,kw as c,lC as l,ps as u,xx as d}from"./utils-BE5iQuUP.js";import{I as f,k as p}from"./runtime-DSZ2mWrf.js";import{Bt as m,Ct as h,St as g,t as _,vt as v,wt as y,xt as b}from"./runtime-DTUiqO10.js";import{t as x}from"./session-yxXjF8AQ.js";var S=m(_);function C(t){return f(t,{label:`environment-data:server:update-outdated-server`,scheduler:p(),concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e},execute:(t,n)=>{let i=y(t.environmentId),o=t.input.targetVersion,s=t.fromVersion??o,u=`downloading`,f=e=>l(()=>{u=e,n.set(i,{status:`running`,stage:e,fromVersion:s,targetVersion:o})});return f(u).pipe(d(b(t.environmentId,t.input,f)),r(t=>l(()=>{if(c(t)||e(t.cause)){n.set(i,{status:`idle`});return}n.set(i,{status:`failed`,stage:u,fromVersion:s,targetVersion:o,message:h(a(t.cause))})})))}})}var w=o(e=>{for(let[t,n]of e(S.catalogValueAtom).entries)if(n.target._tag===`PrimaryConnectionTarget`)return t;return null}).pipe(u(`web-primary-environment-id`)),T=g(_,{initialConfigValueAtom:x.initialConfigValueAtom,environmentThemes:!0,usageLimitSources:!0,usageLimitsCommand:!0}),E=C(_),D=v({catalogValueAtom:S.catalogValueAtom,serverConfigValueAtom:T.configValueAtom}),O=[],k=[],A={config:null,latestEvent:null,welcome:null},j=o(e=>{let t=e(w);if(t===null)return A;let n={environmentId:t,input:{}},r=s(i(e(T.configProjection(n)))),a=s(i(e(T.welcome(n))));return{config:e(T.configValueAtom(t)),latestEvent:r?.latestEvent??null,welcome:a}}).pipe(u(`web-primary-server-state`)),M=o(e=>e(j).config).pipe(u(`web-primary-server-config`)),N=o(e=>e(j).latestEvent).pipe(u(`web-primary-server-config-event`)),P=o(e=>e(j).welcome).pipe(u(`web-primary-server-welcome`)),F=o(e=>{let t=e(w);return t===null?null:s(i(e(T.legacyThreadMigration({environmentId:t,input:{}}))))}).pipe(u(`web-primary-server-legacy-thread-migration`)),I=o(e=>e(M)?.settings??t).pipe(u(`web-primary-server-settings`)),L=o(e=>e(M)?.providers??k).pipe(u(`web-primary-server-providers`)),R=o(e=>n(e(M)?.keybindings??[])).pipe(u(`web-primary-server-keybindings`)),z=o(e=>e(M)?.availableEditors??O).pipe(u(`web-primary-server-available-editors`)),B=[],V=o(e=>e(M)?.environmentThemes??B).pipe(u(`web-primary-server-environment-themes`));export{N as a,F as c,P as d,T as f,S as h,M as i,L as l,w as m,D as n,V as o,E as p,z as r,R as s,k as t,I as u};
|
|
2
|
-
//# sourceMappingURL=server-ztj8tD38.js.map
|