@p4code/cli 0.8.19 → 0.8.20
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-BfqWHczJ.mjs → binCli-BU4pyUVV.mjs} +130 -37
- package/dist/client/.vite/manifest.json +2229 -2192
- package/dist/client/assets/AlertDialogRoot-CI-BT04n.js +2 -0
- package/dist/client/assets/{AnimatedHeight-Bt23tBJu.js → AnimatedHeight-B1LdeRxh.js} +2 -2
- package/dist/client/assets/{AuthSurfaceShell-CScpeyCZ.js → AuthSurfaceShell-Di1ASoMs.js} +2 -2
- package/dist/client/assets/{CSPContext-CCVdxObl.js → CSPContext-Bn8q5RdR.js} +2 -2
- package/dist/client/assets/{ChatGptUsageButton-yYHsmy4T.js → ChatGptUsageButton-Ckccc0cE.js} +2 -2
- package/dist/client/assets/{ChatMarkdown-B0DVA2sH.js → ChatMarkdown-BHsOWwiC.js} +4 -4
- package/dist/client/assets/{CheckboxIndicator-wz_7NgXC.js → CheckboxIndicator-DUUgNp1r.js} +2 -2
- package/dist/client/assets/{CodexSetupSection.logic-BtAckihn.js → CodexSetupSection.logic-BbXZAyvp.js} +2 -2
- package/dist/client/assets/{CollapsiblePanel-lE29H_pe.js → CollapsiblePanel-D1aZAbsh.js} +2 -2
- package/dist/client/assets/{ComboboxClear-DNFG72Hd.js → ComboboxClear-CMNv82AR.js} +2 -2
- package/dist/client/assets/{ComboboxGroupLabel-B_bH_C6n.js → ComboboxGroupLabel-BqpdqndG.js} +2 -2
- package/dist/client/assets/{CommandBlock-VGf7qjr7.js → CommandBlock-Da6pXLt_.js} +2 -2
- package/dist/client/assets/{ComposerPromptEditor-CVko-EBm.js → ComposerPromptEditor-DxcWPWlA.js} +4 -4
- package/dist/client/assets/{CompositeRoot-BaL7J4TF.js → CompositeRoot-BP063J4d.js} +2 -2
- package/dist/client/assets/{ConnectionStatusDot-IvAZUpIh.js → ConnectionStatusDot-DvalNlEr.js} +2 -2
- package/dist/client/assets/{DevicePanel-fh1omTPb.js → DevicePanel-DePWOu4d.js} +2 -2
- package/dist/client/assets/{DeviceSetup-wfV02sXR.js → DeviceSetup-BK7tjknq.js} +2 -2
- package/dist/client/assets/{DialogTitle-CJosg0_K.js → DialogTitle-OaePW-Ih.js} +2 -2
- package/dist/client/assets/{DiffCommentAnnotation-C4ODeTG1.js → DiffCommentAnnotation-BzohZvIj.js} +2 -2
- package/dist/client/assets/{DiffFileTree-Cm5AwI-L.js → DiffFileTree-OcbtQyxq.js} +2 -2
- package/dist/client/assets/{DiffPanel-DW_sAhx0.js → DiffPanel-BajglAZa.js} +2 -2
- package/dist/client/assets/{DiffWorkerPoolProvider-CXn9pnyS.js → DiffWorkerPoolProvider--30q2unm.js} +2 -2
- package/dist/client/assets/{EmbeddedDesign-QMT8odFI.js → EmbeddedDesign-BcPI7zAV.js} +7 -7
- package/dist/client/assets/{EmbeddedDesign-nRjXWU5Y.css → EmbeddedDesign-DmybFtYo.css} +1 -1
- package/dist/client/assets/{EnvironmentMachineIcon-Cs4BoaOB.js → EnvironmentMachineIcon-DszKXxD_.js} +2 -2
- package/dist/client/assets/{ExpandableText-DUYIICsi.js → ExpandableText-hoL-6ubc.js} +2 -2
- package/dist/client/assets/{FieldControl-CSR5qaN6.js → FieldControl-DDVVfmpB.js} +2 -2
- package/dist/client/assets/{FileDiff-DfokdNMp.js → FileDiff-DSxfw81M.js} +2 -2
- package/dist/client/assets/{FilePreviewPanel-BiO1c4ia.js → FilePreviewPanel-jsWBRHEP.js} +4 -4
- package/dist/client/assets/{FoldedSettingsSection-CqteSm77.js → FoldedSettingsSection-B66vyjYD.js} +2 -2
- package/dist/client/assets/{FormContext-D3Ve_Lza.js → FormContext-B0PXExmu.js} +2 -2
- package/dist/client/assets/{Icons-Bfx5fXpN.js → Icons-CX6xNdVb.js} +2 -2
- package/dist/client/assets/Input-C7aWgRC_.js +2 -0
- package/dist/client/assets/{KeybindingsSettings.logic-0P2hWpBG.js → KeybindingsSettings.logic-6FRd2ilb.js} +2 -2
- package/dist/client/assets/{NoProjectsHero-GWvfTakA.js → NoProjectsHero-BJh2xTW2.js} +2 -2
- package/dist/client/assets/{PanelLayoutControls-yA-MhIU3.js → PanelLayoutControls-BH9E0RgY.js} +4 -4
- package/dist/client/assets/{PierreEntryIcon-x_cG473l.js → PierreEntryIcon-DqZ3rsf9.js} +2 -2
- package/dist/client/assets/{PopoverHandle-CY2mrZwB.js → PopoverHandle-DRjGw1Yt.js} +2 -2
- package/dist/client/assets/{PreviewPanel-Dh9n6Ys-.js → PreviewPanel-BvQZWo4y.js} +2 -2
- package/dist/client/assets/{ProjectDefaultsSettings-DS-3kgM0.js → ProjectDefaultsSettings-DpMGLYiX.js} +2 -2
- package/dist/client/assets/{ProjectFavicon-Bdl7Tzds.js → ProjectFavicon-C3ZH51Lw.js} +3 -3
- package/dist/client/assets/{ProjectIconPickerDialog-BaajvQh5.js → ProjectIconPickerDialog-R3JbSZVv.js} +2 -2
- package/dist/client/assets/{ProjectMonogram-TlvVxVmS.js → ProjectMonogram-IuYJI7zN.js} +2 -2
- package/dist/client/assets/{ProviderAuthTerminal-UECuLZ2G.js → ProviderAuthTerminal-C-Y-b2Id.js} +2 -2
- package/dist/client/assets/{ProviderModelPicker-De9mZUTr.js → ProviderModelPicker-DcDT2aJc.js} +2 -2
- package/dist/client/assets/{ProviderSettingsForm-Ck0g4BIu.js → ProviderSettingsForm-CPtnly6g.js} +2 -2
- package/dist/client/assets/{PullRequestCodeTab-Ba54Mifj.js → PullRequestCodeTab-CHzbe4Pg.js} +2 -2
- package/dist/client/assets/{ReadOnlySourcePreview-CVocraam.js → ReadOnlySourcePreview-BdxBRo90.js} +2 -2
- package/dist/client/assets/{RenderErrorBoundary-DKs56Rs9.js → RenderErrorBoundary-DOhJQzqI.js} +2 -2
- package/dist/client/assets/{ScheduledTasksSettings-d4dmI9oH.js → ScheduledTasksSettings-BhwaQrJM.js} +2 -2
- package/dist/client/assets/{ScopedSwitch-Z6zp5sHo.js → ScopedSwitch--Y2Q_Dkg.js} +2 -2
- package/dist/client/assets/{ScrollAreaCorner-B-Z3OJHa.js → ScrollAreaCorner-Ck3L5tlH.js} +2 -2
- package/dist/client/assets/{SecretInput-DeAPhcuN.js → SecretInput-UofV3Jxx.js} +2 -2
- package/dist/client/assets/{SelectScrollUpArrow-DfDNBpqc.js → SelectScrollUpArrow-C_YHAw_f.js} +2 -2
- package/dist/client/assets/{SettingsPanels-CWgjxAiG.js → SettingsPanels-rRn3RxRM.js} +2 -2
- package/dist/client/assets/{SettingsPanels.logic-D3iQ5aZy.js → SettingsPanels.logic-CSbITXNG.js} +2 -2
- package/dist/client/assets/{SettingsScopeNotice-BfjZTvSz.js → SettingsScopeNotice-B7r3-bw2.js} +2 -2
- package/dist/client/assets/{T3ConnectAccountPages-CsFviIjD.js → T3ConnectAccountPages-CZ221lRl.js} +2 -2
- package/dist/client/assets/{T3ConnectSidebarSignIn-3MsegucL.js → T3ConnectSidebarSignIn-pHxwsU9J.js} +2 -2
- package/dist/client/assets/{ThemeEditorPanel-Bj9nHohX.js → ThemeEditorPanel-BRKQI9pP.js} +2 -2
- package/dist/client/assets/{ThreadTerminalDrawer-Cks3C8wv.js → ThreadTerminalDrawer-CYuLsPbc.js} +2 -2
- package/dist/client/assets/{TooltipViewport-WRCNCy-2.js → TooltipViewport-B_Oz-gLq.js} +2 -2
- package/dist/client/assets/{Virtualizer-D6VpBTPc.js → Virtualizer-ChNeVtXh.js} +2 -2
- package/dist/client/assets/{WorkspaceBreadcrumb-CR_Yk7Ph.js → WorkspaceBreadcrumb-CpHuVRke.js} +2 -2
- package/dist/client/assets/{WorkspacePageContainer-D3M3Ncv4.js → WorkspacePageContainer-BQ0Bk5Qy.js} +2 -2
- package/dist/client/assets/{WorkspacePageHeader-xuSJTTO0.js → WorkspacePageHeader-Cx1gpU1l.js} +2 -2
- package/dist/client/assets/_chat-BNr1JB8N.js +45 -0
- package/dist/client/assets/{_chat.index-B5-xqP_5.js → _chat.index-CGo_2dVK.js} +2 -2
- package/dist/client/assets/{_chat.new-DxPEFJcT.js → _chat.new-B8h0E9bY.js} +2 -2
- package/dist/client/assets/{_chat.pull-requests-BBVWbXyN.js → _chat.pull-requests-C9e5UJiQ.js} +2 -2
- package/dist/client/assets/{abnfDiagram-VCTEODGH-CxxMo560.js → abnfDiagram-VCTEODGH-BewL_eNL.js} +2 -2
- package/dist/client/assets/{alert-BXnCHOJp.js → alert-CNni4aGm.js} +2 -2
- package/dist/client/assets/architecture-7GRP2DOG-DB68MNLl.js +1 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-DJiRjS82.js → architectureDiagram-5GKGNRK7-C9j-xrz2.js} +2 -2
- package/dist/client/assets/{assets-B5H7ruRK.js → assets-Co5XIu-W.js} +2 -2
- package/dist/client/assets/{blockDiagram-I7D4REHJ-kDnwtgKo.js → blockDiagram-I7D4REHJ-DSaqyAe3.js} +2 -2
- package/dist/client/assets/{browserHistoryStore-o7hGV5zZ.js → browserHistoryStore-C3MIb5y-.js} +2 -2
- package/dist/client/assets/{browserLinkTarget-hn6UyJXl.js → browserLinkTarget-B0Nl9z4y.js} +2 -2
- package/dist/client/assets/{c4Diagram-7LVT6UL2-D1fm-1EX.js → c4Diagram-7LVT6UL2-DCgzKaRE.js} +2 -2
- package/dist/client/assets/channel-C9_T9oRs.js +2 -0
- package/dist/client/assets/{checkbox-tOWU_Z9Y.js → checkbox-BpAfakhx.js} +2 -2
- package/dist/client/assets/{chunk-4HAMMTFA-BLYTHhED.js → chunk-4HAMMTFA-DstDTNNT.js} +2 -2
- package/dist/client/assets/{chunk-75Z2AOVW-DT7Umtgk.js → chunk-75Z2AOVW-Dz-DtxrH.js} +2 -2
- package/dist/client/assets/{chunk-DU6HZSFF-D0K-8X_H.js → chunk-DU6HZSFF-Ll_1n6K5.js} +2 -2
- package/dist/client/assets/{chunk-F27PBJKO-5P4LORWK.js → chunk-F27PBJKO-BhJS5B0M.js} +2 -2
- package/dist/client/assets/{chunk-GMAD6QVW-DO-mb18X.js → chunk-GMAD6QVW-YF2_U_Rb.js} +2 -2
- package/dist/client/assets/{chunk-GVQU2GXP-CxauyvGQ.js → chunk-GVQU2GXP-VQA2Ub_O.js} +2 -2
- package/dist/client/assets/{chunk-IMKFNOWR-QGonsH_m.js → chunk-IMKFNOWR-CUKSWZZL.js} +2 -2
- package/dist/client/assets/{chunk-L3NEJ4N5-DxKhJ2tE.js → chunk-L3NEJ4N5-B1mYJGkp.js} +2 -2
- package/dist/client/assets/{chunk-OSK3NFVY-BlR0vtv9.js → chunk-OSK3NFVY-DeMda-I1.js} +2 -2
- package/dist/client/assets/{chunk-P2QGCYS3-BIit_gMZ.js → chunk-P2QGCYS3-Cw7ng-Rc.js} +2 -2
- package/dist/client/assets/{chunk-POPQ4Y6H-Ojuitc4K.js → chunk-POPQ4Y6H-UV50oooU.js} +2 -2
- package/dist/client/assets/{chunk-PWAF6VOD-B6Uc75KF.js → chunk-PWAF6VOD-DN41TR2O.js} +2 -2
- package/dist/client/assets/{chunk-SHT3W25Y-DSzF0_aF.js → chunk-SHT3W25Y-wined05I.js} +2 -2
- package/dist/client/assets/{chunk-SVP7TREG-BbxrRzvm.js → chunk-SVP7TREG-Cwfsds3m.js} +2 -2
- package/dist/client/assets/{chunk-TICWLB2K-qxbKtZBK.js → chunk-TICWLB2K-COhBRrwy.js} +2 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-DKnt792Z.js +2 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-DKnt792Z.js +2 -0
- package/dist/client/assets/{color-picker-C_20-4RB.js → color-picker-KVitc2gM.js} +2 -2
- package/dist/client/assets/{combobox-NsYaIiJL.js → combobox-DiUoVqyf.js} +2 -2
- package/dist/client/assets/{command-DJR9ebnx.js → command-CMR1n6Uf.js} +2 -2
- package/dist/client/assets/{composer-logic-CkuMSzLW.js → composer-logic-BcXfvdPq.js} +2 -2
- package/dist/client/assets/{composerDraftUploads-D0K1HfK_.js → composerDraftUploads-CDI8NeKM.js} +2 -2
- package/dist/client/assets/{connect-BSmdC-l-.js → connect-BmEDcR9c.js} +2 -2
- package/dist/client/assets/{connect-agent-BNeGfFIv.js → connect-agent-CfaBrLrx.js} +2 -2
- package/dist/client/assets/{cynefin-OW5HDTMX-BRoWQ1nZ.js → cynefin-OW5HDTMX-NISsUCRb.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-BPoK_fdY.js → cynefinDiagram-5FMLGOSQ-CcmIsbpK.js} +2 -2
- package/dist/client/assets/{dagre-GXQ25YYZ-B6n9u2fx.js → dagre-GXQ25YYZ-UITp4lya.js} +2 -2
- package/dist/client/assets/design-C4-KEBUo.js +2 -0
- package/dist/client/assets/{device-V5bbUMMx.js → device-BcFks_r6.js} +2 -2
- package/dist/client/assets/{diagram-S7CK7UJ4-B4H5MfDU.js → diagram-S7CK7UJ4-DGjl3T82.js} +2 -2
- package/dist/client/assets/{diagram-UQ7AKVKN-BN9pt82T.js → diagram-UQ7AKVKN-CXGDugDN.js} +2 -2
- package/dist/client/assets/{diagram-VSXAHHWV-C69gO9TK.js → diagram-VSXAHHWV-ClIfV-Eb.js} +2 -2
- package/dist/client/assets/{diagram-VX7I27RA-qliQCn2I.js → diagram-VX7I27RA-CcyEAXBh.js} +2 -2
- package/dist/client/assets/{diagram-Z3DM3KII-JnCXFjMD.js → diagram-Z3DM3KII-B4b4azfJ.js} +2 -2
- package/dist/client/assets/{dialog-C4UzQSL1.js → dialog-D--IO2tX.js} +2 -2
- package/dist/client/assets/{diffRendering-Cuv7q0nc.js → diffRendering-CCO51SHu.js} +2 -2
- package/dist/client/assets/{discovery-list-ppl7-G1K.js → discovery-list-E9mW3ie9.js} +2 -2
- package/dist/client/assets/{dist-CnDtgaa3.js → dist-BUfo2bac.js} +3 -3
- package/dist/client/assets/{draft-input-DUB7VaUv.js → draft-input-BqhTvFTz.js} +2 -2
- package/dist/client/assets/{duoViewer-Bi-KrG5F.js → duoViewer-DrRt1X-q.js} +2 -2
- package/dist/client/assets/{dynamic-mqe80fw7.js → dynamic-BHunf18B.js} +3 -3
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-jdXVhqCj.js → ebnfDiagram-PWID7BFC-C4BXGn4k.js} +2 -2
- package/dist/client/assets/{embeddedScripts-Qhl8LxE1.js → embeddedScripts-3mOBT50V.js} +2 -2
- package/dist/client/assets/{empty-GrsNgo1m.js → empty-IIGW45Hv.js} +2 -2
- package/dist/client/assets/{entities-D6pHmUcl.js → entities-ByTmol1p.js} +2 -2
- package/dist/client/assets/{erDiagram-RLTQ6QDP-DdgQriY9.js → erDiagram-RLTQ6QDP-DCS17tz_.js} +2 -2
- package/dist/client/assets/eventmodeling-NTZA5JFV-DnLkFrkm.js +1 -0
- package/dist/client/assets/{fileLinks-DKkO_IJu.js → fileLinks-Xjn6JEGT.js} +2 -2
- package/dist/client/assets/{fileTreeExpansion-C1UNNqSC.js → fileTreeExpansion-tsD7A-Z5.js} +2 -2
- package/dist/client/assets/flowDiagram-HODETNUW-BFbQWgza.js +1 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-DFCwukfW.js → ganttDiagram-EL5Y4UJY-BGFtO7uE.js} +2 -2
- package/dist/client/assets/{getDiffFileInput-phPjSTY8.js → getDiffFileInput-DFWDPe9O.js} +2 -2
- package/dist/client/assets/{gitGraph-4MIJSDKK-B-iBBweB.js → gitGraph-4MIJSDKK-DZeZydG5.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-w7enwZUZ.js → gitGraphDiagram-WWUBYQGX-3uL4kQuc.js} +2 -2
- package/dist/client/assets/{guideRunStore-C-LauQUS.js → guideRunStore-CGkdBBWi.js} +2 -2
- package/dist/client/assets/{htmlRender-DVq1i7PZ.js → htmlRender-n-z4ejOb.js} +2 -2
- package/dist/client/assets/{index-CW8ApI1G.js → index-CB8eLeeR.js} +3 -3
- package/dist/client/assets/{info-A6RAGUB7-zYd5-_tB.js → info-A6RAGUB7-C3L7Iy2t.js} +1 -1
- package/dist/client/assets/{infoDiagram-27XIBGKW-BlWLgzyt.js → infoDiagram-27XIBGKW-B8XmKHVk.js} +2 -2
- package/dist/client/assets/{input-DpZhQSV2.js → input-DX_wpYEr.js} +2 -2
- package/dist/client/assets/{input-group-BjfPTIWt.js → input-group-B7App4HX.js} +2 -2
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-oNq825oe.js → ishikawaDiagram-5VMMS53U-DqYb5ghg.js} +2 -2
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-BQqGB1_d.js → journeyDiagram-3NMN7TZE-f4xls24M.js} +2 -2
- package/dist/client/assets/{kanban-definition-UXKFOSKX-CDCYjq7t.js → kanban-definition-UXKFOSKX-C4hiNifc.js} +2 -2
- package/dist/client/assets/{kbd-BfsP5lvQ.js → kbd-CBsCsK1C.js} +2 -2
- package/dist/client/assets/{keybindings-BD3cM3Jm.js → keybindings-DQLn36Qh.js} +2 -2
- package/dist/client/assets/layout-grid-CCkPw5ih.js +2 -0
- package/dist/client/assets/{lazyRouteComponent-DebYKx4q.js → lazyRouteComponent-F8XJwdjp.js} +2 -2
- package/dist/client/assets/{line-Dr_Yg9S8.js → line-CAwl86yA.js} +2 -2
- package/dist/client/assets/{link-wJO6kwX4.js → link-Dsk-mMeT.js} +2 -2
- package/dist/client/assets/{linkedPrompt-Dx_WF0Gk.js → linkedPrompt-D3xnUYyG.js} +2 -2
- package/dist/client/assets/main-B3UqEpE9.css +2 -0
- package/dist/client/assets/main-DzuY7nUi.js +26 -0
- package/dist/client/assets/{mediaReference-DEdeypAC.js → mediaReference-DFBMieZe.js} +2 -2
- package/dist/client/assets/{mediaSource-DTry5UU8.js → mediaSource-DwE2MD82.js} +2 -2
- package/dist/client/assets/{mermaid-parser.core-EKu4BBvw.js → mermaid-parser.core-CQTH3UnZ.js} +4 -4
- package/dist/client/assets/{mermaid.core-C-FRLnEk.js → mermaid.core-D6j4Oepc.js} +5 -5
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-Bo-8FCl-.js → mindmap-definition-YA3MSWOX-mUjULOXx.js} +2 -2
- package/dist/client/assets/{number-field-B0OyTTUs.js → number-field-CO0djGoZ.js} +2 -2
- package/dist/client/assets/{observeResize-CBAzjAMz.js → observeResize-DnTxIA8M.js} +2 -2
- package/dist/client/assets/{onboarding-EecLmYJ0.js → onboarding-BWsXQF-8.js} +2 -2
- package/dist/client/assets/{openFileInPreview-MgwNsNCM.js → openFileInPreview-BjXtA6rm.js} +2 -2
- package/dist/client/assets/{p4ProjectFile-DZ6HGjaI.js → p4ProjectFile-Cit38tzd.js} +2 -2
- package/dist/client/assets/{packet-AYTQ26CC-DD_SFe63.js → packet-AYTQ26CC-B6oJlnoT.js} +1 -1
- package/dist/client/assets/{pair-BzsQ1gz0.js → pair-BOAY3H4W.js} +2 -2
- package/dist/client/assets/{pegDiagram-XKGWAZYB-Bbw22YYs.js → pegDiagram-XKGWAZYB-MKsaJe-e.js} +2 -2
- package/dist/client/assets/{phoneViewer-DZyuQ-is.js → phoneViewer-DhI2RNKg.js} +2 -2
- package/dist/client/assets/{pie-WAS4IAKB-CNHjs-Ma.js → pie-WAS4IAKB-CVr4vbdT.js} +1 -1
- package/dist/client/assets/{pieDiagram-E7YTZNPT-_ZbKy7eA.js → pieDiagram-E7YTZNPT-CU60SxBF.js} +2 -2
- package/dist/client/assets/{pierre-icons-BubjdUjD.js → pierre-icons-B278VAke.js} +2 -2
- package/dist/client/assets/{popover-BuuvISBT.js → popover-BJ6nvlLO.js} +2 -2
- package/dist/client/assets/{preview-BlW45a9H.js → preview-BPE4Ptwy.js} +2 -2
- package/dist/client/assets/{preview-CwzKOKVG.js → preview-Cf8NQ1hB.js} +2 -2
- package/dist/client/assets/{previewMiniPlayerStore-CGiA2h59.js → previewMiniPlayerStore-C-S6Z_7R.js} +2 -2
- package/dist/client/assets/{primary-3GB-obcz.js → primary-C8ChofNZ.js} +2 -2
- package/dist/client/assets/{primaryCloudLinkState-DYmepSfi.js → primaryCloudLinkState-CC_tdVXQ.js} +2 -2
- package/dist/client/assets/{projectFilesQueryState-D2rMhOEA.js → projectFilesQueryState-Btmth-fd.js} +2 -2
- package/dist/client/assets/{projectScriptEditor-BxnriUVv.js → projectScriptEditor-jVLgvupi.js} +2 -2
- package/dist/client/assets/{providerSkills-C_OG7yP0.js → providerSkills-CQC96ZMr.js} +2 -2
- package/dist/client/assets/{pullRequestDetail.logic-BhGUhCGd.js → pullRequestDetail.logic-CM8xaqJx.js} +2 -2
- package/dist/client/assets/{pullRequestIcons-DsTinQ4q.js → pullRequestIcons-BjW5TUsG.js} +2 -2
- package/dist/client/assets/{pullRequestReviewStore-BKYNixhZ.js → pullRequestReviewStore-CfDcNEFp.js} +2 -2
- package/dist/client/assets/{pullRequests-CQ2Zte1o.js → pullRequests-BhR0uCs5.js} +2 -2
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-Bnl3w7OY.js → quadrantDiagram-AXDQQJYC-YO_Vicsa.js} +2 -2
- package/dist/client/assets/{queries-_Qf89qTX.js → queries-BEkNnQZg.js} +2 -2
- package/dist/client/assets/{query-CRlRG7rf.js → query-MZn8giyP.js} +2 -2
- package/dist/client/assets/{radar-RG4KPBEZ-DweWJU_g.js → radar-RG4KPBEZ-C7MHhieK.js} +1 -1
- package/dist/client/assets/{radio-group-iJUHzvZC.js → radio-group-Ca6IMyWa.js} +2 -2
- package/dist/client/assets/{railroad-74A4TZTK-DmxX8fKE.js → railroad-74A4TZTK-SZuHkN8h.js} +1 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-DrVmy01m.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-BcPn9yic.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-Dv1rvzCW.js +1 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-D94VfvdV.js → railroadDiagram-O6MQD6OU-Da7fqGWf.js} +2 -2
- package/dist/client/assets/{renderScheduler-DIWSOdLy.js → renderScheduler-lUltsq6V.js} +2 -2
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-4Sss1rRH.js → requirementDiagram-BXWQKSXE-i46-nz91.js} +2 -2
- package/dist/client/assets/{rightPanelStore-C3FvIXSq.js → rightPanelStore-UcehuwgS.js} +2 -2
- package/dist/client/assets/{runtime-CJNEsw6U.js → runtime-BunkcrGh.js} +3 -3
- package/dist/client/assets/{runtime-ets76j-h.js → runtime-DTzyj6T4.js} +2 -2
- package/dist/client/assets/{runtimeModeConfig-DNgZlBoC.js → runtimeModeConfig-CTQ97M7F.js} +2 -2
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-CFV5CXMi.js → sankeyDiagram-P5KCCOFB-CZzNX2hl.js} +2 -2
- package/dist/client/assets/{scheduledTasksSettings.logic-CGYf8FQi.js → scheduledTasksSettings.logic-CkbvhKba.js} +2 -2
- package/dist/client/assets/{scroll-area-By1ARHPp.js → scroll-area-BStafc_O.js} +2 -2
- package/dist/client/assets/{select-DqGlaY40.js → select-BIK-KVyd.js} +2 -2
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-Cln2JnVw.js → sequenceDiagram-WJ2MYXX4-32aHdDFl.js} +2 -2
- package/dist/client/assets/{server-DpLkyQ0R.js → server-COuN0pwg.js} +2 -2
- package/dist/client/assets/{session-logic-CRwcdrNw.js → session-logic-CqRiME2K.js} +2 -2
- package/dist/client/assets/{session-Cau_XThy.js → session-seR2OUj0.js} +2 -2
- package/dist/client/assets/{settings-B4aWX2xy.js → settings-CiPM9fHt.js} +2 -2
- package/dist/client/assets/{settings.appearance-C__igzME.js → settings.appearance-B91nMGep.js} +2 -2
- package/dist/client/assets/settings.archived-CucIYN3P.js +2 -0
- package/dist/client/assets/{settings.computer-use-SngXUHmk.js → settings.computer-use-eCFCpqRb.js} +2 -2
- package/dist/client/assets/{settings.connections-Bw61DbEx.js → settings.connections-C-yLB0Yr.js} +2 -2
- package/dist/client/assets/{settings.data-controls-DbqXwsIJ.js → settings.data-controls-BGHuOOAF.js} +2 -2
- package/dist/client/assets/{settings.decisions-Bw-dFoGZ.js → settings.decisions-DbzSG84P.js} +2 -2
- package/dist/client/assets/settings.designs-DzW0uzhe.js +2 -0
- package/dist/client/assets/{settings.diagnostics-D5dG-CTq.js → settings.diagnostics-Vw2M9wTQ.js} +2 -2
- package/dist/client/assets/{settings.general-DVafi8E5.js → settings.general-CfY4GAoq.js} +2 -2
- package/dist/client/assets/{settings.integrations-C4t8diIu.js → settings.integrations-C0hzJpnr.js} +2 -2
- package/dist/client/assets/{settings.keybindings-B1dMCy_G.js → settings.keybindings-QcHgKHxE.js} +2 -2
- package/dist/client/assets/{settings.open-source-licenses-kgRl8SYE.js → settings.open-source-licenses-CVPaYBdL.js} +2 -2
- package/dist/client/assets/{settings.plugins-HtKh3bu8.js → settings.plugins-Db2nz9n9.js} +2 -2
- package/dist/client/assets/{settings.projects-CtKhtmR8.js → settings.projects-Bxf_7lyF.js} +3 -3
- package/dist/client/assets/{settings.providers-Bd0702hD.js → settings.providers-XFKxTM8C.js} +3 -3
- package/dist/client/assets/{settings.scheduled-tasks-Tpcp-BCI.js → settings.scheduled-tasks-B7OyO0sP.js} +2 -2
- package/dist/client/assets/{settings.snap-shot-BngynTBI.js → settings.snap-shot-BabiAbdd.js} +2 -2
- package/dist/client/assets/{settings.source-control-DmQkMruN.js → settings.source-control-BKphaihu.js} +2 -2
- package/dist/client/assets/{settings.storage-CUeYkScx.js → settings.storage-CUhQEKB5.js} +2 -2
- package/dist/client/assets/{settingsLayout-Du5mjDQU.js → settingsLayout-BNfRQ-bS.js} +2 -2
- package/dist/client/assets/{sidebar-Dxq8kloB.js → sidebar-CilourkR.js} +2 -2
- package/dist/client/assets/{sidebarProjectGrouping-BfZ705hQ.js → sidebarProjectGrouping-BVhK5qEe.js} +2 -2
- package/dist/client/assets/{skeleton--M5AJWoC.js → skeleton-DoQ8WJ33.js} +2 -2
- package/dist/client/assets/{sourceControl-Cmvk57z0.js → sourceControl-CZSeEF87.js} +2 -2
- package/dist/client/assets/{sourceControlClients-C0IkCWsN.js → sourceControlClients-gLUbjqCT.js} +2 -2
- package/dist/client/assets/{spinner-cHzhZrgb.js → spinner-dBHTxMdw.js} +2 -2
- package/dist/client/assets/{standalone-page-BaVFigS5.js → standalone-page-7u6OMfTi.js} +2 -2
- package/dist/client/assets/{stateDiagram-D77RDMKH-CZ_bsdqp.js → stateDiagram-D77RDMKH-DzKAnfb5.js} +2 -2
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-B8R9PPf1.js +2 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-My4j-GD7.js → swimlanes-42K2YHIH-CQb8er0I.js} +2 -2
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-CM0Ncs1m.js +9 -0
- package/dist/client/assets/{terminal-links-BSEOjQCo.js → terminal-links-DaTgSxq7.js} +2 -2
- package/dist/client/assets/{terminalSessions-BpuHxk1q.js → terminalSessions-DijGQOOD.js} +2 -2
- package/dist/client/assets/{textarea-XR9lgl40.js → textarea-DyCJe8OO.js} +2 -2
- package/dist/client/assets/{themePalette-CONAHv4I.js → themePalette-mGukKeaJ.js} +2 -2
- package/dist/client/assets/{timeline-definition-24CTP7MA-Q9JBFJBF.js → timeline-definition-24CTP7MA-DznrmSZM.js} +2 -2
- package/dist/client/assets/{toast-CwJ-bjHi.js → toast-WpVvhflo.js} +2 -2
- package/dist/client/assets/{toggle-FqX4CVcC.js → toggle-C4iGKTHY.js} +2 -2
- package/dist/client/assets/{toggle-group-JCVlIQ5i.js → toggle-group-CM-lVPv_.js} +2 -2
- package/dist/client/assets/{tooltip-CtZ6PJJw.js → tooltip-C85X81rS.js} +2 -2
- package/dist/client/assets/{treeView-Q6P3EWNA-3qBVWI88.js → treeView-Q6P3EWNA-ChE0E3HR.js} +1 -1
- package/dist/client/assets/{treemap-WGGIJYW6-O3_0iynh.js → treemap-WGGIJYW6-BzvvYy-b.js} +1 -1
- package/dist/client/assets/{uiStateStore-CcTtH1Jz.js → uiStateStore-DGq3v0QD.js} +2 -2
- package/dist/client/assets/{usage-DWATWAhJ.js → usage-B75rDU8q.js} +2 -2
- package/dist/client/assets/{usageAccess-Cpk_Aec9.js → usageAccess-BS7RH41F.js} +2 -2
- package/dist/client/assets/{usageFormat-B23xwSbG.js → usageFormat-neDCKBUu.js} +2 -2
- package/dist/client/assets/{usageShortcuts-BMHWlKT1.js → usageShortcuts-BXE7khxl.js} +2 -2
- package/dist/client/assets/{use-atom-command-3Z4EZbCj.js → use-atom-command-6Jnx7WG6.js} +2 -2
- package/dist/client/assets/{useAriaLabelledBy-CMSGO3cd.js → useAriaLabelledBy-0jbiz1G5.js} +2 -2
- package/dist/client/assets/{useHandleNewThread-B9RCcbnw.js → useHandleNewThread-ot_mP7L5.js} +2 -2
- package/dist/client/assets/{useLocation-BTH6wjAt.js → useLocation-CEeuom34.js} +2 -2
- package/dist/client/assets/useNavigate-B5WzUZJ7.js +2 -0
- package/dist/client/assets/{useNavigateBack-DskLvJ9n.js → useNavigateBack-B1hKrkap.js} +2 -2
- package/dist/client/assets/{useParams-DhNu716j.js → useParams-DPNRViD9.js} +2 -2
- package/dist/client/assets/{usePermissionStatus-DaOsrYgE.js → usePermissionStatus-DhHAmOgT.js} +2 -2
- package/dist/client/assets/{usePullRequestActions-3vXHUgiG.js → usePullRequestActions-CC8iuW6L.js} +2 -2
- package/dist/client/assets/{useRegisterFieldControl-BX1EsUxP.js → useRegisterFieldControl-DHg4qk95.js} +2 -2
- package/dist/client/assets/{useScopedModelAvailability-BcYNdaQr.js → useScopedModelAvailability-AfE61RiJ.js} +2 -2
- package/dist/client/assets/{useSettings-D_OJJgNE.js → useSettings-Dr8XPXiN.js} +2 -2
- package/dist/client/assets/{useT3ConnectAuthPrompt-BcMgBGvL.js → useT3ConnectAuthPrompt-CVbTUWTC.js} +2 -2
- package/dist/client/assets/utils-ChK8VEFC.js +37 -0
- package/dist/client/assets/{vcsRefInvalidation-Dj5BpmJA.js → vcsRefInvalidation-4ukX8s_d.js} +2 -2
- package/dist/client/assets/{vennDiagram-4TSXK5OY-CGJ_vzL4.js → vennDiagram-4TSXK5OY-B7LoDpFP.js} +2 -2
- package/dist/client/assets/{wardley-WFR3VGLG-dLKWDrdG.js → wardley-WFR3VGLG-BGtlW2Xe.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-CZY3cfuL.js → wardleyDiagram-VM6X3IG4-BFhvdWVx.js} +2 -2
- package/dist/client/assets/{welcome-BSKechyt.js → welcome-B_CtEQwh.js} +2 -2
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-H2sll7xl.js → xychartDiagram-S5SC5T6Z-CEb-52Rm.js} +2 -2
- package/dist/client/index.html +1 -1
- package/dist/{renderer-CCVomMFP.mjs → renderer-5lNN05tA.mjs} +2 -2
- package/dist/{runtime-DKclsP_7.mjs → runtime-BuR0otfT.mjs} +85 -53
- package/package.json +1 -1
- package/dist/client/assets/AlertDialogRoot-D5I6scXr.js +0 -2
- package/dist/client/assets/Input-DyKzFpW0.js +0 -2
- package/dist/client/assets/_chat-DkCa6MKZ.js +0 -45
- package/dist/client/assets/architecture-7GRP2DOG-CrDVVAg3.js +0 -1
- package/dist/client/assets/channel-CzmVRCkd.js +0 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-Ce7tu2gJ.js +0 -2
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-Ce7tu2gJ.js +0 -2
- package/dist/client/assets/eventmodeling-NTZA5JFV-C45g87dF.js +0 -1
- package/dist/client/assets/flowDiagram-HODETNUW-CxTQXeBP.js +0 -1
- package/dist/client/assets/layout-grid-DDlG0mCT.js +0 -2
- package/dist/client/assets/main-DklPMTd5.css +0 -2
- package/dist/client/assets/main-DqlnVz2C.js +0 -26
- package/dist/client/assets/railroad-abnf-HS5TGJTU-CSGCBDLE.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-qkcBzemM.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-B-rmMXQT.js +0 -1
- package/dist/client/assets/settings.archived-Bs-jKZBo.js +0 -2
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-93FSJgV8.js +0 -2
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-1FS1ow3r.js +0 -9
- package/dist/client/assets/useNavigate-BS8hIoQr.js +0 -2
- package/dist/client/assets/utils-DqIvhFCT.js +0 -37
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{$C as e,$T as t,$b as n,$o as r,$x as i,$y as a,AT as o,Ah as s,Al as c,As as l,Aw as u,BS as d,BT as f,B_ as p,Bv as m,By as h,CC as g,Cw as _,Cx as v,Cy as y,DC as ee,Dw as te,Dx as ne,Dy as re,ET as b,Ev as ie,Ex as ae,FC as oe,FS as se,F_ as x,Fh as ce,Fs as le,Fx as ue,GS as de,Gh as fe,Go as pe,Gv as me,HS as S,Hb as he,Hx as ge,IS as _e,IT as C,I_ as ve,Ix as ye,Iy as w,JS as be,J_ as xe,Jx as Se,KS as Ce,Kb as we,Kh as Te,LS as Ee,LT as T,L_ as De,Lc as E,Lh as Oe,Lx as ke,MC as Ae,MT as je,Mh as Me,Mv as Ne,Mx as Pe,My as Fe,NC as Ie,NT as D,Nh as Le,Nl as Re,Nx as ze,Ny as Be,OC as Ve,OT as He,Ol as Ue,Ov as We,Ox as O,Oy as Ge,PC as Ke,PT as qe,P_ as Je,Ph as Ye,QS as Xe,Q_ as Ze,Qb as Qe,Qo as $e,Qy as et,RC as tt,RS as nt,RT as rt,R_ as it,Rv as at,Rx as k,Ry as ot,SC as st,ST as ct,Ss as lt,Sv as ut,Sx as dt,TC as ft,TT as pt,T_ as mt,US as ht,UT as gt,U_ as _t,Ub as vt,Uh as yt,Uy as bt,VS as xt,VT as A,V_ as St,Vh as Ct,Vs as wt,Vv as Tt,Vw as Et,Vx as j,Vy as Dt,Wh as Ot,Wv as kt,Wx as At,Wy as jt,XS as Mt,Xb as Nt,YS as Pt,Yb as Ft,Yo as It,Ys as Lt,Yw as Rt,Z_ as zt,Zo as M,Zw as Bt,Zx as N,_u as Vt,_v as Ht,_y as Ut,aC as Wt,aS as Gt,au as Kt,aw as qt,ax as Jt,bC as Yt,bS as Xt,bT as Zt,bb as Qt,bs as $t,by as en,cS as tn,cl as nn,cu as rn,cv as an,cw as on,cx as sn,cy as cn,dS as ln,db as un,du as dn,dv as fn,dx as pn,eb as mn,ew as hn,ex as gn,fS as _n,fb as vn,fu as yn,fv as bn,fx as xn,fy as Sn,gT as Cn,gb as wn,gu as Tn,h as En,hS as Dn,hT as On,hl as kn,hs as An,iS as jn,iT as Mn,ib as Nn,ig as Pn,iu as Fn,jT as In,jh as Ln,jt as Rn,jx as P,kC as zn,kT as Bn,kh as Vn,kv as Hn,l as Un,lS as Wn,lT as Gn,lb as Kn,ls as qn,lu as Jn,lx as Yn,ly as Xn,my as Zn,nT as Qn,nb as $n,ng as er,ns as tr,nv as nr,nx as F,oc as rr,ou as ir,ov as ar,ox as or,pS as sr,pT as cr,pl as lr,pv as ur,px as I,qC as dr,qS as fr,q_ as pr,qb as mr,qh as hr,qy as gr,rT as _r,rb as vr,rs as L,rv as yr,rx as R,ry as br,sE as xr,sS as Sr,sb as Cr,ss as z,su as wr,sw as Tr,sx as Er,sy as Dr,tC as B,tS as V,tb as Or,tw as kr,ty as Ar,uS as jr,uu as Mr,uv as Nr,uy as Pr,vS as Fr,vb as Ir,vs as Lr,vv as Rr,vw as zr,wx as Br,xc as Vr,xs as Hr,yC as Ur,yv as Wr,yw as Gr,zS as H,zT as Kr,z_ as qr}from"./utils-DqIvhFCT.js";import{$ as Jr,$t as Yr,A as U,An as Xr,At as Zr,Bn as Qr,Bt as $r,Cn as ei,Ct as ti,D as ni,Dn as ri,Dt as ii,E as ai,En as oi,F as si,G as ci,Gn as W,Gt as li,Hn as ui,Ht as di,I as fi,Jn as pi,Jt as mi,K as hi,Kn as gi,Kt as _i,M as G,Mt as vi,N as K,Nt as yi,P as bi,Pn as xi,Pt as Si,Q as Ci,Qt as wi,R as Ti,Rn as Ei,S as Di,Sn as Oi,St as ki,Tn as Ai,Tt as ji,Un as q,Ut as Mi,V as Ni,Vn as Pi,Vt as Fi,W as Ii,Wn as Li,Wt as Ri,X as zi,Xt as Bi,Y as Vi,Yt as Hi,Z as Ui,Zt as Wi,_n as Gi,_t as Ki,an as qi,bn as Ji,bt as Yi,cn as Xi,ct as Zi,dn as Qi,dt as J,en as $i,fn as ea,ft as ta,gn as na,gt as ra,hn as ia,ht as aa,in as oa,j as sa,k as ca,kn as la,kt as ua,ln as da,lt as fa,m as pa,mt as ma,nn as ha,nt as ga,ot as _a,p as va,pn as ya,pt as ba,q as xa,qt as Sa,rn as Ca,rt as wa,sn as Ta,t as Ea,tn as Da,tt as Oa,un as ka,ut as Aa,v as ja,vn as Ma,vt as Na,w as Pa,wn as Fa,wt as Ia,xn as La,xt as Ra,y as za,yn as Ba,yt as Va,zn as Ha,zt as Ua}from"./runtime-CJNEsw6U.js";function Wa(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 Ga(e){let t=new URL(Wa(e));return t.protocol=t.protocol===`https:`?`wss:`:`ws:`,t.toString()}function Ka(e,t){return[...e].sort(t)}function qa(e){return/^[a-zA-Z]:([/\\]|$)/.test(e)}function Ja(e){return e.startsWith(`\\\\`)}function Ya(e){return Ja(e)||qa(e)}function Xa(e){return e===`.`||e===`..`||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)}function Za(e){return e===`/`||e===`\\`||/^[a-zA-Z]:[/\\]$/.test(e)}function Qa(e){if(e.length===0||Za(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 $a(e){return Qa(e.trim())}function eo(e){let t=$a(e);return qa(t)||Ja(t)?t.replaceAll(`/`,`\\`).toLowerCase():t}var to=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/;function no(e){let t=e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+/,``).slice(0,64).replace(/-+$/,``);return t.length===0?`project`:to.test(t)?`${t}-project`:t}var ro=/^\/[A-Za-z]:[\\/]/;function io(e){return ro.test(e)?e.slice(1):e}function ao(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 oo(e,t){if(!t)return null;let n=io(e.replaceAll(`\\`,`/`)),r=io(t.replaceAll(`\\`,`/`)).replace(/\/+$/,``),i=Ya(io(t)),a=i?n.toLowerCase():n,o=i?r.toLowerCase():r;return a.replace(/\/+$/,``)===o?`.`:a.startsWith(`${o}/`)?n.slice(r.length+1):null}function so(e){return e.startsWith(`/`)||Ya(e)}function co(e,t){if(so(e)||e.startsWith(`~/`)||e.startsWith(`~\\`))return e;let n=t.replace(/[/\\]+$/,``);return Ya(t)?`${n}\\${e.replaceAll(`/`,`\\`)}`:`${n}/${e}`}function lo(e){if(!e)return null;if(e.provider===`azure-devops`){let t=(e.displayName??``).split(`/`).filter(e=>e!==`_git`);return e.name||t.at(-1)||null}return e.displayName?e.displayName:e.owner&&e.name?`${e.owner}/${e.name}`:null}function uo(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 fo(e,t,n){return e===t||e.endsWith(`.${t}`)?!0:n!==void 0&&e.split(`.`).includes(n)}function po(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 mo(n,/^\/([^/]+\/[^/]+)\/pulls\/(\d+)(?:\/|$)/u.exec(t.pathname));if(fo(n,`github.com`,`github`)){let e=/^\/([^/]+\/[^/]+)\/pull\/(\d+)(?:\/|$)/u.exec(t.pathname);if(e)return mo(n,e)}let r=/^\/([^/]+(?:\/[^/]+)+)\/pulls\/(\d+)(?:\/|$)/u.exec(t.pathname);if(r){let e=mo(n,r);return e===null?null:{...e,authority:t.host.toLowerCase()}}let i=/^\/([^/]+(?:\/[^/]+)+)\/-\/merge_requests\/(\d+)(?:\/|$)/u.exec(t.pathname);return i?mo(n,i):fo(n,`bitbucket.org`,`bitbucket`)?mo(n,/^\/([^/]+\/[^/]+)\/pull-requests\/(\d+)(?:\/|$)/u.exec(t.pathname)):fo(n,`dev.azure.com`)||n.endsWith(`.visualstudio.com`)?mo(n,/^\/((?:[^/]+\/)*_git\/[^/]+)\/pullrequest\/(\d+)(?:\/|$)/u.exec(t.pathname)):null}function mo(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 ho(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 go(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 _o(e,t){let n=po(e.url),r=po(t);return n!==null&&r!==null&&n.host===r.host&&n.repository===r.repository&&n.number===r.number&&n.authority===r.authority}function vo(e){if(po(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 yo(e){let t=e.url===void 0?null:po(e.url),n=uo(`${(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 bo(e,t){let n=po(e.url);if(n!==null&&n.number===e.number){let e=uo(`${n.host}/${n.repository}`);if(n.authority!==void 0||e.startsWith(`dev.azure.com/`))return yo(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 xo(e,t){return So(e)===So(t)}function So(e){let t=yo(e);return`${t.host}/${t.repository}#${t.number}`}function Co(e){return e.filter(e=>e.source!==`stack-dismissed`)}function wo(e){return e.snapshot===null||e.snapshot.state===`open`}function To(e){let t=e.snapshot?.updatedAt??e.linkedAt,n=Date.parse(t);return Number.isNaN(n)?0:n}function Eo(e){let t=Co(e);if(t.length===0)return null;let n=t.filter(wo);if(n.length===1)return{kind:`single`,link:n[0]};let r=Oo(t);if(n.length>1){let e=r.map(e=>[...e.layers].reverse().filter(wo)).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)=>To(t)-To(e))[0]}}function Do(e){let t=Eo(e);return t===null?null:t.kind===`single`?t.link:t.top}function Oo(e){let t=Co(e),n=[],r=new Set,i=new Map;for(let e of t){if(e.stack===null)continue;let t=yo(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(So(t));n.push({kind:`native`,layers:e})}let a=t.filter(e=>!r.has(So(e))),o=(e,t)=>{let n=yo(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(So(t))}for(let e of a){if(c.has(So(e)))continue;let t=[],i=e;for(;i!==void 0&&!r.has(So(i));)r.add(So(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(So(e))||n.push({kind:`derived`,layers:[e]});return n}function ko(e){let t=Co(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=Oo(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 Ao(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(Co(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 jo(e){if(e.pullRequests!==void 0)return e.pullRequests;let t=e.linkedPullRequest;return t==null?[]:[{...bo(t),url:t.url,source:`manual`,linkedAt:`1970-01-01T00:00:00.000Z`,snapshot:null,stack:null}]}function Mo(e,t){return{...e,pullRequests:jo(e).map(e=>xo(e,t)?t:e)}}var No=new Set([`command_execution`,`dynamic_tool`,`subagent`]),Po=new Set([`cancelled`,`completed`,`failed`,`interrupted`,`waiting`]);function Fo(e){return e.some(e=>Io(e.kind))}function Io(e){switch(e){case`command`:return!1;case`subagent`:case`monitor`:case`background_task`:return!0}}function Lo(e){return e!=null&&Po.has(e.status)}function Ro(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Reflect.get(e,`persistent`)===!0}function zo(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 Bo(e,t){let n=zo(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 Vo(e){let t=e.nativeItemRef?.nativeId;return typeof t==`string`&&t.length>0?t:String(e.id)}function Ho(e){let t=new Set((e.runs??[]).filter(e=>e.status===`rolled_back`).map(e=>String(e.id)));return e.turnItems.filter(e=>No.has(e.type)&&dn(e.status)&&!(e.type===`dynamic_tool`&&Ro(e.input))&&(e.runId===void 0||e.runId===null||!t.has(String(e.runId))))}function Uo(e){if(e.hasActiveRun??e.runs?.some(e=>e.status===`preparing`||e.status===`starting`||e.status===`running`)??!1)return[];if(e.latestRun==null)return Wo(e.pullRequests);if(!Lo(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 Ho(e)){let e=Vo(n);t.has(e)||t.set(e,Bo(e,n))}for(let n of Wo(e.pullRequests))t.set(n.taskId,n);return Array.from(t.values())}function Wo(e){return(e??[]).flatMap(e=>e.watch===void 0||e.source===`stack-dismissed`?[]:[{taskId:`pull-request-watch:${So(e)}`,description:`Watching pull request #${e.number}`,kind:`monitor`}])}var Y=P(`EnvironmentCommands.allocateCommandId`)(function*(e){if(e.commandId!==void 0)return e.commandId;let t=yield*pi;return Xn.make(yield*t.randomUUIDv4().pipe(jr))}),X=e=>Ui(Fn.dispatchCommand,e),Go=e=>Ui(Fn.getThreadProjection,{threadId:e}),Ko=P(`EnvironmentCommands.supportsServerResolvedCommandContext`)(function*(){return(yield*Vi()).environment.capabilities.serverResolvedCommandContext===!0}),qo=P(`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*Ui(E.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]})}),Jo=P(`EnvironmentCommands.mutateProject`)(function*(e){return yield*Ui(E.projectsMutate,e)}),Yo=P(`EnvironmentCommands.createProject`)(function*(e){return yield*Jo({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}})}),Xo=P(`EnvironmentCommands.updateProject`)(function*(e){return yield*Jo({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}})}),Zo=P(`EnvironmentCommands.deleteProject`)(function*(e){return yield*Jo({type:`project.delete`,commandId:yield*Y(e),projectId:e.projectId,...e.force===void 0?{}:{force:e.force}})}),Qo=P(`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})});function $o(e,t){return Y(t).pipe(O(n=>X({type:e,commandId:n,threadId:t.threadId})))}var es=P(`EnvironmentCommands.deleteThread`)(function*(e){return yield*$o(`thread.delete`,e)}),ts=P(`EnvironmentCommands.archiveThread`)(function*(e){return yield*$o(`thread.archive`,e)}),ns=P(`EnvironmentCommands.unarchiveThread`)(function*(e){return yield*$o(`thread.unarchive`,e)}),rs=P(`EnvironmentCommands.settleThread`)(function*(e){return yield*$o(`thread.settle`,e)}),is=P(`EnvironmentCommands.pinThread`)(function*(e){return yield*X({type:`thread.pin`,commandId:yield*Y(e),threadId:e.threadId,...e.orderKey===void 0?{}:{orderKey:e.orderKey}})}),as=P(`EnvironmentCommands.setThreadAutoSettle`)(function*(e){return yield*X({type:`thread.auto-settle.set`,commandId:yield*Y(e),threadId:e.threadId,enabled:e.enabled})}),os=P(`EnvironmentCommands.reorderPinnedThread`)(function*(e){return yield*X({type:`thread.pin.reorder`,commandId:yield*Y(e),threadId:e.threadId,orderKey:e.orderKey})}),ss=P(`EnvironmentCommands.reorderActiveThread`)(function*(e){return yield*X({type:`thread.active.reorder`,commandId:yield*Y(e),threadId:e.threadId,orderKey:e.orderKey})}),cs=P(`EnvironmentCommands.unpinThread`)(function*(e){return yield*$o(`thread.unpin`,e)}),ls=P(`EnvironmentCommands.unsettleThread`)(function*(e){return yield*X({type:`thread.unsettle`,commandId:yield*Y(e),threadId:e.threadId,reason:e.reason})}),us=P(`EnvironmentCommands.snoozeThread`)(function*(e){return yield*X({type:`thread.snooze`,commandId:yield*Y(e),threadId:e.threadId,snoozedUntil:e.snoozedUntil})}),ds=P(`EnvironmentCommands.unsnoozeThread`)(function*(e){return yield*X({type:`thread.unsnooze`,commandId:yield*Y(e),threadId:e.threadId,reason:e.reason})}),fs=P(`EnvironmentCommands.visitThread`)(function*(e){return yield*X({type:`thread.visit`,commandId:yield*Y(e),threadId:e.threadId,visitedAt:e.visitedAt})}),ps=P(`EnvironmentCommands.markThreadUnread`)(function*(e){return yield*X({type:`thread.mark-unread`,commandId:yield*Y(e),threadId:e.threadId})}),ms=P(`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.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.modelSelection!==void 0&&(n=yield*X({type:(yield*Ko())?`thread.model-selection.set`:le((yield*Go(e.threadId)).thread.providerInstanceId,e.modelSelection),commandId:n===null?t:Xn.make(`${t}:model-selection`),threadId:e.threadId,modelSelection:e.modelSelection})),n??{sequence:0}}),hs=P(`EnvironmentCommands.setThreadRuntimeMode`)(function*(e){return yield*X({type:`thread.runtime-mode.set`,commandId:yield*Y(e),threadId:e.threadId,runtimeMode:e.runtimeMode})}),gs=P(`EnvironmentCommands.setThreadInteractionMode`)(function*(e){return yield*X({type:`thread.interaction-mode.set`,commandId:yield*Y(e),threadId:e.threadId,interactionMode:e.interactionMode})}),_s=P(`EnvironmentCommands.startThreadTurn`)(function*(e){let t=yield*Y(e),n=yield*qo(e.threadId,e.message.messageId,e.message.attachments),r=Vr(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*Go(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*Ui(Fn.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*Ko(),c=s?null:yield*Go(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})}),vs=P(`EnvironmentCommands.interruptThreadTurn`)(function*(e){if(e.subagentId!==void 0){let t=(yield*Go(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*Go(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);Uo({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 Co(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})}),ys=P(`EnvironmentCommands.respondToThreadApproval`)(function*(e){return yield*X({type:`runtime-request.respond`,commandId:yield*Y(e),threadId:e.threadId,requestId:e.requestId,decision:e.decision})}),bs=P(`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}})}),xs=P(`EnvironmentCommands.dismissThreadUserInput`)(function*(e){return yield*X({type:`thread.user-input.dismiss`,commandId:yield*Y(e),threadId:e.threadId,requestId:e.requestId})}),Ss=P(`EnvironmentCommands.revertThreadCheckpoint`)(function*(e){if(e.checkpointId!==void 0&&e.scopeId!==void 0&&(yield*Ko()))return yield*X({type:`checkpoint.rollback`,...e.restoreFiles===void 0?{}:{restoreFiles:e.restoreFiles},commandId:yield*Y(e),threadId:e.threadId,scopeId:cn.make(e.scopeId),checkpointId:Dr.make(e.checkpointId)});let t=yield*Go(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 Kt({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})}),Cs=P(`EnvironmentCommands.stopThreadSession`)(function*(e){let t=yield*Go(e.threadId),n=yield*Y(e),r={sequence:0};for(let i of t.providerSessions)r=yield*X({type:`provider-session.detach`,commandId:Xn.make(`${n}:detach:${i.id}`),threadId:e.threadId,providerSessionId:i.id,reason:`client-requested`});return r}),ws=P(`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:{type:`run`,runId:e.runId},...e.title===void 0?{}:{title:e.title}})}),Ts=P(`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}})}),Es=P(`EnvironmentCommands.resumeThreadQueue`)(function*(e){return yield*X({type:`queue.resume`,commandId:yield*Y(e),threadId:e.threadId})}),Ds=P(`EnvironmentCommands.reorderQueuedRun`)(function*(e){return yield*X({type:`queued-run.reorder`,commandId:yield*Y(e),threadId:e.threadId,runId:e.runId,beforeRunId:e.beforeRunId})}),Os=P(`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})}),ks=P(`EnvironmentCommands.cancelQueuedRun`)(function*(e){return yield*X({type:`queued-run.cancel`,commandId:yield*Y(e),threadId:e.threadId,runId:e.runId})}),As=P(`EnvironmentCommands.retryWorkspacePreparation`)(function*(e){return yield*X({type:`prepared-run.retry`,commandId:yield*Y(e),threadId:e.threadId,runId:e.runId})}),js=P(`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:Vr(e.edit.context,e.edit.attachments,t)}:{}})}),Ms=P(`EnvironmentCommands.linkThreadPullRequest`)(function*(e){return yield*X({...e,type:`thread.pull-request.link`,commandId:yield*Y(e)})}),Ns=P(`EnvironmentCommands.linkThreadDesign`)(function*(e){return yield*X({...e,type:`thread.design.link`,commandId:yield*Y(e)})}),Ps=P(`EnvironmentCommands.unlinkThreadDesign`)(function*(e){return yield*X({...e,type:`thread.design.unlink`,commandId:yield*Y(e)})}),Fs=P(`EnvironmentCommands.watchThreadPullRequest`)(function*(e){return yield*X({...e,type:`thread.pull-request.watch`,commandId:yield*Y(e)})}),Is=P(`EnvironmentCommands.unlinkThreadPullRequest`)(function*(e){return yield*X({...e,type:`thread.pull-request.unlink`,commandId:yield*Y(e)})}),Ls=new Set([`completed`,`failed`,`cancelled`,`interrupted`]);function Rs(e){return Ls.has(e)}function zs(e){return dn(e)}function Bs(e){return e.type===`subagent`&&dn(e.status)}function Vs(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 Hs(e){return e===void 0?null:vt(we(e))}function Us(e,t){return t.agents.map(t=>{let n=(t.state===`queued`||t.state===`running`)&&Rs(e.status)?e.status:t.state===`queued`?`pending`:t.state,r=n===`failed`,i=Hs(t.startedAt),a=Rs(n)?t.startedAt!==void 0&&t.durationMs!==void 0?Hs(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:Vs(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:Hs(t.queuedAt)??i??e.firstSeenAt,startedAt:i,completedAt:a,updatedAt:a??i??e.firstSeenAt}})}function Ws(e){return e.flatMap(e=>{let t=vt(e.updatedAt),n=e.startedAt===null?null:vt(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:Vs(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:vt(e.completedAt),updatedAt:t};return i===void 0?[o]:[o,...Us(o,i)]})}function Gs(e){let t=e.filter(e=>e.kind===`workflow`).sort((e,t)=>e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),n=cr(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=>zs(e.status)||e.status===`idle`),i=n.filter(e=>Rs(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 Ks(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 Js(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 Ys(e){let t=e.model?.trim(),n=e.provider?wt(e.provider.driver,t,e.provider.models):t,r=e.provider?.models.find(e=>e.slug===n),i=r?r.shortName||r.name:t?l(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??ao(c)}]:[]]}}function Xs(e){let t=e.result?.trim(),n=e.progress?.trim(),r=((Rs(e.status)?t||n:n||t)||``).replace(/\s+/gu,` `);return r.length>280?`${r.slice(0,280).trimEnd()}…`:r||null}function Zs(e){return e!=null&&$s(e.status)}function Qs(e){return e?.status===`queued`?e.activeRunId===null:e?.status!==`preparing`&&e?.status!==`starting`&&e?.status!==`running`}function $s(e){return e===`preparing`||e===`queued`||e===`starting`||e===`running`||e===`waiting`}function ec(e){return vt(e)}function tc(e){return e===null?null:ec(e)}function nc(e){return e===`completed`||e===`interrupted`||e===`failed`||e===`cancelled`||e===`rolled_back`}function rc(e){let t=Fo(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:tc(e.activityRunStartedAt),providerInstanceId:e.providerInstanceId,providerName:null,lastError:e.lastError??null,lastErrorClass:e.lastErrorClass??null,usageLimitResetAt:e.usageLimitResetAt??null,updatedAt:ec(e.updatedAt)}}function ic(e,t){return{...t,environmentId:e}}function ac(e,t,n=null){let r=ec(t.updatedAt),i=t.latestRunId===null?null:{runId:t.latestRunId,status:t.status===`idle`?`completed`:t.status,requestedAt:tc(t.latestRunRequestedAt??null),startedAt:tc(t.latestRunStartedAt??null),completedAt:t.latestRunCompletedAt===void 0?t.status===`idle`||nc(t.status)?r:null:tc(t.latestRunCompletedAt),assistantMessageId:null};return{environmentId:e,id:t.id,projectId:t.projectId,title:t.lineage.relationshipToParent===`subagent`?Js(t.title):t.title,providerInstanceId:t.providerInstanceId,modelSelection:t.modelSelection,runtimeMode:t.runtimeMode,interactionMode:t.interactionMode,branch:t.branch,worktreePath:t.worktreePath,pullRequests:jo(t),designs:t.designs??[],linkedPullRequest:t.linkedPullRequest??null,branchPullRequest:t.branchPullRequest??null,lineage:t.lineage,forkedFrom:t.forkedFrom,activeProviderThreadId:t.activeProviderThreadId,latestRun:i,runtime:rc(t),latestUserMessageAt:tc(t.latestUserMessageAt),...t.latestUserAuthoredMessageAt===void 0?{}:{latestUserAuthoredMessageAt:tc(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:ec(t.createdAt),updatedAt:r,archivedAt:tc(t.archivedAt),settledOverride:t.settledOverride,settledAt:tc(t.settledAt),unsettledAt:tc(t.unsettledAt??null),snoozedUntil:tc(t.snoozedUntil??null),snoozedAt:tc(t.snoozedAt??null),limitRecovery:t.limitRecovery??null,pinnedAt:tc(t.pinnedAt??null),autoSettleDisabledAt:tc(t.autoSettleDisabledAt??null),pinOrderKey:t.pinOrderKey??null,activeOrderKey:t.activeOrderKey??null,...t.lastVisitedAt===void 0?{}:{lastVisitedAt:tc(t.lastVisitedAt)},titleRegeneration:t.titleRegeneration==null?null:{requestId:t.titleRegeneration.requestId,startedAt:ec(t.titleRegeneration.startedAt)},deletedAt:tc(t.deletedAt),source:t}}function oc(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*sc(e){for(let[t,n]of e.entries)n.enabled&&(yield t)}var cc=Object.freeze({isReady:!1,entries:new Map});function lc(e){let t=ca(),n={mode:`serial`,key:()=>`environment-catalog`},a=e.atom(Hn(J.pipe(i(e=>Je(e.entries).pipe(an(e=>({isReady:!0,entries:e})))))),{initialValue:cc}),o=r(e=>je(lt(e(a)),()=>cc)).pipe(z(`environment-catalog-value`)),s=e.atom(Hn($r.pipe(i(e=>e.changes))),{initialValue:[]}),c=r(e=>je(lt(e(s)),()=>[])).pipe(z(`environment-github-routing-permissions`)),l=fi(e,{label:`environment-catalog:github-routing-permission`,scheduler:t,concurrency:n,execute:P(function*(e){let t=yield*J,n=(yield*x(t.entries)).get(e.environmentId);if(n===void 0)return yield*new Aa({environmentId:e.environmentId});yield*(yield*$r).set(n,e.permission)})}),u=e.atom(Hn(J.pipe(i(e=>Je(e.networkStatus)))),{initialValue:`unknown`}),d=r(e=>je(lt(e(u)),()=>`unknown`)).pipe(z(`environment-network-status-value`)),f=M(t=>e.atom(_a(t,Hn(ba.pipe(i(e=>Je(e.state))))),{initialValue:Oi})),p=fi(e,{label:`environment-catalog:register`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.register(e)))}),m=fi(e,{label:`environment-catalog:remove`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.remove(e)))}),h=fi(e,{label:`environment-catalog:remove-relay-environments`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(e=>e.removeRelayEnvironments()))}),g=fi(e,{label:`environment-catalog:set-enabled`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.setEnabled(e.environmentId,e.enabled)))});return{catalogAtom:a,catalogValueAtom:o,githubRoutingPermissionsValueAtom:c,setGitHubRoutingPermission:l,networkStatusAtom:u,networkStatusValueAtom:d,stateAtom:f,register:p,remove:m,removeRoute:fi(e,{label:`environment-catalog:remove-route`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.removeRoute(e.environmentId,e.routeId)))}),reorderRoutes:fi(e,{label:`environment-catalog:reorder-routes`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.reorderRoutes(e.environmentId,e.routeIds)))}),removeRelayEnvironments:h,retryNow:fi(e,{label:`environment-catalog:retry-now`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.retryNow(e)))}),setEnabled:g}}var uc=class extends h()(`InvalidScopedProjectKeyError`,{key:w}){get message(){return`Invalid scoped project atom key: ${JSON.stringify(this.key)}.`}},dc=class extends h()(`InvalidScopedThreadKeyError`,{key:w}){get message(){return`Invalid scoped thread atom key: ${JSON.stringify(this.key)}.`}},fc=class extends h()(`InvalidScopedProjectRefCollectionKeyError`,{key:w,cause:y()}){get message(){return`Invalid scoped project reference collection atom key: ${JSON.stringify(this.key)}.`}},pc=mn(en(Dt([w,w])));function mc(e){return`${e.environmentId}\u0000${e.projectId}`}function Z(e){return`${e.environmentId}\u0000${e.threadId}`}function hc(e){return JSON.stringify(e.map(e=>[e.environmentId,e.projectId]))}function gc(e){let t=e.indexOf(`\0`);if(t<0)throw new uc({key:e});return{environmentId:Pr.make(e.slice(0,t)),projectId:Zn.make(e.slice(t+1))}}function _c(e){let t;try{t=pc(JSON.parse(e))}catch(t){throw new fc({key:e,cause:t})}return t.map(([e,t])=>({environmentId:Pr.make(e),projectId:Zn.make(t)}))}function vc(e){let t=e.indexOf(`\0`);if(t<0)throw new dc({key:e});return{environmentId:Pr.make(e.slice(0,t)),threadId:Ut.make(e.slice(t+1))}}function yc(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.projectId===t[n]?.projectId)}function bc(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.threadId===t[n]?.threadId)}function xc(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var Sc=`token`,Cc=`host`,wc=`label`,Tc=new Set([`http:`,`https:`,`ws:`,`wss:`]),Ec=e=>new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash),Dc=class extends h()(`RemoteBackendUrlMissingError`,{}){get message(){return`Enter a backend URL.`}},Oc=class extends h()(`RemotePairingUrlInvalidError`,{cause:un(y()),protocol:un(w)}){get message(){return`Pairing URL is invalid.`}},kc=class extends h()(`RemoteBackendUrlInvalidError`,{source:Ge([`direct-host`,`hosted-pairing-host`]),cause:un(y()),protocol:un(w)}){get message(){return`Backend URL is invalid.`}},Ac=class extends h()(`RemotePairingTokenMissingError`,{host:w}){get message(){return`Pairing URL is missing its token.`}},jc=class extends h()(`RemotePairingCodeMissingError`,{host:w}){get message(){return`Enter a pairing code.`}};jt([Dc,Oc,kc,Ac,jc]);var Mc=e=>Tc.has(e.protocol),Nc=(e,t)=>{let n=e.trim();if(!n)throw new Dc;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 kc({source:t,cause:e})}if(!Mc(a))throw new kc({source:t,protocol:a.protocol});return a.pathname=`/`,a.search=``,a.hash=``,a},Pc=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()},Fc=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()},Ic=e=>{let t=Ec(e).get(Sc)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(Sc)?.trim()??``;return n.length>0?n:null},Lc=e=>{let t=new URL(e.toString()),n=Ec(t);return n.has(Sc)&&(n.delete(Sc),t.hash=n.toString()),t.searchParams.delete(Sc),t},Rc=(e,t)=>{let n=new URL(e.toString());return n.searchParams.delete(Sc),n.hash=new URLSearchParams([[Sc,t]]).toString(),n},zc=e=>{let t=e.searchParams.get(Cc)?.trim()??``,n=Ic(e)?.trim()??``,r=e.searchParams.get(wc)?.trim()??``;return!t||!n?null:{host:t,token:n,label:r}},Bc=e=>{let t=e.pairingUrl?.trim()??``;if(t.length>0){let e;try{e=new URL(t)}catch(e){throw new Oc({cause:e})}if(!Mc(e))throw new Oc({protocol:e.protocol});let n=zc(e);if(n){let e=Nc(n.host,`hosted-pairing-host`);return{credential:n.token,httpBaseUrl:Pc(e),wsBaseUrl:Fc(e)}}let r=Ic(e)??``;if(!r)throw new Ac({host:e.host});return{credential:r,httpBaseUrl:Pc(e),wsBaseUrl:Fc(e)}}let n=e.host?.trim()??``,r=e.pairingCode?.trim()??``;if(!n)throw new Dc;let i=Nc(n,`direct-host`);if(!r)throw new jc({host:i.host});return{credential:r,httpBaseUrl:Pc(i),wsBaseUrl:Fc(i)}},Vc=class extends _r()(`@p4code/client-runtime/connection/onboarding/ConnectionOnboarding`){},Hc=P(`clientRuntime.connection.onboarding.resolvePairingTarget`)(function*(e){return yield*Mt({try:()=>Bc(e),catch:e=>new Fa({reason:`configuration`,detail:e instanceof Error?e.message:`The pairing details are invalid.`})})});function Uc(e,t){return`bearer:${e}:${new URL(t).origin}`}function Wc(e){return new Fa({reason:`configuration`,detail:`That address reaches ${e}, a different machine. Add it as its own environment instead.`})}var Gc=P(`clientRuntime.connection.onboarding.preparePairingRegistration`)(function*(e){let t=yield*Hc(e),n=yield*na,r=yield*Lt({httpBaseUrl:t.httpBaseUrl}).pipe(V(La));if(e.expectedEnvironmentId!==void 0&&r.environmentId!==e.expectedEnvironmentId)return yield*Wc(r.label);let i=Ua(r);if(i!==null&&i.serverUpdateRequired!==!0)return yield*i;let a=yield*xi({httpBaseUrl:t.httpBaseUrl,credential:t.credential,clientMetadata:n.metadata}).pipe(V(La)),o=Uc(r.environmentId,t.httpBaseUrl);return new ha({target:new ei({environmentId:r.environmentId,label:r.label,connectionId:o}),profile:new Da({connectionId:o,environmentId:r.environmentId,label:r.label,httpBaseUrl:t.httpBaseUrl,wsBaseUrl:t.wsBaseUrl}),credential:new $i({token:a.access_token})})}),Kc=P(`clientRuntime.connection.onboarding.registerPairingConnection`)(function*(e){let t=yield*Gc(e),n=yield*J;return(yield*n.register(t))?(yield*n.setCompatibility(t.target.environmentId,null),yield*n.setEnabled(t.target.environmentId,!0).pipe(xn({EnvironmentNotRegisteredError:()=>B})),t.target.environmentId):t.target.environmentId}),qc=Nn($i),Jc=Nn(Da),Yc=P(`clientRuntime.connection.onboarding.updateBearerConnection`)(function*(e){let t=yield*J,n=yield*wi,r=(yield*x(t.entries)).get(e.environmentId),i=r===void 0?void 0:ua(r).find(e=>e.target._tag===`BearerConnectionTarget`),a=r===void 0||i===void 0?r:vi(r,i),o=a?.target._tag===`BearerConnectionTarget`?yield*n.get(a.target.connectionId):f(),s=yield*Xc({input:e,entry:In(a),credential:o});yield*t.register(s)}),Xc=P(`clientRuntime.connection.onboarding.prepareBearerConnectionUpdate`)(function*(e){let t=D(e.entry);if(t==null||t.target._tag!==`BearerConnectionTarget`||C(t.profile)||!Jc(t.profile.value))return yield*new Fa({reason:`configuration`,detail:`Only saved bearer environments can be edited.`});let n=e.credential;if(C(n)||!qc(n.value))return yield*new Fa({reason:`authentication`,detail:`The saved bearer credential is unavailable.`});let r=e.input.label.trim();if(r===``)return yield*new Fa({reason:`configuration`,detail:`Environment label cannot be empty.`});let i=yield*Mt({try:()=>Wa(e.input.httpBaseUrl),catch:e=>new Fa({reason:`configuration`,detail:e instanceof Error?e.message:`The environment URL is invalid.`})}),a=t.target.connectionId;return new ha({target:new ei({environmentId:e.input.environmentId,label:r,connectionId:a}),profile:new Da({connectionId:a,environmentId:e.input.environmentId,label:r,httpBaseUrl:i,wsBaseUrl:Ga(i)}),credential:n.value})}),Zc=P(`clientRuntime.connection.onboarding.prepareSshRegistration`)(function*(e){let t=yield*(yield*Ji).provision(e.target,e.expectedEnvironmentId),n=`ssh:${t.environmentId}:${Si(t.bootstrap.target)}`,r=e.label?.trim()||t.label||t.bootstrap.target.alias;return new Xi({target:new la({environmentId:t.environmentId,label:r,connectionId:n}),profile:new Ta({connectionId:n,environmentId:t.environmentId,label:r,target:t.bootstrap.target})})}),Qc=P(`clientRuntime.connection.onboarding.registerSshConnection`)(function*(e){let t=yield*Zc(e);return e.expectedEnvironmentId!==void 0&&t.target.environmentId!==e.expectedEnvironmentId?yield*Wc(t.target.label):(yield*(yield*J).register(t),t.target.environmentId)}),$c=j(function*(){let e=yield*J,t=yield*na,n=yield*Vt,r=yield*Ji,i=yield*wi;return Vc.of({registerPairing:r=>Kc(r).pipe(Dn(J,e),Dn(na,t),Dn(Vt,n)),registerSsh:t=>Qc(t).pipe(Dn(J,e),Dn(Ji,r)),updateBearer:t=>Yc(t).pipe(Dn(J,e),Dn(wi,i))})}),el=ee(Vc,$c),tl=class extends _r()(`@p4code/client-runtime/platform/source/PlatformConnectionSource`){},nl=P(`connection.watchDiscoveredCompatibility`)(function*(){let e=yield*J,t=yield*ai,n=new Map;yield*fn(Je(t.state),Je(e.entries)).pipe(Ht(()=>j(function*(){let r=yield*x(t.state);if(!r.refreshing)for(let e of n.keys())r.environments.has(e)||n.delete(e);let i=yield*x(e.entries);for(let t of r.environments.values()){let r=D(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||ua(s).length!==1||!Zr(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=Ua(a);(u!==null||l)&&(yield*e.setCompatibility(o,u)),n.set(o,r)}}).pipe(I(e=>N(`Could not apply discovered environment compatibility.`,{error:e})))))});function rl(e){let t=Na.pipe(Ie(Ae(ji,Va(e)))),n=ta.pipe(Ie(t)),r=el.pipe(Ie(n)),i=Ae(n,ni,r,ji);return zn(j(function*(){let e=yield*J,t=yield*tl;yield*nl().pipe(k),yield*e.start,yield*t.registrations.pipe(Ht(e.reconcilePlatform),k)}).pipe(Wt(`clientRuntime.connection.application.start`))).pipe(Ke(i),Ke(ka))}rl({});function il(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 al(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 ol(e){return e.phase===`reconnecting`&&e.error?`Failed to connect. Reconnecting...`:al({...e,error:null})}function sl(e){return il(e)}function cl(e){let t=e.connectedTarget?ii(e.connectedTarget):null,n=ua(e.entry),r=n.find(e=>ii(e.target)===t);for(let t of r?[r,...n]:n){let n=t.target._tag===`RelayConnectionTarget`?e.relayHttpBaseUrl??null:yi(t),r=n===null?null:ll(n);if(r!==null)return r}return null}function ll(e){let t;try{t=new URL(e)}catch{return null}return t.pathname=`/mcp`,t.search=``,t.hash=``,t.toString()}function ul(e){switch(e.target._tag){case`PrimaryConnectionTarget`:return e.target.httpBaseUrl;case`RelayConnectionTarget`:return null;case`BearerConnectionTarget`:return T(e.profile)&&e.profile.value._tag===`BearerConnectionProfile`?e.profile.value.httpBaseUrl:null;case`SshConnectionTarget`:return T(e.profile)&&e.profile.value._tag===`SshConnectionProfile`?`${e.profile.value.target.username}@${e.profile.value.target.hostname}`:null}}var dl=P(`runCachePersistence`)(function*(e,t){let n=yield*me(e);for(yield*nt(`500 millis`),n=je(yield*Tt(e),()=>n);;)yield*t(n),yield*nt(`10 seconds`),n=yield*me(e)}),fl={status:`idle`},pl=r(fl).pipe(z(`environment-data:server:update-state:empty`)),ml=M(e=>r(fl).pipe(z(`environment-data:server:update-state:${e}`))),hl=class extends h()(`ServerUpdateResumeTimeoutError`,{environmentId:w,targetVersion:w}){get message(){return`The server did not resume on @p4code/cli@${this.targetVersion}.`}},gl=class extends h()(`ServerUpdateProgressIncompleteError`,{targetVersion:w}){get message(){return`The @p4code/cli@${this.targetVersion} update ended before the server accepted the restart.`}},_l=class extends h()(`ServerUpdateTerminalError`,{targetVersion:w,status:Ge([`committed`,`rolled-back`,`failed`]),reason:un(w)}){get message(){return this.reason??`The @p4code/cli@${this.targetVersion} update ${this.status}.`}},vl=Rt(32);function yl(e,t){return e.updateId===void 0?t.payload.environment.serverVersion===e.targetVersion:t.payload.updateOutcome?.id===e.updateId}function bl(e,t){return e.method===`desktop-app`&&e.desktopUpdateToken!==void 0||yl(e,t)}function xl(e,t){if(e.updateId===void 0)return B;let n=t.payload.updateOutcome;return n?.id===e.updateId&&n.status===`committed`&&n.targetVersion===e.targetVersion&&t.payload.environment.serverVersion===e.targetVersion?B:v(new _l({targetVersion:e.targetVersion,status:n?.status??`failed`,reason:n?.reason??`The service launcher resumed without committing the requested server version.`}))}function Sl(e){return e.stateChanges.pipe(nr(e=>e.phase===`backoff`||e.phase===`blocked`&&e.lastFailure?.reason===`authentication`),Ht(()=>nt(e.interval??Bt(1)).pipe(gn(e.retryNow))),fr(vl),ge)}function Cl(e){return e.pipe(zt(e=>e.phase===`connected`),nr(e=>e.phase===`connected`),Wr,Jt)}var wl=P(`runDesktopCommitWithReconnectObserver`)(function*(t,n){let r=yield*e(),i=yield*e(),a=yield*t.pipe(ie(()=>kr(r,void 0)),Cl,gn(kr(i,void 0)),ue);yield*dr(r);let o=yield*n.pipe(dt);if(on(o)){yield*Ar(a);return}return Al(o.cause)?(yield*dr(i).pipe(Ce(vl)),yield*Br(o.cause)):(yield*Ar(a),yield*Br(o.cause))}),Tl=P(`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(dt);if(on(o))break;if(!Al(o.cause))return yield*Br(o.cause)}return yield*new _l({targetVersion:e,status:`failed`,reason:`The desktop app resumed without installing the prepared update.`})});function El(e,t,n){return{status:`running`,stage:n.type===`complete`?`resuming`:n.stage,fromVersion:e,targetVersion:t}}function Dl(e,t){return e.status===`idle`||e.status===`running`||t===null||e.fromVersion===t?e:fl}function Ol(e){return e instanceof Error?e.message:`Server update failed.`}function kl(e){if(!zi(e))return!1;switch(e.reason._tag){case`SocketReadError`:case`SocketWriteError`:case`SocketCloseError`:return!0;default:return!1}}function Al(e){return Gr(e)?!0:e.reasons.length>0&&e.reasons.every(e=>_(e)&&kl(e.error))}function jl(e,t,n){return T(t)&&(on(n)||Al(n.cause))?H(t.value):Tr(n)?Br(n.cause):v(new gl({targetVersion:e}))}var Ml=e=>({version:1,type:`snapshot`,config:e}),Nl=P(`EnvironmentServerConfigState.make`)(function*(e){let t=yield*ba,n=yield*Sa,r=t.target.environmentId,i=yield*n.loadServerConfig(r).pipe(I(e=>N(`Could not load cached server configuration.`).pipe(F({environmentId:r,...Ki(e)}),R(f())))),a=yield*ve(rt(i,e=>({config:Ra(e),latestEvent:Ml(Ra(e)),source:`cache`}))),o=yield*kt(1),s=yield*Li(f()),c=P(`EnvironmentServerConfigState.persist`)(function*(e){return yield*n.saveServerConfig(r,Ra(e)).pipe(R(!0),I(e=>N(`Could not persist cached server configuration.`).pipe(F({environmentId:r,...Ki(e)}),R(!1))))}),l=P(`EnvironmentServerConfigState.persistPending`)(function*(e){(yield*c(e))&&(yield*gi(s,t=>T(t)&&t.value===e?f():t))});return yield*Qe(()=>q(s).pipe(O(Kr({onNone:()=>B,onSome:e=>c(e).pipe(Jt)})))),yield*dl(o,l).pipe(k),yield*Oa(E.subscribeServerConfig,{...e.environmentThemes===!0?{environmentThemes:!0}:{},...e.usageLimitSources===!0?{usageLimitSources:!0}:{},...e.usageLimitsCommand===!0?{usageLimitsCommand:!0}:{}}).pipe(Ht(e=>j(function*(){let t=Yi(yield*x(a),e);C(t)||(yield*W(s,A(t.value.config)),yield*qr(a,t),yield*at(o,t.value.config))})),k),a});function Pl(e,t){return _a(e,Hn(Nl(t).pipe(i(e=>Je(e).pipe(yr(e=>Kr(e,{onNone:()=>Zt,onSome:e=>pt(e)})))))))}function Fl(e,t,n){return n.type===`welcome`&&e.currentSession===t?{...e,welcomeSession:t,welcome:n.payload}:e}function Il(e){return e.currentSession===e.welcomeSession?e.welcome:null}var Ll=P(`EnvironmentServerWelcomeState.make`)(function*(){let e=yield*ba,t=D(yield*x(e.session)),n=yield*ve({currentSession:t,welcomeSession:null,welcome:null}),r=P(`EnvironmentServerWelcomeState.updateWithCurrentSession`)(function*(t){return yield*it(n,n=>x(e.session).pipe(i(e=>[void 0,t(n,D(e))])))});return yield*Je(e.session).pipe(Ht(()=>r((e,t)=>({...e,currentSession:t}))),k),yield*wa(E.subscribeServerLifecycle,P(`EnvironmentServerWelcomeState.makeSubscribeInput`)(function*(e){return yield*r((t,n)=>n===e?{...t,currentSession:n,welcomeSession:e,welcome:null}:{...t,currentSession:n}),{}})).pipe(Ht(([e,t])=>r((n,r)=>Fl({...n,currentSession:r},e,t))),k),n});function Rl(e){return _a(e,Hn(Ll().pipe(i(e=>Je(e).pipe(an(Il))))))}function zl(e,t){return e?.source===`live`&&(t===null||e.config.environment.serverVersion===t.environment.serverVersion)?e.config:t??e?.config??null}function Bl(t,n){let a=ca(),o=ca(),s={mode:`serial`,key:({environmentId:e})=>e},c=M(e=>t.atom(Pl(e,{...n.environmentThemes===!0?{environmentThemes:!0}:{},...n.usageLimitSources===!0?{usageLimitSources:!0}:{},...n.usageLimitsCommand===!0?{usageLimitsCommand:!0}:{}})).pipe(L(3e5),z(`environment-data:server:config-projection:${e}`))),l=e=>c(e.environmentId),d=r(null).pipe(z(`environment-data:server:config:empty`)),p=M(e=>e===null?d:r(t=>zl(D(lt(t(l({environmentId:e,input:{}})))),t(n.initialConfigValueAtom(e)))).pipe(z(`environment-data:server:config:${e}`))),m=M(e=>r(t=>Dl(t(ml(e)),t(p(e))?.environment.serverVersion??null)).pipe(z(`environment-data:server:update-state-value:${e}`))),h=e=>e===null?pl:m(e),g=fi(t,{label:`environment-data:server:update-server`,scheduler:o,concurrency:s,execute:(t,n)=>{let r=ml(t.environmentId),o=t.input.targetVersion,c=n.get(p(t.environmentId))?.environment.serverVersion??o,l=`downloading`,d=!1;return n.set(r,{status:`running`,stage:l,fromVersion:c,targetVersion:o}),j(function*(){let u=yield*J,m=yield*e(),h=yield*e(),g=yield*e();yield*dr(m).pipe(gn(u.stateChanges(t.environmentId).pipe(ie(()=>kr(h,void 0)),zt(e=>e.phase===`connected`),nr(e=>e.phase===`connected`),Wr)),gn(kr(g,void 0)),ue);let _=yield*Ni(n,a,s,t,j(function*(){let e=n.get(p(t.environmentId));c=e?.environment.serverVersion??o,n.set(r,{status:`running`,stage:l,fromVersion:c,targetVersion:o});let i=e?.environment.capabilities.serverSelfUpdateProgress===!0?yield*j(function*(){let e=yield*Li(f()),i=yield*u.runStream(t.environmentId,Jr(E.serverUpdateServerWithProgress,t.input)).pipe(Ht(t=>S(()=>{l=t.type===`complete`?`resuming`:t.stage,n.set(r,El(c,o,t))}).pipe(gn(t.type===`complete`?W(e,A(t.result)):B))),dt);return yield*jl(o,yield*q(e),i)}):yield*j(function*(){let n=e?.environment.capabilities.serverSelfUpdate,r=yield*u.run(t.environmentId,Ui(E.serverUpdateServer,t.input)).pipe(dt);return on(r)?r.value:(n===`boot-service`||n===`respawn`)&&Al(r.cause)?{targetVersion:o,method:n}:yield*Br(r.cause)});if(i.method===`desktop-app`&&i.desktopUpdateToken!==void 0){yield*kr(m,void 0),yield*dr(h);let e=yield*u.run(t.environmentId,Ui(E.serverCommitDesktopUpdate,{requestId:i.desktopUpdateToken})).pipe(dt);if(Tr(e)&&!Al(e.cause))return yield*Br(e.cause);d=Tr(e)}return o=i.targetVersion,l=`resuming`,n.set(r,{status:`running`,stage:l,fromVersion:c,targetVersion:o}),i}));yield*Sl({stateChanges:u.stateChanges(t.environmentId),retryNow:u.retryNow(t.environmentId)}).pipe(ue),_.method===`desktop-app`&&d&&(yield*dr(g).pipe(Ce(vl)));let v=u.followStream(t.environmentId,Oa(E.subscribeServerLifecycle,{})).pipe(nr(e=>e.type===`ready`&&bl(_,e)),Wr,fr(vl),i(Bn)).pipe(O(Kr({onNone:()=>new hl({environmentId:t.environmentId,targetVersion:o}),onSome:H}))),y=_.desktopUpdateToken;return yield*xl(_,_.method===`desktop-app`&&y!==void 0?yield*Tl(_.targetVersion,v,wl(u.stateChanges(t.environmentId),u.run(t.environmentId,Ui(E.serverCommitDesktopUpdate,{requestId:y})).pipe(Jt))):yield*v),n.set(r,fl),_}).pipe(Sr(e=>S(()=>{if(!on(e)){if(Gr(e.cause)){n.set(r,fl);return}n.set(r,{status:`failed`,stage:l,fromVersion:c,targetVersion:o,message:Ol(u(e.cause))})}})))}}),_=M(e=>r(t=>t(p(e))?.settings??null).pipe(z(`environment-data:server:settings:${e}`))),v=M(e=>r(t=>{let n=t(_(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(z(`environment-data:server:usage-prices:${e}`))),y=M(e=>r(t=>{let n=t(_(e)),r=n?.usageModelAliases??{};return JSON.stringify([t(v(e)),Object.keys(r).sort().map(e=>[e,r[e]]),n?.cursorKeychainUsageEnabled??!1])}).pipe(z(`environment-data:server:usage-scan-settings:${e}`))),ee=M(e=>r(t=>t(p(e))?.providers??null).pipe(z(`environment-data:server:providers:${e}`))),te=M(e=>t.atom(Rl(e),{initialValue:null}).pipe(L(3e5),z(`environment-data:server:welcome-state:${e}`))),ne=M(e=>r(t=>{let n=t(te(e));return n._tag===`Success`?n.value===null?Lr(n.waiting):Hr(n.value,n):n}).pipe(z(`environment-data:server:welcome:${e}`))),re=e=>ne(e.environmentId),b=G(t,{label:`environment-data:server:update-settings`,tag:E.serverUpdateSettings,scheduler:a,concurrency:s});return{configValueAtom:p,runStorageCleanup:G(t,{label:`environment-data:server:run-storage-cleanup`,tag:E.serverRunStorageCleanup,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),storageCleanupReport:bi(t,{label:`environment-data:server:storage-cleanup-report`,tag:E.serverGetStorageCleanupReport,idleTtlMs:0}),updateStateAtom:h,settingsValueAtom:_,providersValueAtom:ee,providerAuthState:bi(t,{label:`environment-data:provider:auth-state`,tag:E.providerAuthSubscribe,idleTtlMs:0}),startProviderAuth:G(t,{label:`environment-data:provider:auth-start`,tag:E.providerAuthStart,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t])}}),respondProviderAuth:G(t,{label:`environment-data:provider:auth-respond`,tag:E.providerAuthRespond}),completeProviderAuth:G(t,{label:`environment-data:provider:auth-complete`,tag:E.providerAuthComplete}),chatGptReconnectProfile:G(t,{label:`environment-data:chatgpt:reconnect-profile`,tag:E.chatGptReconnectProfile}),chatGptImportProfile:G(t,{label:`environment-data:chatgpt:import-profile`,tag:E.chatGptImportProfile}),chatGptHandoffState:si(t,{label:`environment-data:chatgpt:handoff`,sensitiveInput:!0,subscribe:e=>Jr(E.chatGptHandoffSubscribe,e),idleTtlMs:0}),codexAuthCallbackState:bi(t,{label:`environment-data:codex:auth-callback`,tag:E.codexAuthCallbackSubscribe,idleTtlMs:0}),cancelProviderAuth:G(t,{label:`environment-data:provider:auth-cancel`,tag:E.providerAuthCancel}),logoutProviderAuth:G(t,{label:`environment-data:provider:auth-logout`,tag:E.providerAuthLogout}),providerInstallState:bi(t,{label:`environment-data:provider:install-state`,tag:E.providerInstallSubscribe,idleTtlMs:0}),startProviderInstall:G(t,{label:`environment-data:provider:install-start`,tag:E.providerInstallStart,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),cancelProviderInstall:G(t,{label:`environment-data:provider:install-cancel`,tag:E.providerInstallCancel}),removeProviderInstallation:G(t,{label:`environment-data:provider:install-remove`,tag:E.providerInstallRemove}),traceDiagnostics:K(t,{label:`environment-data:server:trace-diagnostics`,tag:E.serverGetTraceDiagnostics}),processDiagnostics:K(t,{label:`environment-data:server:process-diagnostics`,tag:E.serverGetProcessDiagnostics}),hostResources:sa(t,{label:`environment-data:server:host-resources`,idleTtlMs:0,staleTimeMs:5e3,execute:e=>Ui(E.serverGetHostResources,e).pipe(Ce(`5 seconds`))}),processResourceHistory:K(t,{label:`environment-data:server:process-resource-history`,tag:E.serverGetProcessResourceHistory}),scheduledTaskWebhookDeliveries:K(t,{label:`environment-data:server:scheduled-task:webhook-deliveries`,tag:E.scheduledTasksListWebhookDeliveries}),scheduledTaskWebhookDelivery:K(t,{label:`environment-data:server:scheduled-task:webhook-delivery`,tag:E.scheduledTasksGetWebhookDelivery}),scheduledTasksLive:bi(t,{label:`environment-data:server:scheduled-tasks:live`,tag:E.scheduledTasksSubscribe}),threadDecisionsLive:bi(t,{label:`environment-data:server:thread-decisions:live`,tag:E.subscribeThreadDecisions}),usageSummary:K(t,{label:`environment-data:server:usage-summary`,tag:E.serverGetUsageSummary,staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>y(e),execute:(e,t)=>Ui(E.serverGetUsageSummary,e).pipe(O(n=>n.sources.some(e=>e.refreshing===!0)?t(n).pipe(gn(Ui(E.serverGetUsageSummary,{...e,awaitRefresh:!0})),I(e=>N(`Could not refresh slow usage sources.`).pipe(F({...Ki(e)}),R(n)))):H(n)))}),resourceTelemetry:bi(t,{label:`environment-data:server:resource-telemetry`,tag:E.subscribeResourceTelemetry,idleTtlMs:0}),resourceTelemetryHistory:K(t,{label:`environment-data:server:resource-telemetry-history`,tag:E.serverGetResourceTelemetryHistory,staleTimeMs:5e3}),searchAcpRegistry:K(t,{label:`environment-data:server:acp-registry:search`,tag:E.serverSearchAcpRegistry,staleTimeMs:0,idleTtlMs:0}),configProjection:l,welcome:re,legacyThreadMigration:bi(t,{label:`environment-data:server:legacy-thread-migration`,tag:E.subscribeServerLifecycle,transform:e=>e.pipe(yr(e=>e.type===`legacyThreadMigration`?pt(e.payload):Zt))}),consumeResetCredit:G(t,{label:`environment-data:server:consume-reset-credit`,tag:E.providerConsumeResetCredit,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t])}}),refreshProviders:G(t,{label:`environment-data:server:refresh-providers`,tag:E.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(t,{label:`environment-data:server:update-provider`,tag:E.serverUpdateProvider,scheduler:a,concurrency:s}),updateServer:g,upsertKeybinding:G(t,{label:`environment-data:server:upsert-keybinding`,tag:E.serverUpsertKeybinding,scheduler:a,concurrency:s}),removeKeybinding:G(t,{label:`environment-data:server:remove-keybinding`,tag:E.serverRemoveKeybinding,scheduler:a,concurrency:s}),updateSettings:b,mutateProviderInstance:b,prepareAcpRegistryAgent:G(t,{label:`environment-data:server:acp-registry:prepare`,tag:E.serverPrepareAcpRegistryAgent,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.agentId}`}}),uninstallAcpRegistryManagedBinary:G(t,{label:`environment-data:server:acp-registry:uninstall-managed-binary`,tag:E.serverUninstallAcpRegistryManagedBinary,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.agentId}`}}),acceptAcpRegistryUrlAuth:G(t,{label:`environment-data:server:acp-registry:accept-url-auth`,tag:E.serverAcceptAcpRegistryUrlAuth,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.elicitationId}`}}),listAcpRegistrySessions:G(t,{label:`environment-data:server:acp-registry:list-sessions`,tag:E.serverListAcpRegistrySessions,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.cursor??`first`}`}}),importAcpRegistrySession:G(t,{label:`environment-data:server:acp-registry:import-session`,tag:E.serverImportAcpRegistrySession,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.sessionId}`}}),deleteAcpRegistrySession:G(t,{label:`environment-data:server:acp-registry:delete-session`,tag:E.serverDeleteAcpRegistrySession,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.sessionId}`}}),listAcpRegistryProviders:G(t,{label:`environment-data:server:acp-registry:list-providers`,tag:E.serverListAcpRegistryProviders,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}`}}),setAcpRegistryProvider:G(t,{label:`environment-data:server:acp-registry:set-provider`,tag:E.serverSetAcpRegistryProvider,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.providerId}`}}),disableAcpRegistryProvider:G(t,{label:`environment-data:server:acp-registry:disable-provider`,tag:E.serverDisableAcpRegistryProvider,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.providerId}`}}),logoutAcpRegistry:G(t,{label:`environment-data:server:acp-registry:logout`,tag:E.serverLogoutAcpRegistry,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}`}}),signalProcess:G(t,{label:`environment-data:server:signal-process`,tag:E.serverSignalProcess}),upsertScheduledTask:G(t,{label:`environment-data:server:scheduled-task:upsert`,tag:E.scheduledTasksUpsert,scheduler:a,concurrency:s}),setScheduledTaskEnabled:G(t,{label:`environment-data:server:scheduled-task:set-enabled`,tag:E.scheduledTasksSetEnabled,scheduler:a,concurrency:s}),deleteScheduledTask:G(t,{label:`environment-data:server:scheduled-task:delete`,tag:E.scheduledTasksDelete,scheduler:a,concurrency:s}),runScheduledTaskNow:G(t,{label:`environment-data:server:scheduled-task:run-now`,tag:E.scheduledTasksRunNow}),rotateScheduledTaskWebhookToken:G(t,{label:`environment-data:server:scheduled-task:rotate-webhook-token`,tag:E.scheduledTasksRotateWebhookToken,scheduler:a,concurrency:s}),answerSecretRequest:G(t,{label:`environment-data:server:secrets:answer-request`,tag:E.secretsAnswerRequest,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId,t.turnItemId])}}),refreshUsageRates:G(t,{label:`environment-data:server:refresh-usage-rates`,tag:E.serverRefreshUsageRates,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),mcpRegistryState:G(t,{label:`environment-data:mcp-registry:state`,tag:E.mcpRegistryState}),mcpRegistryTest:G(t,{label:`environment-data:mcp-registry:test`,tag:E.mcpRegistryTest,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.serverId])}}),mcpRegistryOAuthStart:G(t,{label:`environment-data:mcp-registry:oauth-start`,tag:E.mcpRegistryOAuthStart}),mcpRegistryOAuthSignOut:G(t,{label:`environment-data:mcp-registry:oauth-sign-out`,tag:E.mcpRegistryOAuthSignOut}),mcpRegistryProviderSignInState:G(t,{label:`environment-data:mcp-registry:provider-sign-in-state`,tag:E.mcpRegistryProviderSignInState,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.serverId])}}),mcpRegistryProviderSignInStart:G(t,{label:`environment-data:mcp-registry:provider-sign-in-start`,tag:E.mcpRegistryProviderSignInStart}),mcpRegistryProviderSignInComplete:G(t,{label:`environment-data:mcp-registry:provider-sign-in-complete`,tag:E.mcpRegistryProviderSignInComplete}),mcpRegistryProviderSignInCancel:G(t,{label:`environment-data:mcp-registry:provider-sign-in-cancel`,tag:E.mcpRegistryProviderSignInCancel}),mcpRegistryProviderSignInWait:G(t,{label:`environment-data:mcp-registry:provider-sign-in-wait`,tag:E.mcpRegistryProviderSignInWait}),mcpRegistryProviderSignOut:G(t,{label:`environment-data:mcp-registry:provider-sign-out`,tag:E.mcpRegistryProviderSignOut}),mcpRegistryDiscover:G(t,{label:`environment-data:mcp-registry:discover`,tag:E.mcpRegistryDiscover,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),mcpRegistryImport:G(t,{label:`environment-data:mcp-registry:import`,tag:E.mcpRegistryImport}),checkOtlpEndpoint:G(t,{label:`environment-data:server:check-otlp-endpoint`,tag:E.serverCheckOtlpEndpoint}),retryResourceTelemetry:G(t,{label:`environment-data:server:retry-resource-telemetry`,tag:E.serverRetryResourceTelemetry,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}})}}var Vl=Rt(4),Hl=`15 seconds`,Ul=class extends h()(`OutdatedHostUpdateError`,{environmentId:w,message:w}){},Wl=P(`clientRuntime.connection.updateOutdatedHost`)(function*(e,t,n){let r=yield*J,a=yield*Ia,o=yield*Pi,s=yield*Vt,c=(yield*x(r.entries)).get(e);if(c===void 0)return yield*new Aa({environmentId:e});let{prepared:l,descriptor:u}=yield*ne(ua(c).map(e=>a.prepareForUpdate(vi(c,e)))),d=u.capabilities;if(d.serverSelfUpdate===void 0||d.serverSelfUpdate===`desktop-managed`&&d.desktopAppUpdate!==!0)return yield*new Ul({environmentId:e,message:`Update P4 Code on ${u.label} manually; it cannot update itself.`});let p=yield*_e(j(function*(){let e=yield*ft(ee(Ei,Ha({pingTimeout:ki,retryTransientErrors:!1,retryPolicy:Ur(0)})).pipe(Ie(Ae(ui(l.socketUrl,{openTimeout:Hl}).pipe(Ie(oe(Pi,o))),Qr)))),r=yield*ti.pipe(sr(e)),i=d.serverSelfUpdateProgress===!0?yield*j(function*(){let e=yield*Li(f()),i=yield*r[E.serverUpdateServerWithProgress](t).pipe(Ht(t=>t.type===`complete`?W(e,A(t.result)):n(t.stage)),dt);return yield*jl(t.targetVersion,yield*q(e),i)}):yield*r[E.serverUpdateServer](t).pipe(Yn(e=>(d.serverSelfUpdate===`boot-service`||d.serverSelfUpdate===`respawn`)&&Al(e),()=>H({targetVersion:t.targetVersion,method:d.serverSelfUpdate})));return i.method===`desktop-app`&&i.desktopUpdateToken!==void 0&&(yield*r[E.serverCommitDesktopUpdate]({requestId:i.desktopUpdateToken}).pipe(Yn(e=>Al(e),()=>B))),i}));yield*n(`resuming`);let m=[l.httpBaseUrl,...ua(c).flatMap(e=>yi(e)??[])].filter((e,t,n)=>n.indexOf(e)===t),h=yield*ne(m.map(t=>Lt({httpBaseUrl:t}).pipe(ae(t=>t.environmentId===e&&Gl(t),()=>`not-ready`)))).pipe(Dn(Vt,s),Wn,Fr({schedule:Yt(Bt(1)),until:e=>b(e,Gl)}),fr(Vl),i(Bn));return C(h)?yield*new Ul({environmentId:e,message:`${u.label} did not come back on a compatible P4 Code version.`}):(Zr(c)&&(yield*(yield*ai).refresh),yield*r.setCompatibility(e,null),yield*r.setEnabled(e,!0),{...p,targetVersion:h.value.serverVersion})});function Gl(e){return(e.orchestrationProtocolVersion??1)===2}var Kl=nt(`1 millis`),ql=et(bt(wn(en(Tn)))),Jl=400;function Yl(e){if(!t(e))return[];let n=e.threads;return Array.isArray(n)?n.map(e=>{if(!t(e))return;let n=e.pullRequests;return delete e.pullRequests,n}):[]}function Xl(e,t){let n=e.threads.map(e=>e.id),r=j(function*(){let e=new Map,r=Jl;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>Jl&&(yield*Kl,r=0),r+=o;let s=yield*ql(n).pipe(I(e=>N(`Discarding unreadable shell pull request links.`,{threadId:a,cause:String(e)}).pipe(R(void 0))));s!==void 0&&e.set(a,s)}return e});return{...e,loadPullRequests:r}}var Zl=et(wn(ir)),Ql=Pe(function*(e){let t=Yl(e);return Xl(yield*Zl(e),t)}),$l=2e4,eu=P(`clientRuntime.state.fetchEnvironmentShellSnapshot`)(function*(e){return yield*Zi({...e,group:`orchestration`,method:`GET`,url:e=>e.shellSnapshot(),timeoutMs:e.timeoutMs??$l,request:({client:e,headers:t})=>e.shellSnapshot({headers:fa(t),responseMode:`response-only`}).pipe(O(nu))})}),tu=et(wn(Re)),nu=e=>{if(e.status===200)return e.json.pipe(O(Ql));let t=new er({reason:new Pn({request:e.request,response:e})});return e.json.pipe(O(tu),jn({onFailure:()=>v(t),onSuccess:v}))},ru=class extends _r()(`@p4code/client-runtime/state/shellSnapshotHttp/ShellSnapshotLoader`){},iu=ee(ru,j(function*(){let e=yield*Vt,t=yield*Ee(ia),n=yield*Ee(da);return ru.of({load:r=>eu({prepared:r,signer:t,remoteAuthorization:n}).pipe(i(A),Dn(Vt,e),sn(e=>N(`Could not load the environment shell snapshot over HTTP; using the socket snapshot instead.`).pipe(F({cause:te(e)}),R(f()))))})})),au=Ir(Mr),ou=Ir(bt(en(Tn)));function su(e,t){return e===t||ou(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||!au(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 lu(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 uu(e,t){return t.repositoryIdentity==null&&e?.repositoryIdentity!=null&&e.workspaceRoot===t.workspaceRoot?{...t,repositoryIdentity:e.repositoryIdentity}:t}function du(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:uu(t,e)})}}function fu(e,t){if(t.sequence<=e.snapshotSequence)return e;switch(t.kind){case`project.updated`:{let n=uu(e.projects.find(e=>e.id===t.project.id),t.project);return{...e,projects:lu(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&&au(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`?lu(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 pu(e){return{openInEditor:G(e,{label:`environment-data:shell:open-in-editor`,tag:E.shellOpenInEditor})}}var mu={snapshot:f(),status:`empty`,error:f()};function hu(e){return T(e)?`cached`:`empty`}function gu(e){if(e.loadPullRequests===void 0)return e;let{loadPullRequests:t,...n}=e;return n}var _u=`Could not synchronize environment data.`,vu=P(`EnvironmentShellState.make`)(function*(){let e=yield*ba,t=yield*Sa,n=yield*ru,r=yield*Ee(ma),a=e.target.environmentId,o=yield*t.loadShell(a).pipe(I(e=>N(`Could not load cached environment shell.`).pipe(F({environmentId:a,...Ki(e)}),R(f())))),s=rt(o,gu),c=yield*ve({snapshot:s,status:hu(s),error:f()}),l=yield*Li(!1),d=yield*Li(null),m=yield*Li(null),h=yield*Li(f()),g=yield*kt(1),_=yield*Ne(1),v,y=new Set,ee=P(`EnvironmentShellState.persistLatest`)(function*(e){for(;;){let n=yield*q(h);if(C(n)||n.value===v||n.value.threads.some(e=>y.has(e)))return;let r=n.value;if(!(yield*t.saveShell(a,r).pipe(R(!0),I(e=>N(`Could not persist environment shell cache.`).pipe(F({environmentId:a,...Ki(e)}),R(!1)))))||(v=r,!e))return}},_.withPermit),te=()=>ee(!1),ne=ee(!0);yield*Qe(()=>ne),yield*dl(g,te).pipe(k);let re=W(l,!1).pipe(gn(p(c,e=>({...e,status:hu(e.snapshot)}))),gn(ne.pipe(k)),Jt),b=p(c,e=>({...e,status:`synchronizing`,error:f()})),ie=p(c,e=>e.status===`live`?e:{...e,status:`synchronizing`,error:f()}),ae=e=>W(l,!1).pipe(gn(N(`Could not synchronize the environment shell.`)),F({environmentId:a,...Ki(e)}),gn(p(c,e=>({...e,status:hu(e.snapshot),error:A(_u)})))),oe=yield*Ne(1),ce=P(`EnvironmentShellState.applyItems`)(function*(e,t){let n=yield*x(c),r=yield*q(l),i=n,a=!1;for(let t of e){if(t.kind===`synchronized`){r=!1,T(i.snapshot)&&(i={...i,status:`live`,error:f()});continue}let e=t.kind===`snapshot`?du(D(i.snapshot),t.snapshot,t.resolvedRepositoryIdentityRoots===void 0?void 0:{resolvedRepositoryIdentityRoots:t.resolvedRepositoryIdentityRoots}):Kr(i.snapshot,{onNone:()=>null,onSome:e=>t.sequence>e.snapshotSequence?fu(e,t):e});e!==null&&(a||=t.kind===`snapshot`,i={snapshot:A(e),status:r?`synchronizing`:`live`,error:f()})}if(yield*W(l,r),i!==n){if(t!==void 0&&T(i.snapshot)&&(y=new Set(i.snapshot.value.threads.filter(e=>t.has(e.id)))),T(i.snapshot)&&(yield*W(h,i.snapshot)),yield*qr(c,i),a){let e=yield*q(m);e!==null&&(yield*W(d,e))}i.snapshot!==n.snapshot&&T(i.snapshot)&&(yield*at(g,i.snapshot.value))}},oe.withPermit),le=yield*se,ue,de=xt(()=>{let e=ue;return ue=void 0,e===void 0?B:Ar(e)}),fe=Pe(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));y=new Set(t.threads.filter(e=>r.has(e.id))),ue=yield*e.loadPullRequests.pipe(O(e=>pe(e,n,r)),ke(le))}),pe=Pe(function*(e,t,n){let r=yield*De(c,r=>{if(C(r.snapshot))return[f(),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[f(),r];let s={...i,threads:o};return[A(s),{...r,snapshot:A(s)}]});y=new Set;let i=yield*q(h);if(C(i))return;let a=T(r)?r:i;yield*W(h,a),yield*at(g,a.value)},e=>oe.withPermit(e));T(o)&&T(s)&&(yield*fe(o.value,s.value));let me=Kr(r,{onNone:()=>ur,onSome:e=>e.changes.pipe(nr(ra))});return yield*b,yield*k(ga(Fn.subscribeShell,P(`EnvironmentShellState.makeSubscribeInput`)(function*(t){yield*W(m,t);let r=yield*t.initialConfig.pipe(i(e=>e.shellResumeCompletionMarker===!0),ln(()=>!1));yield*W(l,r),yield*b;let a=(yield*q(d))===t,o=a,s=yield*x(c);if(!a||C(s.snapshot)){let t=yield*x(e.prepared).pipe(O(Kr({onSome:H,onNone:()=>Je(e.prepared).pipe(nr(T),an(e=>e.value),Wr,i(qe))}))),r=yield*n.load(t);if(T(r)){yield*de;let e=yield*x(c),t=cu(D(e.snapshot),gu(r.value)),n=new Set(r.value.loadPullRequests===void 0?[]:r.value.threads.map(e=>e.id));yield*ce([{kind:`snapshot`,snapshot:t}],n),o=!0,s=yield*x(c),T(s.snapshot)&&(yield*fe(r.value,s.snapshot.value))}}return!o||C(s.snapshot)?r?{requestCompletionMarker:!0}:{}:(r||(yield*p(c,e=>({...e,status:`live`,error:f()}))),{afterSequence:s.snapshot.value.snapshotSequence,...r?{requestCompletionMarker:!0}:{}})}),{onExpectedFailure:e=>ae(u(e)),retryExpectedFailureAfter:`250 millis`,resubscribe:me}).pipe(Rr(e=>ce(e)))),yield*Je(e.state).pipe(Ht(e=>{switch(Xr(e)){case`synchronizing`:return b;case`disconnected`:return re;case`ready`:return ie}}),k),c});function yu(e){return _a(e,Hn(vu().pipe(i(Je))))}Object.freeze({hasSnapshot:!1,hasSynchronizingShell:!1,hasCachedShell:!1,hasLiveShell:!1,firstError:null});var bu=new Map;function xu(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 Su(e){let t=bu;return r(n=>{let r=new Map;for(let t of sc(n(e.catalogValueAtom))){let i=n(e.serverConfigValueAtom(t));i!==null&&r.set(t,i)}return xu(t,r)||(t=r),t}).pipe(z(`environment-server-configs`))}function Cu(e){let t=M(t=>e.atom(yu(t),{initialValue:mu}));return{stateAtom:t,stateValueAtom:M(e=>r(n=>je(lt(n(t(e))),()=>mu)).pipe(z(`environment-shell-state-value:${e}`)))}}function wu(e,t){return t.visibility===`local`||t.sourceThreadId===e.thread.id}function Tu(e){let t=e.visibleTurnItems.filter(t=>wu(e,t)).map(e=>e.item);return t.length===0?e:{...e,turnItems:[...t,...e.turnItems]}}function Eu(e){return e.turnItemsOmitLocalVisible===!0?Tu(e.projection):e.projection}function Du(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 Ou(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:!Du({item:t,attempts:e.attempts,items:e.items})}function ku(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 Au(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 ju(e,t){let n=e.findIndex(e=>e.sourceItemId===t);return n===-1?e:Mu([...e.slice(0,n),...e.slice(n+1)])}function Mu(e){return e.map((e,t)=>e.position===t?e:{...e,position:t})}function Nu(e,t){return Ou({item:t,runs:e.runs,attempts:e.attempts,items:e.turnItems})}function Pu(e){let t=e.visibleTurnItems,n=ku({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:Mu(r)}function Fu(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 Iu=new Set([`preparing`,`queued`,`starting`,`running`,`waiting`]);function Lu(e,t,n){return e.visibleTurnItems.some(e=>e.sourceItemId===t.id)?!1:t.runId===null?Ru(e,t,n):e.runs.some(e=>e.id===t.runId&&Iu.has(e.status))||e.visibleTurnItems.some(e=>e.visibility===`local`&&e.item.runId===t.runId&&e.item.ordinal<=t.ordinal)?!1:Ru(e,t,n)}function Ru(e,t,n){if(n!=null&&t.ordinal<=n)return!0;let r=Fu(e.visibleTurnItems);return r!==null&&t.ordinal<r}function zu(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&&Lu(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),Mu(c)}function Bu(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:Mo(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:Au(a.runs,t.payload)};return{...e,visibleTurnItems:Pu(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:Au(a.attempts,t.payload)};return{...e,visibleTurnItems:Pu(e)}}case`node.updated`:return{...a,nodes:Au(a.nodes,t.payload)};case`subagent.updated`:return{...a,subagents:Au(a.subagents,t.payload)};case`provider-session.attached`:case`provider-session.updated`:return{...a,providerSessions:Au(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:Au(a.providerThreads,t.payload)};case`provider-turn.updated`:return{...a,providerTurns:Au(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:Au(a.runtimeRequests,t.payload)};case`message.updated`:return{...a,messages:Au(a.messages,t.payload)};case`plan.updated`:return{...a,plans:Au(a.plans,t.payload)};case`turn-item.updated`:{if(r&&!e.turnItems.some(e=>e.id===t.payload.id)&&Lu(e,t.payload,i))return e;let n={...a,turnItems:Au(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:Pu(n)}:n;return{...n,visibleTurnItems:Nu(n,t.payload)?zu(s,t.payload,r,i):ju(s.visibleTurnItems,t.payload.id)}}case`checkpoint-scope.created`:return{...a,checkpointScopes:Au(a.checkpointScopes,t.payload)};case`checkpoint.captured`:return{...a,checkpoints:Au(a.checkpoints,t.payload)};case`checkpoint.rollback-requested`:return a;case`context-handoff.updated`:return{...a,contextHandoffs:Au(a.contextHandoffs,t.payload)};case`context-transfer.created`:case`context-transfer.updated`:return{...a,contextTransfers:Au(a.contextTransfers,t.payload)}}}var Vu=3e5,Hu=class extends _r()(`@p4code/client-runtime/state/threadHistoryController`){},Uu=ee(Hu,j(function*(){let e=yield*Li(new Map);return Hu.of({register:(t,n,r)=>gi(e,e=>{let i=new Map(e);return i.set(Z({environmentId:t,threadId:n}),r),i}).pipe(R({environmentId:t,threadId:n,handler:r})),unregister:t=>gi(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(O(e=>{let i=e.get(Z({environmentId:t,threadId:n}));return i===void 0?H({_tag:`noop`}):i.loadEarlier(r)}))})})),Wu=6e3,Gu=P(`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*Zi({...e,group:`orchestration`,method:`GET`,url:e=>e.threadHistoryPage(t),timeoutMs:e.timeoutMs??Wu,request:({client:e,headers:n})=>e.threadHistoryPage({...t,headers:fa(n)})})}),Ku={historyCursor:null,hasMoreHistory:!1,loading:!1,error:null,expanded:!1,latestLocalTurnOrdinal:null};function qu(e,t){return t.historyCursor===e}function Ju(e,t){return!qu(e,t)||!t.loading?t:{...t,loading:!1}}function Yu(e){return`${e.sourceThreadId}:${e.sourceItemId}`}function Xu(e){return e.map((e,t)=>e.position===t?e:{...e,position:t})}function Zu(e,t){if(t.length===0)return e;let n=new Map(e.visibleTurnItems.map(e=>[Yu(e),e])),r=new Map(e.turnItems.map(e=>[String(e.id),e])),i=new Set,a=[];for(let o of t){let t=Yu(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`||!Ou({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(Yu(e)))];return o.length===e.visibleTurnItems.length&&o.every((t,n)=>t===e.visibleTurnItems[n])?e:{...e,turnItems:[...r.values()],visibleTurnItems:Xu(o)}}function Qu(e,t){return{historyCursor:t.nextCursor,hasMoreHistory:t.hasMoreHistory,loading:!1,error:null,expanded:!0,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal}}function $u(e){return e.hasMoreHistory||e.error!==null}var ed=2e4,td=P(`clientRuntime.state.fetchEnvironmentThreadSnapshot`)(function*(e){return yield*Zi({...e,group:`orchestration`,method:`GET`,url:t=>t.threadSnapshot({params:{threadId:e.threadId}}),timeoutMs:e.timeoutMs??ed,request:({client:t,headers:n})=>t.threadSnapshot({params:{threadId:e.threadId},headers:fa(n)})})}),nd=class extends _r()(`@p4code/client-runtime/state/threadSnapshotHttp/ThreadSnapshotLoader`){},rd={data:f(),status:`empty`,error:f(),history:Ku},id=``,ad=gt;function od(e){return xr(e,Cn(ad),e=>e.join(id))}function sd(e){return e.length===0?[]:xr(e.split(id),On(e=>Pr.make(e)))}function cd(e){return M(t=>r(n=>{let r=[],i=null,a=!1;for(let o of sd(t)){let t=n(e.getSnapshotAtom(o));a||=t.waiting;let s=D(lt(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(z(`${e.labelPrefix}:${t}`)))}var ld=6e3,ud=P(`clientRuntime.state.fetchEnvironmentBoundedThreadSnapshot`)(function*(e){let t={params:{threadId:e.threadId},query:{compactTurnItems:`1`}};return yield*Zi({...e,group:`orchestration`,method:`GET`,url:e=>e.threadBoundedSnapshot(t),timeoutMs:e.timeoutMs??ld,request:({client:e,headers:n})=>e.threadBoundedSnapshot({...t,headers:fa(n)})}).pipe(i(({turnItemsOmitLocalVisible:e,...t})=>({...t,projection:Eu({...t,turnItemsOmitLocalVisible:e})})))}),dd=ee(nd,j(function*(){let e=yield*Vt,t=yield*Ee(ia),n=yield*Ee(da);return nd.of({load:(r,a)=>{let o=td({prepared:r,threadId:a,signer:t,remoteAuthorization:n}).pipe(i(e=>({_tag:`present`,snapshot:e})),Dn(Vt,e),xn({EnvironmentResourceNotFoundError:()=>Se(`Full thread snapshot not found over HTTP after bounded fallback; treating the thread as deleted.`).pipe(F({threadId:a}),R({_tag:`missing`}))}),sn(e=>N(`Could not load the full thread snapshot over HTTP after bounded fallback; using the socket snapshot instead.`).pipe(F({threadId:a,cause:te(e)}),R({_tag:`unavailable`}))));return ud({prepared:r,threadId:a,signer:t,remoteAuthorization:n}).pipe(i(e=>({_tag:`present`,snapshot:{snapshotSequence:e.snapshotSequence,projection:e.projection,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal},history:{historyCursor:e.historyCursor,hasMoreHistory:e.hasMoreHistory,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal}})),Dn(Vt,e),xn({EnvironmentResourceNotFoundError:()=>Se(`Bounded thread snapshot not found over HTTP; treating the thread as deleted.`).pipe(F({threadId:a}),R({_tag:`missing`})),RemoteEnvironmentAuthInvalidJsonError:e=>Se(`Bounded thread snapshot returned an invalid response; trying the full HTTP thread snapshot for an older server.`).pipe(F({threadId:a,cause:e.message}),gn(o)),RemoteEnvironmentAuthUndeclaredStatusError:e=>e.status===404?Se(`Bounded thread snapshot route was not found; trying the full HTTP thread snapshot for an older server.`).pipe(F({threadId:a}),gn(o)):v(e)}),sn(e=>N(`Could not load the bounded thread snapshot over HTTP; using the socket snapshot instead.`).pipe(F({threadId:a,cause:te(e)}),R({_tag:`unavailable`}))))}})}));function fd(e){let t=M(e=>r([]).pipe($e)),n=M(n=>r(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 i(n,r){return{label:n.label,run:async(i,a)=>{let o=mr(),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:i}}function pd(e,t){let n=ca(),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=>Qo(e),scheduler:n,concurrency:r}),delete:U(e,{label:`environment-data:commands:thread:delete`,execute:e=>es(e),scheduler:n,concurrency:r}),archive:U(e,{label:`environment-data:commands:thread:archive`,execute:e=>ts(e),scheduler:n,concurrency:r}),unarchive:U(e,{label:`environment-data:commands:thread:unarchive`,execute:e=>ns(e),scheduler:n,concurrency:r}),settle:U(e,{label:`environment-data:commands:thread:settle`,execute:e=>rs(e),scheduler:n,concurrency:r}),unsettle:U(e,{label:`environment-data:commands:thread:unsettle`,execute:e=>ls(e),scheduler:n,concurrency:r}),snooze:U(e,{label:`environment-data:commands:thread:snooze`,execute:e=>us(e),scheduler:n,concurrency:r}),unsnooze:U(e,{label:`environment-data:commands:thread:unsnooze`,execute:e=>ds(e),scheduler:n,concurrency:r}),pin:U(e,{label:`environment-data:commands:thread:pin`,execute:e=>is(e),scheduler:n,concurrency:r}),unpin:U(e,{label:`environment-data:commands:thread:unpin`,execute:e=>cs(e),scheduler:n,concurrency:r}),reorderPin:U(e,{label:`environment-data:commands:thread:reorder-pin`,execute:e=>os(e),scheduler:n,concurrency:r}),setAutoSettle:U(e,{label:`environment-data:commands:thread:set-auto-settle`,execute:e=>as(e),scheduler:n,concurrency:r}),reorderActive:U(e,{label:`environment-data:commands:thread:reorder-active`,execute:e=>ss(e),scheduler:n,concurrency:r}),visit:U(e,{label:`environment-data:commands:thread:visit`,execute:e=>fs(e),scheduler:n,concurrency:r}),markUnread:U(e,{label:`environment-data:commands:thread:mark-unread`,execute:e=>ps(e),scheduler:n,concurrency:r}),updateMetadata:U(e,{label:`environment-data:commands:thread:update-metadata`,execute:e=>ms(e),scheduler:n,concurrency:r}),linkPullRequest:U(e,{label:`environment-data:commands:thread:link-pull-request`,execute:e=>Ms(e),scheduler:n,concurrency:r}),unlinkPullRequest:U(e,{label:`environment-data:commands:thread:unlink-pull-request`,execute:e=>Is(e),scheduler:n,concurrency:r}),linkDesign:U(e,{label:`environment-data:commands:thread:link-design`,execute:e=>Ns(e),scheduler:n,concurrency:r}),unlinkDesign:U(e,{label:`environment-data:commands:thread:unlink-design`,execute:e=>Ps(e),scheduler:n,concurrency:r}),watchPullRequest:U(e,{label:`environment-data:commands:thread:watch-pull-request`,execute:e=>Fs(e),scheduler:n,concurrency:r}),setRuntimeMode:U(e,{label:`environment-data:commands:thread:set-runtime-mode`,execute:e=>hs(e),scheduler:n,concurrency:r}),setInteractionMode:U(e,{label:`environment-data:commands:thread:set-interaction-mode`,execute:e=>gs(e),scheduler:n,concurrency:r}),startTurn:U(e,{label:`environment-data:commands:thread:start-turn`,execute:e=>_s(e),scheduler:n,concurrency:r}),interruptTurn:U(e,{label:`environment-data:commands:thread:interrupt-turn`,execute:e=>vs(e),scheduler:n,concurrency:r}),respondToApproval:U(e,{label:`environment-data:commands:thread:respond-to-approval`,execute:e=>ys(e),scheduler:n,concurrency:r}),respondToUserInput:U(e,{label:`environment-data:commands:thread:respond-to-user-input`,execute:e=>bs(e),scheduler:n,concurrency:r}),dismissUserInput:U(e,{label:`environment-data:commands:thread:dismiss-user-input`,execute:e=>xs(e),scheduler:n,concurrency:r}),revertCheckpoint:U(e,{label:`environment-data:commands:thread:revert-checkpoint`,execute:e=>Ss(e),scheduler:n,concurrency:r}),stopSession:U(e,{label:`environment-data:commands:thread:stop-session`,execute:e=>Cs(e),scheduler:n,concurrency:r}),forkFromRun:U(e,{label:`environment-data:commands:thread:fork-from-run`,execute:e=>ws(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=>Ts(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=>Es(e),scheduler:n,concurrency:r}),reorderQueuedRun:U(e,{label:`environment-data:commands:thread:reorder-queued-run`,execute:e=>Ds(e),scheduler:n,concurrency:r}),promoteQueuedRun:U(e,{label:`environment-data:commands:thread:promote-queued-run`,execute:e=>Os(e),scheduler:n,concurrency:r}),cancelQueuedRun:U(e,{label:`environment-data:commands:thread:cancel-queued-run`,execute:e=>ks(e),scheduler:n,concurrency:r}),retryWorkspacePreparation:U(e,{label:`environment-data:commands:thread:retry-workspace-preparation`,execute:e=>As(e),scheduler:n,concurrency:r}),editQueuedRun:U(e,{label:`environment-data:commands:thread:edit-queued-run`,execute:e=>js(e),scheduler:n,concurrency:r}),loadEarlierHistory:U(e,{label:`environment-data:commands:thread:load-earlier-history`,execute:e=>j(function*(){let t=yield*ba,n=yield*Ee(Hu);return C(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:E.providerUploadFeedback,scheduler:n,concurrency:r})},a=fd(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)>Ft(n))?e:{...e,pendingRuntimeRequest:null,snoozedUntil:we(t.snoozedUntil),snoozedAt:e.snoozedUntil!=null&&vt(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 md(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 hd(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 gd(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:Sn.make(`${e.id}:feedback`),role:t,text:n,turnId:null,streaming:!1,createdAt:e.createdAt,updatedAt:e.createdAt}}async function _d(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(Ti(t))e.onUpdate({...e.submission,status:`interrupted`});else{let n=Ii(t);e.onUpdate({...e.submission,status:`failed`,errorMessage:n instanceof Error?n.message:`An error occurred.`})}return t}var vd=new Set([`preparing`,`starting`,`running`,`waiting`]),yd=new Set([`waiting`,`completed`]),bd=new Set([`preparing`,`starting`,`running`]);function xd(e){return e.runs.findLast(e=>vd.has(e.status))??null}function Sd(e){let t=e.runs.reduce((e,t)=>yd.has(t.status)&&(e===null||t.ordinal>e.ordinal)?t:e,null);return t===null||e.runs.some(e=>e.ordinal>t.ordinal&&bd.has(e.status))?null:t}function Cd(e){let t=xd(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 wd(e){if(e==null)return!1;let t=Cd(e);return t===null?xd(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 Td(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 Ed(e){let t=xd(e),n=Cd(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:Ka(Td(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 Dd(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 Od(e){let t=Cd(e);return t!==null&&t.status!==`stopped`&&t.status!==`error`}function kd(e){return Ft(e.startedAt??e.updatedAt)}function Ad(e){if(e.subagents.length===0)return null;let t=xd(e),n=e.subagents.reduce((e,t)=>Ft(t.updatedAt)>Ft(e.updatedAt)?t:e),r=t?.id??n.runId,i=Ka(e.subagents.filter(e=>e.runId===r),(e,t)=>kd(e)-kd(t)||e.id.localeCompare(t.id));if(i.length===0)return null;let a=0,o=0;for(let e of i)zs(e.status)?a+=1:Rs(e.status)&&(o+=1);return{runId:r,turnActive:t!==null,subagents:i,liveCount:a,settledCount:o}}function jd(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 Md(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:vt(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:vt(r.createdAt),...a?.type===`approval_request`&&a.prompt?{detail:a.prompt}:{},...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 Nd(){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 Pd=Object.freeze([]);function Fd(e){let t=M(t=>{let n=vc(t);return r(t=>je(lt(t(e(n.environmentId,n.threadId))),()=>rd)).pipe(L(0),z(`environment-thread-state-value:${t}`))}),n=M(e=>{let n=vc(e),i=null,a=null;return r(r=>{let o=D(r(t(e)).data);return o===i?a:(i=o,a=o===null?null:{environmentId:n.environmentId,projection:o},a)}).pipe(L(0),z(`environment-thread:${e}`))}),i=M(e=>{let n=Nd();return r(r=>{let i=D(r(t(e)).data);return i===null?Pd:n(i)}).pipe(L(0),z(`environment-thread-visible-turn-items:${e}`))}),a=M(e=>{let n=null,i=null;return r(r=>{let a=D(r(t(e)).data);if(a===null)n=null,i=null;else if(n===null||a.thread!==n.thread||a.runs!==n.runs||a.messages!==n.messages||a.providerThreads!==n.providerThreads||a.providerSessions!==n.providerSessions||a.providerTurns!==n.providerTurns){i=Ed(a);let{thread:e,runs:t,messages:r,providerThreads:o,providerSessions:s,providerTurns:c}=a;n={thread:e,runs:t,messages:r,providerThreads:o,providerSessions:s,providerTurns:c}}return i}).pipe(L(0),z(`environment-thread-queue:${e}`))}),o=M(e=>{let n=null,i=0;return r(r=>{let a=D(r(t(e)).data);if(a===null)n=null,i=0;else if(a.runs!==n?.runs||a.messages!==n?.messages){let{runs:e,messages:t}=a;n={runs:e,messages:t},i=Td(n).length}return i}).pipe(L(0),z(`environment-thread-queue-count:${e}`))}),s=M(e=>{let n=null,i=null;return r(r=>{let a=D(r(t(e)).data);if(a===null)n=null,i=null;else if(a.runs!==n?.runs||a.subagents!==n?.subagents){let{runs:e,subagents:t}=a;n={runs:e,subagents:t},i=Ad(n)}return i}).pipe(L(0),z(`environment-thread-turn-subagents:${e}`))}),c=M(e=>r(n=>D(n(t(e)).data)?.thread.worktreePath??null).pipe(L(0),z(`environment-thread-worktree:${e}`))),l=M(e=>{let n=null,i=null;return r(r=>{let a=D(r(t(e)).data);if(a===null)return n=null,i=null,i;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(n===null||!xc(n.runtimeRequests,o)||!xc(n.turnItems,c))&&(n={runtimeRequests:o,turnItems:c},i=Md(n)),i}).pipe(L(0),z(`environment-thread-pending-requests:${e}`))}),u=M(e=>r(n=>n(t(e)).status).pipe(L(0),z(`environment-thread-status:${e}`))),d=M(e=>r(n=>D(n(t(e)).error)).pipe(L(0),z(`environment-thread-error:${e}`))),f=M(e=>r(n=>n(t(e)).history).pipe(L(0),z(`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=>t(Z(e)),threadAtom:e=>n(Z(e)),visibleTurnItemsAtom:e=>i(Z(e)),statusAtom:e=>u(Z(e)),errorAtom:e=>d(Z(e)),historyAtom:e=>f(Z(e))}}var Id=Object.freeze([]),Ld=Object.freeze([]),Rd=new Map,zd=new Map,Bd=new Map,Vd=e=>e.activityRunStatus===void 0?e.status===`preparing`||e.status===`starting`||e.status===`running`||e.status===`waiting`:e.activityRunStatus!==null;function Hd(e){let t=e.pendingRuntimeRequest?.kind;return t===void 0||t===`auth_refresh`||e.lineage.relationshipToParent!==`subagent`||yn(e)||!Vd(e)?null:t===`user_input`?`user_input`:`approval`}function Ud(e){let t=new Map,n;for(let r of e){let i=Hd(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?zd:t}function Wd(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}`}function Gd(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=ac(e,n,a),i.set(o,s)),s},i=M(t=>r(n=>n(e.snapshotAtom(t))?.threads??Id).pipe(z(`environment-threads:${t}`))),a=M(e=>r(t=>{let n=t(i(e));return n.length===0?Rd:new Map(n.map(e=>[e.id,e]))}).pipe(z(`environment-thread-index:${e}`))),o=M(e=>{let t=zd;return r(n=>{let r=Ud(n(i(e)));return r.size===t.size&&[...r].every(([e,n])=>t.get(e)===n)?t:(t=r,r)}).pipe(z(`environment-pending-subagent-requests:${e}`))}),s=M(e=>{let t=[];return r(n=>{let r=n(i(e)).map(t=>({environmentId:e,threadId:t.id}));return bc(t,r)?t:(t=r,r)}).pipe(z(`environment-thread-refs:${e}`))}),c=M(e=>{let t=Bd;return r(n=>{let r=new Map;for(let t of n(i(e))){let n=r.get(t.projectId),i={environmentId:e,threadId:t.id};n===void 0?r.set(t.projectId,[i]):n.push(i)}if(r.size===0)return t=Bd,t;let a=new Map;for(let[e,n]of r){let r=t.get(e);a.set(e,r!==void 0&&bc(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(z(`environment-thread-refs-by-project:${e}`))}),l=M(e=>{let t=vc(e);return r(e=>{let r=e(a(t.environmentId)).get(t.threadId)??null;return r===null?null:n(t.environmentId,r,e(o(t.environmentId)))}).pipe(z(`environment-thread-shell:${e}`))}),u=M(e=>{let t=vc(e),a=[];return r(e=>{let r=new Map;for(let n of e(i(t.environmentId))){let e=n.lineage.parentThreadId;if(e===null||n.lineage.relationshipToParent!==`subagent`)continue;let t=r.get(e);t?t.push(n):r.set(e,[n])}let s=e(o(t.environmentId)),c=new Set([t.threadId]),l=[t.threadId],u=[];for(let e of l)for(let i of r.get(e)??[])c.has(i.id)||(c.add(i.id),l.push(i.id),Hd(i)!==null&&u.push(n(t.environmentId,i,s)));return a.length===u.length&&a.every((e,t)=>e.id===u[t]?.id&&e.title===u[t]?.title&&e.hasPendingApprovals===u[t]?.hasPendingApprovals)?a:(a=u,u)}).pipe(z(`environment-child-thread-inputs:${e}`))}),d=M(e=>{let t=_c(e),i=[];return r(e=>{let r=[],s=new Set;for(let i of t){let t=e(c(i.environmentId)).get(i.projectId)??Ld;if(t.length===0)continue;let l=e(a(i.environmentId)),u=e(o(i.environmentId));for(let e of t){let t=Z(e);if(s.has(t))continue;s.add(t);let i=l.get(e.threadId);i!==void 0&&r.push(n(e.environmentId,i,u))}}return xc(i,r)||(i=r),i}).pipe(z(`environment-thread-shells-for-projects:${e}`))}),f=[],p=r(t=>{let n=[];for(let r of sc(t(e.catalogValueAtom)))n.push(...t(s(r)));return bc(f,n)?f:(f=n,n)}).pipe(z(`environment-thread-refs`)),m=[],h=r(t=>{let r=[];for(let a of sc(t(e.catalogValueAtom))){let e=t(o(a));for(let o of t(i(a)))r.push(n(a,o,e))}return xc(m,r)||(m=r),m}).pipe(z(`environment-thread-shell-list`)),g=[];return{environmentThreadsAtom:i,environmentThreadIndexAtom:a,environmentThreadRefsAtom:s,environmentThreadRefsByProjectAtom:c,threadRefsAtom:p,threadShellsAtom:h,navigationThreadShellsAtom:r(t=>{let r=[];for(let a of sc(t(e.catalogValueAtom))){let e=t(o(a));for(let o of t(i(a)))o.archivedAt===null&&o.lineage.relationshipToParent!==`subagent`&&r.push(n(a,o,e))}return xc(g,r)?g:(g=r,r)}).pipe(z(`environment-navigation-thread-shells`)),threadShellsForProjectRefsAtom:e=>d(hc(e)),threadShellAtom:e=>l(Z(e)),childThreadInputsAtom:e=>u(Z(e))}}function Kd(e){return T(e)?`cached`:`empty`}function qd(e){let t=u(e);return t instanceof Error&&t.message.trim().length>0?t.message:`Could not synchronize the thread.`}function Jd(e){return e instanceof Error&&e.message.trim().length>0?e.message:`Could not load earlier activity.`}function Yd(e){return{historyCursor:e.historyCursor??null,hasMoreHistory:e.hasMoreHistory??!1,loading:!1,error:null,expanded:!1,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal??null}}function Xd(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 Zd(e,t){return!t.expanded&&!e.runs.some(e=>e.status===`preparing`||e.status===`starting`||e.status===`running`)}function Qd(e,t,n,r){if(e.sequence!==n||D(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 $d(e){return{...e,status:e.status===`deleted`||e.status===`live`&&T(e.data)?e.status:Kd(e.data),error:f(),history:{...e.history,loading:!1,error:null}}}var ef=P(`EnvironmentThreadState.make`)(function*(e,t){let n=yield*ba,r=yield*Sa,a=yield*nd,o=yield*Ee(Hu),s=yield*Ee(Vt),c=yield*Ee(ia),l=yield*Ee(da),u=yield*Ee(ma),d=n.target.environmentId,m=t?.snapshot,h={};t&&(t.owner=h);let g=m===void 0?yield*r.loadThread(d,e).pipe(I(t=>N(`Could not load cached thread.`).pipe(F({environmentId:d,threadId:e,error:t.message}),R(f())))):f(),_=rt(g,e=>e.projection),v=m?$d(m.state):{data:_,status:Kd(_),error:f(),history:Kr(g,{onNone:()=>Ku,onSome:Yd})},y=yield*ve(v),ee=T(s)&&T(o),te=yield*Li(ee),ne=m?.sequence??Kr(g,{onNone:()=>0,onSome:e=>e.snapshotSequence}),re=yield*ve(ne),b={state:v,sequence:ne,persisted:m?.persisted??T(g),acceptsBoundedSnapshots:ee};t?.owner===h&&(t.snapshot=b);let ie=yield*Li(!1),ae=yield*Ne(1),oe=j(function*(){let e=yield*x(y),n=yield*x(re);b={state:e,sequence:n,acceptsBoundedSnapshots:yield*q(te),persisted:b.persisted&&Qd(b,D(e.data),n,e.history)},t?.owner===h&&(t.snapshot=b)}),se=yield*kt(1),ce=P(`EnvironmentThreadState.persist`)(function*(n){(t===void 0||t.owner===h)&&b.state.status!==`deleted`&&(b.persisted&&Qd(b,n.projection,n.snapshotSequence,Yd(n))||(yield*r.saveThread(d,n).pipe(ht(()=>S(()=>{Qd(b,n.projection,n.snapshotSequence,Yd(n))&&(b={...b,persisted:!0},t?.owner===h&&(t.snapshot=b))})),I(t=>N(`Could not persist the thread cache.`).pipe(F({environmentId:d,threadId:e,error:t.message}))))))});yield*Qe(()=>xt(()=>{let{state:e,sequence:t}=b;return Kr(e.data,{onNone:()=>B,onSome:n=>Zd(n,e.history)?ce(Xd(t,n,e.history,b.acceptsBoundedSnapshots===!0)):B})})),yield*dl(se,ce).pipe(k);let le=p(y,e=>e.status===`deleted`||T(e.error)?e:{...e,status:`synchronizing`,error:f()}),ue=p(y,e=>e.status===`live`||e.status===`deleted`||T(e.error)?e:{...e,status:`synchronizing`,error:f()}),de=j(function*(){yield*W(ie,!1),yield*p(y,e=>({...e,status:e.status===`deleted`?e.status:Kd(e.data)}))}),fe=e=>W(ie,!1).pipe(gn(p(y,t=>({...t,status:t.status===`deleted`?t.status:Kd(t.data),error:A(e)})))),pe=P(`EnvironmentThreadState.setThread`)(function*(e,t){let n=yield*q(ie),r=yield*St(y,r=>{let i=t?.history===void 0?t?.resetHistory===!0?Ku:r.history:t.history;return{...r,data:A(e),status:T(r.error)?`cached`:n?`synchronizing`:`live`,error:r.error,history:i}});if(Zd(e,r.history)){let t=yield*x(re);yield*at(se,Xd(t,e,r.history,yield*q(te)))}}),me=e=>p(y,t=>({...t,history:e(t.history)})),he=P(`EnvironmentThreadState.setDeleted`)(function*(){yield*W(ie,!1),yield*qr(y,{data:f(),status:`deleted`,error:f(),history:Ku}),yield*oe,(t===void 0||t.owner===h)&&(yield*r.removeThread(d,e).pipe(I(t=>N(`Could not remove the cached thread.`).pipe(F({environmentId:d,threadId:e,error:t.message})))))}),ge=P(`EnvironmentThreadState.applyEventsLocked`)(function*(t){let n=yield*x(re),r=n,i=[];for(let n of t)if(!(n.sequence<=r)){if(r=n.sequence,n.kind===`event`){i.push(n);continue}yield*Se(`Skipped a thread event type this client does not know.`).pipe(F({environmentId:d,threadId:e,eventType:n.eventType.slice(0,64),sequence:n.sequence}))}if(r===n||(yield*qr(re,r),i.length===0))return;let a=yield*q(ie),o=(e,t)=>{if(e.status===`deleted`)return[{_tag:`noop`},e];if(C(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=Bu(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:A(r),status:a?`synchronizing`:`live`,error:f(),history:i};return[{_tag:`applied`,projection:r,history:o.history},o]},s=yield*De(y,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*he();return}if(s._tag===`applied`&&Zd(s.projection,s.history)){let e=yield*x(re);yield*at(se,Xd(e,s.projection,s.history,yield*q(te)))}}),_e=P(`EnvironmentThreadState.applyItemLocked`)(function*(e){if(e.kind===`synchronized`){yield*W(ie,!1),yield*p(y,e=>T(e.data)&&e.status!==`deleted`&&C(e.error)?{...e,status:`live`,error:f()}:e);return}if(e.kind===`snapshot`){yield*qr(re,e.snapshotSequence);let t=e.historyCursor!==void 0||e.hasMoreHistory!==void 0||e.latestLocalTurnOrdinal!==void 0;yield*pe(Eu(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*ge([e])}),ye=P(`EnvironmentThreadState.applyItems`)(function*(e){yield*ae.withPermits(1)(j(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*ge(t),t=[],yield*_e(n)}yield*ge(t),yield*oe}))}),w=P(`EnvironmentThreadState.loadEarlier`)(function*(t){let r=yield*x(y);if(r.status===`deleted`||C(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*me(e=>qu(i,e)?{...e,loading:!0,error:null}:e);let a=e=>De(y,t=>qu(i,t.history)?[{_tag:`error`,message:e},{...t,history:{...t.history,loading:!1,error:e}}]:[{_tag:`noop`},t]);return yield*j(function*(){let r=yield*x(n.prepared);if(C(r)||C(s))return yield*a(`Environment is not connected.`);let o=t===void 0?[void 0]:[`conversation`,void 0];for(let n of o){let o=yield*Gu({prepared:r.value,threadId:e,cursor:i,throughEntryId:t,view:n,signer:c,remoteAuthorization:l}).pipe(Dn(Vt,s.value),Xt);if(ct(o))return yield*a(Jd(o.failure));let u=o.success,d=n===void 0,f=yield*q(ie),p=yield*ae.withPermits(1)(De(y,e=>qu(i,e.history)?C(e.data)||e.status===`deleted`?[{_tag:`noop`},{...e,history:Ku}]:[{_tag:`loaded`},{...e,data:A(Zu(e.data.value,u.items)),status:d&&f?`synchronizing`:e.status,history:d?Qu(e.history,u):{...e.history,expanded:!0}}]:[{_tag:`noop`},e]));if(p._tag!==`loaded`)return p;d&&(yield*oe)}return{_tag:`loaded`}}).pipe(tn(()=>p(y,e=>({...e,history:Ju(i,e.history)}))))});if(T(o)){let t=yield*tt,n=yield*o.value.register(d,e,{loadEarlier:e=>w(e).pipe(ke(t),O(br))});yield*Qe(()=>o.value.unregister(n))}yield*Je(n.state).pipe(Ht(e=>{switch(Xr(e)){case`synchronizing`:return le;case`disconnected`:return de;case`ready`:return ue}}),k);let be=Kr(u,{onNone:()=>ur,onSome:e=>e.changes.pipe(nr(ra))}),xe=yield*Li(v.status===`live`),Ce=j(function*(){(yield*q(xe))||(yield*p(y,e=>e.status===`deleted`?e:{...e,status:`synchronizing`,error:f()}))});return yield*Ce,yield*k(ga(Fn.subscribeThread,P(`EnvironmentThreadState.makeSubscribeInput`)(function*(t){let r=yield*x(y);if(r.status===`deleted`)return yield*Gt;let o=yield*t.initialConfig.pipe(i(e=>e.threadResumeCompletionMarker===!0),ln(()=>!1));if(yield*W(ie,o),yield*Ce,yield*W(xe,!1),C(r.data)){let t=yield*x(n.prepared).pipe(O(Kr({onSome:H,onNone:()=>Je(n.prepared).pipe(nr(T),an(e=>e.value),Wr,i(qe))}))),o=yield*a.load(t,e);switch(o._tag){case`present`:ee&&o.history!==void 0&&(yield*W(te,!0)),yield*ae.withPermits(1)(j(function*(){yield*qr(re,o.snapshot.snapshotSequence);let e=o.history===void 0?Ku:{historyCursor:o.history.historyCursor,hasMoreHistory:o.history.hasMoreHistory,loading:!1,error:null,expanded:!1,latestLocalTurnOrdinal:o.history.latestLocalTurnOrdinal??null};yield*pe(o.snapshot.projection,{history:e}),yield*oe})),r=yield*x(y);break;case`missing`:return yield*he(),yield*Gt}}let s=yield*x(re),c=T(r.data),l=yield*q(te);return!o&&c&&(yield*p(y,e=>({...e,status:e.status===`deleted`?e.status:`live`,error:f()}))),{threadId:e,...c?{afterSequence:s}:{},...o?{requestCompletionMarker:!0}:{},...l?{acceptBoundedSnapshot:!0,acceptCompactTurnItems:!0}:{}}}),{onDefect:()=>fe(`Could not synchronize the thread.`),onExpectedFailure:e=>fe(qd(e)),retryExpectedFailureAfter:`250 millis`,resubscribe:be}).pipe(Rr(ye))),y});function tf(e,t,n){return _a(e,Hn(ef(t,n).pipe(i(Je))))}function nf(e){let t=M(e=>r(()=>({snapshot:void 0,owner:void 0})).pipe(L(Vu),z(`environment-thread-resume:${e}`))),n=M(n=>{let{environmentId:r,threadId:i}=vc(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:pr(ut($d(t.snapshot.state)),n)},{initialValue:rd}).pipe(L(0),z(`environment-thread-state:${n}`))});return{stateAtom:(e,t)=>n(Z({environmentId:e,threadId:t}))}}var rf=class extends Qn(`@p4code/client-runtime/EnvironmentQueryStore`,{defaultValue:()=>null}){};function af(e){let t=vr(wn(e));return{load:(e,n)=>j(function*(){let r=yield*rf;if(r===null)return f();let a=yield*r.load(e,n);return C(a)?f():yield*et(t)(a.value).pipe(i(A),I(()=>d))}),save:(e,n,r)=>j(function*(){let i=yield*rf;if(i===null)return;let a=yield*Or(t)(r);yield*i.save(e,n,a)}).pipe(I(()=>N(`Offline query cache save failed`)))}}var of=vr(Dt([w,yt])),sf=e=>JSON.stringify([`pull-request-stat`,e.projectId,e.host??``,e.repository,e.number]);function cf(){let e=af(Le);return{load:(t,n)=>j(function*(){let[,r]=yield*gr(of)(n),i=(yield*ze(r.refs,n=>e.load(t,sf(n)))).flatMap(e=>T(e)?[e.value]:[]);return i.length?A({stats:i}):f()}).pipe(ln(()=>f())),save:(t,n,r)=>j(function*(){let[,i]=yield*gr(of)(n);yield*ze(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,sf(r),n):B})}).pipe(ge)}}var lf=new Set([E.pullRequestsSummary,E.pullRequestsStack,E.pullRequestsDetail,E.pullRequestsPreview,E.pullRequestsChecks,E.pullRequestsActivity,E.pullRequestsThreadComments,E.pullRequestsDiffFileContents,E.pullRequestsFilesViewed,E.pullRequestsReviewerCandidates,E.pullRequestsLabelCandidates]),uf=new Set([E.pullRequestsSetFilesViewed,E.pullRequestsRunAction,E.pullRequestsUpdate,E.pullRequestsComment,E.pullRequestsUpdateComment,E.pullRequestsSubmitReview,E.pullRequestsReplyToThread,E.pullRequestsSetReaction,E.pullRequestsSetThreadResolution,E.pullRequestsRequestReviewers,E.pullRequestsSetLabels]),df=Nn(Te),ff=Nn(ot({state:hr})),pf=Nn(ce),mf=e=>be({duration:`30 seconds`,orElse:()=>v(new xa({environmentId:e,message:`The environment did not respond to the PR request.`}))}),hf=new WeakMap,gf=Nn(Aa),_f=$n(vr(en(Fe(w)))),vf=new WeakMap,yf=new WeakMap;function bf(e,t,n){return Xe(r=>j(function*(){let i=yield*ba,a=yield*x(i.session);if(C(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(dr(s));return yield*r(qt(i)?bf(e,t,n):i)}let c=hn();return o.set(t,c),yield*r(n).pipe(Sr(e=>S(()=>o.delete(t)).pipe(gn(kr(c,e)))))}))}function xf(e){let t=e.target._tag===`PrimaryConnectionTarget`?e.target.httpBaseUrl:T(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 Sf(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 Cf=P(`PullRequestRouting.allowed`)(function*(e,t,n,r){let i=yield*x(e.entries),a=i.get(t),o=i.get(n);if(!a?.enabled||!o?.enabled)return!1;let s=yield*$r,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*Ee(Bi);if(C(t))return!1;let n=yield*t.value.get(e.target.connectionId).pipe(ln(()=>f())),r=di(e);if(r===null||r!==di({...e,profile:n}))return!1}return!0});function wf(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 Tf=P(`PullRequestRouting.invalidateTarget`)(function*(e,t,n,r){(n===t||(yield*Cf(e,t,n,!1)))&&(yield*ze(r,t=>e.run(n,Ci(E.pullRequestsInvalidate,t)).pipe(fr(`1 second`),ln(()=>void 0)),{concurrency:3,discard:!0}))}),Ef=({allowStale:e,expectedAccountId:t,...n},r)=>Ci(E.pullRequestsReportState,{reference:n,state:r}).pipe(fr(`5 seconds`),ge,ye,Jt);function Df(){let e=P(`PullRequestRouting.request`)(function*(e,t,n){let r=n??Ci(e,t);if(e===E.pullRequestsInvalidate&&pf(t)){let n=yield*Ci(e,t),r=yield*ba,i=yield*J,a=hf.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||wf(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*ze(o,([e,n])=>Tf(i,r.target.environmentId,e,[{...t,...t.reference===void 0?{}:{reference:n}}]),{concurrency:4,discard:!0}),n}if(!lf.has(e)&&!uf.has(e)||!df(t))return yield*Ci(e,t);let a=t,o=yield*ba,s=yield*J,c=yield*x(s.entries),l=c.get(o.target.environmentId),u=hf.get(s)??new Map;hf.set(s,u);let d=_f([o.target.environmentId,a.projectId,a.host?.toLowerCase()??null,a.repository.toLowerCase(),String(a.number)]),p=t=>t.pipe(ht(()=>{if(!uf.has(e)||u.size===0)return B;let t=new Map([[o.target.environmentId,[a]]]);for(let e of u.values())if(e.origin===o.target.environmentId&&wf(e.reference,a))for(let n of[...e.targets,o.target.environmentId]){let r=t.get(n)??[];r.some(t=>t.host===e.reference.host)||r.push(e.reference),t.set(n,r)}return ze(t,([t,n])=>Tf(s,o.target.environmentId,t,[...n.map(t=>({reference:t,...e===E.pullRequestsSetFilesViewed?{filesViewedOnly:!0}:{}})),...e===E.pullRequestsSetFilesViewed?[]:[{}]]),{concurrency:4,discard:!0})})),m=[];for(let[t,n]of c){if(t===o.target.environmentId||!(yield*Cf(s,o.target.environmentId,t,uf.has(e))))continue;let r=yield*s.run(t,ba.pipe(O(e=>x(e.session)))).pipe(ln(()=>f()));C(r)||(e!==E.pullRequestsChecks||(yield*r.value.initialConfig.pipe(i(e=>e.environment.capabilities.pullRequestChecks===!0),Ce(`2 seconds`),sn(e=>zr(e)?At:H(!1)))))&&m.push({id:t,local:xf(n)})}if(m.length===0)return yield*p(r);let h=Ci(E.pullRequestsRouting,a).pipe(Ce(`2 seconds`),sn(e=>zr(e)?At:H(null))),g=yield*lf.has(e)?bf(vf,_f([a.projectId,a.host?.toLowerCase()??null,a.repository.toLowerCase()]),h):h;if(g===null||g.provider!==`github`)return yield*p(r);let _={...t,host:g.host,expectedAccountId:g.accountId},v=n??(yield*or(Ci(e,_))),y=m.filter(e=>e.local),ee=m.filter(e=>!e.local),te=l!==void 0&&xf(l),ne=[...te&&uf.has(e)?[o.target.environmentId]:[],...y.map(e=>e.id),...!te&&uf.has(e)?[o.target.environmentId]:[],...ee.map(e=>e.id),...lf.has(e)?[o.target.environmentId]:[]],re=t=>(t===o.target.environmentId?v:s.run(t,Ci(e,_))).pipe(ht(e=>t!==o.target.environmentId&&ff(e)?Ef(a,e.state):B),ht(()=>S(()=>{let e=u.get(d)??{origin:o.target.environmentId,reference:{...a,host:g.host},targets:new Set};if(e.targets.add(t),u.size>=256&&!u.has(d)){let e=u.keys().next().value;e!==void 0&&u.delete(e)}u.set(d,e)})),V(e=>gf(e)?new xa({environmentId:t,message:`The environment was removed.`}):e)),b=t=>{let n=ne[t];return n===void 0?v:j(function*(){if(n!==o.target.environmentId){if(!(yield*Cf(s,o.target.environmentId,n,uf.has(e))))return yield*b(t+1);let r=Ci(E.pullRequestsRoutingIdentity,{host:g.host}).pipe(Ce(`2 seconds`),sn(e=>zr(e)?At:H(null))),i=yield*s.run(n,lf.has(e)?bf(yf,g.host.toLowerCase(),r):r).pipe(Ce(`2 seconds`),sn(e=>zr(e)?At:H(null)));if(i===null||i.provider!==`github`||i.host.toLowerCase()!==g.host.toLowerCase()||i.accountId!==g.accountId||!(yield*Cf(s,o.target.environmentId,n,uf.has(e))))return yield*b(t+1)}let r=re(n);return yield*(lf.has(e)?r.pipe(mf(n)):r).pipe(pn(n=>(lf.has(e)||Sf(n))&&t+1<ne.length,()=>b(t+1)),i(t=>typeof t==`object`&&t&&`projectId`in t?{...t,projectId:a.projectId,...e===E.pullRequestsDetail?{projectTitle:g.projectTitle,workspaceRoot:g.workspaceRoot}:{}}:t))})};return yield*p(b(0))});return P(`PullRequestRouting.readOrWrite`)(function*(t,n){if(!lf.has(t)||!df(n))return yield*e(t,n);let r=yield*J,i=yield*x(r.entries);if(i.size<2)return yield*Ci(t,n);let a=yield*ba,o=!1;for(let e of i.keys())if(e!==a.target.environmentId&&(yield*Cf(r,a.target.environmentId,e,!1))){o=!0;break}if(!o)return yield*Ci(t,n);let s={...n,allowStale:!1},c=yield*or(Ci(t,s).pipe(mf(a.target.environmentId))),l=i.get(a.target.environmentId),u=e(t,s,c);return yield*(l!==void 0&&xf(l)?c.pipe(I(()=>u)):u).pipe(I(e=>n.allowStale!==!1&&(t===E.pullRequestsSummary||t===E.pullRequestsDetail)?Ci(t,n):v(e)))})}var Of=6e4,kf=class extends h()(`PullRequestDiffCredentialRejectedError`,{repository:w,number:Be,traceId:w,cause:c}){get message(){return`This environment session is no longer valid (invalid_credential). Refresh the page or quit and reopen P4 Code.`}},Af=P(`clientRuntime.state.fetchEnvironmentPullRequestDiff`)(function*(e){return yield*Zi({...e,group:`pullRequests`,method:`POST`,url:e=>e.diff(),timeoutMs:e.timeoutMs??Of,request:({client:t,headers:n})=>t.diff({payload:e.diff,headers:n})}).pipe(V(t=>t._tag===`EnvironmentAuthInvalidError`&&t.reason===`invalid_credential`?new kf({repository:e.diff.repository,number:e.diff.number,traceId:t.traceId,cause:t}):t))}),jf=class extends _r()(`@p4code/client-runtime/state/pullRequestDiffHttp/PullRequestDiffLoader`){},Mf=ee(jf,j(function*(){let e=yield*Vt,t=yield*Ee(ia),n=yield*Ee(da);return jf.of({load:(r,i)=>Af({prepared:r,diff:i,signer:t,remoteAuthorization:n}).pipe(Dn(Vt,e))})})),Nf=class extends Et(`EnvironmentHttpConnectionNotReadyError`){},Pf=5e3;function Ff(e){let t=M(e=>qn(t=>{let n=t(e);if(n._tag===`Success`&&!n.waiting)return n;let r=t.self(),i=He(r,lt);return C(i)?n:n._tag===`Failure`?An(n.cause,{previous:r,waiting:n.waiting}):Hr(i.value,n)},(e,t)=>e.setSelf(t),t=>t(e)).pipe(L(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 If(e,t,n,r=!1){(r||e.get(t).waiting)&&e.refresh(t),e.update(t,$t(n))}function Lf(e){return bi(e,{label:`environment-data:pull-requests:turn-refreshes`,tag:E.pullRequestsSubscribeRefreshes})}function Rf(e,t=Lf(e)){let n=Df();return K(e,{label:`environment-data:pull-requests:linked-summary`,tag:E.pullRequestsSummary,execute:e=>n(E.pullRequestsSummary,e),staleTimeMs:6e4,refreshIntervalMs:6e4,idleTtlMs:Pf,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}}),isFinal:e=>e.state===`merged`})}function zf(e,t=Lf(e)){let n=Df();return K(e,{label:`environment-data:pull-requests:stack`,tag:E.pullRequestsStack,execute:e=>n(E.pullRequestsStack,e),staleTimeMs:6e4,idleTtlMs:Pf,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})}function Bf(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 Vf(e){let t=Lf(e),n=ca(),r=Df(),i={mode:`serial`,key:({environmentId:e})=>e},a=Ff(K(e,{label:`environment-data:pull-requests:activity`,persistence:af(Vn),tag:E.pullRequestsActivity,execute:e=>r(E.pullRequestsActivity,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),o=Ff(K(e,{label:`environment-data:pull-requests:detail`,persistence:af(Ln),tag:E.pullRequestsDetail,execute:e=>r(E.pullRequestsDetail,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),c=Ff(K(e,{label:`environment-data:pull-requests:preview`,persistence:af(fe),tag:E.pullRequestsPreview,execute:e=>r(E.pullRequestsPreview,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),l=Ff(K(e,{label:`environment-data:pull-requests:label-candidates`,tag:E.pullRequestsLabelCandidates,execute:e=>r(E.pullRequestsLabelCandidates,e),staleTimeMs:6e4})),u=Ff(K(e,{label:`environment-data:pull-requests:review-guide`,persistence:af(nn),tag:E.pullRequestsReviewGuide,execute:e=>r(E.pullRequestsReviewGuide,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),d=Ff(K(e,{label:`environment-data:pull-requests:reviewer-candidates`,tag:E.pullRequestsReviewerCandidates,execute:e=>r(E.pullRequestsReviewerCandidates,e),staleTimeMs:6e4}));return{refreshes:t,linkedThreads:K(e,{label:`environment-data:pull-requests:linked-threads`,persistence:af(Oe),tag:E.pullRequestsLinkedThreads,staleTimeMs:0,refreshIntervalMs:1e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})}),list:K(e,{label:`environment-data:pull-requests:list`,persistence:af(Ct),tag:E.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:cf(),tag:E.pullRequestsListStats,staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})}),detail:o,preview:c,checks:K(e,{label:`environment-data:pull-requests:checks`,persistence:af(Fe(s)),tag:E.pullRequestsChecks,execute:e=>r(E.pullRequestsChecks,e),staleTimeMs:45e3,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})}),activity:a,threadComments:G(e,{label:`environment-data:pull-requests:thread-comments`,tag:E.pullRequestsThreadComments,execute:e=>r(E.pullRequestsThreadComments,e),scheduler:n,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId,t.cursor])}}),diff:sa(e,{label:`environment-data:pull-requests:diff`,persistence:af(Me),staleTimeMs:6e4,execute:e=>j(function*(){let t=yield*ba,n=yield*jf,r=yield*x(t.prepared);return C(r)?yield*new Nf({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:E.pullRequestsDiffFileContents,execute:e=>r(E.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:af(Ye),tag:E.pullRequestsFilesViewed,execute:e=>r(E.pullRequestsFilesViewed,e),staleTimeMs:15e3}),setFilesViewed:G(e,{label:`environment-data:pull-requests:set-files-viewed`,tag:E.pullRequestsSetFilesViewed,execute:e=>r(E.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:E.pullRequestsRunAction,label:`environment-data:pull-requests:run-action`,execute:e=>j(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(E.pullRequestsDetail,c);if(l.state!==`open`||l.isDraft||!l.capabilities.actions.includes(`merge`)||!l.viewerPermissions.actions.includes(`merge`))return yield*new Ot({operation:`runAction`,detail:`This pull request cannot be merged.`});if(l.capabilities.stackActions&&(yield*r(E.pullRequestsStack,c))!==null)return yield*new Ot({operation:`runAction`,detail:`Open this pull request to merge its stack.`});let u=yield*Mt({try:()=>t(l),catch:e=>new Ot({operation:`runAction`,detail:e instanceof Error?e.message:`Could not choose a merge method.`})});i={...n,mergeMethod:u}}return yield*r(E.pullRequestsRunAction,i)}),onSuccess:({environmentId:e,input:t},n)=>S(()=>n.refresh(c({environmentId:e,input:t}))),scheduler:n,concurrency:i}),update:G(e,{label:`environment-data:pull-requests:update`,tag:E.pullRequestsUpdate,execute:e=>r(E.pullRequestsUpdate,e),onSuccess:(e,t)=>S(()=>t.refresh(c(e))),scheduler:n,concurrency:i}),comment:G(e,{label:`environment-data:pull-requests:comment`,tag:E.pullRequestsComment,execute:e=>r(E.pullRequestsComment,e),scheduler:n,concurrency:i}),updateComment:G(e,{label:`environment-data:pull-requests:update-comment`,tag:E.pullRequestsUpdateComment,execute:e=>r(E.pullRequestsUpdateComment,e),scheduler:n,concurrency:i,onSuccess:({environmentId:e,input:{projectId:t,host:n,repository:r,number:i}},o)=>S(()=>o.refresh(a({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:E.pullRequestsSubmitReview,execute:e=>r(E.pullRequestsSubmitReview,e),scheduler:n,concurrency:i}),replyToThread:G(e,{label:`environment-data:pull-requests:reply-to-thread`,tag:E.pullRequestsReplyToThread,execute:e=>r(E.pullRequestsReplyToThread,e),scheduler:n,concurrency:i}),reviewerCandidates:d,requestReviewers:G(e,{label:`environment-data:pull-requests:request-reviewers`,tag:E.pullRequestsRequestReviewers,execute:e=>r(E.pullRequestsRequestReviewers,e),scheduler:n,concurrency:i,onSuccess:(e,t)=>S(()=>{let{reviewers:n,requested:r}=e.input,i=d(e),s=D(lt(t.get(i)))?.candidates.filter(e=>n.some(t=>t.id===e.id&&t.kind===e.kind))??[],c=s.length<n.length;If(t,i,e=>({...e,candidates:e.candidates.map(e=>s.includes(e)?{...e,isRequested:r}:e)}));let l=new Set(s.map(e=>e.login.toLowerCase())),u=(e,t=e=>!1)=>r?[...e,...s.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));If(t,o(e),e=>({...e,reviewers:u(e.reviewers)}),c),If(t,a(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:E.pullRequestsGenerateReviewGuide,execute:e=>r(E.pullRequestsGenerateReviewGuide,e),onSuccess:(e,t,n)=>S(()=>{If(t,u(e),()=>n,!0)})}),labelCandidates:l,setLabels:G(e,{label:`environment-data:pull-requests:set-labels`,tag:E.pullRequestsSetLabels,execute:e=>r(E.pullRequestsSetLabels,e),scheduler:n,concurrency:i,onSuccess:(e,t)=>S(()=>{let{labels:n,applied:r}=e.input,i=l(e),a=D(lt(t.get(i))),s=new Set(n);If(t,i,e=>({...e,candidates:e.candidates.map(e=>s.has(e.name)?{...e,isApplied:r}:e)})),If(t,o(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=>!s.has(e.name))}))})}),setThreadResolution:G(e,{label:`environment-data:pull-requests:set-thread-resolution`,tag:E.pullRequestsSetThreadResolution,execute:e=>r(E.pullRequestsSetThreadResolution,e),scheduler:n,concurrency:i}),setReaction:G(e,{label:`environment-data:pull-requests:set-reaction`,tag:E.pullRequestsSetReaction,execute:e=>r(E.pullRequestsSetReaction,e),scheduler:n,concurrency:i}),invalidate:G(e,{label:`environment-data:pull-requests:invalidate`,tag:E.pullRequestsInvalidate,execute:e=>r(E.pullRequestsInvalidate,e),onSuccess:({environmentId:e,input:t},n)=>S(()=>{t.reference!==void 0&&n.refresh(c({environmentId:e,input:t.reference}))}),scheduler:n,concurrency:i})}}var Hf=`t3.backgroundActivity.clientId`,Uf=25e3,Wf=45e3,Gf=Wf,Kf=[{type:`provider-status`}],qf=new Map,Jf=new Set;function Yf(){for(let e of Jf)try{e()}catch{}}function Xf(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 Zf(){try{let e=window.localStorage.getItem(Hf);if(e)return e;let t=Un();return window.localStorage.setItem(Hf,t),t}catch{return`ephemeral-browser-client`}}function Qf(){return window.desktopBridge?`desktop-renderer`:`web`}function $f(e,t){return e<=t&&t-e<=Gf}function ep(e,t,n){let r=[...Kf];for(let t of qf.values())t.environmentId===e&&r.push(t.scope);return{environmentId:e,clientId:Zf(),clientKind:Qf(),visible:document.visibilityState===`visible`,focused:document.hasFocus(),recentlyInteracted:$f(t,n),appState:document.visibilityState===`visible`?`active`:`background`,scopes:r,ttlMs:Wf,observedAt:we(n)}}function tp(e){if(e.method===E.subscribeResourceTelemetry)return{type:`diagnostics`};if(e.method!==E.subscribeVcsStatus)return null;let t=e.input;return t.includeRemote===!1?null:typeof t.cwd==`string`?{type:`vcs-status`,cwd:t.cwd}:null}function np(e,t){let n=Xf(e,t),r=qf.get(n);return r?r.refCount+=1:(qf.set(n,{environmentId:e,scope:t,refCount:1}),Yf()),()=>{let e=qf.get(n);e&&(--e.refCount,e.refCount<=0&&(qf.delete(n),Yf()))}}function rp(e){let t=tp(e);return t===null?H(B):S(()=>{let n=np(e.environmentId,t);return S(n)})}var ip=oe(hi,hi.of({observe:rp})),ap=zn(j(function*(){if(typeof window>`u`||typeof document>`u`)return;let e=yield*J,t=yield*st,n=yield*kt(1),r=()=>m(n,void 0),i=t.currentTimeMillisUnsafe(),a=()=>{let e=t.currentTimeMillisUnsafe(),n=$f(i,e);i=e,n||r()},o={passive:!0},s=j(function*(){let t=yield*g,n=yield*x(e.entries);yield*ze(n.keys(),n=>e.run(n,Ui(E.serverReportClientActivity,ep(n,i,t))).pipe(ge),{concurrency:`unbounded`,discard:!0})}).pipe(Wt(`web.backgroundActivity.report`));yield*Nt(S(()=>{Jf.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)}),()=>S(()=>{Jf.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*Je(e.entries).pipe(Ht(()=>S(r)),k),yield*ar(n).pipe(xe(`250 millis`),Ht(()=>s),k),yield*S(r).pipe(Fr(Yt(`${Uf} millis`)),k)})),op=ot({schemaVersion:re(3),environmentId:Pr,snapshot:wr}),sp=ot({schemaVersion:re(4),environmentId:Pr,threadId:Ut,snapshot:rn.mapFields(e=>({...e,projection:Jn}))});function cp(e,t){return e.pipe(I(()=>t.pipe(R(f()))))}var lp=ot({connectionId:w,credential:Ca}),up=ot({schemaVersion:re(1),targets:en(oi),profiles:en(oa),credentials:en(lp),remoteDpopTokens:en(Qi),githubRoutingPermissions:vn(en(Fi)),disabledEnvironmentIds:en(Pr).pipe(Qt(H([])))}),dp=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 pp(e,t,n){return e.filter(e=>t(e)!==n)}function mp(e){switch(e._tag){case`PrimaryConnectionTarget`:case`RelayConnectionTarget`:return null;case`BearerConnectionTarget`:case`SshConnectionTarget`:return e.connectionId}}function hp(e){return mp(e)??e._tag}function gp(e,t){let n=new Set(t.flatMap(e=>mp(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 _p(e,t){return e.targets.filter(e=>e.environmentId===t)}function vp(e,t,n){let r=new Set(n.map(hp)),i=_p(e,t).filter(e=>!r.has(hp(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{...gp(e,i),targets:[...o.slice(0,s),...n,...o.slice(s)]}}function yp(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 bp(e,t){let n=vp(e,t,[]);return{...n,remoteDpopTokens:pp(n.remoteDpopTokens,e=>e.environmentId,t),disabledEnvironmentIds:pp(n.disabledEnvironmentIds,e=>e,t),...n.githubRoutingPermissions===void 0?{}:{githubRoutingPermissions:n.githubRoutingPermissions.filter(e=>e.environmentId!==t)}}}function xp(e,t,n){let r=e.targets.some(e=>e.environmentId===t),i=pp(e.disabledEnvironmentIds,e=>e,t);return{...e,disabledEnvironmentIds:r&&!n?[...i,t]:i}}function Sp(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 Cp=/^[^-+]+-(?:nightly|preview)\.\d{8}\.\d+$/;function wp(e){return e.stageLabel.trim().toLowerCase()===`latest`?e.baseName:`${e.baseName} (${e.stageLabel})`}function Tp(e){return e.primaryServerVersion&&Cp.test(e.primaryServerVersion)?`Nightly`:e.fallbackStageLabel}function Ep(e){let t=Tp({primaryServerVersion:e.primaryServerVersion,fallbackStageLabel:e.fallbackStageLabel});return t===e.fallbackStageLabel?e.fallbackDisplayName:wp({baseName:e.baseName,stageLabel:t})}function Dp(){return typeof window>`u`?null:window.desktopBridge?.getAppBranding?.()??null}var Op=Dp(),kp=``,Ap=kp===`latest`||kp===`nightly`?kp:null,jp=Ap===`nightly`?`Nightly`:Ap===`latest`?`Latest`:null,Mp=Op?.baseName??`P4 Code`,Np=Op?.stageLabel??jp??`Latest`,Pp=Op?.displayName??wp({baseName:Mp,stageLabel:Np}),Fp=`0.8.19`,Ip=`state`,Lp=`challenge`,Rp=`port`,zp=`/callback`,Bp=`https://app.p4.codes`,Vp=[`openid`,`profile`,`email`,`offline_access`];function Hp(e){let t=Ec(e),n=t.get(Ip)?.trim()??``,r=t.get(Lp)?.trim()??``,i=Up(t.get(Rp)?.trim()??``);return!n||!r||i===null?null:{state:n,challenge:r,loopbackPort:i}}function Up(e){if(!/^\d{1,5}$/.test(e))return null;let t=Number(e);return t>=1&&t<=65535?t:null}function Wp(e){return`http://127.0.0.1:${e}${zp}`}function Gp(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 Kp(){return Bp}function qp(){return``}function Jp(){return null}function Yp(e){try{return new URL(e).origin}catch{return null}}function Xp(e){if(qp())return!1;if(Jp())return!0;if(e===void 0&&(typeof window>`u`||window.location===void 0))return!1;let t=Yp(Kp());return t!==null&&(e??new URL(window.location.href)).origin===t}function Zp(e=new URL(window.location.href)){let t=e.searchParams.get(`host`)?.trim()??``,n=Ic(e)?.trim()??``,r=e.searchParams.get(`label`)?.trim()??``;return!t||!n?null:{host:t,token:n,label:r}}function Qp(e=new URL(window.location.href)){return Zp(e)!==null}function $p(e){let t=new URL(`/pair`,Kp());t.searchParams.set(`host`,e.host);let n=e.label?.trim();return n&&t.searchParams.set(`label`,n),Rc(t,e.token).toString()}function em(e){let t=new URL(`/__t3code/channel`,Kp());return t.searchParams.set(`channel`,e.channel),t.toString()}var tm=15e3,nm=12e4,rm=tm,im=new Map,am=new Set([E.serverGetUsageSummary,E.mcpRegistryProviderSignInWait]),om=new Set([E.serverUpdateProvider,E.serverRefreshProviders,E.serverUpdateServer]),sm=r([]).pipe($e,z(`slow-rpc-ack-requests`));function cm(e){pe.set(sm,[...e])}function lm(){return pe.get(sm)}function um(e){return!e.includes(`subscribe`)&&!e.startsWith(`pullRequests.`)&&!am.has(e)}function dm(e){return om.has(e)?Math.max(rm,nm):rm}function fm(e,t,n=t){if(!um(t))return;mm(e),gm();let r=Date.now(),i=dm(t),a={requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:n,thresholdMs:i},o=setTimeout(()=>{im.delete(e),hm(a)},i);im.set(e,{request:a,timeoutId:o})}function pm(e){mm(e);let t=lm();t.some(t=>t.requestId===e)&&cm(t.filter(t=>t.requestId!==e))}function mm(e){let t=im.get(e);t&&(clearTimeout(t.timeoutId),im.delete(e))}function hm(e){let t=[...lm(),e];if(t.length<=256){cm(t);return}cm(t.slice(-256))}function gm(){for(;im.size>=256;){let e=im.keys().next().value;if(e===void 0)return;mm(e)}}function _m(){return It(sm)}var vm=`local:`;function ym(e){return`${vm}${e}`}function bm(e){return e._tag===`BearerConnectionTarget`&&e.connectionId.startsWith(vm)}function xm(e){return bm(e)?e.connectionId.slice(6):null}function Sm(e){return xm(e)?.startsWith(`wsl:`)===!0}function Cm(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!==Ue);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 wm=Cm(()=>window.desktopBridge);function Tm(){return wm.readResult()}function Em(){return wm.readSnapshot()}var Dm={"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 Om(e,t){let n=Dm[t??``];return n?`file.${n}`:e}function km(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=Im(r);if(e?.startsWith(`image/`))return`image`;if(e?.startsWith(`video/`))return`video`;if(Fm(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 Am=1048576;function jm(e,t=!1){let n=e.subarray(0,Am);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 Mm=[`.avif`,`.gif`,`.ico`,`.jpeg`,`.jpg`,`.png`,`.svg`,`.webp`],Nm=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`]]),Pm=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 Fm(e){return/^\.[a-z0-9]+$/i.test(e)?Pm.get(e.toLowerCase())??null:null}function Im(e){return/^\.[a-z0-9]+$/i.test(e)?Nm.get(e.toLowerCase())??Rn({name:`media${e}`,mimeType:``}):null}function Lm(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:Im(a.slice(o))}function Rm(e){let t=Lm(e);return t===null?null:t.startsWith(`video/`)?`video`:`image`}function zm(e,t){let n=e.toLowerCase();return t.some(e=>n.endsWith(e))}function Bm(e){return zm(e,Mm)}function Vm(e){return Rn({name:e,mimeType:``})!==null}function Hm(e){let t=e.lastIndexOf(`.`);return t>=0&&Fm(e.slice(t))!==null}var Um=`project-favicon-missing`;[...Mm];function Wm(e,t,n){return JSON.stringify([e,t,n||null])}function Gm(e,t,n){let r=n;try{let e=new URL(n,`https://t3.invalid`).pathname;r=e.slice(e.lastIndexOf(`/`)+1)}catch{}return JSON.stringify([e,t,r])}function Km(e){if(!e)return!1;try{let t=new URL(e,`https://t3.invalid`).pathname;return t.slice(t.lastIndexOf(`/`)+1)===Um}catch{return!1}}var qm=32768,Jm=4194304,Ym=w.check(Cr(qm),Kn(/^data:image\/(?:png|jpeg|gif|webp|avif|svg\+xml|x-icon|vnd\.microsoft\.icon);base64,[A-Za-z0-9+/]+={0,2}$/)),Xm=ot({environmentId:Pr,cwd:w,faviconPath:Fe(w),revision:w,dataUrl:Ym}),Zm=a(Xm),Qm=Nn(Ym);function $m(e){return Wm(e.environmentId,e.cwd,e.faviconPath)}async function eh(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 th(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:Lm(n);if(!o)throw Error(`Project icon has no image type.`);let s=await eh(i,Jm);r.throwIfAborted();let c=`data:${o};base64,${he(s)}`;if(Qm(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 nh(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=Zm(n);T(e)&&t.set($m(e.value),e.value)}l()}catch{}})(),d=e=>t.get($m(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=$m(i);if(Km(o))return c(h),null;let g=Gm(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(Qm(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 rh=`t3code:project-favicons`,ih=2,ah=`images`,oh;function sh(){return oh??=new Promise((e,t)=>{let n=indexedDB.open(rh,ih);n.addEventListener(`upgradeneeded`,()=>{for(let e of n.result.objectStoreNames)e!==ah&&n.result.deleteObjectStore(e);n.result.objectStoreNames.contains(ah)||n.result.createObjectStore(ah)}),n.addEventListener(`success`,()=>e(n.result)),n.addEventListener(`error`,()=>t(n.error)),n.addEventListener(`blocked`,()=>t(Error(`Project icon cache is blocked.`)))})}function ch(e){return new Promise((t,n)=>{e.addEventListener(`complete`,()=>t()),e.addEventListener(`abort`,()=>n(e.error)),e.addEventListener(`error`,()=>n(e.error))})}async function lh(e,t){let n=(await sh()).transaction(ah,e),r=t(n.objectStore(ah));return await ch(n),r?.result}async function uh(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 dh=nh({storage:{list:async()=>await lh(`readonly`,e=>e.getAll())??[],put:async(e,t)=>{await lh(`readwrite`,n=>n.put(t,e))},remove:async e=>{await lh(`readwrite`,t=>t.delete(e))}},load:th({downscale:uh})}),fh=`t3code:connection-runtime`,ph=4,mh=`catalog`,hh=`shell`,gh=`thread`,_h=`server-config`,vh=`vcs-refs`,yh=`document`,bh=vr(op),xh=vr(sp),Sh=ot({schemaVersion:re(1),environmentId:Pr,config:kn}),Ch=vr(Sh),wh=ot({schemaVersion:re(1),environmentId:Pr,cwd:w,refs:lr}),Th=vr(wh),Eh=vr(up),Dh=et(Eh),Oh=Or(Eh),kh=et(bh),Ah=Or(bh),jh=et(xh),Mh=Or(xh),Nh=et(Ch),Ph=Or(Ch),Fh=et(Th),Ih=Or(Th);function Q(e,t){return new Ai({reason:`remote-unavailable`,detail:`Could not ${e} the local connection catalog: ${String(t)}`})}function $(e,t){return new Ri({operation:e,message:`Could not ${e.replaceAll(`-`,` `)}: ${String(t)}`})}var Lh=P(`web.connectionStorage.openDatabase`)(function*(){return yield*Er(e=>{if(typeof indexedDB>`u`){e(v(Q(`open`,`IndexedDB is unavailable in this browser context.`)));return}try{let t=indexedDB.open(fh,ph);t.addEventListener(`upgradeneeded`,()=>{t.result.objectStoreNames.contains(mh)||t.result.createObjectStore(mh),t.result.objectStoreNames.contains(hh)||t.result.createObjectStore(hh),t.result.objectStoreNames.contains(gh)||t.result.createObjectStore(gh),t.result.objectStoreNames.contains(_h)||t.result.createObjectStore(_h),t.result.objectStoreNames.contains(vh)||t.result.createObjectStore(vh)}),t.addEventListener(`error`,()=>{e(v(Q(`open`,t.error??`Unknown IndexedDB error`)))}),t.addEventListener(`success`,()=>{e(H(t.result))})}catch(t){e(v(Q(`open`,t)))}})}),Rh=P(`web.connectionStorage.makeDatabaseHandle`)(function*(){let e=yield*Ne(1),t=null,n=e=>{t===e&&(t=null)},r=xt(()=>t===null?e.withPermits(1)(j(function*(){if(t!==null)return t;let e=yield*Lh();return t=e,e.addEventListener(`close`,()=>n(e)),e.addEventListener(`versionchange`,()=>{n(e),e.close()}),e})):H(t)),i=e.withPermits(1)(S(()=>{t?.close(),t=null}));return{handle:{get:r,invalidate:e=>S(()=>n(e))},close:i}});function zh(e,t){let n=Symbol(`closedConnection`);return O(e.get,r=>t(r).pipe(pn(e=>e.detail.includes(`InvalidStateError`),t=>e.invalidate(r).pipe(gn(v({[n]:t})))))).pipe(pn(e=>n in e,()=>O(e.get,t)))}function Bh(e,t,n){return Er(r=>{try{let i=e.transaction(t,`readonly`).objectStore(t).get(n);i.addEventListener(`error`,()=>{r(v(Q(`read`,i.error??`Unknown IndexedDB read error`)))}),i.addEventListener(`success`,()=>{r(H(i.result))})}catch(e){r(v(Q(`read`,e)))}}).pipe(Wt(`web.connectionStorage.readDatabaseValue`))}function Vh(e,t,n,r){return Er(i=>{try{let a=e.transaction(t,`readwrite`);a.addEventListener(`abort`,()=>{i(v(Q(`write`,a.error??`Unknown IndexedDB write error`)))}),a.addEventListener(`complete`,()=>{i(B)}),a.objectStore(t).put(r,n)}catch(e){i(v(Q(`write`,e)))}}).pipe(Wt(`web.connectionStorage.writeDatabaseValue`))}function Hh(e,t,n){return Er(r=>{try{let i=e.transaction(t,`readwrite`);i.addEventListener(`abort`,()=>{r(v(Q(`remove`,i.error??`Unknown IndexedDB remove error`)))}),i.addEventListener(`complete`,()=>{r(B)}),i.objectStore(t).delete(n)}catch(e){r(v(Q(`remove`,e)))}}).pipe(Wt(`web.connectionStorage.removeDatabaseValue`))}function Uh(e,t,n){return Er(r=>{try{let i=e.transaction(t,`readwrite`);i.addEventListener(`abort`,()=>{r(v(Q(`remove`,i.error??`Unknown IndexedDB cursor error`)))}),i.addEventListener(`complete`,()=>{r(B)});let a=i.objectStore(t).openCursor(n);a.addEventListener(`error`,()=>{r(v(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(v(Q(`remove`,e)))}})}catch(e){r(v(Q(`remove`,e)))}}).pipe(Wt(`web.connectionStorage.removeDatabaseValuesInRange`))}function Wh(e,t,n){return zh(e,e=>Bh(e,t,n))}function Gh(e,t,n,r){return zh(e,e=>Vh(e,t,n,r))}function Kh(e,t,n){return zh(e,e=>Hh(e,t,n))}function qh(e,t,n){return zh(e,e=>Uh(e,t,n))}function Jh(e,t){return`${e}:${t}`}function Yh(e,t){return`${e}:${t}`}var Xh=P(`web.connectionStorage.decodeCatalog`)(function*(e){return yield*Dh(e).pipe(V(e=>Q(`decode`,e)))}),Zh=P(`web.connectionStorage.encodeCatalog`)(function*(e){return yield*Oh(e).pipe(V(e=>Q(`encode`,e)))});function Qh(e){let t=window.desktopBridge;return t?.getConnectionCatalog!==void 0&&t.setConnectionCatalog!==void 0?{read:Pt({try:()=>t.getConnectionCatalog(),catch:e=>Q(`load`,e)}),write:e=>Pt({try:()=>t.setConnectionCatalog(e),catch:e=>Q(`save`,e)}).pipe(O(e=>e?B:v(Q(`save`,`Desktop secure storage is unavailable in this system context.`))))}:{read:Wh(e,mh,yh).pipe(i(e=>typeof e==`string`?e:null)),write:t=>Gh(e,mh,yh,t),quarantine:t=>Gh(e,mh,`${yh}:corrupt:${Date.now()}`,t)}}var $h=P(`web.connectionStorage.makeCatalogStore`)(function*(e){let t=yield*Li(f()),n=yield*Ne(1),r=P(`web.connectionStorage.loadCatalog`)(function*(){let n=yield*q(t);if(T(n))return n.value;let r=yield*e.read,i=dp;return r!==null&&r.trim()!==``&&(i=yield*Xh(r).pipe(I(t=>j(function*(){yield*N(`Discarding a corrupt web connection catalog.`,{error:t.message}),e.quarantine!==void 0&&(yield*e.quarantine(r).pipe(I(e=>N(`Could not quarantine the corrupt web connection catalog.`,{error:e.message}))));let n=yield*Zh(dp);return yield*e.write(n).pipe(I(e=>N(`Could not persist the recovered web connection catalog.`,{error:e.message}))),dp})))),yield*W(t,A(i)),i});return{read:n.withPermits(1)(r()),update:P(`web.connectionStorage.updateCatalog`)(function*(i){yield*n.withPermits(1)(j(function*(){let n=i(yield*r());yield*e.write(yield*Zh(n)),yield*W(t,A(n))}))})}}),eg=`t3code:github-routing:`,tg=`t3code:github-routing-changed`,ng=Nn(Fi),rg=$n(vr(Fi));function ig(e=window){let t=t=>{try{let n=e.localStorage.getItem(t),r=n===null?null:JSON.parse(n);return ng(r)&&t===`${eg}${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(eg)){let e=t(i);e!==null&&n.push(e)}}return n}catch{return[]}},r=(t,n)=>Mt({try:()=>{let r=`${eg}${t}`;n===null?e.localStorage.removeItem(r):e.localStorage.setItem(r,rg(n)),e.dispatchEvent(new Event(tg))},catch:e=>Q(`save GitHub routing permissions in`,e)});return $r.of({get:e=>S(()=>{let n=t(`${eg}${e.target.environmentId}`);return Mi(e,n===null?[]:[n])}),changes:_t(t=>Nt(S(()=>{let r=e=>{if(e.type===`storage`){let t=e.key;if(t!==null&&!t?.startsWith(eg))return}m(t,n())};return e.addEventListener(`storage`,r),e.addEventListener(tg,r),m(t,n()),r}),t=>S(()=>{e.removeEventListener(`storage`,t),e.removeEventListener(tg,t)})).pipe(Jt)),set:(e,t)=>{let n=di(e);return n===null?v(new Fa({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 ag=Ve(j(function*(){let{handle:e}=yield*Nt(Rh(),e=>e.close),t=yield*$h(Qh(e)),r=ig(),a=_i.of({list:t.read.pipe(i(e=>e.targets),V(e=>$(`list-targets`,e))),listDisabled:t.read.pipe(i(e=>e.disabledEnvironmentIds),V(e=>$(`list-disabled-targets`,e)))}),o=li.of({register:(e,n)=>t.update(t=>yp(t,e,n)).pipe(V(e=>$(`register-connection`,e))),setRoutes:(e,n)=>t.update(t=>vp(t,e,n)).pipe(V(e=>$(`set-connection-routes`,e))),remove:e=>t.update(t=>bp(t,e)).pipe(V(e=>$(`remove-connection`,e))),setEnabled:(e,n)=>t.update(t=>xp(t,e,n)).pipe(V(e=>$(`set-connection-enabled`,e)))}),s=Wi({get:e=>t.read.pipe(i(t=>In(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:pp(t.profiles,e=>e.connectionId,e)}))}),c=Yr({get:e=>t.read.pipe(i(t=>In(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:pp(t.credentials,e=>e.connectionId,e)}))}),l=ya({get:e=>t.read.pipe(i(t=>In(t.remoteDpopTokens.find(t=>t.environmentId===e)))),put:e=>t.update(t=>Sp(t,e)),remove:e=>t.update(t=>({...t,remoteDpopTokens:pp(t.remoteDpopTokens,e=>e.environmentId,e)}))}),u=Sa.of({loadShell:t=>Wh(e,hh,t).pipe(ht(()=>_n(()=>dh.hydrate())),O(n=>typeof n==`string`?cp(kh(n).pipe(V(e=>$(`load-shell`,e)),i(e=>e.environmentId===t?A(e.snapshot):f())),Kh(e,hh,t)):d),V(e=>$(`load-shell`,e))),saveShell:(t,n)=>j(function*(){let r=yield*Ah({schemaVersion:3,environmentId:t,snapshot:n}).pipe(V(e=>$(`save-shell`,e)));yield*Gh(e,hh,t,r)}).pipe(V(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-shell`,e))),loadServerConfig:t=>Wh(e,_h,t).pipe(O(e=>typeof e==`string`?Nh(e).pipe(V(e=>$(`load-server-config`,e)),i(e=>e.environmentId===t?A(e.config):f())):d),V(e=>e._tag===`ConnectionPersistenceError`?e:$(`load-server-config`,e))),saveServerConfig:(t,n)=>j(function*(){let r=yield*Ph({schemaVersion:1,environmentId:t,config:n}).pipe(V(e=>$(`save-server-config`,e)));yield*Gh(e,_h,t,r)}).pipe(V(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-server-config`,e))),loadThread:(t,n)=>Wh(e,gh,Jh(t,n)).pipe(O(r=>typeof r==`string`?cp(jh(r).pipe(V(e=>$(`load-thread`,e)),i(e=>e.environmentId===t&&e.threadId===n?A(e.snapshot):f())),Kh(e,gh,Jh(t,n))):d),V(e=>$(`load-thread`,e))),saveThread:(t,n)=>j(function*(){let r=yield*Mh({schemaVersion:4,environmentId:t,threadId:n.projection.thread.id,snapshot:n}).pipe(V(e=>$(`save-thread`,e)));yield*Gh(e,gh,Jh(t,n.projection.thread.id),r)}).pipe(V(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-thread`,e))),loadVcsRefs:(t,n)=>Wh(e,vh,Yh(t,n)).pipe(O(e=>typeof e==`string`?Fh(e).pipe(V(e=>$(`load-vcs-refs`,e)),i(e=>e.environmentId===t&&e.cwd===n?A(e.refs):f())):d),V(e=>e._tag===`ConnectionPersistenceError`?e:$(`load-vcs-refs`,e))),saveVcsRefs:(t,n,r)=>j(function*(){let i=yield*Ih({schemaVersion:1,environmentId:t,cwd:n,refs:r}).pipe(V(e=>$(`save-vcs-refs`,e)));yield*Gh(e,vh,Yh(t,n),i)}).pipe(V(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-vcs-refs`,e))),removeVcsRefs:(t,n)=>Kh(e,vh,Yh(t,n)).pipe(V(e=>$(`remove-vcs-refs`,e))),clearVcsRefs:t=>qh(e,vh,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)).pipe(V(e=>$(`clear-vcs-refs`,e))),removeThread:(t,n)=>Kh(e,gh,Jh(t,n)).pipe(V(e=>$(`remove-thread`,e))),clear:t=>n([_n(()=>dh.clearEnvironment(t)),Kh(e,hh,t),qh(e,gh,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)),Kh(e,_h,t),qh(e,vh,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`))],{concurrency:`unbounded`,discard:!0}).pipe(V(e=>$(`clear-environment`,e)))});return Gn(_i,a).pipe(Mn($r,r),Mn(li,o),Mn(Bi,s),Mn(wi,c),Mn(ea,l),Mn(Sa,u))}));function og(e){switch(e){case`darwin`:return`macOS`;case`win32`:return`Windows`;case`linux`:return`Linux`;default:return e?`other`:`unknown`}}function sg(e){return/macintosh/i.test(e.userAgent)&&/mac/i.test(e.platform)&&e.maxTouchPoints>1}function cg(e){let t=e.userAgent;return t.trim()===``?`unknown`:/iphone|ipad|ipod/i.test(t)||sg(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 lg(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 ug(e){let t=e.userAgent;return t.trim()===``?`unknown`:/ipad|tablet|kindle|silk/i.test(t)||/android/i.test(t)&&!/mobile/i.test(t)||sg(e)?`tablet`:/iphone|ipod|android.+mobile|mobile/i.test(t)?`mobile`:`desktop`}function dg(e){return e.desktopBridge===void 0?{label:`P4 Code Web`,deviceType:ug(e.identity),os:cg(e.identity),surface:`web`,webDeployment:e.hosted?`hosted`:`server`,browser:lg(e.identity.userAgent),...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}:{label:`P4 Code Desktop`,deviceType:`desktop`,os:og(e.desktopBridge.getClientPlatform?.()),surface:`desktop`,...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}}var fg=0;function pg(){return typeof navigator>`u`?`unknown`:navigator.onLine?`online`:`offline`}var mg=Hi({status:S(pg),changes:_t(e=>Nt(S(()=>{let t=()=>m(e,`online`),n=()=>m(e,`offline`);return window.addEventListener(`online`,t),window.addEventListener(`offline`,n),{online:t,offline:n}}),({online:e,offline:t})=>S(()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,t)})).pipe(Jt))}),hg=_t(e=>Nt(S(()=>{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,m(e,`network-changed`))};return t.addEventListener(`change`,r),{connection:t,listener:r}}),e=>S(()=>e?.connection.removeEventListener(`change`,e.listener))).pipe(Jt)),gg=aa({changes:bn([_t(e=>Nt(S(()=>{let t=()=>{document.visibilityState===`visible`&&m(e,`application-active`)};return document.addEventListener(`visibilitychange`,t),t}),e=>S(()=>{document.removeEventListener(`visibilitychange`,e)})).pipe(Jt)),va(pe).pipe(an(()=>`credentials-changed`)),hg],{concurrency:`unbounded`})});function _g(){return dg({appVersion:Fp,hosted:Xp(),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 Fa({reason:`authentication`,detail:t}):new Ai({reason:`remote-unavailable`,detail:`Could not prepare the SSH environment: ${t}`})}var yg=P(`web.connectionPlatform.ssh.provisionDesktop`)(function*(e,t,n){let r=yield*Pt({try:()=>e.ensureSshEnvironment(t,{issuePairingToken:!0}),catch:vg}),i=r.pairingToken;if(i===null)return yield*new Fa({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`});let a=yield*Pt({try:()=>e.fetchSshEnvironmentDescriptor(r.httpBaseUrl),catch:vg});if(n!==void 0&&a.environmentId!==n)return yield*new Fa({reason:`configuration`,detail:`That host reaches ${a.label}, a different machine. Add it as its own environment instead.`});let o=yield*Pt({try:()=>e.bootstrapSshBearerSession(r.httpBaseUrl,i),catch:vg});return{environmentId:a.environmentId,label:a.label,bootstrap:r,bearerToken:o.access_token}}),bg=Ve(S(()=>{let e=na.of({metadata:_g()}),t=Gi.of({identity:S(()=>o(pe.get(pa))),clerkToken:j(function*(){let e=pe.get(pa);if(e===null)return yield*new Fa({reason:`authentication`,detail:`Sign in to P4 Connect to connect this environment.`});let t=yield*e.readClerkToken().pipe(V(e=>new Ai({reason:`network`,detail:e.message})));return t===null?yield*new Fa({reason:`authentication`,detail:`The P4 Connect session is unavailable.`}):t})}),n=Ba.of({deviceId:d}),r=Ma.of({bearerToken:Pt({try:za,catch:e=>new Ai({reason:`remote-unavailable`,detail:`Could not load the desktop primary credential: ${String(e)}`})}).pipe(i(o))}),a=Ji.of({provision:P(`web.connectionPlatform.ssh.provision`)(function*(e,t){let n=window.desktopBridge;return n===void 0?yield*new Fa({reason:`unsupported`,detail:`SSH environments are only available in the desktop app.`}):yield*yg(n,e,t)}),prepare:P(`web.connectionPlatform.ssh.prepare`)(function*(e){let t=window.desktopBridge;if(t===void 0)return yield*new Fa({reason:`unsupported`,detail:`SSH environments are only available in the desktop app.`});let n=yield*Pt({try:()=>t.ensureSshEnvironment(e.target,{issuePairingToken:!0}),catch:vg});return n.pairingToken===null?yield*new Fa({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`}):{bootstrap:n,bearerToken:(yield*Pt({try:()=>t.bootstrapSshBearerSession(n.httpBaseUrl,n.pairingToken),catch:vg})).access_token}}),disconnect:P(`web.connectionPlatform.ssh.disconnect`)(function*(e){let t=window.desktopBridge;t!==void 0&&(yield*Pt({try:()=>t.disconnectSshEnvironment(e),catch:e=>new Ai({reason:`remote-unavailable`,detail:`Could not disconnect the SSH environment: ${String(e)}`})}))})});return Gn(Gi,t).pipe(Mn(Ma,r),Mn(Ba,n),Mn(na,e),Mn(Ji,a))})),xg=P(`web.connectionPlatform.loadPrimaryConnectionRegistration`)(function*(e){let t=yield*Lt({httpBaseUrl:e.target.httpBaseUrl}).pipe(sr(ja),V(La));return new qi({target:new ri({environmentId:t.environmentId,label:t.label,httpBaseUrl:e.target.httpBaseUrl,wsBaseUrl:e.target.wsBaseUrl})})}),Sg=P(`web.connectionPlatform.loadSecondaryConnectionRegistration`)(function*(e){if(e.httpBaseUrl===null||e.wsBaseUrl===null||e.bootstrapToken===void 0)return yield*new Ai({reason:`endpoint-unavailable`,detail:`Desktop-local backend ${e.id} is not ready yet.`});let t=e.httpBaseUrl,n=e.wsBaseUrl,r=yield*Lt({httpBaseUrl:t}).pipe(V(La)),i=yield*g,a=yield*xi({httpBaseUrl:t,credential:e.bootstrapToken,scopes:mt,clientMetadata:_g()}).pipe(V(La)),o=ym(e.id),s=e.label||r.label;return{registration:new ha({target:new ei({environmentId:r.environmentId,label:s,connectionId:o}),profile:new Da({connectionId:o,environmentId:r.environmentId,label:s,httpBaseUrl:t,wsBaseUrl:n}),credential:new $i({token:a.access_token})}),expiresAtEpochMs:Tg(i,a.expires_in),refreshAtEpochMs:Eg(i,a.expires_in)}}),Cg=`3 seconds`,wg=5e3;function Tg(e,t){return e+Math.max(0,t*1e3)}function Eg(e,t){return Math.max(e,Tg(e,t)-wg)}function Dg(e=Di){try{return{_tag:`Success`,target:e()}}catch(e){return{_tag:`Failure`,cause:e}}}function Og(e,t){return t._tag===`Failure`?e.get(Ue):void 0}function kg(e,t,n){return e.signature===t&&(e.refreshAtEpochMs===void 0||n<e.refreshAtEpochMs)}function Ag(e,t,n){return e.signature===t&&e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs}var jg=6e4,Mg=18e5;function Ng(e,t,n){return e!==void 0&&e.signature===t&&n<e.retryAtEpochMs}function Pg(e,t,n){let r=e?.signature===t?Math.min(e.delayMs*2,Mg):jg;return{signature:t,retryAtEpochMs:n+r,delayMs:r}}function Fg(e){return e._tag===`ConnectionBlockedError`&&e.reason===`authentication`}function Ig(e,t,n){return t._tag===`Success`?new Map:new Map([...e].filter(([,e])=>e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs))}var Lg=ee(tl,j(function*(){if(Xp()||Pa())return tl.of({registrations:Ze});let e=yield*Li(new Map),t=yield*Li(new Map),n=j(function*(){let n=yield*q(e),r=yield*g,a=new Map,o=[],s=Dg(),c=Og(n,s);if(c!==void 0&&(a.set(Ue,c),o.push(c.registration)),s._tag===`Failure`)yield*N(`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}`,i=n.get(Ue);if(i!==void 0&&kg(i,t,r))a.set(Ue,i),o.push(i.registration);else{let n=yield*xg(e).pipe(de(e=>N(`Could not discover the primary environment.`,{error:e})),Wn);if(T(n)){let e={signature:t,registration:n.value};a.set(Ue,e),o.push(n.value)}}}let l=Tm();for(let[e,t]of Ig(n,l,r))a.set(e,t),o.push(t.registration);if(l._tag===`Failure`)yield*N(`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&&kg(u,c,r)){a.set(t.id,u),o.push(u.registration);continue}let d=e.get(t.id);if(Ng(d,l,r)){s.set(t.id,d),u!==void 0&&Ag(u,c,r)&&(a.set(t.id,u),o.push(u.registration));continue}let f=yield*Sg(t).pipe(de(e=>N(`Could not connect a desktop-local backend.`,{id:t.id,error:e})),de(e=>Fg(e)?g.pipe(i(e=>s.set(t.id,Pg(d,l,e)))):B),Wn);if(T(f)){let e={signature:c,...t.bootstrapToken===void 0?{}:{bootstrapToken:t.bootstrapToken},...f.value};a.set(t.id,e),o.push(f.value.registration)}else u!==void 0&&Ag(u,c,r)&&(a.set(t.id,u),o.push(u.registration))}yield*W(t,s)}return yield*W(e,a),o}).pipe(sr(rr));return tl.of({registrations:We(Cg).pipe(Nr(()=>n))})})),Rg=oe(mi,mi.of({clear:e=>S(()=>{En(e)})})),zg=oe(ci,ci.of({observe:({environmentId:e,method:t})=>S(()=>{fg+=1;let n=`${e}:${fg}`;return fm(n,t,`${t} · ${e}`),S(()=>{pm(n)})})})),Bg=Ae(ag,mg,gg,bg,Lg,Rg,zg).pipe(Ie(Ea)),Vg=Ae(dd,iu,Uu,Mf).pipe(Ke(rl({environmentThemes:!0,usageLimitSources:!0,usageLimitsCommand:!0})),Ke(Ae(Ea,Bg,ip))),Hg=ap.pipe(Ke(Vg)),Ug=tr(Hg);export{Ed as $,yo as $t,Wp as A,mc as At,Rf as B,Ys as Bt,Kp as C,$a as Cn,sl as Ct,Vp as D,Lc as Dt,Zp as E,oo as En,Rc as Et,Fp as F,oc as Ft,Wd as G,Bs as Gt,zf as H,Ks as Ht,Ap as I,ic as It,Fd as J,Zo as Jt,Gd as K,Ws as Kt,jp as L,Qs as Lt,Mp as M,lc as Mt,Pp as N,sc as Nt,Bp as O,xc as Ot,Np as P,ac as Pt,Dd as Q,bo as Qt,Ep as R,Zs as Rt,$p as S,eo as Sn,cl as St,Xp as T,io as Tn,Ic as Tt,Bf as U,qs as Ut,Vf as V,Xs as Vt,nf as W,Gs as Wt,jd as X,Fo as Xt,Md as Y,Xo as Yt,Od as Z,Uo as Zt,bm as _,Xa as _n,Ol as _t,Km as a,Ao as an,_d as at,_m as b,qa as bn,al as bt,Om as c,vo as cn,od as ct,Bm as d,po as dn,$u as dt,Do as en,Sd as et,Vm as f,go as fn,Su as ft,xm as g,so as gn,Bl as gt,Im as h,ao as hn,Wl as ht,Wm as i,xo as in,md as it,Hp as j,yc as jt,Gp as k,gc as kt,km as l,ho as ln,rd as lt,Lm as m,lo as mn,pu as mt,dh as n,Oo as nn,gd as nt,Am as o,jo as on,pd as ot,Rm as p,uo as pn,Cu as pt,Ud as q,Yo as qt,Gm as r,So as rn,hd as rt,jm as s,Co as sn,cd as st,Ug as t,ko as tn,wd as tt,Hm as u,_o as un,Ku as ut,Sm as v,Ja as vn,ml as vt,Qp as w,co as wn,Vc as wt,em as x,no as xn,ol as xt,Em as y,Ya as yn,ul as yt,Tp as z,Js as zt};
|
|
2
|
-
//# sourceMappingURL=runtime-
|
|
1
|
+
import{$C as e,$T as t,$b as n,$o as r,$x as i,$y as a,AT as o,Ah as s,Al as c,As as l,Aw as u,BS as d,BT as f,B_ as p,Bv as m,By as h,CC as g,Cw as _,Cx as v,Cy as y,DC as ee,Dw as te,Dx as ne,Dy as re,ET as b,Ev as ie,Ex as ae,FC as oe,FS as se,F_ as x,Fh as ce,Fs as le,Fx as ue,GS as de,Gh as fe,Go as pe,Gv as me,HS as S,Hb as he,Hx as ge,IS as _e,IT as C,I_ as ve,Ix as ye,Iy as w,JS as be,J_ as xe,Jx as Se,KS as Ce,Kb as we,Kh as Te,LS as Ee,LT as T,L_ as De,Lc as E,Lh as Oe,Lx as ke,MC as Ae,MT as je,Mh as Me,Mv as Ne,Mx as Pe,My as Fe,NC as Ie,NT as D,Nh as Le,Nl as Re,Nx as ze,Ny as Be,OC as Ve,OT as He,Ol as Ue,Ov as We,Ox as O,Oy as Ge,PC as Ke,PT as qe,P_ as Je,Ph as Ye,QS as Xe,Q_ as Ze,Qb as Qe,Qo as $e,Qy as et,RC as tt,RS as nt,RT as rt,R_ as it,Rv as at,Rx as k,Ry as ot,SC as st,ST as ct,Ss as lt,Sv as ut,Sx as dt,TC as ft,TT as pt,T_ as mt,US as ht,UT as gt,U_ as _t,Ub as vt,Uh as yt,Uy as bt,VS as xt,VT as A,V_ as St,Vh as Ct,Vs as wt,Vv as Tt,Vw as Et,Vx as j,Vy as Dt,Wh as Ot,Wv as kt,Wx as At,Wy as jt,XS as Mt,Xb as Nt,YS as Pt,Yb as Ft,Yo as It,Ys as Lt,Yw as Rt,Z_ as zt,Zo as M,Zw as Bt,Zx as N,_u as Vt,_v as Ht,_y as Ut,aC as Wt,aS as Gt,au as Kt,aw as qt,ax as Jt,bC as Yt,bS as Xt,bT as Zt,bb as Qt,bs as $t,by as en,cS as tn,cl as nn,cu as rn,cv as an,cw as on,cx as sn,cy as cn,dS as ln,db as un,du as dn,dv as fn,dx as pn,eb as mn,ew as hn,ex as gn,fS as _n,fb as vn,fu as yn,fv as bn,fx as xn,fy as Sn,gT as Cn,gb as wn,gu as Tn,h as En,hS as Dn,hT as On,hl as kn,hs as An,iS as jn,iT as Mn,ib as Nn,ig as Pn,iu as Fn,jT as In,jh as Ln,jt as Rn,jx as P,kC as zn,kT as Bn,kh as Vn,kv as Hn,l as Un,lS as Wn,lT as Gn,lb as Kn,ls as qn,lu as Jn,lx as Yn,ly as Xn,my as Zn,nT as Qn,nb as $n,ng as er,ns as tr,nv as nr,nx as F,oc as rr,ou as ir,ov as ar,ox as or,pS as sr,pT as cr,pl as lr,pv as ur,px as I,qC as dr,qS as fr,q_ as pr,qb as mr,qh as hr,qy as gr,rT as _r,rb as vr,rs as L,rv as yr,rx as R,ry as br,sE as xr,sS as Sr,sb as Cr,ss as z,su as wr,sw as Tr,sx as Er,sy as Dr,tC as B,tS as V,tb as Or,tw as kr,ty as Ar,uS as jr,uu as Mr,uv as Nr,uy as Pr,vS as Fr,vb as Ir,vs as Lr,vv as Rr,vw as zr,wx as Br,xc as Vr,xs as Hr,yC as Ur,yv as Wr,yw as Gr,zS as H,zT as Kr,z_ as qr}from"./utils-ChK8VEFC.js";import{$ as Jr,$t as Yr,A as U,An as Xr,At as Zr,Bn as Qr,Bt as $r,Cn as ei,Ct as ti,D as ni,Dn as ri,Dt as ii,E as ai,En as oi,F as si,G as ci,Gn as W,Gt as li,Hn as ui,Ht as di,I as fi,Jn as pi,Jt as mi,K as hi,Kn as gi,Kt as _i,M as G,Mt as vi,N as K,Nt as yi,P as bi,Pn as xi,Pt as Si,Q as Ci,Qt as wi,R as Ti,Rn as Ei,S as Di,Sn as Oi,St as ki,Tn as Ai,Tt as ji,Un as q,Ut as Mi,V as Ni,Vn as Pi,Vt as Fi,W as Ii,Wn as Li,Wt as Ri,X as zi,Xt as Bi,Y as Vi,Yt as Hi,Z as Ui,Zt as Wi,_n as Gi,_t as Ki,an as qi,bn as Ji,bt as Yi,cn as Xi,ct as Zi,dn as Qi,dt as J,en as $i,fn as ea,ft as ta,gn as na,gt as ra,hn as ia,ht as aa,in as oa,j as sa,k as ca,kn as la,kt as ua,ln as da,lt as fa,m as pa,mt as ma,nn as ha,nt as ga,ot as _a,p as va,pn as ya,pt as ba,q as xa,qt as Sa,rn as Ca,rt as wa,sn as Ta,t as Ea,tn as Da,tt as Oa,un as ka,ut as Aa,v as ja,vn as Ma,vt as Na,w as Pa,wn as Fa,wt as Ia,xn as La,xt as Ra,y as za,yn as Ba,yt as Va,zn as Ha,zt as Ua}from"./runtime-BunkcrGh.js";function Wa(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 Ga(e){let t=new URL(Wa(e));return t.protocol=t.protocol===`https:`?`wss:`:`ws:`,t.toString()}function Ka(e,t){return[...e].sort(t)}function qa(e){return/^[a-zA-Z]:([/\\]|$)/.test(e)}function Ja(e){return e.startsWith(`\\\\`)}function Ya(e){return Ja(e)||qa(e)}function Xa(e){return e===`.`||e===`..`||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)}function Za(e){return e===`/`||e===`\\`||/^[a-zA-Z]:[/\\]$/.test(e)}function Qa(e){if(e.length===0||Za(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 $a(e){return Qa(e.trim())}function eo(e){let t=$a(e);return qa(t)||Ja(t)?t.replaceAll(`/`,`\\`).toLowerCase():t}var to=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/;function no(e){let t=e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+/,``).slice(0,64).replace(/-+$/,``);return t.length===0?`project`:to.test(t)?`${t}-project`:t}var ro=/^\/[A-Za-z]:[\\/]/;function io(e){return ro.test(e)?e.slice(1):e}function ao(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 oo(e,t){if(!t)return null;let n=io(e.replaceAll(`\\`,`/`)),r=io(t.replaceAll(`\\`,`/`)).replace(/\/+$/,``),i=Ya(io(t)),a=i?n.toLowerCase():n,o=i?r.toLowerCase():r;return a.replace(/\/+$/,``)===o?`.`:a.startsWith(`${o}/`)?n.slice(r.length+1):null}function so(e){return e.startsWith(`/`)||Ya(e)}function co(e,t){if(so(e)||e.startsWith(`~/`)||e.startsWith(`~\\`))return e;let n=t.replace(/[/\\]+$/,``);return Ya(t)?`${n}\\${e.replaceAll(`/`,`\\`)}`:`${n}/${e}`}function lo(e){if(!e)return null;if(e.provider===`azure-devops`){let t=(e.displayName??``).split(`/`).filter(e=>e!==`_git`);return e.name||t.at(-1)||null}return e.displayName?e.displayName:e.owner&&e.name?`${e.owner}/${e.name}`:null}function uo(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 fo(e,t,n){return e===t||e.endsWith(`.${t}`)?!0:n!==void 0&&e.split(`.`).includes(n)}function po(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 mo(n,/^\/([^/]+\/[^/]+)\/pulls\/(\d+)(?:\/|$)/u.exec(t.pathname));if(fo(n,`github.com`,`github`)){let e=/^\/([^/]+\/[^/]+)\/pull\/(\d+)(?:\/|$)/u.exec(t.pathname);if(e)return mo(n,e)}let r=/^\/([^/]+(?:\/[^/]+)+)\/pulls\/(\d+)(?:\/|$)/u.exec(t.pathname);if(r){let e=mo(n,r);return e===null?null:{...e,authority:t.host.toLowerCase()}}let i=/^\/([^/]+(?:\/[^/]+)+)\/-\/merge_requests\/(\d+)(?:\/|$)/u.exec(t.pathname);return i?mo(n,i):fo(n,`bitbucket.org`,`bitbucket`)?mo(n,/^\/([^/]+\/[^/]+)\/pull-requests\/(\d+)(?:\/|$)/u.exec(t.pathname)):fo(n,`dev.azure.com`)||n.endsWith(`.visualstudio.com`)?mo(n,/^\/((?:[^/]+\/)*_git\/[^/]+)\/pullrequest\/(\d+)(?:\/|$)/u.exec(t.pathname)):null}function mo(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 ho(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 go(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 _o(e,t){let n=po(e.url),r=po(t);return n!==null&&r!==null&&n.host===r.host&&n.repository===r.repository&&n.number===r.number&&n.authority===r.authority}function vo(e){if(po(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 yo(e){let t=e.url===void 0?null:po(e.url),n=uo(`${(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 bo(e,t){let n=po(e.url);if(n!==null&&n.number===e.number){let e=uo(`${n.host}/${n.repository}`);if(n.authority!==void 0||e.startsWith(`dev.azure.com/`))return yo(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 xo(e,t){return So(e)===So(t)}function So(e){let t=yo(e);return`${t.host}/${t.repository}#${t.number}`}function Co(e){return e.filter(e=>e.source!==`stack-dismissed`)}function wo(e){return e.snapshot===null||e.snapshot.state===`open`}function To(e){let t=e.snapshot?.updatedAt??e.linkedAt,n=Date.parse(t);return Number.isNaN(n)?0:n}function Eo(e){let t=Co(e);if(t.length===0)return null;let n=t.filter(wo);if(n.length===1)return{kind:`single`,link:n[0]};let r=Oo(t);if(n.length>1){let e=r.map(e=>[...e.layers].reverse().filter(wo)).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)=>To(t)-To(e))[0]}}function Do(e){let t=Eo(e);return t===null?null:t.kind===`single`?t.link:t.top}function Oo(e){let t=Co(e),n=[],r=new Set,i=new Map;for(let e of t){if(e.stack===null)continue;let t=yo(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(So(t));n.push({kind:`native`,layers:e})}let a=t.filter(e=>!r.has(So(e))),o=(e,t)=>{let n=yo(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(So(t))}for(let e of a){if(c.has(So(e)))continue;let t=[],i=e;for(;i!==void 0&&!r.has(So(i));)r.add(So(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(So(e))||n.push({kind:`derived`,layers:[e]});return n}function ko(e){let t=Co(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=Oo(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 Ao(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(Co(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 jo(e){if(e.pullRequests!==void 0)return e.pullRequests;let t=e.linkedPullRequest;return t==null?[]:[{...bo(t),url:t.url,source:`manual`,linkedAt:`1970-01-01T00:00:00.000Z`,snapshot:null,stack:null}]}function Mo(e,t){return{...e,pullRequests:jo(e).map(e=>xo(e,t)?t:e)}}var No=new Set([`command_execution`,`dynamic_tool`,`subagent`]),Po=new Set([`cancelled`,`completed`,`failed`,`interrupted`,`waiting`]);function Fo(e){return e.some(e=>Io(e.kind))}function Io(e){switch(e){case`command`:return!1;case`subagent`:case`monitor`:case`background_task`:return!0}}function Lo(e){return e!=null&&Po.has(e.status)}function Ro(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Reflect.get(e,`persistent`)===!0}function zo(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 Bo(e,t){let n=zo(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 Vo(e){let t=e.nativeItemRef?.nativeId;return typeof t==`string`&&t.length>0?t:String(e.id)}function Ho(e){let t=new Set((e.runs??[]).filter(e=>e.status===`rolled_back`).map(e=>String(e.id)));return e.turnItems.filter(e=>No.has(e.type)&&dn(e.status)&&!(e.type===`dynamic_tool`&&Ro(e.input))&&(e.runId===void 0||e.runId===null||!t.has(String(e.runId))))}function Uo(e){if(e.hasActiveRun??e.runs?.some(e=>e.status===`preparing`||e.status===`starting`||e.status===`running`)??!1)return[];if(e.latestRun==null)return Wo(e.pullRequests);if(!Lo(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 Ho(e)){let e=Vo(n);t.has(e)||t.set(e,Bo(e,n))}for(let n of Wo(e.pullRequests))t.set(n.taskId,n);return Array.from(t.values())}function Wo(e){return(e??[]).flatMap(e=>e.watch===void 0||e.source===`stack-dismissed`?[]:[{taskId:`pull-request-watch:${So(e)}`,description:`Watching pull request #${e.number}`,kind:`monitor`}])}var Y=P(`EnvironmentCommands.allocateCommandId`)(function*(e){if(e.commandId!==void 0)return e.commandId;let t=yield*pi;return Xn.make(yield*t.randomUUIDv4().pipe(jr))}),X=e=>Ui(Fn.dispatchCommand,e),Go=e=>Ui(Fn.getThreadProjection,{threadId:e}),Ko=P(`EnvironmentCommands.supportsServerResolvedCommandContext`)(function*(){return(yield*Vi()).environment.capabilities.serverResolvedCommandContext===!0}),qo=P(`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*Ui(E.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]})}),Jo=P(`EnvironmentCommands.mutateProject`)(function*(e){return yield*Ui(E.projectsMutate,e)}),Yo=P(`EnvironmentCommands.createProject`)(function*(e){return yield*Jo({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}})}),Xo=P(`EnvironmentCommands.updateProject`)(function*(e){return yield*Jo({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}})}),Zo=P(`EnvironmentCommands.deleteProject`)(function*(e){return yield*Jo({type:`project.delete`,commandId:yield*Y(e),projectId:e.projectId,...e.force===void 0?{}:{force:e.force}})}),Qo=P(`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})});function $o(e,t){return Y(t).pipe(O(n=>X({type:e,commandId:n,threadId:t.threadId})))}var es=P(`EnvironmentCommands.deleteThread`)(function*(e){return yield*$o(`thread.delete`,e)}),ts=P(`EnvironmentCommands.archiveThread`)(function*(e){return yield*$o(`thread.archive`,e)}),ns=P(`EnvironmentCommands.unarchiveThread`)(function*(e){return yield*$o(`thread.unarchive`,e)}),rs=P(`EnvironmentCommands.settleThread`)(function*(e){return yield*$o(`thread.settle`,e)}),is=P(`EnvironmentCommands.pinThread`)(function*(e){return yield*X({type:`thread.pin`,commandId:yield*Y(e),threadId:e.threadId,...e.orderKey===void 0?{}:{orderKey:e.orderKey}})}),as=P(`EnvironmentCommands.setThreadAutoSettle`)(function*(e){return yield*X({type:`thread.auto-settle.set`,commandId:yield*Y(e),threadId:e.threadId,enabled:e.enabled})}),os=P(`EnvironmentCommands.reorderPinnedThread`)(function*(e){return yield*X({type:`thread.pin.reorder`,commandId:yield*Y(e),threadId:e.threadId,orderKey:e.orderKey})}),ss=P(`EnvironmentCommands.reorderActiveThread`)(function*(e){return yield*X({type:`thread.active.reorder`,commandId:yield*Y(e),threadId:e.threadId,orderKey:e.orderKey})}),cs=P(`EnvironmentCommands.unpinThread`)(function*(e){return yield*$o(`thread.unpin`,e)}),ls=P(`EnvironmentCommands.unsettleThread`)(function*(e){return yield*X({type:`thread.unsettle`,commandId:yield*Y(e),threadId:e.threadId,reason:e.reason})}),us=P(`EnvironmentCommands.snoozeThread`)(function*(e){return yield*X({type:`thread.snooze`,commandId:yield*Y(e),threadId:e.threadId,snoozedUntil:e.snoozedUntil})}),ds=P(`EnvironmentCommands.unsnoozeThread`)(function*(e){return yield*X({type:`thread.unsnooze`,commandId:yield*Y(e),threadId:e.threadId,reason:e.reason})}),fs=P(`EnvironmentCommands.visitThread`)(function*(e){return yield*X({type:`thread.visit`,commandId:yield*Y(e),threadId:e.threadId,visitedAt:e.visitedAt})}),ps=P(`EnvironmentCommands.markThreadUnread`)(function*(e){return yield*X({type:`thread.mark-unread`,commandId:yield*Y(e),threadId:e.threadId})}),ms=P(`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.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.modelSelection!==void 0&&(n=yield*X({type:(yield*Ko())?`thread.model-selection.set`:le((yield*Go(e.threadId)).thread.providerInstanceId,e.modelSelection),commandId:n===null?t:Xn.make(`${t}:model-selection`),threadId:e.threadId,modelSelection:e.modelSelection})),n??{sequence:0}}),hs=P(`EnvironmentCommands.setThreadRuntimeMode`)(function*(e){return yield*X({type:`thread.runtime-mode.set`,commandId:yield*Y(e),threadId:e.threadId,runtimeMode:e.runtimeMode})}),gs=P(`EnvironmentCommands.setThreadInteractionMode`)(function*(e){return yield*X({type:`thread.interaction-mode.set`,commandId:yield*Y(e),threadId:e.threadId,interactionMode:e.interactionMode})}),_s=P(`EnvironmentCommands.startThreadTurn`)(function*(e){let t=yield*Y(e),n=yield*qo(e.threadId,e.message.messageId,e.message.attachments),r=Vr(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*Go(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*Ui(Fn.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*Ko(),c=s?null:yield*Go(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})}),vs=P(`EnvironmentCommands.interruptThreadTurn`)(function*(e){if(e.subagentId!==void 0){let t=(yield*Go(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*Go(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);Uo({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 Co(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})}),ys=P(`EnvironmentCommands.respondToThreadApproval`)(function*(e){return yield*X({type:`runtime-request.respond`,commandId:yield*Y(e),threadId:e.threadId,requestId:e.requestId,decision:e.decision})}),bs=P(`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}})}),xs=P(`EnvironmentCommands.dismissThreadUserInput`)(function*(e){return yield*X({type:`thread.user-input.dismiss`,commandId:yield*Y(e),threadId:e.threadId,requestId:e.requestId})}),Ss=P(`EnvironmentCommands.revertThreadCheckpoint`)(function*(e){if(e.checkpointId!==void 0&&e.scopeId!==void 0&&(yield*Ko()))return yield*X({type:`checkpoint.rollback`,...e.restoreFiles===void 0?{}:{restoreFiles:e.restoreFiles},commandId:yield*Y(e),threadId:e.threadId,scopeId:cn.make(e.scopeId),checkpointId:Dr.make(e.checkpointId)});let t=yield*Go(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 Kt({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})}),Cs=P(`EnvironmentCommands.stopThreadSession`)(function*(e){let t=yield*Go(e.threadId),n=yield*Y(e),r={sequence:0};for(let i of t.providerSessions)r=yield*X({type:`provider-session.detach`,commandId:Xn.make(`${n}:detach:${i.id}`),threadId:e.threadId,providerSessionId:i.id,reason:`client-requested`});return r}),ws=P(`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:{type:`run`,runId:e.runId},...e.title===void 0?{}:{title:e.title}})}),Ts=P(`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}})}),Es=P(`EnvironmentCommands.resumeThreadQueue`)(function*(e){return yield*X({type:`queue.resume`,commandId:yield*Y(e),threadId:e.threadId})}),Ds=P(`EnvironmentCommands.reorderQueuedRun`)(function*(e){return yield*X({type:`queued-run.reorder`,commandId:yield*Y(e),threadId:e.threadId,runId:e.runId,beforeRunId:e.beforeRunId})}),Os=P(`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})}),ks=P(`EnvironmentCommands.cancelQueuedRun`)(function*(e){return yield*X({type:`queued-run.cancel`,commandId:yield*Y(e),threadId:e.threadId,runId:e.runId})}),As=P(`EnvironmentCommands.retryWorkspacePreparation`)(function*(e){return yield*X({type:`prepared-run.retry`,commandId:yield*Y(e),threadId:e.threadId,runId:e.runId})}),js=P(`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:Vr(e.edit.context,e.edit.attachments,t)}:{}})}),Ms=P(`EnvironmentCommands.linkThreadPullRequest`)(function*(e){return yield*X({...e,type:`thread.pull-request.link`,commandId:yield*Y(e)})}),Ns=P(`EnvironmentCommands.linkThreadDesign`)(function*(e){return yield*X({...e,type:`thread.design.link`,commandId:yield*Y(e)})}),Ps=P(`EnvironmentCommands.unlinkThreadDesign`)(function*(e){return yield*X({...e,type:`thread.design.unlink`,commandId:yield*Y(e)})}),Fs=P(`EnvironmentCommands.watchThreadPullRequest`)(function*(e){return yield*X({...e,type:`thread.pull-request.watch`,commandId:yield*Y(e)})}),Is=P(`EnvironmentCommands.unlinkThreadPullRequest`)(function*(e){return yield*X({...e,type:`thread.pull-request.unlink`,commandId:yield*Y(e)})}),Ls=new Set([`completed`,`failed`,`cancelled`,`interrupted`]);function Rs(e){return Ls.has(e)}function zs(e){return dn(e)}function Bs(e){return e.type===`subagent`&&dn(e.status)}function Vs(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 Hs(e){return e===void 0?null:vt(we(e))}function Us(e,t){return t.agents.map(t=>{let n=(t.state===`queued`||t.state===`running`)&&Rs(e.status)?e.status:t.state===`queued`?`pending`:t.state,r=n===`failed`,i=Hs(t.startedAt),a=Rs(n)?t.startedAt!==void 0&&t.durationMs!==void 0?Hs(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:Vs(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:Hs(t.queuedAt)??i??e.firstSeenAt,startedAt:i,completedAt:a,updatedAt:a??i??e.firstSeenAt}})}function Ws(e){return e.flatMap(e=>{let t=vt(e.updatedAt),n=e.startedAt===null?null:vt(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:Vs(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:vt(e.completedAt),updatedAt:t};return i===void 0?[o]:[o,...Us(o,i)]})}function Gs(e){let t=e.filter(e=>e.kind===`workflow`).sort((e,t)=>e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),n=cr(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=>zs(e.status)||e.status===`idle`),i=n.filter(e=>Rs(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 Ks(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 Js(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 Ys(e){let t=e.model?.trim(),n=e.provider?wt(e.provider.driver,t,e.provider.models):t,r=e.provider?.models.find(e=>e.slug===n),i=r?r.shortName||r.name:t?l(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??ao(c)}]:[]]}}function Xs(e){let t=e.result?.trim(),n=e.progress?.trim(),r=((Rs(e.status)?t||n:n||t)||``).replace(/\s+/gu,` `);return r.length>280?`${r.slice(0,280).trimEnd()}…`:r||null}function Zs(e){return e!=null&&$s(e.status)}function Qs(e){return e?.status===`queued`?e.activeRunId===null:e?.status!==`preparing`&&e?.status!==`starting`&&e?.status!==`running`}function $s(e){return e===`preparing`||e===`queued`||e===`starting`||e===`running`||e===`waiting`}function ec(e){return vt(e)}function tc(e){return e===null?null:ec(e)}function nc(e){return e===`completed`||e===`interrupted`||e===`failed`||e===`cancelled`||e===`rolled_back`}function rc(e){let t=Fo(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:tc(e.activityRunStartedAt),providerInstanceId:e.providerInstanceId,providerName:null,lastError:e.lastError??null,lastErrorClass:e.lastErrorClass??null,usageLimitResetAt:e.usageLimitResetAt??null,updatedAt:ec(e.updatedAt)}}function ic(e,t){return{...t,environmentId:e}}function ac(e,t,n=null){let r=ec(t.updatedAt),i=t.latestRunId===null?null:{runId:t.latestRunId,status:t.status===`idle`?`completed`:t.status,requestedAt:tc(t.latestRunRequestedAt??null),startedAt:tc(t.latestRunStartedAt??null),completedAt:t.latestRunCompletedAt===void 0?t.status===`idle`||nc(t.status)?r:null:tc(t.latestRunCompletedAt),assistantMessageId:null};return{environmentId:e,id:t.id,projectId:t.projectId,title:t.lineage.relationshipToParent===`subagent`?Js(t.title):t.title,providerInstanceId:t.providerInstanceId,modelSelection:t.modelSelection,runtimeMode:t.runtimeMode,interactionMode:t.interactionMode,branch:t.branch,worktreePath:t.worktreePath,pullRequests:jo(t),designs:t.designs??[],linkedPullRequest:t.linkedPullRequest??null,branchPullRequest:t.branchPullRequest??null,lineage:t.lineage,forkedFrom:t.forkedFrom,activeProviderThreadId:t.activeProviderThreadId,latestRun:i,runtime:rc(t),latestUserMessageAt:tc(t.latestUserMessageAt),...t.latestUserAuthoredMessageAt===void 0?{}:{latestUserAuthoredMessageAt:tc(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:ec(t.createdAt),updatedAt:r,archivedAt:tc(t.archivedAt),settledOverride:t.settledOverride,settledAt:tc(t.settledAt),unsettledAt:tc(t.unsettledAt??null),snoozedUntil:tc(t.snoozedUntil??null),snoozedAt:tc(t.snoozedAt??null),limitRecovery:t.limitRecovery??null,pinnedAt:tc(t.pinnedAt??null),autoSettleDisabledAt:tc(t.autoSettleDisabledAt??null),pinOrderKey:t.pinOrderKey??null,activeOrderKey:t.activeOrderKey??null,...t.lastVisitedAt===void 0?{}:{lastVisitedAt:tc(t.lastVisitedAt)},titleRegeneration:t.titleRegeneration==null?null:{requestId:t.titleRegeneration.requestId,startedAt:ec(t.titleRegeneration.startedAt)},deletedAt:tc(t.deletedAt),source:t}}function oc(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*sc(e){for(let[t,n]of e.entries)n.enabled&&(yield t)}var cc=Object.freeze({isReady:!1,entries:new Map});function lc(e){let t=ca(),n={mode:`serial`,key:()=>`environment-catalog`},a=e.atom(Hn(J.pipe(i(e=>Je(e.entries).pipe(an(e=>({isReady:!0,entries:e})))))),{initialValue:cc}),o=r(e=>je(lt(e(a)),()=>cc)).pipe(z(`environment-catalog-value`)),s=e.atom(Hn($r.pipe(i(e=>e.changes))),{initialValue:[]}),c=r(e=>je(lt(e(s)),()=>[])).pipe(z(`environment-github-routing-permissions`)),l=fi(e,{label:`environment-catalog:github-routing-permission`,scheduler:t,concurrency:n,execute:P(function*(e){let t=yield*J,n=(yield*x(t.entries)).get(e.environmentId);if(n===void 0)return yield*new Aa({environmentId:e.environmentId});yield*(yield*$r).set(n,e.permission)})}),u=e.atom(Hn(J.pipe(i(e=>Je(e.networkStatus)))),{initialValue:`unknown`}),d=r(e=>je(lt(e(u)),()=>`unknown`)).pipe(z(`environment-network-status-value`)),f=M(t=>e.atom(_a(t,Hn(ba.pipe(i(e=>Je(e.state))))),{initialValue:Oi})),p=fi(e,{label:`environment-catalog:register`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.register(e)))}),m=fi(e,{label:`environment-catalog:remove`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.remove(e)))}),h=fi(e,{label:`environment-catalog:remove-relay-environments`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(e=>e.removeRelayEnvironments()))}),g=fi(e,{label:`environment-catalog:set-enabled`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.setEnabled(e.environmentId,e.enabled)))});return{catalogAtom:a,catalogValueAtom:o,githubRoutingPermissionsValueAtom:c,setGitHubRoutingPermission:l,networkStatusAtom:u,networkStatusValueAtom:d,stateAtom:f,register:p,remove:m,removeRoute:fi(e,{label:`environment-catalog:remove-route`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.removeRoute(e.environmentId,e.routeId)))}),reorderRoutes:fi(e,{label:`environment-catalog:reorder-routes`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.reorderRoutes(e.environmentId,e.routeIds)))}),removeRelayEnvironments:h,retryNow:fi(e,{label:`environment-catalog:retry-now`,scheduler:t,concurrency:n,execute:e=>J.pipe(O(t=>t.retryNow(e)))}),setEnabled:g}}var uc=class extends h()(`InvalidScopedProjectKeyError`,{key:w}){get message(){return`Invalid scoped project atom key: ${JSON.stringify(this.key)}.`}},dc=class extends h()(`InvalidScopedThreadKeyError`,{key:w}){get message(){return`Invalid scoped thread atom key: ${JSON.stringify(this.key)}.`}},fc=class extends h()(`InvalidScopedProjectRefCollectionKeyError`,{key:w,cause:y()}){get message(){return`Invalid scoped project reference collection atom key: ${JSON.stringify(this.key)}.`}},pc=mn(en(Dt([w,w])));function mc(e){return`${e.environmentId}\u0000${e.projectId}`}function Z(e){return`${e.environmentId}\u0000${e.threadId}`}function hc(e){return JSON.stringify(e.map(e=>[e.environmentId,e.projectId]))}function gc(e){let t=e.indexOf(`\0`);if(t<0)throw new uc({key:e});return{environmentId:Pr.make(e.slice(0,t)),projectId:Zn.make(e.slice(t+1))}}function _c(e){let t;try{t=pc(JSON.parse(e))}catch(t){throw new fc({key:e,cause:t})}return t.map(([e,t])=>({environmentId:Pr.make(e),projectId:Zn.make(t)}))}function vc(e){let t=e.indexOf(`\0`);if(t<0)throw new dc({key:e});return{environmentId:Pr.make(e.slice(0,t)),threadId:Ut.make(e.slice(t+1))}}function yc(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.projectId===t[n]?.projectId)}function bc(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.threadId===t[n]?.threadId)}function xc(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var Sc=`token`,Cc=`host`,wc=`label`,Tc=new Set([`http:`,`https:`,`ws:`,`wss:`]),Ec=e=>new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash),Dc=class extends h()(`RemoteBackendUrlMissingError`,{}){get message(){return`Enter a backend URL.`}},Oc=class extends h()(`RemotePairingUrlInvalidError`,{cause:un(y()),protocol:un(w)}){get message(){return`Pairing URL is invalid.`}},kc=class extends h()(`RemoteBackendUrlInvalidError`,{source:Ge([`direct-host`,`hosted-pairing-host`]),cause:un(y()),protocol:un(w)}){get message(){return`Backend URL is invalid.`}},Ac=class extends h()(`RemotePairingTokenMissingError`,{host:w}){get message(){return`Pairing URL is missing its token.`}},jc=class extends h()(`RemotePairingCodeMissingError`,{host:w}){get message(){return`Enter a pairing code.`}};jt([Dc,Oc,kc,Ac,jc]);var Mc=e=>Tc.has(e.protocol),Nc=(e,t)=>{let n=e.trim();if(!n)throw new Dc;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 kc({source:t,cause:e})}if(!Mc(a))throw new kc({source:t,protocol:a.protocol});return a.pathname=`/`,a.search=``,a.hash=``,a},Pc=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()},Fc=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()},Ic=e=>{let t=Ec(e).get(Sc)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(Sc)?.trim()??``;return n.length>0?n:null},Lc=e=>{let t=new URL(e.toString()),n=Ec(t);return n.has(Sc)&&(n.delete(Sc),t.hash=n.toString()),t.searchParams.delete(Sc),t},Rc=(e,t)=>{let n=new URL(e.toString());return n.searchParams.delete(Sc),n.hash=new URLSearchParams([[Sc,t]]).toString(),n},zc=e=>{let t=e.searchParams.get(Cc)?.trim()??``,n=Ic(e)?.trim()??``,r=e.searchParams.get(wc)?.trim()??``;return!t||!n?null:{host:t,token:n,label:r}},Bc=e=>{let t=e.pairingUrl?.trim()??``;if(t.length>0){let e;try{e=new URL(t)}catch(e){throw new Oc({cause:e})}if(!Mc(e))throw new Oc({protocol:e.protocol});let n=zc(e);if(n){let e=Nc(n.host,`hosted-pairing-host`);return{credential:n.token,httpBaseUrl:Pc(e),wsBaseUrl:Fc(e)}}let r=Ic(e)??``;if(!r)throw new Ac({host:e.host});return{credential:r,httpBaseUrl:Pc(e),wsBaseUrl:Fc(e)}}let n=e.host?.trim()??``,r=e.pairingCode?.trim()??``;if(!n)throw new Dc;let i=Nc(n,`direct-host`);if(!r)throw new jc({host:i.host});return{credential:r,httpBaseUrl:Pc(i),wsBaseUrl:Fc(i)}},Vc=class extends _r()(`@p4code/client-runtime/connection/onboarding/ConnectionOnboarding`){},Hc=P(`clientRuntime.connection.onboarding.resolvePairingTarget`)(function*(e){return yield*Mt({try:()=>Bc(e),catch:e=>new Fa({reason:`configuration`,detail:e instanceof Error?e.message:`The pairing details are invalid.`})})});function Uc(e,t){return`bearer:${e}:${new URL(t).origin}`}function Wc(e){return new Fa({reason:`configuration`,detail:`That address reaches ${e}, a different machine. Add it as its own environment instead.`})}var Gc=P(`clientRuntime.connection.onboarding.preparePairingRegistration`)(function*(e){let t=yield*Hc(e),n=yield*na,r=yield*Lt({httpBaseUrl:t.httpBaseUrl}).pipe(V(La));if(e.expectedEnvironmentId!==void 0&&r.environmentId!==e.expectedEnvironmentId)return yield*Wc(r.label);let i=Ua(r);if(i!==null&&i.serverUpdateRequired!==!0)return yield*i;let a=yield*xi({httpBaseUrl:t.httpBaseUrl,credential:t.credential,clientMetadata:n.metadata}).pipe(V(La)),o=Uc(r.environmentId,t.httpBaseUrl);return new ha({target:new ei({environmentId:r.environmentId,label:r.label,connectionId:o}),profile:new Da({connectionId:o,environmentId:r.environmentId,label:r.label,httpBaseUrl:t.httpBaseUrl,wsBaseUrl:t.wsBaseUrl}),credential:new $i({token:a.access_token})})}),Kc=P(`clientRuntime.connection.onboarding.registerPairingConnection`)(function*(e){let t=yield*Gc(e),n=yield*J;return(yield*n.register(t))?(yield*n.setCompatibility(t.target.environmentId,null),yield*n.setEnabled(t.target.environmentId,!0).pipe(xn({EnvironmentNotRegisteredError:()=>B})),t.target.environmentId):t.target.environmentId}),qc=Nn($i),Jc=Nn(Da),Yc=P(`clientRuntime.connection.onboarding.updateBearerConnection`)(function*(e){let t=yield*J,n=yield*wi,r=(yield*x(t.entries)).get(e.environmentId),i=r===void 0?void 0:ua(r).find(e=>e.target._tag===`BearerConnectionTarget`),a=r===void 0||i===void 0?r:vi(r,i),o=a?.target._tag===`BearerConnectionTarget`?yield*n.get(a.target.connectionId):f(),s=yield*Xc({input:e,entry:In(a),credential:o});yield*t.register(s)}),Xc=P(`clientRuntime.connection.onboarding.prepareBearerConnectionUpdate`)(function*(e){let t=D(e.entry);if(t==null||t.target._tag!==`BearerConnectionTarget`||C(t.profile)||!Jc(t.profile.value))return yield*new Fa({reason:`configuration`,detail:`Only saved bearer environments can be edited.`});let n=e.credential;if(C(n)||!qc(n.value))return yield*new Fa({reason:`authentication`,detail:`The saved bearer credential is unavailable.`});let r=e.input.label.trim();if(r===``)return yield*new Fa({reason:`configuration`,detail:`Environment label cannot be empty.`});let i=yield*Mt({try:()=>Wa(e.input.httpBaseUrl),catch:e=>new Fa({reason:`configuration`,detail:e instanceof Error?e.message:`The environment URL is invalid.`})}),a=t.target.connectionId;return new ha({target:new ei({environmentId:e.input.environmentId,label:r,connectionId:a}),profile:new Da({connectionId:a,environmentId:e.input.environmentId,label:r,httpBaseUrl:i,wsBaseUrl:Ga(i)}),credential:n.value})}),Zc=P(`clientRuntime.connection.onboarding.prepareSshRegistration`)(function*(e){let t=yield*(yield*Ji).provision(e.target,e.expectedEnvironmentId),n=`ssh:${t.environmentId}:${Si(t.bootstrap.target)}`,r=e.label?.trim()||t.label||t.bootstrap.target.alias;return new Xi({target:new la({environmentId:t.environmentId,label:r,connectionId:n}),profile:new Ta({connectionId:n,environmentId:t.environmentId,label:r,target:t.bootstrap.target})})}),Qc=P(`clientRuntime.connection.onboarding.registerSshConnection`)(function*(e){let t=yield*Zc(e);return e.expectedEnvironmentId!==void 0&&t.target.environmentId!==e.expectedEnvironmentId?yield*Wc(t.target.label):(yield*(yield*J).register(t),t.target.environmentId)}),$c=j(function*(){let e=yield*J,t=yield*na,n=yield*Vt,r=yield*Ji,i=yield*wi;return Vc.of({registerPairing:r=>Kc(r).pipe(Dn(J,e),Dn(na,t),Dn(Vt,n)),registerSsh:t=>Qc(t).pipe(Dn(J,e),Dn(Ji,r)),updateBearer:t=>Yc(t).pipe(Dn(J,e),Dn(wi,i))})}),el=ee(Vc,$c),tl=class extends _r()(`@p4code/client-runtime/platform/source/PlatformConnectionSource`){},nl=P(`connection.watchDiscoveredCompatibility`)(function*(){let e=yield*J,t=yield*ai,n=new Map;yield*fn(Je(t.state),Je(e.entries)).pipe(Ht(()=>j(function*(){let r=yield*x(t.state);if(!r.refreshing)for(let e of n.keys())r.environments.has(e)||n.delete(e);let i=yield*x(e.entries);for(let t of r.environments.values()){let r=D(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||ua(s).length!==1||!Zr(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=Ua(a);(u!==null||l)&&(yield*e.setCompatibility(o,u)),n.set(o,r)}}).pipe(I(e=>N(`Could not apply discovered environment compatibility.`,{error:e})))))});function rl(e){let t=Na.pipe(Ie(Ae(ji,Va(e)))),n=ta.pipe(Ie(t)),r=el.pipe(Ie(n)),i=Ae(n,ni,r,ji);return zn(j(function*(){let e=yield*J,t=yield*tl;yield*nl().pipe(k),yield*e.start,yield*t.registrations.pipe(Ht(e.reconcilePlatform),k)}).pipe(Wt(`clientRuntime.connection.application.start`))).pipe(Ke(i),Ke(ka))}rl({});function il(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 al(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 ol(e){return e.phase===`reconnecting`&&e.error?`Failed to connect. Reconnecting...`:al({...e,error:null})}function sl(e){return il(e)}function cl(e){let t=e.connectedTarget?ii(e.connectedTarget):null,n=ua(e.entry),r=n.find(e=>ii(e.target)===t);for(let t of r?[r,...n]:n){let n=t.target._tag===`RelayConnectionTarget`?e.relayHttpBaseUrl??null:yi(t),r=n===null?null:ll(n);if(r!==null)return r}return null}function ll(e){let t;try{t=new URL(e)}catch{return null}return t.pathname=`/mcp`,t.search=``,t.hash=``,t.toString()}function ul(e){switch(e.target._tag){case`PrimaryConnectionTarget`:return e.target.httpBaseUrl;case`RelayConnectionTarget`:return null;case`BearerConnectionTarget`:return T(e.profile)&&e.profile.value._tag===`BearerConnectionProfile`?e.profile.value.httpBaseUrl:null;case`SshConnectionTarget`:return T(e.profile)&&e.profile.value._tag===`SshConnectionProfile`?`${e.profile.value.target.username}@${e.profile.value.target.hostname}`:null}}var dl=P(`runCachePersistence`)(function*(e,t){let n=yield*me(e);for(yield*nt(`500 millis`),n=je(yield*Tt(e),()=>n);;)yield*t(n),yield*nt(`10 seconds`),n=yield*me(e)}),fl={status:`idle`},pl=r(fl).pipe(z(`environment-data:server:update-state:empty`)),ml=M(e=>r(fl).pipe(z(`environment-data:server:update-state:${e}`))),hl=class extends h()(`ServerUpdateResumeTimeoutError`,{environmentId:w,targetVersion:w}){get message(){return`The server did not resume on @p4code/cli@${this.targetVersion}.`}},gl=class extends h()(`ServerUpdateProgressIncompleteError`,{targetVersion:w}){get message(){return`The @p4code/cli@${this.targetVersion} update ended before the server accepted the restart.`}},_l=class extends h()(`ServerUpdateTerminalError`,{targetVersion:w,status:Ge([`committed`,`rolled-back`,`failed`]),reason:un(w)}){get message(){return this.reason??`The @p4code/cli@${this.targetVersion} update ${this.status}.`}},vl=Rt(32);function yl(e,t){return e.updateId===void 0?t.payload.environment.serverVersion===e.targetVersion:t.payload.updateOutcome?.id===e.updateId}function bl(e,t){return e.method===`desktop-app`&&e.desktopUpdateToken!==void 0||yl(e,t)}function xl(e,t){if(e.updateId===void 0)return B;let n=t.payload.updateOutcome;return n?.id===e.updateId&&n.status===`committed`&&n.targetVersion===e.targetVersion&&t.payload.environment.serverVersion===e.targetVersion?B:v(new _l({targetVersion:e.targetVersion,status:n?.status??`failed`,reason:n?.reason??`The service launcher resumed without committing the requested server version.`}))}function Sl(e){return e.stateChanges.pipe(nr(e=>e.phase===`backoff`||e.phase===`blocked`&&e.lastFailure?.reason===`authentication`),Ht(()=>nt(e.interval??Bt(1)).pipe(gn(e.retryNow))),fr(vl),ge)}function Cl(e){return e.pipe(zt(e=>e.phase===`connected`),nr(e=>e.phase===`connected`),Wr,Jt)}var wl=P(`runDesktopCommitWithReconnectObserver`)(function*(t,n){let r=yield*e(),i=yield*e(),a=yield*t.pipe(ie(()=>kr(r,void 0)),Cl,gn(kr(i,void 0)),ue);yield*dr(r);let o=yield*n.pipe(dt);if(on(o)){yield*Ar(a);return}return Al(o.cause)?(yield*dr(i).pipe(Ce(vl)),yield*Br(o.cause)):(yield*Ar(a),yield*Br(o.cause))}),Tl=P(`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(dt);if(on(o))break;if(!Al(o.cause))return yield*Br(o.cause)}return yield*new _l({targetVersion:e,status:`failed`,reason:`The desktop app resumed without installing the prepared update.`})});function El(e,t,n){return{status:`running`,stage:n.type===`complete`?`resuming`:n.stage,fromVersion:e,targetVersion:t}}function Dl(e,t){return e.status===`idle`||e.status===`running`||t===null||e.fromVersion===t?e:fl}function Ol(e){return e instanceof Error?e.message:`Server update failed.`}function kl(e){if(!zi(e))return!1;switch(e.reason._tag){case`SocketReadError`:case`SocketWriteError`:case`SocketCloseError`:return!0;default:return!1}}function Al(e){return Gr(e)?!0:e.reasons.length>0&&e.reasons.every(e=>_(e)&&kl(e.error))}function jl(e,t,n){return T(t)&&(on(n)||Al(n.cause))?H(t.value):Tr(n)?Br(n.cause):v(new gl({targetVersion:e}))}var Ml=e=>({version:1,type:`snapshot`,config:e}),Nl=P(`EnvironmentServerConfigState.make`)(function*(e){let t=yield*ba,n=yield*Sa,r=t.target.environmentId,i=yield*n.loadServerConfig(r).pipe(I(e=>N(`Could not load cached server configuration.`).pipe(F({environmentId:r,...Ki(e)}),R(f())))),a=yield*ve(rt(i,e=>({config:Ra(e),latestEvent:Ml(Ra(e)),source:`cache`}))),o=yield*kt(1),s=yield*Li(f()),c=P(`EnvironmentServerConfigState.persist`)(function*(e){return yield*n.saveServerConfig(r,Ra(e)).pipe(R(!0),I(e=>N(`Could not persist cached server configuration.`).pipe(F({environmentId:r,...Ki(e)}),R(!1))))}),l=P(`EnvironmentServerConfigState.persistPending`)(function*(e){(yield*c(e))&&(yield*gi(s,t=>T(t)&&t.value===e?f():t))});return yield*Qe(()=>q(s).pipe(O(Kr({onNone:()=>B,onSome:e=>c(e).pipe(Jt)})))),yield*dl(o,l).pipe(k),yield*Oa(E.subscribeServerConfig,{...e.environmentThemes===!0?{environmentThemes:!0}:{},...e.usageLimitSources===!0?{usageLimitSources:!0}:{},...e.usageLimitsCommand===!0?{usageLimitsCommand:!0}:{}}).pipe(Ht(e=>j(function*(){let t=Yi(yield*x(a),e);C(t)||(yield*W(s,A(t.value.config)),yield*qr(a,t),yield*at(o,t.value.config))})),k),a});function Pl(e,t){return _a(e,Hn(Nl(t).pipe(i(e=>Je(e).pipe(yr(e=>Kr(e,{onNone:()=>Zt,onSome:e=>pt(e)})))))))}function Fl(e,t,n){return n.type===`welcome`&&e.currentSession===t?{...e,welcomeSession:t,welcome:n.payload}:e}function Il(e){return e.currentSession===e.welcomeSession?e.welcome:null}var Ll=P(`EnvironmentServerWelcomeState.make`)(function*(){let e=yield*ba,t=D(yield*x(e.session)),n=yield*ve({currentSession:t,welcomeSession:null,welcome:null}),r=P(`EnvironmentServerWelcomeState.updateWithCurrentSession`)(function*(t){return yield*it(n,n=>x(e.session).pipe(i(e=>[void 0,t(n,D(e))])))});return yield*Je(e.session).pipe(Ht(()=>r((e,t)=>({...e,currentSession:t}))),k),yield*wa(E.subscribeServerLifecycle,P(`EnvironmentServerWelcomeState.makeSubscribeInput`)(function*(e){return yield*r((t,n)=>n===e?{...t,currentSession:n,welcomeSession:e,welcome:null}:{...t,currentSession:n}),{}})).pipe(Ht(([e,t])=>r((n,r)=>Fl({...n,currentSession:r},e,t))),k),n});function Rl(e){return _a(e,Hn(Ll().pipe(i(e=>Je(e).pipe(an(Il))))))}function zl(e,t){return e?.source===`live`&&(t===null||e.config.environment.serverVersion===t.environment.serverVersion)?e.config:t??e?.config??null}function Bl(t,n){let a=ca(),o=ca(),s={mode:`serial`,key:({environmentId:e})=>e},c=M(e=>t.atom(Pl(e,{...n.environmentThemes===!0?{environmentThemes:!0}:{},...n.usageLimitSources===!0?{usageLimitSources:!0}:{},...n.usageLimitsCommand===!0?{usageLimitsCommand:!0}:{}})).pipe(L(3e5),z(`environment-data:server:config-projection:${e}`))),l=e=>c(e.environmentId),d=r(null).pipe(z(`environment-data:server:config:empty`)),p=M(e=>e===null?d:r(t=>zl(D(lt(t(l({environmentId:e,input:{}})))),t(n.initialConfigValueAtom(e)))).pipe(z(`environment-data:server:config:${e}`))),m=M(e=>r(t=>Dl(t(ml(e)),t(p(e))?.environment.serverVersion??null)).pipe(z(`environment-data:server:update-state-value:${e}`))),h=e=>e===null?pl:m(e),g=fi(t,{label:`environment-data:server:update-server`,scheduler:o,concurrency:s,execute:(t,n)=>{let r=ml(t.environmentId),o=t.input.targetVersion,c=n.get(p(t.environmentId))?.environment.serverVersion??o,l=`downloading`,d=!1;return n.set(r,{status:`running`,stage:l,fromVersion:c,targetVersion:o}),j(function*(){let u=yield*J,m=yield*e(),h=yield*e(),g=yield*e();yield*dr(m).pipe(gn(u.stateChanges(t.environmentId).pipe(ie(()=>kr(h,void 0)),zt(e=>e.phase===`connected`),nr(e=>e.phase===`connected`),Wr)),gn(kr(g,void 0)),ue);let _=yield*Ni(n,a,s,t,j(function*(){let e=n.get(p(t.environmentId));c=e?.environment.serverVersion??o,n.set(r,{status:`running`,stage:l,fromVersion:c,targetVersion:o});let i=e?.environment.capabilities.serverSelfUpdateProgress===!0?yield*j(function*(){let e=yield*Li(f()),i=yield*u.runStream(t.environmentId,Jr(E.serverUpdateServerWithProgress,t.input)).pipe(Ht(t=>S(()=>{l=t.type===`complete`?`resuming`:t.stage,n.set(r,El(c,o,t))}).pipe(gn(t.type===`complete`?W(e,A(t.result)):B))),dt);return yield*jl(o,yield*q(e),i)}):yield*j(function*(){let n=e?.environment.capabilities.serverSelfUpdate,r=yield*u.run(t.environmentId,Ui(E.serverUpdateServer,t.input)).pipe(dt);return on(r)?r.value:(n===`boot-service`||n===`respawn`)&&Al(r.cause)?{targetVersion:o,method:n}:yield*Br(r.cause)});if(i.method===`desktop-app`&&i.desktopUpdateToken!==void 0){yield*kr(m,void 0),yield*dr(h);let e=yield*u.run(t.environmentId,Ui(E.serverCommitDesktopUpdate,{requestId:i.desktopUpdateToken})).pipe(dt);if(Tr(e)&&!Al(e.cause))return yield*Br(e.cause);d=Tr(e)}return o=i.targetVersion,l=`resuming`,n.set(r,{status:`running`,stage:l,fromVersion:c,targetVersion:o}),i}));yield*Sl({stateChanges:u.stateChanges(t.environmentId),retryNow:u.retryNow(t.environmentId)}).pipe(ue),_.method===`desktop-app`&&d&&(yield*dr(g).pipe(Ce(vl)));let v=u.followStream(t.environmentId,Oa(E.subscribeServerLifecycle,{})).pipe(nr(e=>e.type===`ready`&&bl(_,e)),Wr,fr(vl),i(Bn)).pipe(O(Kr({onNone:()=>new hl({environmentId:t.environmentId,targetVersion:o}),onSome:H}))),y=_.desktopUpdateToken;return yield*xl(_,_.method===`desktop-app`&&y!==void 0?yield*Tl(_.targetVersion,v,wl(u.stateChanges(t.environmentId),u.run(t.environmentId,Ui(E.serverCommitDesktopUpdate,{requestId:y})).pipe(Jt))):yield*v),n.set(r,fl),_}).pipe(Sr(e=>S(()=>{if(!on(e)){if(Gr(e.cause)){n.set(r,fl);return}n.set(r,{status:`failed`,stage:l,fromVersion:c,targetVersion:o,message:Ol(u(e.cause))})}})))}}),_=M(e=>r(t=>t(p(e))?.settings??null).pipe(z(`environment-data:server:settings:${e}`))),v=M(e=>r(t=>{let n=t(_(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(z(`environment-data:server:usage-prices:${e}`))),y=M(e=>r(t=>{let n=t(_(e)),r=n?.usageModelAliases??{};return JSON.stringify([t(v(e)),Object.keys(r).sort().map(e=>[e,r[e]]),n?.cursorKeychainUsageEnabled??!1])}).pipe(z(`environment-data:server:usage-scan-settings:${e}`))),ee=M(e=>r(t=>t(p(e))?.providers??null).pipe(z(`environment-data:server:providers:${e}`))),te=M(e=>t.atom(Rl(e),{initialValue:null}).pipe(L(3e5),z(`environment-data:server:welcome-state:${e}`))),ne=M(e=>r(t=>{let n=t(te(e));return n._tag===`Success`?n.value===null?Lr(n.waiting):Hr(n.value,n):n}).pipe(z(`environment-data:server:welcome:${e}`))),re=e=>ne(e.environmentId),b=G(t,{label:`environment-data:server:update-settings`,tag:E.serverUpdateSettings,scheduler:a,concurrency:s});return{configValueAtom:p,runStorageCleanup:G(t,{label:`environment-data:server:run-storage-cleanup`,tag:E.serverRunStorageCleanup,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),storageCleanupReport:bi(t,{label:`environment-data:server:storage-cleanup-report`,tag:E.serverGetStorageCleanupReport,idleTtlMs:0}),updateStateAtom:h,settingsValueAtom:_,providersValueAtom:ee,providerAuthState:bi(t,{label:`environment-data:provider:auth-state`,tag:E.providerAuthSubscribe,idleTtlMs:0}),startProviderAuth:G(t,{label:`environment-data:provider:auth-start`,tag:E.providerAuthStart,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t])}}),respondProviderAuth:G(t,{label:`environment-data:provider:auth-respond`,tag:E.providerAuthRespond}),completeProviderAuth:G(t,{label:`environment-data:provider:auth-complete`,tag:E.providerAuthComplete}),chatGptReconnectProfile:G(t,{label:`environment-data:chatgpt:reconnect-profile`,tag:E.chatGptReconnectProfile}),chatGptImportProfile:G(t,{label:`environment-data:chatgpt:import-profile`,tag:E.chatGptImportProfile}),chatGptHandoffState:si(t,{label:`environment-data:chatgpt:handoff`,sensitiveInput:!0,subscribe:e=>Jr(E.chatGptHandoffSubscribe,e),idleTtlMs:0}),codexAuthCallbackState:bi(t,{label:`environment-data:codex:auth-callback`,tag:E.codexAuthCallbackSubscribe,idleTtlMs:0}),cancelProviderAuth:G(t,{label:`environment-data:provider:auth-cancel`,tag:E.providerAuthCancel}),logoutProviderAuth:G(t,{label:`environment-data:provider:auth-logout`,tag:E.providerAuthLogout}),providerInstallState:bi(t,{label:`environment-data:provider:install-state`,tag:E.providerInstallSubscribe,idleTtlMs:0}),startProviderInstall:G(t,{label:`environment-data:provider:install-start`,tag:E.providerInstallStart,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),cancelProviderInstall:G(t,{label:`environment-data:provider:install-cancel`,tag:E.providerInstallCancel}),removeProviderInstallation:G(t,{label:`environment-data:provider:install-remove`,tag:E.providerInstallRemove}),traceDiagnostics:K(t,{label:`environment-data:server:trace-diagnostics`,tag:E.serverGetTraceDiagnostics}),processDiagnostics:K(t,{label:`environment-data:server:process-diagnostics`,tag:E.serverGetProcessDiagnostics}),hostResources:sa(t,{label:`environment-data:server:host-resources`,idleTtlMs:0,staleTimeMs:5e3,execute:e=>Ui(E.serverGetHostResources,e).pipe(Ce(`5 seconds`))}),processResourceHistory:K(t,{label:`environment-data:server:process-resource-history`,tag:E.serverGetProcessResourceHistory}),scheduledTaskWebhookDeliveries:K(t,{label:`environment-data:server:scheduled-task:webhook-deliveries`,tag:E.scheduledTasksListWebhookDeliveries}),scheduledTaskWebhookDelivery:K(t,{label:`environment-data:server:scheduled-task:webhook-delivery`,tag:E.scheduledTasksGetWebhookDelivery}),scheduledTasksLive:bi(t,{label:`environment-data:server:scheduled-tasks:live`,tag:E.scheduledTasksSubscribe}),threadDecisionsLive:bi(t,{label:`environment-data:server:thread-decisions:live`,tag:E.subscribeThreadDecisions}),usageSummary:K(t,{label:`environment-data:server:usage-summary`,tag:E.serverGetUsageSummary,staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>y(e),execute:(e,t)=>Ui(E.serverGetUsageSummary,e).pipe(O(n=>n.sources.some(e=>e.refreshing===!0)?t(n).pipe(gn(Ui(E.serverGetUsageSummary,{...e,awaitRefresh:!0})),I(e=>N(`Could not refresh slow usage sources.`).pipe(F({...Ki(e)}),R(n)))):H(n)))}),resourceTelemetry:bi(t,{label:`environment-data:server:resource-telemetry`,tag:E.subscribeResourceTelemetry,idleTtlMs:0}),resourceTelemetryHistory:K(t,{label:`environment-data:server:resource-telemetry-history`,tag:E.serverGetResourceTelemetryHistory,staleTimeMs:5e3}),searchAcpRegistry:K(t,{label:`environment-data:server:acp-registry:search`,tag:E.serverSearchAcpRegistry,staleTimeMs:0,idleTtlMs:0}),configProjection:l,welcome:re,legacyThreadMigration:bi(t,{label:`environment-data:server:legacy-thread-migration`,tag:E.subscribeServerLifecycle,transform:e=>e.pipe(yr(e=>e.type===`legacyThreadMigration`?pt(e.payload):Zt))}),consumeResetCredit:G(t,{label:`environment-data:server:consume-reset-credit`,tag:E.providerConsumeResetCredit,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t])}}),refreshProviders:G(t,{label:`environment-data:server:refresh-providers`,tag:E.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(t,{label:`environment-data:server:update-provider`,tag:E.serverUpdateProvider,scheduler:a,concurrency:s}),updateServer:g,upsertKeybinding:G(t,{label:`environment-data:server:upsert-keybinding`,tag:E.serverUpsertKeybinding,scheduler:a,concurrency:s}),removeKeybinding:G(t,{label:`environment-data:server:remove-keybinding`,tag:E.serverRemoveKeybinding,scheduler:a,concurrency:s}),updateSettings:b,mutateProviderInstance:b,prepareAcpRegistryAgent:G(t,{label:`environment-data:server:acp-registry:prepare`,tag:E.serverPrepareAcpRegistryAgent,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.agentId}`}}),uninstallAcpRegistryManagedBinary:G(t,{label:`environment-data:server:acp-registry:uninstall-managed-binary`,tag:E.serverUninstallAcpRegistryManagedBinary,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.agentId}`}}),acceptAcpRegistryUrlAuth:G(t,{label:`environment-data:server:acp-registry:accept-url-auth`,tag:E.serverAcceptAcpRegistryUrlAuth,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.elicitationId}`}}),listAcpRegistrySessions:G(t,{label:`environment-data:server:acp-registry:list-sessions`,tag:E.serverListAcpRegistrySessions,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.cursor??`first`}`}}),importAcpRegistrySession:G(t,{label:`environment-data:server:acp-registry:import-session`,tag:E.serverImportAcpRegistrySession,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.sessionId}`}}),deleteAcpRegistrySession:G(t,{label:`environment-data:server:acp-registry:delete-session`,tag:E.serverDeleteAcpRegistrySession,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.sessionId}`}}),listAcpRegistryProviders:G(t,{label:`environment-data:server:acp-registry:list-providers`,tag:E.serverListAcpRegistryProviders,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}`}}),setAcpRegistryProvider:G(t,{label:`environment-data:server:acp-registry:set-provider`,tag:E.serverSetAcpRegistryProvider,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.providerId}`}}),disableAcpRegistryProvider:G(t,{label:`environment-data:server:acp-registry:disable-provider`,tag:E.serverDisableAcpRegistryProvider,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}:${t.projectId}:${t.providerId}`}}),logoutAcpRegistry:G(t,{label:`environment-data:server:acp-registry:logout`,tag:E.serverLogoutAcpRegistry,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>`${e}:${t.instanceId}`}}),signalProcess:G(t,{label:`environment-data:server:signal-process`,tag:E.serverSignalProcess}),upsertScheduledTask:G(t,{label:`environment-data:server:scheduled-task:upsert`,tag:E.scheduledTasksUpsert,scheduler:a,concurrency:s}),setScheduledTaskEnabled:G(t,{label:`environment-data:server:scheduled-task:set-enabled`,tag:E.scheduledTasksSetEnabled,scheduler:a,concurrency:s}),deleteScheduledTask:G(t,{label:`environment-data:server:scheduled-task:delete`,tag:E.scheduledTasksDelete,scheduler:a,concurrency:s}),runScheduledTaskNow:G(t,{label:`environment-data:server:scheduled-task:run-now`,tag:E.scheduledTasksRunNow}),rotateScheduledTaskWebhookToken:G(t,{label:`environment-data:server:scheduled-task:rotate-webhook-token`,tag:E.scheduledTasksRotateWebhookToken,scheduler:a,concurrency:s}),answerSecretRequest:G(t,{label:`environment-data:server:secrets:answer-request`,tag:E.secretsAnswerRequest,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId,t.turnItemId])}}),refreshUsageRates:G(t,{label:`environment-data:server:refresh-usage-rates`,tag:E.serverRefreshUsageRates,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),mcpRegistryState:G(t,{label:`environment-data:mcp-registry:state`,tag:E.mcpRegistryState}),mcpRegistryTest:G(t,{label:`environment-data:mcp-registry:test`,tag:E.mcpRegistryTest,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.serverId])}}),mcpRegistryOAuthStart:G(t,{label:`environment-data:mcp-registry:oauth-start`,tag:E.mcpRegistryOAuthStart}),mcpRegistryOAuthSignOut:G(t,{label:`environment-data:mcp-registry:oauth-sign-out`,tag:E.mcpRegistryOAuthSignOut}),mcpRegistryProviderSignInState:G(t,{label:`environment-data:mcp-registry:provider-sign-in-state`,tag:E.mcpRegistryProviderSignInState,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.serverId])}}),mcpRegistryProviderSignInStart:G(t,{label:`environment-data:mcp-registry:provider-sign-in-start`,tag:E.mcpRegistryProviderSignInStart}),mcpRegistryProviderSignInComplete:G(t,{label:`environment-data:mcp-registry:provider-sign-in-complete`,tag:E.mcpRegistryProviderSignInComplete}),mcpRegistryProviderSignInCancel:G(t,{label:`environment-data:mcp-registry:provider-sign-in-cancel`,tag:E.mcpRegistryProviderSignInCancel}),mcpRegistryProviderSignInWait:G(t,{label:`environment-data:mcp-registry:provider-sign-in-wait`,tag:E.mcpRegistryProviderSignInWait}),mcpRegistryProviderSignOut:G(t,{label:`environment-data:mcp-registry:provider-sign-out`,tag:E.mcpRegistryProviderSignOut}),mcpRegistryDiscover:G(t,{label:`environment-data:mcp-registry:discover`,tag:E.mcpRegistryDiscover,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}}),mcpRegistryImport:G(t,{label:`environment-data:mcp-registry:import`,tag:E.mcpRegistryImport}),checkOtlpEndpoint:G(t,{label:`environment-data:server:check-otlp-endpoint`,tag:E.serverCheckOtlpEndpoint}),retryResourceTelemetry:G(t,{label:`environment-data:server:retry-resource-telemetry`,tag:E.serverRetryResourceTelemetry,concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e}})}}var Vl=Rt(4),Hl=`15 seconds`,Ul=class extends h()(`OutdatedHostUpdateError`,{environmentId:w,message:w}){},Wl=P(`clientRuntime.connection.updateOutdatedHost`)(function*(e,t,n){let r=yield*J,a=yield*Ia,o=yield*Pi,s=yield*Vt,c=(yield*x(r.entries)).get(e);if(c===void 0)return yield*new Aa({environmentId:e});let{prepared:l,descriptor:u}=yield*ne(ua(c).map(e=>a.prepareForUpdate(vi(c,e)))),d=u.capabilities;if(d.serverSelfUpdate===void 0||d.serverSelfUpdate===`desktop-managed`&&d.desktopAppUpdate!==!0)return yield*new Ul({environmentId:e,message:`Update P4 Code on ${u.label} manually; it cannot update itself.`});let p=yield*_e(j(function*(){let e=yield*ft(ee(Ei,Ha({pingTimeout:ki,retryTransientErrors:!1,retryPolicy:Ur(0)})).pipe(Ie(Ae(ui(l.socketUrl,{openTimeout:Hl}).pipe(Ie(oe(Pi,o))),Qr)))),r=yield*ti.pipe(sr(e)),i=d.serverSelfUpdateProgress===!0?yield*j(function*(){let e=yield*Li(f()),i=yield*r[E.serverUpdateServerWithProgress](t).pipe(Ht(t=>t.type===`complete`?W(e,A(t.result)):n(t.stage)),dt);return yield*jl(t.targetVersion,yield*q(e),i)}):yield*r[E.serverUpdateServer](t).pipe(Yn(e=>(d.serverSelfUpdate===`boot-service`||d.serverSelfUpdate===`respawn`)&&Al(e),()=>H({targetVersion:t.targetVersion,method:d.serverSelfUpdate})));return i.method===`desktop-app`&&i.desktopUpdateToken!==void 0&&(yield*r[E.serverCommitDesktopUpdate]({requestId:i.desktopUpdateToken}).pipe(Yn(e=>Al(e),()=>B))),i}));yield*n(`resuming`);let m=[l.httpBaseUrl,...ua(c).flatMap(e=>yi(e)??[])].filter((e,t,n)=>n.indexOf(e)===t),h=yield*ne(m.map(t=>Lt({httpBaseUrl:t}).pipe(ae(t=>t.environmentId===e&&Gl(t),()=>`not-ready`)))).pipe(Dn(Vt,s),Wn,Fr({schedule:Yt(Bt(1)),until:e=>b(e,Gl)}),fr(Vl),i(Bn));return C(h)?yield*new Ul({environmentId:e,message:`${u.label} did not come back on a compatible P4 Code version.`}):(Zr(c)&&(yield*(yield*ai).refresh),yield*r.setCompatibility(e,null),yield*r.setEnabled(e,!0),{...p,targetVersion:h.value.serverVersion})});function Gl(e){return(e.orchestrationProtocolVersion??1)===2}var Kl=nt(`1 millis`),ql=et(bt(wn(en(Tn)))),Jl=400;function Yl(e){if(!t(e))return[];let n=e.threads;return Array.isArray(n)?n.map(e=>{if(!t(e))return;let n=e.pullRequests;return delete e.pullRequests,n}):[]}function Xl(e,t){let n=e.threads.map(e=>e.id),r=j(function*(){let e=new Map,r=Jl;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>Jl&&(yield*Kl,r=0),r+=o;let s=yield*ql(n).pipe(I(e=>N(`Discarding unreadable shell pull request links.`,{threadId:a,cause:String(e)}).pipe(R(void 0))));s!==void 0&&e.set(a,s)}return e});return{...e,loadPullRequests:r}}var Zl=et(wn(ir)),Ql=Pe(function*(e){let t=Yl(e);return Xl(yield*Zl(e),t)}),$l=2e4,eu=P(`clientRuntime.state.fetchEnvironmentShellSnapshot`)(function*(e){return yield*Zi({...e,group:`orchestration`,method:`GET`,url:e=>e.shellSnapshot(),timeoutMs:e.timeoutMs??$l,request:({client:e,headers:t})=>e.shellSnapshot({headers:fa(t),responseMode:`response-only`}).pipe(O(nu))})}),tu=et(wn(Re)),nu=e=>{if(e.status===200)return e.json.pipe(O(Ql));let t=new er({reason:new Pn({request:e.request,response:e})});return e.json.pipe(O(tu),jn({onFailure:()=>v(t),onSuccess:v}))},ru=class extends _r()(`@p4code/client-runtime/state/shellSnapshotHttp/ShellSnapshotLoader`){},iu=ee(ru,j(function*(){let e=yield*Vt,t=yield*Ee(ia),n=yield*Ee(da);return ru.of({load:r=>eu({prepared:r,signer:t,remoteAuthorization:n}).pipe(i(A),Dn(Vt,e),sn(e=>N(`Could not load the environment shell snapshot over HTTP; using the socket snapshot instead.`).pipe(F({cause:te(e)}),R(f()))))})})),au=Ir(Mr),ou=Ir(bt(en(Tn)));function su(e,t){return e===t||ou(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||!au(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 lu(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 uu(e,t){return t.repositoryIdentity==null&&e?.repositoryIdentity!=null&&e.workspaceRoot===t.workspaceRoot?{...t,repositoryIdentity:e.repositoryIdentity}:t}function du(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:uu(t,e)})}}function fu(e,t){if(t.sequence<=e.snapshotSequence)return e;switch(t.kind){case`project.updated`:{let n=uu(e.projects.find(e=>e.id===t.project.id),t.project);return{...e,projects:lu(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&&au(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`?lu(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 pu(e){return{openInEditor:G(e,{label:`environment-data:shell:open-in-editor`,tag:E.shellOpenInEditor})}}var mu={snapshot:f(),status:`empty`,error:f()};function hu(e){return T(e)?`cached`:`empty`}function gu(e){if(e.loadPullRequests===void 0)return e;let{loadPullRequests:t,...n}=e;return n}var _u=`Could not synchronize environment data.`,vu=P(`EnvironmentShellState.make`)(function*(){let e=yield*ba,t=yield*Sa,n=yield*ru,r=yield*Ee(ma),a=e.target.environmentId,o=yield*t.loadShell(a).pipe(I(e=>N(`Could not load cached environment shell.`).pipe(F({environmentId:a,...Ki(e)}),R(f())))),s=rt(o,gu),c=yield*ve({snapshot:s,status:hu(s),error:f()}),l=yield*Li(!1),d=yield*Li(null),m=yield*Li(null),h=yield*Li(f()),g=yield*kt(1),_=yield*Ne(1),v,y=new Set,ee=P(`EnvironmentShellState.persistLatest`)(function*(e){for(;;){let n=yield*q(h);if(C(n)||n.value===v||n.value.threads.some(e=>y.has(e)))return;let r=n.value;if(!(yield*t.saveShell(a,r).pipe(R(!0),I(e=>N(`Could not persist environment shell cache.`).pipe(F({environmentId:a,...Ki(e)}),R(!1)))))||(v=r,!e))return}},_.withPermit),te=()=>ee(!1),ne=ee(!0);yield*Qe(()=>ne),yield*dl(g,te).pipe(k);let re=W(l,!1).pipe(gn(p(c,e=>({...e,status:hu(e.snapshot)}))),gn(ne.pipe(k)),Jt),b=p(c,e=>({...e,status:`synchronizing`,error:f()})),ie=p(c,e=>e.status===`live`?e:{...e,status:`synchronizing`,error:f()}),ae=e=>W(l,!1).pipe(gn(N(`Could not synchronize the environment shell.`)),F({environmentId:a,...Ki(e)}),gn(p(c,e=>({...e,status:hu(e.snapshot),error:A(_u)})))),oe=yield*Ne(1),ce=P(`EnvironmentShellState.applyItems`)(function*(e,t){let n=yield*x(c),r=yield*q(l),i=n,a=!1;for(let t of e){if(t.kind===`synchronized`){r=!1,T(i.snapshot)&&(i={...i,status:`live`,error:f()});continue}let e=t.kind===`snapshot`?du(D(i.snapshot),t.snapshot,t.resolvedRepositoryIdentityRoots===void 0?void 0:{resolvedRepositoryIdentityRoots:t.resolvedRepositoryIdentityRoots}):Kr(i.snapshot,{onNone:()=>null,onSome:e=>t.sequence>e.snapshotSequence?fu(e,t):e});e!==null&&(a||=t.kind===`snapshot`,i={snapshot:A(e),status:r?`synchronizing`:`live`,error:f()})}if(yield*W(l,r),i!==n){if(t!==void 0&&T(i.snapshot)&&(y=new Set(i.snapshot.value.threads.filter(e=>t.has(e.id)))),T(i.snapshot)&&(yield*W(h,i.snapshot)),yield*qr(c,i),a){let e=yield*q(m);e!==null&&(yield*W(d,e))}i.snapshot!==n.snapshot&&T(i.snapshot)&&(yield*at(g,i.snapshot.value))}},oe.withPermit),le=yield*se,ue,de=xt(()=>{let e=ue;return ue=void 0,e===void 0?B:Ar(e)}),fe=Pe(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));y=new Set(t.threads.filter(e=>r.has(e.id))),ue=yield*e.loadPullRequests.pipe(O(e=>pe(e,n,r)),ke(le))}),pe=Pe(function*(e,t,n){let r=yield*De(c,r=>{if(C(r.snapshot))return[f(),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[f(),r];let s={...i,threads:o};return[A(s),{...r,snapshot:A(s)}]});y=new Set;let i=yield*q(h);if(C(i))return;let a=T(r)?r:i;yield*W(h,a),yield*at(g,a.value)},e=>oe.withPermit(e));T(o)&&T(s)&&(yield*fe(o.value,s.value));let me=Kr(r,{onNone:()=>ur,onSome:e=>e.changes.pipe(nr(ra))});return yield*b,yield*k(ga(Fn.subscribeShell,P(`EnvironmentShellState.makeSubscribeInput`)(function*(t){yield*W(m,t);let r=yield*t.initialConfig.pipe(i(e=>e.shellResumeCompletionMarker===!0),ln(()=>!1));yield*W(l,r),yield*b;let a=(yield*q(d))===t,o=a,s=yield*x(c);if(!a||C(s.snapshot)){let t=yield*x(e.prepared).pipe(O(Kr({onSome:H,onNone:()=>Je(e.prepared).pipe(nr(T),an(e=>e.value),Wr,i(qe))}))),r=yield*n.load(t);if(T(r)){yield*de;let e=yield*x(c),t=cu(D(e.snapshot),gu(r.value)),n=new Set(r.value.loadPullRequests===void 0?[]:r.value.threads.map(e=>e.id));yield*ce([{kind:`snapshot`,snapshot:t}],n),o=!0,s=yield*x(c),T(s.snapshot)&&(yield*fe(r.value,s.snapshot.value))}}return!o||C(s.snapshot)?r?{requestCompletionMarker:!0}:{}:(r||(yield*p(c,e=>({...e,status:`live`,error:f()}))),{afterSequence:s.snapshot.value.snapshotSequence,...r?{requestCompletionMarker:!0}:{}})}),{onExpectedFailure:e=>ae(u(e)),retryExpectedFailureAfter:`250 millis`,resubscribe:me}).pipe(Rr(e=>ce(e)))),yield*Je(e.state).pipe(Ht(e=>{switch(Xr(e)){case`synchronizing`:return b;case`disconnected`:return re;case`ready`:return ie}}),k),c});function yu(e){return _a(e,Hn(vu().pipe(i(Je))))}Object.freeze({hasSnapshot:!1,hasSynchronizingShell:!1,hasCachedShell:!1,hasLiveShell:!1,firstError:null});var bu=new Map;function xu(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 Su(e){let t=bu;return r(n=>{let r=new Map;for(let t of sc(n(e.catalogValueAtom))){let i=n(e.serverConfigValueAtom(t));i!==null&&r.set(t,i)}return xu(t,r)||(t=r),t}).pipe(z(`environment-server-configs`))}function Cu(e){let t=M(t=>e.atom(yu(t),{initialValue:mu}));return{stateAtom:t,stateValueAtom:M(e=>r(n=>je(lt(n(t(e))),()=>mu)).pipe(z(`environment-shell-state-value:${e}`)))}}function wu(e,t){return t.visibility===`local`||t.sourceThreadId===e.thread.id}function Tu(e){let t=e.visibleTurnItems.filter(t=>wu(e,t)).map(e=>e.item);return t.length===0?e:{...e,turnItems:[...t,...e.turnItems]}}function Eu(e){return e.turnItemsOmitLocalVisible===!0?Tu(e.projection):e.projection}function Du(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 Ou(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:!Du({item:t,attempts:e.attempts,items:e.items})}function ku(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 Au(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 ju(e,t){let n=e.findIndex(e=>e.sourceItemId===t);return n===-1?e:Mu([...e.slice(0,n),...e.slice(n+1)])}function Mu(e){return e.map((e,t)=>e.position===t?e:{...e,position:t})}function Nu(e,t){return Ou({item:t,runs:e.runs,attempts:e.attempts,items:e.turnItems})}function Pu(e){let t=e.visibleTurnItems,n=ku({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:Mu(r)}function Fu(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 Iu=new Set([`preparing`,`queued`,`starting`,`running`,`waiting`]);function Lu(e,t,n){return e.visibleTurnItems.some(e=>e.sourceItemId===t.id)?!1:t.runId===null?Ru(e,t,n):e.runs.some(e=>e.id===t.runId&&Iu.has(e.status))||e.visibleTurnItems.some(e=>e.visibility===`local`&&e.item.runId===t.runId&&e.item.ordinal<=t.ordinal)?!1:Ru(e,t,n)}function Ru(e,t,n){if(n!=null&&t.ordinal<=n)return!0;let r=Fu(e.visibleTurnItems);return r!==null&&t.ordinal<r}function zu(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&&Lu(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),Mu(c)}function Bu(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:Mo(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:Au(a.runs,t.payload)};return{...e,visibleTurnItems:Pu(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:Au(a.attempts,t.payload)};return{...e,visibleTurnItems:Pu(e)}}case`node.updated`:return{...a,nodes:Au(a.nodes,t.payload)};case`subagent.updated`:return{...a,subagents:Au(a.subagents,t.payload)};case`provider-session.attached`:case`provider-session.updated`:return{...a,providerSessions:Au(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:Au(a.providerThreads,t.payload)};case`provider-turn.updated`:return{...a,providerTurns:Au(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:Au(a.runtimeRequests,t.payload)};case`message.updated`:return{...a,messages:Au(a.messages,t.payload)};case`plan.updated`:return{...a,plans:Au(a.plans,t.payload)};case`turn-item.updated`:{if(r&&!e.turnItems.some(e=>e.id===t.payload.id)&&Lu(e,t.payload,i))return e;let n={...a,turnItems:Au(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:Pu(n)}:n;return{...n,visibleTurnItems:Nu(n,t.payload)?zu(s,t.payload,r,i):ju(s.visibleTurnItems,t.payload.id)}}case`checkpoint-scope.created`:return{...a,checkpointScopes:Au(a.checkpointScopes,t.payload)};case`checkpoint.captured`:return{...a,checkpoints:Au(a.checkpoints,t.payload)};case`checkpoint.rollback-requested`:return a;case`context-handoff.updated`:return{...a,contextHandoffs:Au(a.contextHandoffs,t.payload)};case`context-transfer.created`:case`context-transfer.updated`:return{...a,contextTransfers:Au(a.contextTransfers,t.payload)}}}var Vu=3e5,Hu=class extends _r()(`@p4code/client-runtime/state/threadHistoryController`){},Uu=ee(Hu,j(function*(){let e=yield*Li(new Map);return Hu.of({register:(t,n,r)=>gi(e,e=>{let i=new Map(e);return i.set(Z({environmentId:t,threadId:n}),r),i}).pipe(R({environmentId:t,threadId:n,handler:r})),unregister:t=>gi(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(O(e=>{let i=e.get(Z({environmentId:t,threadId:n}));return i===void 0?H({_tag:`noop`}):i.loadEarlier(r)}))})})),Wu=6e3,Gu=P(`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*Zi({...e,group:`orchestration`,method:`GET`,url:e=>e.threadHistoryPage(t),timeoutMs:e.timeoutMs??Wu,request:({client:e,headers:n})=>e.threadHistoryPage({...t,headers:fa(n)})})}),Ku={historyCursor:null,hasMoreHistory:!1,loading:!1,error:null,expanded:!1,latestLocalTurnOrdinal:null};function qu(e,t){return t.historyCursor===e}function Ju(e,t){return!qu(e,t)||!t.loading?t:{...t,loading:!1}}function Yu(e){return`${e.sourceThreadId}:${e.sourceItemId}`}function Xu(e){return e.map((e,t)=>e.position===t?e:{...e,position:t})}function Zu(e,t){if(t.length===0)return e;let n=new Map(e.visibleTurnItems.map(e=>[Yu(e),e])),r=new Map(e.turnItems.map(e=>[String(e.id),e])),i=new Set,a=[];for(let o of t){let t=Yu(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`||!Ou({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(Yu(e)))];return o.length===e.visibleTurnItems.length&&o.every((t,n)=>t===e.visibleTurnItems[n])?e:{...e,turnItems:[...r.values()],visibleTurnItems:Xu(o)}}function Qu(e,t){return{historyCursor:t.nextCursor,hasMoreHistory:t.hasMoreHistory,loading:!1,error:null,expanded:!0,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal}}function $u(e){return e.hasMoreHistory||e.error!==null}var ed=2e4,td=P(`clientRuntime.state.fetchEnvironmentThreadSnapshot`)(function*(e){return yield*Zi({...e,group:`orchestration`,method:`GET`,url:t=>t.threadSnapshot({params:{threadId:e.threadId}}),timeoutMs:e.timeoutMs??ed,request:({client:t,headers:n})=>t.threadSnapshot({params:{threadId:e.threadId},headers:fa(n)})})}),nd=class extends _r()(`@p4code/client-runtime/state/threadSnapshotHttp/ThreadSnapshotLoader`){},rd={data:f(),status:`empty`,error:f(),history:Ku},id=``,ad=gt;function od(e){return xr(e,Cn(ad),e=>e.join(id))}function sd(e){return e.length===0?[]:xr(e.split(id),On(e=>Pr.make(e)))}function cd(e){return M(t=>r(n=>{let r=[],i=null,a=!1;for(let o of sd(t)){let t=n(e.getSnapshotAtom(o));a||=t.waiting;let s=D(lt(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(z(`${e.labelPrefix}:${t}`)))}var ld=6e3,ud=P(`clientRuntime.state.fetchEnvironmentBoundedThreadSnapshot`)(function*(e){let t={params:{threadId:e.threadId},query:{compactTurnItems:`1`}};return yield*Zi({...e,group:`orchestration`,method:`GET`,url:e=>e.threadBoundedSnapshot(t),timeoutMs:e.timeoutMs??ld,request:({client:e,headers:n})=>e.threadBoundedSnapshot({...t,headers:fa(n)})}).pipe(i(({turnItemsOmitLocalVisible:e,...t})=>({...t,projection:Eu({...t,turnItemsOmitLocalVisible:e})})))}),dd=ee(nd,j(function*(){let e=yield*Vt,t=yield*Ee(ia),n=yield*Ee(da);return nd.of({load:(r,a)=>{let o=td({prepared:r,threadId:a,signer:t,remoteAuthorization:n}).pipe(i(e=>({_tag:`present`,snapshot:e})),Dn(Vt,e),xn({EnvironmentResourceNotFoundError:()=>Se(`Full thread snapshot not found over HTTP after bounded fallback; treating the thread as deleted.`).pipe(F({threadId:a}),R({_tag:`missing`}))}),sn(e=>N(`Could not load the full thread snapshot over HTTP after bounded fallback; using the socket snapshot instead.`).pipe(F({threadId:a,cause:te(e)}),R({_tag:`unavailable`}))));return ud({prepared:r,threadId:a,signer:t,remoteAuthorization:n}).pipe(i(e=>({_tag:`present`,snapshot:{snapshotSequence:e.snapshotSequence,projection:e.projection,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal},history:{historyCursor:e.historyCursor,hasMoreHistory:e.hasMoreHistory,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal}})),Dn(Vt,e),xn({EnvironmentResourceNotFoundError:()=>Se(`Bounded thread snapshot not found over HTTP; treating the thread as deleted.`).pipe(F({threadId:a}),R({_tag:`missing`})),RemoteEnvironmentAuthInvalidJsonError:e=>Se(`Bounded thread snapshot returned an invalid response; trying the full HTTP thread snapshot for an older server.`).pipe(F({threadId:a,cause:e.message}),gn(o)),RemoteEnvironmentAuthUndeclaredStatusError:e=>e.status===404?Se(`Bounded thread snapshot route was not found; trying the full HTTP thread snapshot for an older server.`).pipe(F({threadId:a}),gn(o)):v(e)}),sn(e=>N(`Could not load the bounded thread snapshot over HTTP; using the socket snapshot instead.`).pipe(F({threadId:a,cause:te(e)}),R({_tag:`unavailable`}))))}})}));function fd(e){let t=M(e=>r([]).pipe($e)),n=M(n=>r(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 i(n,r){return{label:n.label,run:async(i,a)=>{let o=mr(),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:i}}function pd(e,t){let n=ca(),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=>Qo(e),scheduler:n,concurrency:r}),delete:U(e,{label:`environment-data:commands:thread:delete`,execute:e=>es(e),scheduler:n,concurrency:r}),archive:U(e,{label:`environment-data:commands:thread:archive`,execute:e=>ts(e),scheduler:n,concurrency:r}),unarchive:U(e,{label:`environment-data:commands:thread:unarchive`,execute:e=>ns(e),scheduler:n,concurrency:r}),settle:U(e,{label:`environment-data:commands:thread:settle`,execute:e=>rs(e),scheduler:n,concurrency:r}),unsettle:U(e,{label:`environment-data:commands:thread:unsettle`,execute:e=>ls(e),scheduler:n,concurrency:r}),snooze:U(e,{label:`environment-data:commands:thread:snooze`,execute:e=>us(e),scheduler:n,concurrency:r}),unsnooze:U(e,{label:`environment-data:commands:thread:unsnooze`,execute:e=>ds(e),scheduler:n,concurrency:r}),pin:U(e,{label:`environment-data:commands:thread:pin`,execute:e=>is(e),scheduler:n,concurrency:r}),unpin:U(e,{label:`environment-data:commands:thread:unpin`,execute:e=>cs(e),scheduler:n,concurrency:r}),reorderPin:U(e,{label:`environment-data:commands:thread:reorder-pin`,execute:e=>os(e),scheduler:n,concurrency:r}),setAutoSettle:U(e,{label:`environment-data:commands:thread:set-auto-settle`,execute:e=>as(e),scheduler:n,concurrency:r}),reorderActive:U(e,{label:`environment-data:commands:thread:reorder-active`,execute:e=>ss(e),scheduler:n,concurrency:r}),visit:U(e,{label:`environment-data:commands:thread:visit`,execute:e=>fs(e),scheduler:n,concurrency:r}),markUnread:U(e,{label:`environment-data:commands:thread:mark-unread`,execute:e=>ps(e),scheduler:n,concurrency:r}),updateMetadata:U(e,{label:`environment-data:commands:thread:update-metadata`,execute:e=>ms(e),scheduler:n,concurrency:r}),linkPullRequest:U(e,{label:`environment-data:commands:thread:link-pull-request`,execute:e=>Ms(e),scheduler:n,concurrency:r}),unlinkPullRequest:U(e,{label:`environment-data:commands:thread:unlink-pull-request`,execute:e=>Is(e),scheduler:n,concurrency:r}),linkDesign:U(e,{label:`environment-data:commands:thread:link-design`,execute:e=>Ns(e),scheduler:n,concurrency:r}),unlinkDesign:U(e,{label:`environment-data:commands:thread:unlink-design`,execute:e=>Ps(e),scheduler:n,concurrency:r}),watchPullRequest:U(e,{label:`environment-data:commands:thread:watch-pull-request`,execute:e=>Fs(e),scheduler:n,concurrency:r}),setRuntimeMode:U(e,{label:`environment-data:commands:thread:set-runtime-mode`,execute:e=>hs(e),scheduler:n,concurrency:r}),setInteractionMode:U(e,{label:`environment-data:commands:thread:set-interaction-mode`,execute:e=>gs(e),scheduler:n,concurrency:r}),startTurn:U(e,{label:`environment-data:commands:thread:start-turn`,execute:e=>_s(e),scheduler:n,concurrency:r}),interruptTurn:U(e,{label:`environment-data:commands:thread:interrupt-turn`,execute:e=>vs(e),scheduler:n,concurrency:r}),respondToApproval:U(e,{label:`environment-data:commands:thread:respond-to-approval`,execute:e=>ys(e),scheduler:n,concurrency:r}),respondToUserInput:U(e,{label:`environment-data:commands:thread:respond-to-user-input`,execute:e=>bs(e),scheduler:n,concurrency:r}),dismissUserInput:U(e,{label:`environment-data:commands:thread:dismiss-user-input`,execute:e=>xs(e),scheduler:n,concurrency:r}),revertCheckpoint:U(e,{label:`environment-data:commands:thread:revert-checkpoint`,execute:e=>Ss(e),scheduler:n,concurrency:r}),stopSession:U(e,{label:`environment-data:commands:thread:stop-session`,execute:e=>Cs(e),scheduler:n,concurrency:r}),forkFromRun:U(e,{label:`environment-data:commands:thread:fork-from-run`,execute:e=>ws(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=>Ts(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=>Es(e),scheduler:n,concurrency:r}),reorderQueuedRun:U(e,{label:`environment-data:commands:thread:reorder-queued-run`,execute:e=>Ds(e),scheduler:n,concurrency:r}),promoteQueuedRun:U(e,{label:`environment-data:commands:thread:promote-queued-run`,execute:e=>Os(e),scheduler:n,concurrency:r}),cancelQueuedRun:U(e,{label:`environment-data:commands:thread:cancel-queued-run`,execute:e=>ks(e),scheduler:n,concurrency:r}),retryWorkspacePreparation:U(e,{label:`environment-data:commands:thread:retry-workspace-preparation`,execute:e=>As(e),scheduler:n,concurrency:r}),editQueuedRun:U(e,{label:`environment-data:commands:thread:edit-queued-run`,execute:e=>js(e),scheduler:n,concurrency:r}),loadEarlierHistory:U(e,{label:`environment-data:commands:thread:load-earlier-history`,execute:e=>j(function*(){let t=yield*ba,n=yield*Ee(Hu);return C(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:E.providerUploadFeedback,scheduler:n,concurrency:r})},a=fd(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)>Ft(n))?e:{...e,pendingRuntimeRequest:null,snoozedUntil:we(t.snoozedUntil),snoozedAt:e.snoozedUntil!=null&&vt(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 md(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 hd(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 gd(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:Sn.make(`${e.id}:feedback`),role:t,text:n,turnId:null,streaming:!1,createdAt:e.createdAt,updatedAt:e.createdAt}}async function _d(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(Ti(t))e.onUpdate({...e.submission,status:`interrupted`});else{let n=Ii(t);e.onUpdate({...e.submission,status:`failed`,errorMessage:n instanceof Error?n.message:`An error occurred.`})}return t}var vd=new Set([`preparing`,`starting`,`running`,`waiting`]),yd=new Set([`waiting`,`completed`]),bd=new Set([`preparing`,`starting`,`running`]);function xd(e){return e.runs.findLast(e=>vd.has(e.status))??null}function Sd(e){let t=e.runs.reduce((e,t)=>yd.has(t.status)&&(e===null||t.ordinal>e.ordinal)?t:e,null);return t===null||e.runs.some(e=>e.ordinal>t.ordinal&&bd.has(e.status))?null:t}function Cd(e){let t=xd(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 wd(e){if(e==null)return!1;let t=Cd(e);return t===null?xd(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 Td(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 Ed(e){let t=xd(e),n=Cd(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:Ka(Td(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 Dd(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 Od(e){let t=Cd(e);return t!==null&&t.status!==`stopped`&&t.status!==`error`}function kd(e){return Ft(e.startedAt??e.updatedAt)}function Ad(e){if(e.subagents.length===0)return null;let t=xd(e),n=e.subagents.reduce((e,t)=>Ft(t.updatedAt)>Ft(e.updatedAt)?t:e),r=t?.id??n.runId,i=Ka(e.subagents.filter(e=>e.runId===r),(e,t)=>kd(e)-kd(t)||e.id.localeCompare(t.id));if(i.length===0)return null;let a=0,o=0;for(let e of i)zs(e.status)?a+=1:Rs(e.status)&&(o+=1);return{runId:r,turnActive:t!==null,subagents:i,liveCount:a,settledCount:o}}function jd(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 Md(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:vt(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:vt(r.createdAt),...a?.type===`approval_request`&&a.prompt?{detail:a.prompt}:{},...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 Nd(){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 Pd=Object.freeze([]);function Fd(e){let t=M(t=>{let n=vc(t);return r(t=>je(lt(t(e(n.environmentId,n.threadId))),()=>rd)).pipe(L(0),z(`environment-thread-state-value:${t}`))}),n=M(e=>{let n=vc(e),i=null,a=null;return r(r=>{let o=D(r(t(e)).data);return o===i?a:(i=o,a=o===null?null:{environmentId:n.environmentId,projection:o},a)}).pipe(L(0),z(`environment-thread:${e}`))}),i=M(e=>{let n=Nd();return r(r=>{let i=D(r(t(e)).data);return i===null?Pd:n(i)}).pipe(L(0),z(`environment-thread-visible-turn-items:${e}`))}),a=M(e=>{let n=null,i=null;return r(r=>{let a=D(r(t(e)).data);if(a===null)n=null,i=null;else if(n===null||a.thread!==n.thread||a.runs!==n.runs||a.messages!==n.messages||a.providerThreads!==n.providerThreads||a.providerSessions!==n.providerSessions||a.providerTurns!==n.providerTurns){i=Ed(a);let{thread:e,runs:t,messages:r,providerThreads:o,providerSessions:s,providerTurns:c}=a;n={thread:e,runs:t,messages:r,providerThreads:o,providerSessions:s,providerTurns:c}}return i}).pipe(L(0),z(`environment-thread-queue:${e}`))}),o=M(e=>{let n=null,i=0;return r(r=>{let a=D(r(t(e)).data);if(a===null)n=null,i=0;else if(a.runs!==n?.runs||a.messages!==n?.messages){let{runs:e,messages:t}=a;n={runs:e,messages:t},i=Td(n).length}return i}).pipe(L(0),z(`environment-thread-queue-count:${e}`))}),s=M(e=>{let n=null,i=null;return r(r=>{let a=D(r(t(e)).data);if(a===null)n=null,i=null;else if(a.runs!==n?.runs||a.subagents!==n?.subagents){let{runs:e,subagents:t}=a;n={runs:e,subagents:t},i=Ad(n)}return i}).pipe(L(0),z(`environment-thread-turn-subagents:${e}`))}),c=M(e=>r(n=>D(n(t(e)).data)?.thread.worktreePath??null).pipe(L(0),z(`environment-thread-worktree:${e}`))),l=M(e=>{let n=null,i=null;return r(r=>{let a=D(r(t(e)).data);if(a===null)return n=null,i=null,i;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(n===null||!xc(n.runtimeRequests,o)||!xc(n.turnItems,c))&&(n={runtimeRequests:o,turnItems:c},i=Md(n)),i}).pipe(L(0),z(`environment-thread-pending-requests:${e}`))}),u=M(e=>r(n=>n(t(e)).status).pipe(L(0),z(`environment-thread-status:${e}`))),d=M(e=>r(n=>D(n(t(e)).error)).pipe(L(0),z(`environment-thread-error:${e}`))),f=M(e=>r(n=>n(t(e)).history).pipe(L(0),z(`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=>t(Z(e)),threadAtom:e=>n(Z(e)),visibleTurnItemsAtom:e=>i(Z(e)),statusAtom:e=>u(Z(e)),errorAtom:e=>d(Z(e)),historyAtom:e=>f(Z(e))}}var Id=Object.freeze([]),Ld=Object.freeze([]),Rd=new Map,zd=new Map,Bd=new Map,Vd=e=>e.activityRunStatus===void 0?e.status===`preparing`||e.status===`starting`||e.status===`running`||e.status===`waiting`:e.activityRunStatus!==null;function Hd(e){let t=e.pendingRuntimeRequest?.kind;return t===void 0||t===`auth_refresh`||e.lineage.relationshipToParent!==`subagent`||yn(e)||!Vd(e)?null:t===`user_input`?`user_input`:`approval`}function Ud(e){let t=new Map,n;for(let r of e){let i=Hd(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?zd:t}function Wd(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}`}function Gd(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=ac(e,n,a),i.set(o,s)),s},i=M(t=>r(n=>n(e.snapshotAtom(t))?.threads??Id).pipe(z(`environment-threads:${t}`))),a=M(e=>r(t=>{let n=t(i(e));return n.length===0?Rd:new Map(n.map(e=>[e.id,e]))}).pipe(z(`environment-thread-index:${e}`))),o=M(e=>{let t=zd;return r(n=>{let r=Ud(n(i(e)));return r.size===t.size&&[...r].every(([e,n])=>t.get(e)===n)?t:(t=r,r)}).pipe(z(`environment-pending-subagent-requests:${e}`))}),s=M(e=>{let t=[];return r(n=>{let r=n(i(e)).map(t=>({environmentId:e,threadId:t.id}));return bc(t,r)?t:(t=r,r)}).pipe(z(`environment-thread-refs:${e}`))}),c=M(e=>{let t=Bd;return r(n=>{let r=new Map;for(let t of n(i(e))){let n=r.get(t.projectId),i={environmentId:e,threadId:t.id};n===void 0?r.set(t.projectId,[i]):n.push(i)}if(r.size===0)return t=Bd,t;let a=new Map;for(let[e,n]of r){let r=t.get(e);a.set(e,r!==void 0&&bc(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(z(`environment-thread-refs-by-project:${e}`))}),l=M(e=>{let t=vc(e);return r(e=>{let r=e(a(t.environmentId)).get(t.threadId)??null;return r===null?null:n(t.environmentId,r,e(o(t.environmentId)))}).pipe(z(`environment-thread-shell:${e}`))}),u=M(e=>{let t=vc(e),a=[];return r(e=>{let r=new Map;for(let n of e(i(t.environmentId))){let e=n.lineage.parentThreadId;if(e===null||n.lineage.relationshipToParent!==`subagent`)continue;let t=r.get(e);t?t.push(n):r.set(e,[n])}let s=e(o(t.environmentId)),c=new Set([t.threadId]),l=[t.threadId],u=[];for(let e of l)for(let i of r.get(e)??[])c.has(i.id)||(c.add(i.id),l.push(i.id),Hd(i)!==null&&u.push(n(t.environmentId,i,s)));return a.length===u.length&&a.every((e,t)=>e.id===u[t]?.id&&e.title===u[t]?.title&&e.hasPendingApprovals===u[t]?.hasPendingApprovals)?a:(a=u,u)}).pipe(z(`environment-child-thread-inputs:${e}`))}),d=M(e=>{let t=_c(e),i=[];return r(e=>{let r=[],s=new Set;for(let i of t){let t=e(c(i.environmentId)).get(i.projectId)??Ld;if(t.length===0)continue;let l=e(a(i.environmentId)),u=e(o(i.environmentId));for(let e of t){let t=Z(e);if(s.has(t))continue;s.add(t);let i=l.get(e.threadId);i!==void 0&&r.push(n(e.environmentId,i,u))}}return xc(i,r)||(i=r),i}).pipe(z(`environment-thread-shells-for-projects:${e}`))}),f=[],p=r(t=>{let n=[];for(let r of sc(t(e.catalogValueAtom)))n.push(...t(s(r)));return bc(f,n)?f:(f=n,n)}).pipe(z(`environment-thread-refs`)),m=[],h=r(t=>{let r=[];for(let a of sc(t(e.catalogValueAtom))){let e=t(o(a));for(let o of t(i(a)))r.push(n(a,o,e))}return xc(m,r)||(m=r),m}).pipe(z(`environment-thread-shell-list`)),g=[];return{environmentThreadsAtom:i,environmentThreadIndexAtom:a,environmentThreadRefsAtom:s,environmentThreadRefsByProjectAtom:c,threadRefsAtom:p,threadShellsAtom:h,navigationThreadShellsAtom:r(t=>{let r=[];for(let a of sc(t(e.catalogValueAtom))){let e=t(o(a));for(let o of t(i(a)))o.archivedAt===null&&o.lineage.relationshipToParent!==`subagent`&&r.push(n(a,o,e))}return xc(g,r)?g:(g=r,r)}).pipe(z(`environment-navigation-thread-shells`)),threadShellsForProjectRefsAtom:e=>d(hc(e)),threadShellAtom:e=>l(Z(e)),childThreadInputsAtom:e=>u(Z(e))}}function Kd(e){return T(e)?`cached`:`empty`}function qd(e){let t=u(e);return t instanceof Error&&t.message.trim().length>0?t.message:`Could not synchronize the thread.`}function Jd(e){return e instanceof Error&&e.message.trim().length>0?e.message:`Could not load earlier activity.`}function Yd(e){return{historyCursor:e.historyCursor??null,hasMoreHistory:e.hasMoreHistory??!1,loading:!1,error:null,expanded:!1,latestLocalTurnOrdinal:e.latestLocalTurnOrdinal??null}}function Xd(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 Zd(e,t){return!t.expanded&&!e.runs.some(e=>e.status===`preparing`||e.status===`starting`||e.status===`running`)}function Qd(e,t,n,r){if(e.sequence!==n||D(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 $d(e){return{...e,status:e.status===`deleted`||e.status===`live`&&T(e.data)?e.status:Kd(e.data),error:f(),history:{...e.history,loading:!1,error:null}}}var ef=P(`EnvironmentThreadState.make`)(function*(e,t){let n=yield*ba,r=yield*Sa,a=yield*nd,o=yield*Ee(Hu),s=yield*Ee(Vt),c=yield*Ee(ia),l=yield*Ee(da),u=yield*Ee(ma),d=n.target.environmentId,m=t?.snapshot,h={};t&&(t.owner=h);let g=m===void 0?yield*r.loadThread(d,e).pipe(I(t=>N(`Could not load cached thread.`).pipe(F({environmentId:d,threadId:e,error:t.message}),R(f())))):f(),_=rt(g,e=>e.projection),v=m?$d(m.state):{data:_,status:Kd(_),error:f(),history:Kr(g,{onNone:()=>Ku,onSome:Yd})},y=yield*ve(v),ee=T(s)&&T(o),te=yield*Li(ee),ne=m?.sequence??Kr(g,{onNone:()=>0,onSome:e=>e.snapshotSequence}),re=yield*ve(ne),b={state:v,sequence:ne,persisted:m?.persisted??T(g),acceptsBoundedSnapshots:ee};t?.owner===h&&(t.snapshot=b);let ie=yield*Li(!1),ae=yield*Ne(1),oe=j(function*(){let e=yield*x(y),n=yield*x(re);b={state:e,sequence:n,acceptsBoundedSnapshots:yield*q(te),persisted:b.persisted&&Qd(b,D(e.data),n,e.history)},t?.owner===h&&(t.snapshot=b)}),se=yield*kt(1),ce=P(`EnvironmentThreadState.persist`)(function*(n){(t===void 0||t.owner===h)&&b.state.status!==`deleted`&&(b.persisted&&Qd(b,n.projection,n.snapshotSequence,Yd(n))||(yield*r.saveThread(d,n).pipe(ht(()=>S(()=>{Qd(b,n.projection,n.snapshotSequence,Yd(n))&&(b={...b,persisted:!0},t?.owner===h&&(t.snapshot=b))})),I(t=>N(`Could not persist the thread cache.`).pipe(F({environmentId:d,threadId:e,error:t.message}))))))});yield*Qe(()=>xt(()=>{let{state:e,sequence:t}=b;return Kr(e.data,{onNone:()=>B,onSome:n=>Zd(n,e.history)?ce(Xd(t,n,e.history,b.acceptsBoundedSnapshots===!0)):B})})),yield*dl(se,ce).pipe(k);let le=p(y,e=>e.status===`deleted`||T(e.error)?e:{...e,status:`synchronizing`,error:f()}),ue=p(y,e=>e.status===`live`||e.status===`deleted`||T(e.error)?e:{...e,status:`synchronizing`,error:f()}),de=j(function*(){yield*W(ie,!1),yield*p(y,e=>({...e,status:e.status===`deleted`?e.status:Kd(e.data)}))}),fe=e=>W(ie,!1).pipe(gn(p(y,t=>({...t,status:t.status===`deleted`?t.status:Kd(t.data),error:A(e)})))),pe=P(`EnvironmentThreadState.setThread`)(function*(e,t){let n=yield*q(ie),r=yield*St(y,r=>{let i=t?.history===void 0?t?.resetHistory===!0?Ku:r.history:t.history;return{...r,data:A(e),status:T(r.error)?`cached`:n?`synchronizing`:`live`,error:r.error,history:i}});if(Zd(e,r.history)){let t=yield*x(re);yield*at(se,Xd(t,e,r.history,yield*q(te)))}}),me=e=>p(y,t=>({...t,history:e(t.history)})),he=P(`EnvironmentThreadState.setDeleted`)(function*(){yield*W(ie,!1),yield*qr(y,{data:f(),status:`deleted`,error:f(),history:Ku}),yield*oe,(t===void 0||t.owner===h)&&(yield*r.removeThread(d,e).pipe(I(t=>N(`Could not remove the cached thread.`).pipe(F({environmentId:d,threadId:e,error:t.message})))))}),ge=P(`EnvironmentThreadState.applyEventsLocked`)(function*(t){let n=yield*x(re),r=n,i=[];for(let n of t)if(!(n.sequence<=r)){if(r=n.sequence,n.kind===`event`){i.push(n);continue}yield*Se(`Skipped a thread event type this client does not know.`).pipe(F({environmentId:d,threadId:e,eventType:n.eventType.slice(0,64),sequence:n.sequence}))}if(r===n||(yield*qr(re,r),i.length===0))return;let a=yield*q(ie),o=(e,t)=>{if(e.status===`deleted`)return[{_tag:`noop`},e];if(C(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=Bu(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:A(r),status:a?`synchronizing`:`live`,error:f(),history:i};return[{_tag:`applied`,projection:r,history:o.history},o]},s=yield*De(y,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*he();return}if(s._tag===`applied`&&Zd(s.projection,s.history)){let e=yield*x(re);yield*at(se,Xd(e,s.projection,s.history,yield*q(te)))}}),_e=P(`EnvironmentThreadState.applyItemLocked`)(function*(e){if(e.kind===`synchronized`){yield*W(ie,!1),yield*p(y,e=>T(e.data)&&e.status!==`deleted`&&C(e.error)?{...e,status:`live`,error:f()}:e);return}if(e.kind===`snapshot`){yield*qr(re,e.snapshotSequence);let t=e.historyCursor!==void 0||e.hasMoreHistory!==void 0||e.latestLocalTurnOrdinal!==void 0;yield*pe(Eu(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*ge([e])}),ye=P(`EnvironmentThreadState.applyItems`)(function*(e){yield*ae.withPermits(1)(j(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*ge(t),t=[],yield*_e(n)}yield*ge(t),yield*oe}))}),w=P(`EnvironmentThreadState.loadEarlier`)(function*(t){let r=yield*x(y);if(r.status===`deleted`||C(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*me(e=>qu(i,e)?{...e,loading:!0,error:null}:e);let a=e=>De(y,t=>qu(i,t.history)?[{_tag:`error`,message:e},{...t,history:{...t.history,loading:!1,error:e}}]:[{_tag:`noop`},t]);return yield*j(function*(){let r=yield*x(n.prepared);if(C(r)||C(s))return yield*a(`Environment is not connected.`);let o=t===void 0?[void 0]:[`conversation`,void 0];for(let n of o){let o=yield*Gu({prepared:r.value,threadId:e,cursor:i,throughEntryId:t,view:n,signer:c,remoteAuthorization:l}).pipe(Dn(Vt,s.value),Xt);if(ct(o))return yield*a(Jd(o.failure));let u=o.success,d=n===void 0,f=yield*q(ie),p=yield*ae.withPermits(1)(De(y,e=>qu(i,e.history)?C(e.data)||e.status===`deleted`?[{_tag:`noop`},{...e,history:Ku}]:[{_tag:`loaded`},{...e,data:A(Zu(e.data.value,u.items)),status:d&&f?`synchronizing`:e.status,history:d?Qu(e.history,u):{...e.history,expanded:!0}}]:[{_tag:`noop`},e]));if(p._tag!==`loaded`)return p;d&&(yield*oe)}return{_tag:`loaded`}}).pipe(tn(()=>p(y,e=>({...e,history:Ju(i,e.history)}))))});if(T(o)){let t=yield*tt,n=yield*o.value.register(d,e,{loadEarlier:e=>w(e).pipe(ke(t),O(br))});yield*Qe(()=>o.value.unregister(n))}yield*Je(n.state).pipe(Ht(e=>{switch(Xr(e)){case`synchronizing`:return le;case`disconnected`:return de;case`ready`:return ue}}),k);let be=Kr(u,{onNone:()=>ur,onSome:e=>e.changes.pipe(nr(ra))}),xe=yield*Li(v.status===`live`),Ce=j(function*(){(yield*q(xe))||(yield*p(y,e=>e.status===`deleted`?e:{...e,status:`synchronizing`,error:f()}))});return yield*Ce,yield*k(ga(Fn.subscribeThread,P(`EnvironmentThreadState.makeSubscribeInput`)(function*(t){let r=yield*x(y);if(r.status===`deleted`)return yield*Gt;let o=yield*t.initialConfig.pipe(i(e=>e.threadResumeCompletionMarker===!0),ln(()=>!1));if(yield*W(ie,o),yield*Ce,yield*W(xe,!1),C(r.data)){let t=yield*x(n.prepared).pipe(O(Kr({onSome:H,onNone:()=>Je(n.prepared).pipe(nr(T),an(e=>e.value),Wr,i(qe))}))),o=yield*a.load(t,e);switch(o._tag){case`present`:ee&&o.history!==void 0&&(yield*W(te,!0)),yield*ae.withPermits(1)(j(function*(){yield*qr(re,o.snapshot.snapshotSequence);let e=o.history===void 0?Ku:{historyCursor:o.history.historyCursor,hasMoreHistory:o.history.hasMoreHistory,loading:!1,error:null,expanded:!1,latestLocalTurnOrdinal:o.history.latestLocalTurnOrdinal??null};yield*pe(o.snapshot.projection,{history:e}),yield*oe})),r=yield*x(y);break;case`missing`:return yield*he(),yield*Gt}}let s=yield*x(re),c=T(r.data),l=yield*q(te);return!o&&c&&(yield*p(y,e=>({...e,status:e.status===`deleted`?e.status:`live`,error:f()}))),{threadId:e,...c?{afterSequence:s}:{},...o?{requestCompletionMarker:!0}:{},...l?{acceptBoundedSnapshot:!0,acceptCompactTurnItems:!0}:{}}}),{onDefect:()=>fe(`Could not synchronize the thread.`),onExpectedFailure:e=>fe(qd(e)),retryExpectedFailureAfter:`250 millis`,resubscribe:be}).pipe(Rr(ye))),y});function tf(e,t,n){return _a(e,Hn(ef(t,n).pipe(i(Je))))}function nf(e){let t=M(e=>r(()=>({snapshot:void 0,owner:void 0})).pipe(L(Vu),z(`environment-thread-resume:${e}`))),n=M(n=>{let{environmentId:r,threadId:i}=vc(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:pr(ut($d(t.snapshot.state)),n)},{initialValue:rd}).pipe(L(0),z(`environment-thread-state:${n}`))});return{stateAtom:(e,t)=>n(Z({environmentId:e,threadId:t}))}}var rf=class extends Qn(`@p4code/client-runtime/EnvironmentQueryStore`,{defaultValue:()=>null}){};function af(e){let t=vr(wn(e));return{load:(e,n)=>j(function*(){let r=yield*rf;if(r===null)return f();let a=yield*r.load(e,n);return C(a)?f():yield*et(t)(a.value).pipe(i(A),I(()=>d))}),save:(e,n,r)=>j(function*(){let i=yield*rf;if(i===null)return;let a=yield*Or(t)(r);yield*i.save(e,n,a)}).pipe(I(()=>N(`Offline query cache save failed`)))}}var of=vr(Dt([w,yt])),sf=e=>JSON.stringify([`pull-request-stat`,e.projectId,e.host??``,e.repository,e.number]);function cf(){let e=af(Le);return{load:(t,n)=>j(function*(){let[,r]=yield*gr(of)(n),i=(yield*ze(r.refs,n=>e.load(t,sf(n)))).flatMap(e=>T(e)?[e.value]:[]);return i.length?A({stats:i}):f()}).pipe(ln(()=>f())),save:(t,n,r)=>j(function*(){let[,i]=yield*gr(of)(n);yield*ze(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,sf(r),n):B})}).pipe(ge)}}var lf=new Set([E.pullRequestsSummary,E.pullRequestsStack,E.pullRequestsDetail,E.pullRequestsPreview,E.pullRequestsChecks,E.pullRequestsActivity,E.pullRequestsThreadComments,E.pullRequestsDiffFileContents,E.pullRequestsFilesViewed,E.pullRequestsReviewerCandidates,E.pullRequestsLabelCandidates]),uf=new Set([E.pullRequestsSetFilesViewed,E.pullRequestsRunAction,E.pullRequestsUpdate,E.pullRequestsComment,E.pullRequestsUpdateComment,E.pullRequestsSubmitReview,E.pullRequestsReplyToThread,E.pullRequestsSetReaction,E.pullRequestsSetThreadResolution,E.pullRequestsRequestReviewers,E.pullRequestsSetLabels]),df=Nn(Te),ff=Nn(ot({state:hr})),pf=Nn(ce),mf=e=>be({duration:`30 seconds`,orElse:()=>v(new xa({environmentId:e,message:`The environment did not respond to the PR request.`}))}),hf=new WeakMap,gf=Nn(Aa),_f=$n(vr(en(Fe(w)))),vf=new WeakMap,yf=new WeakMap;function bf(e,t,n){return Xe(r=>j(function*(){let i=yield*ba,a=yield*x(i.session);if(C(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(dr(s));return yield*r(qt(i)?bf(e,t,n):i)}let c=hn();return o.set(t,c),yield*r(n).pipe(Sr(e=>S(()=>o.delete(t)).pipe(gn(kr(c,e)))))}))}function xf(e){let t=e.target._tag===`PrimaryConnectionTarget`?e.target.httpBaseUrl:T(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 Sf(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 Cf=P(`PullRequestRouting.allowed`)(function*(e,t,n,r){let i=yield*x(e.entries),a=i.get(t),o=i.get(n);if(!a?.enabled||!o?.enabled)return!1;let s=yield*$r,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*Ee(Bi);if(C(t))return!1;let n=yield*t.value.get(e.target.connectionId).pipe(ln(()=>f())),r=di(e);if(r===null||r!==di({...e,profile:n}))return!1}return!0});function wf(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 Tf=P(`PullRequestRouting.invalidateTarget`)(function*(e,t,n,r){(n===t||(yield*Cf(e,t,n,!1)))&&(yield*ze(r,t=>e.run(n,Ci(E.pullRequestsInvalidate,t)).pipe(fr(`1 second`),ln(()=>void 0)),{concurrency:3,discard:!0}))}),Ef=({allowStale:e,expectedAccountId:t,...n},r)=>Ci(E.pullRequestsReportState,{reference:n,state:r}).pipe(fr(`5 seconds`),ge,ye,Jt);function Df(){let e=P(`PullRequestRouting.request`)(function*(e,t,n){let r=n??Ci(e,t);if(e===E.pullRequestsInvalidate&&pf(t)){let n=yield*Ci(e,t),r=yield*ba,i=yield*J,a=hf.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||wf(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*ze(o,([e,n])=>Tf(i,r.target.environmentId,e,[{...t,...t.reference===void 0?{}:{reference:n}}]),{concurrency:4,discard:!0}),n}if(!lf.has(e)&&!uf.has(e)||!df(t))return yield*Ci(e,t);let a=t,o=yield*ba,s=yield*J,c=yield*x(s.entries),l=c.get(o.target.environmentId),u=hf.get(s)??new Map;hf.set(s,u);let d=_f([o.target.environmentId,a.projectId,a.host?.toLowerCase()??null,a.repository.toLowerCase(),String(a.number)]),p=t=>t.pipe(ht(()=>{if(!uf.has(e)||u.size===0)return B;let t=new Map([[o.target.environmentId,[a]]]);for(let e of u.values())if(e.origin===o.target.environmentId&&wf(e.reference,a))for(let n of[...e.targets,o.target.environmentId]){let r=t.get(n)??[];r.some(t=>t.host===e.reference.host)||r.push(e.reference),t.set(n,r)}return ze(t,([t,n])=>Tf(s,o.target.environmentId,t,[...n.map(t=>({reference:t,...e===E.pullRequestsSetFilesViewed?{filesViewedOnly:!0}:{}})),...e===E.pullRequestsSetFilesViewed?[]:[{}]]),{concurrency:4,discard:!0})})),m=[];for(let[t,n]of c){if(t===o.target.environmentId||!(yield*Cf(s,o.target.environmentId,t,uf.has(e))))continue;let r=yield*s.run(t,ba.pipe(O(e=>x(e.session)))).pipe(ln(()=>f()));C(r)||(e!==E.pullRequestsChecks||(yield*r.value.initialConfig.pipe(i(e=>e.environment.capabilities.pullRequestChecks===!0),Ce(`2 seconds`),sn(e=>zr(e)?At:H(!1)))))&&m.push({id:t,local:xf(n)})}if(m.length===0)return yield*p(r);let h=Ci(E.pullRequestsRouting,a).pipe(Ce(`2 seconds`),sn(e=>zr(e)?At:H(null))),g=yield*lf.has(e)?bf(vf,_f([a.projectId,a.host?.toLowerCase()??null,a.repository.toLowerCase()]),h):h;if(g===null||g.provider!==`github`)return yield*p(r);let _={...t,host:g.host,expectedAccountId:g.accountId},v=n??(yield*or(Ci(e,_))),y=m.filter(e=>e.local),ee=m.filter(e=>!e.local),te=l!==void 0&&xf(l),ne=[...te&&uf.has(e)?[o.target.environmentId]:[],...y.map(e=>e.id),...!te&&uf.has(e)?[o.target.environmentId]:[],...ee.map(e=>e.id),...lf.has(e)?[o.target.environmentId]:[]],re=t=>(t===o.target.environmentId?v:s.run(t,Ci(e,_))).pipe(ht(e=>t!==o.target.environmentId&&ff(e)?Ef(a,e.state):B),ht(()=>S(()=>{let e=u.get(d)??{origin:o.target.environmentId,reference:{...a,host:g.host},targets:new Set};if(e.targets.add(t),u.size>=256&&!u.has(d)){let e=u.keys().next().value;e!==void 0&&u.delete(e)}u.set(d,e)})),V(e=>gf(e)?new xa({environmentId:t,message:`The environment was removed.`}):e)),b=t=>{let n=ne[t];return n===void 0?v:j(function*(){if(n!==o.target.environmentId){if(!(yield*Cf(s,o.target.environmentId,n,uf.has(e))))return yield*b(t+1);let r=Ci(E.pullRequestsRoutingIdentity,{host:g.host}).pipe(Ce(`2 seconds`),sn(e=>zr(e)?At:H(null))),i=yield*s.run(n,lf.has(e)?bf(yf,g.host.toLowerCase(),r):r).pipe(Ce(`2 seconds`),sn(e=>zr(e)?At:H(null)));if(i===null||i.provider!==`github`||i.host.toLowerCase()!==g.host.toLowerCase()||i.accountId!==g.accountId||!(yield*Cf(s,o.target.environmentId,n,uf.has(e))))return yield*b(t+1)}let r=re(n);return yield*(lf.has(e)?r.pipe(mf(n)):r).pipe(pn(n=>(lf.has(e)||Sf(n))&&t+1<ne.length,()=>b(t+1)),i(t=>typeof t==`object`&&t&&`projectId`in t?{...t,projectId:a.projectId,...e===E.pullRequestsDetail?{projectTitle:g.projectTitle,workspaceRoot:g.workspaceRoot}:{}}:t))})};return yield*p(b(0))});return P(`PullRequestRouting.readOrWrite`)(function*(t,n){if(!lf.has(t)||!df(n))return yield*e(t,n);let r=yield*J,i=yield*x(r.entries);if(i.size<2)return yield*Ci(t,n);let a=yield*ba,o=!1;for(let e of i.keys())if(e!==a.target.environmentId&&(yield*Cf(r,a.target.environmentId,e,!1))){o=!0;break}if(!o)return yield*Ci(t,n);let s={...n,allowStale:!1},c=yield*or(Ci(t,s).pipe(mf(a.target.environmentId))),l=i.get(a.target.environmentId),u=e(t,s,c);return yield*(l!==void 0&&xf(l)?c.pipe(I(()=>u)):u).pipe(I(e=>n.allowStale!==!1&&(t===E.pullRequestsSummary||t===E.pullRequestsDetail)?Ci(t,n):v(e)))})}var Of=6e4,kf=class extends h()(`PullRequestDiffCredentialRejectedError`,{repository:w,number:Be,traceId:w,cause:c}){get message(){return`This environment session is no longer valid (invalid_credential). Refresh the page or quit and reopen P4 Code.`}},Af=P(`clientRuntime.state.fetchEnvironmentPullRequestDiff`)(function*(e){return yield*Zi({...e,group:`pullRequests`,method:`POST`,url:e=>e.diff(),timeoutMs:e.timeoutMs??Of,request:({client:t,headers:n})=>t.diff({payload:e.diff,headers:n})}).pipe(V(t=>t._tag===`EnvironmentAuthInvalidError`&&t.reason===`invalid_credential`?new kf({repository:e.diff.repository,number:e.diff.number,traceId:t.traceId,cause:t}):t))}),jf=class extends _r()(`@p4code/client-runtime/state/pullRequestDiffHttp/PullRequestDiffLoader`){},Mf=ee(jf,j(function*(){let e=yield*Vt,t=yield*Ee(ia),n=yield*Ee(da);return jf.of({load:(r,i)=>Af({prepared:r,diff:i,signer:t,remoteAuthorization:n}).pipe(Dn(Vt,e))})})),Nf=class extends Et(`EnvironmentHttpConnectionNotReadyError`){},Pf=5e3;function Ff(e){let t=M(e=>qn(t=>{let n=t(e);if(n._tag===`Success`&&!n.waiting)return n;let r=t.self(),i=He(r,lt);return C(i)?n:n._tag===`Failure`?An(n.cause,{previous:r,waiting:n.waiting}):Hr(i.value,n)},(e,t)=>e.setSelf(t),t=>t(e)).pipe(L(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 If(e,t,n,r=!1){(r||e.get(t).waiting)&&e.refresh(t),e.update(t,$t(n))}function Lf(e){return bi(e,{label:`environment-data:pull-requests:turn-refreshes`,tag:E.pullRequestsSubscribeRefreshes})}function Rf(e,t=Lf(e)){let n=Df();return K(e,{label:`environment-data:pull-requests:linked-summary`,tag:E.pullRequestsSummary,execute:e=>n(E.pullRequestsSummary,e),staleTimeMs:6e4,refreshIntervalMs:6e4,idleTtlMs:Pf,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}}),isFinal:e=>e.state===`merged`})}function zf(e,t=Lf(e)){let n=Df();return K(e,{label:`environment-data:pull-requests:stack`,tag:E.pullRequestsStack,execute:e=>n(E.pullRequestsStack,e),staleTimeMs:6e4,idleTtlMs:Pf,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})}function Bf(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 Vf(e){let t=Lf(e),n=ca(),r=Df(),i={mode:`serial`,key:({environmentId:e})=>e},a=Ff(K(e,{label:`environment-data:pull-requests:activity`,persistence:af(Vn),tag:E.pullRequestsActivity,execute:e=>r(E.pullRequestsActivity,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),o=Ff(K(e,{label:`environment-data:pull-requests:detail`,persistence:af(Ln),tag:E.pullRequestsDetail,execute:e=>r(E.pullRequestsDetail,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),c=Ff(K(e,{label:`environment-data:pull-requests:preview`,persistence:af(fe),tag:E.pullRequestsPreview,execute:e=>r(E.pullRequestsPreview,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),l=Ff(K(e,{label:`environment-data:pull-requests:label-candidates`,tag:E.pullRequestsLabelCandidates,execute:e=>r(E.pullRequestsLabelCandidates,e),staleTimeMs:6e4})),u=Ff(K(e,{label:`environment-data:pull-requests:review-guide`,persistence:af(nn),tag:E.pullRequestsReviewGuide,execute:e=>r(E.pullRequestsReviewGuide,e),staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})})),d=Ff(K(e,{label:`environment-data:pull-requests:reviewer-candidates`,tag:E.pullRequestsReviewerCandidates,execute:e=>r(E.pullRequestsReviewerCandidates,e),staleTimeMs:6e4}));return{refreshes:t,linkedThreads:K(e,{label:`environment-data:pull-requests:linked-threads`,persistence:af(Oe),tag:E.pullRequestsLinkedThreads,staleTimeMs:0,refreshIntervalMs:1e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})}),list:K(e,{label:`environment-data:pull-requests:list`,persistence:af(Ct),tag:E.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:cf(),tag:E.pullRequestsListStats,staleTimeMs:6e4,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})}),detail:o,preview:c,checks:K(e,{label:`environment-data:pull-requests:checks`,persistence:af(Fe(s)),tag:E.pullRequestsChecks,execute:e=>r(E.pullRequestsChecks,e),staleTimeMs:45e3,refreshTrigger:({environmentId:e})=>t({environmentId:e,input:{}})}),activity:a,threadComments:G(e,{label:`environment-data:pull-requests:thread-comments`,tag:E.pullRequestsThreadComments,execute:e=>r(E.pullRequestsThreadComments,e),scheduler:n,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId,t.cursor])}}),diff:sa(e,{label:`environment-data:pull-requests:diff`,persistence:af(Me),staleTimeMs:6e4,execute:e=>j(function*(){let t=yield*ba,n=yield*jf,r=yield*x(t.prepared);return C(r)?yield*new Nf({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:E.pullRequestsDiffFileContents,execute:e=>r(E.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:af(Ye),tag:E.pullRequestsFilesViewed,execute:e=>r(E.pullRequestsFilesViewed,e),staleTimeMs:15e3}),setFilesViewed:G(e,{label:`environment-data:pull-requests:set-files-viewed`,tag:E.pullRequestsSetFilesViewed,execute:e=>r(E.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:E.pullRequestsRunAction,label:`environment-data:pull-requests:run-action`,execute:e=>j(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(E.pullRequestsDetail,c);if(l.state!==`open`||l.isDraft||!l.capabilities.actions.includes(`merge`)||!l.viewerPermissions.actions.includes(`merge`))return yield*new Ot({operation:`runAction`,detail:`This pull request cannot be merged.`});if(l.capabilities.stackActions&&(yield*r(E.pullRequestsStack,c))!==null)return yield*new Ot({operation:`runAction`,detail:`Open this pull request to merge its stack.`});let u=yield*Mt({try:()=>t(l),catch:e=>new Ot({operation:`runAction`,detail:e instanceof Error?e.message:`Could not choose a merge method.`})});i={...n,mergeMethod:u}}return yield*r(E.pullRequestsRunAction,i)}),onSuccess:({environmentId:e,input:t},n)=>S(()=>n.refresh(c({environmentId:e,input:t}))),scheduler:n,concurrency:i}),update:G(e,{label:`environment-data:pull-requests:update`,tag:E.pullRequestsUpdate,execute:e=>r(E.pullRequestsUpdate,e),onSuccess:(e,t)=>S(()=>t.refresh(c(e))),scheduler:n,concurrency:i}),comment:G(e,{label:`environment-data:pull-requests:comment`,tag:E.pullRequestsComment,execute:e=>r(E.pullRequestsComment,e),scheduler:n,concurrency:i}),updateComment:G(e,{label:`environment-data:pull-requests:update-comment`,tag:E.pullRequestsUpdateComment,execute:e=>r(E.pullRequestsUpdateComment,e),scheduler:n,concurrency:i,onSuccess:({environmentId:e,input:{projectId:t,host:n,repository:r,number:i}},o)=>S(()=>o.refresh(a({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:E.pullRequestsSubmitReview,execute:e=>r(E.pullRequestsSubmitReview,e),scheduler:n,concurrency:i}),replyToThread:G(e,{label:`environment-data:pull-requests:reply-to-thread`,tag:E.pullRequestsReplyToThread,execute:e=>r(E.pullRequestsReplyToThread,e),scheduler:n,concurrency:i}),reviewerCandidates:d,requestReviewers:G(e,{label:`environment-data:pull-requests:request-reviewers`,tag:E.pullRequestsRequestReviewers,execute:e=>r(E.pullRequestsRequestReviewers,e),scheduler:n,concurrency:i,onSuccess:(e,t)=>S(()=>{let{reviewers:n,requested:r}=e.input,i=d(e),s=D(lt(t.get(i)))?.candidates.filter(e=>n.some(t=>t.id===e.id&&t.kind===e.kind))??[],c=s.length<n.length;If(t,i,e=>({...e,candidates:e.candidates.map(e=>s.includes(e)?{...e,isRequested:r}:e)}));let l=new Set(s.map(e=>e.login.toLowerCase())),u=(e,t=e=>!1)=>r?[...e,...s.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));If(t,o(e),e=>({...e,reviewers:u(e.reviewers)}),c),If(t,a(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:E.pullRequestsGenerateReviewGuide,execute:e=>r(E.pullRequestsGenerateReviewGuide,e),onSuccess:(e,t,n)=>S(()=>{If(t,u(e),()=>n,!0)})}),labelCandidates:l,setLabels:G(e,{label:`environment-data:pull-requests:set-labels`,tag:E.pullRequestsSetLabels,execute:e=>r(E.pullRequestsSetLabels,e),scheduler:n,concurrency:i,onSuccess:(e,t)=>S(()=>{let{labels:n,applied:r}=e.input,i=l(e),a=D(lt(t.get(i))),s=new Set(n);If(t,i,e=>({...e,candidates:e.candidates.map(e=>s.has(e.name)?{...e,isApplied:r}:e)})),If(t,o(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=>!s.has(e.name))}))})}),setThreadResolution:G(e,{label:`environment-data:pull-requests:set-thread-resolution`,tag:E.pullRequestsSetThreadResolution,execute:e=>r(E.pullRequestsSetThreadResolution,e),scheduler:n,concurrency:i}),setReaction:G(e,{label:`environment-data:pull-requests:set-reaction`,tag:E.pullRequestsSetReaction,execute:e=>r(E.pullRequestsSetReaction,e),scheduler:n,concurrency:i}),invalidate:G(e,{label:`environment-data:pull-requests:invalidate`,tag:E.pullRequestsInvalidate,execute:e=>r(E.pullRequestsInvalidate,e),onSuccess:({environmentId:e,input:t},n)=>S(()=>{t.reference!==void 0&&n.refresh(c({environmentId:e,input:t.reference}))}),scheduler:n,concurrency:i})}}var Hf=`t3.backgroundActivity.clientId`,Uf=25e3,Wf=45e3,Gf=Wf,Kf=[{type:`provider-status`}],qf=new Map,Jf=new Set;function Yf(){for(let e of Jf)try{e()}catch{}}function Xf(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 Zf(){try{let e=window.localStorage.getItem(Hf);if(e)return e;let t=Un();return window.localStorage.setItem(Hf,t),t}catch{return`ephemeral-browser-client`}}function Qf(){return window.desktopBridge?`desktop-renderer`:`web`}function $f(e,t){return e<=t&&t-e<=Gf}function ep(e,t,n){let r=[...Kf];for(let t of qf.values())t.environmentId===e&&r.push(t.scope);return{environmentId:e,clientId:Zf(),clientKind:Qf(),visible:document.visibilityState===`visible`,focused:document.hasFocus(),recentlyInteracted:$f(t,n),appState:document.visibilityState===`visible`?`active`:`background`,scopes:r,ttlMs:Wf,observedAt:we(n)}}function tp(e){if(e.method===E.subscribeResourceTelemetry)return{type:`diagnostics`};if(e.method!==E.subscribeVcsStatus)return null;let t=e.input;return t.includeRemote===!1?null:typeof t.cwd==`string`?{type:`vcs-status`,cwd:t.cwd}:null}function np(e,t){let n=Xf(e,t),r=qf.get(n);return r?r.refCount+=1:(qf.set(n,{environmentId:e,scope:t,refCount:1}),Yf()),()=>{let e=qf.get(n);e&&(--e.refCount,e.refCount<=0&&(qf.delete(n),Yf()))}}function rp(e){let t=tp(e);return t===null?H(B):S(()=>{let n=np(e.environmentId,t);return S(n)})}var ip=oe(hi,hi.of({observe:rp})),ap=zn(j(function*(){if(typeof window>`u`||typeof document>`u`)return;let e=yield*J,t=yield*st,n=yield*kt(1),r=()=>m(n,void 0),i=t.currentTimeMillisUnsafe(),a=()=>{let e=t.currentTimeMillisUnsafe(),n=$f(i,e);i=e,n||r()},o={passive:!0},s=j(function*(){let t=yield*g,n=yield*x(e.entries);yield*ze(n.keys(),n=>e.run(n,Ui(E.serverReportClientActivity,ep(n,i,t))).pipe(ge),{concurrency:`unbounded`,discard:!0})}).pipe(Wt(`web.backgroundActivity.report`));yield*Nt(S(()=>{Jf.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)}),()=>S(()=>{Jf.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*Je(e.entries).pipe(Ht(()=>S(r)),k),yield*ar(n).pipe(xe(`250 millis`),Ht(()=>s),k),yield*S(r).pipe(Fr(Yt(`${Uf} millis`)),k)})),op=ot({schemaVersion:re(3),environmentId:Pr,snapshot:wr}),sp=ot({schemaVersion:re(4),environmentId:Pr,threadId:Ut,snapshot:rn.mapFields(e=>({...e,projection:Jn}))});function cp(e,t){return e.pipe(I(()=>t.pipe(R(f()))))}var lp=ot({connectionId:w,credential:Ca}),up=ot({schemaVersion:re(1),targets:en(oi),profiles:en(oa),credentials:en(lp),remoteDpopTokens:en(Qi),githubRoutingPermissions:vn(en(Fi)),disabledEnvironmentIds:en(Pr).pipe(Qt(H([])))}),dp=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 pp(e,t,n){return e.filter(e=>t(e)!==n)}function mp(e){switch(e._tag){case`PrimaryConnectionTarget`:case`RelayConnectionTarget`:return null;case`BearerConnectionTarget`:case`SshConnectionTarget`:return e.connectionId}}function hp(e){return mp(e)??e._tag}function gp(e,t){let n=new Set(t.flatMap(e=>mp(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 _p(e,t){return e.targets.filter(e=>e.environmentId===t)}function vp(e,t,n){let r=new Set(n.map(hp)),i=_p(e,t).filter(e=>!r.has(hp(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{...gp(e,i),targets:[...o.slice(0,s),...n,...o.slice(s)]}}function yp(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 bp(e,t){let n=vp(e,t,[]);return{...n,remoteDpopTokens:pp(n.remoteDpopTokens,e=>e.environmentId,t),disabledEnvironmentIds:pp(n.disabledEnvironmentIds,e=>e,t),...n.githubRoutingPermissions===void 0?{}:{githubRoutingPermissions:n.githubRoutingPermissions.filter(e=>e.environmentId!==t)}}}function xp(e,t,n){let r=e.targets.some(e=>e.environmentId===t),i=pp(e.disabledEnvironmentIds,e=>e,t);return{...e,disabledEnvironmentIds:r&&!n?[...i,t]:i}}function Sp(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 Cp=/^[^-+]+-(?:nightly|preview)\.\d{8}\.\d+$/;function wp(e){return e.stageLabel.trim().toLowerCase()===`latest`?e.baseName:`${e.baseName} (${e.stageLabel})`}function Tp(e){return e.primaryServerVersion&&Cp.test(e.primaryServerVersion)?`Nightly`:e.fallbackStageLabel}function Ep(e){let t=Tp({primaryServerVersion:e.primaryServerVersion,fallbackStageLabel:e.fallbackStageLabel});return t===e.fallbackStageLabel?e.fallbackDisplayName:wp({baseName:e.baseName,stageLabel:t})}function Dp(){return typeof window>`u`?null:window.desktopBridge?.getAppBranding?.()??null}var Op=Dp(),kp=``,Ap=kp===`latest`||kp===`nightly`?kp:null,jp=Ap===`nightly`?`Nightly`:Ap===`latest`?`Latest`:null,Mp=Op?.baseName??`P4 Code`,Np=Op?.stageLabel??jp??`Latest`,Pp=Op?.displayName??wp({baseName:Mp,stageLabel:Np}),Fp=`0.8.20`,Ip=`state`,Lp=`challenge`,Rp=`port`,zp=`/callback`,Bp=`https://app.p4.codes`,Vp=[`openid`,`profile`,`email`,`offline_access`];function Hp(e){let t=Ec(e),n=t.get(Ip)?.trim()??``,r=t.get(Lp)?.trim()??``,i=Up(t.get(Rp)?.trim()??``);return!n||!r||i===null?null:{state:n,challenge:r,loopbackPort:i}}function Up(e){if(!/^\d{1,5}$/.test(e))return null;let t=Number(e);return t>=1&&t<=65535?t:null}function Wp(e){return`http://127.0.0.1:${e}${zp}`}function Gp(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 Kp(){return Bp}function qp(){return``}function Jp(){return null}function Yp(e){try{return new URL(e).origin}catch{return null}}function Xp(e){if(qp())return!1;if(Jp())return!0;if(e===void 0&&(typeof window>`u`||window.location===void 0))return!1;let t=Yp(Kp());return t!==null&&(e??new URL(window.location.href)).origin===t}function Zp(e=new URL(window.location.href)){let t=e.searchParams.get(`host`)?.trim()??``,n=Ic(e)?.trim()??``,r=e.searchParams.get(`label`)?.trim()??``;return!t||!n?null:{host:t,token:n,label:r}}function Qp(e=new URL(window.location.href)){return Zp(e)!==null}function $p(e){let t=new URL(`/pair`,Kp());t.searchParams.set(`host`,e.host);let n=e.label?.trim();return n&&t.searchParams.set(`label`,n),Rc(t,e.token).toString()}function em(e){let t=new URL(`/__t3code/channel`,Kp());return t.searchParams.set(`channel`,e.channel),t.toString()}var tm=15e3,nm=12e4,rm=tm,im=new Map,am=new Set([E.serverGetUsageSummary,E.mcpRegistryProviderSignInWait]),om=new Set([E.serverUpdateProvider,E.serverRefreshProviders,E.serverUpdateServer]),sm=r([]).pipe($e,z(`slow-rpc-ack-requests`));function cm(e){pe.set(sm,[...e])}function lm(){return pe.get(sm)}function um(e){return!e.includes(`subscribe`)&&!e.startsWith(`pullRequests.`)&&!am.has(e)}function dm(e){return om.has(e)?Math.max(rm,nm):rm}function fm(e,t,n=t){if(!um(t))return;mm(e),gm();let r=Date.now(),i=dm(t),a={requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:n,thresholdMs:i},o=setTimeout(()=>{im.delete(e),hm(a)},i);im.set(e,{request:a,timeoutId:o})}function pm(e){mm(e);let t=lm();t.some(t=>t.requestId===e)&&cm(t.filter(t=>t.requestId!==e))}function mm(e){let t=im.get(e);t&&(clearTimeout(t.timeoutId),im.delete(e))}function hm(e){let t=[...lm(),e];if(t.length<=256){cm(t);return}cm(t.slice(-256))}function gm(){for(;im.size>=256;){let e=im.keys().next().value;if(e===void 0)return;mm(e)}}function _m(){return It(sm)}var vm=`local:`;function ym(e){return`${vm}${e}`}function bm(e){return e._tag===`BearerConnectionTarget`&&e.connectionId.startsWith(vm)}function xm(e){return bm(e)?e.connectionId.slice(6):null}function Sm(e){return xm(e)?.startsWith(`wsl:`)===!0}function Cm(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!==Ue);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 wm=Cm(()=>window.desktopBridge);function Tm(){return wm.readResult()}function Em(){return wm.readSnapshot()}var Dm={"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 Om(e,t){let n=Dm[t??``];return n?`file.${n}`:e}function km(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=Im(r);if(e?.startsWith(`image/`))return`image`;if(e?.startsWith(`video/`))return`video`;if(Fm(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 Am=1048576;function jm(e,t=!1){let n=e.subarray(0,Am);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 Mm=[`.avif`,`.gif`,`.ico`,`.jpeg`,`.jpg`,`.png`,`.svg`,`.webp`],Nm=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`]]),Pm=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 Fm(e){return/^\.[a-z0-9]+$/i.test(e)?Pm.get(e.toLowerCase())??null:null}function Im(e){return/^\.[a-z0-9]+$/i.test(e)?Nm.get(e.toLowerCase())??Rn({name:`media${e}`,mimeType:``}):null}function Lm(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:Im(a.slice(o))}function Rm(e){let t=Lm(e);return t===null?null:t.startsWith(`video/`)?`video`:`image`}function zm(e,t){let n=e.toLowerCase();return t.some(e=>n.endsWith(e))}function Bm(e){return zm(e,Mm)}function Vm(e){return Rn({name:e,mimeType:``})!==null}function Hm(e){let t=e.lastIndexOf(`.`);return t>=0&&Fm(e.slice(t))!==null}var Um=`project-favicon-missing`;[...Mm];function Wm(e,t,n){return JSON.stringify([e,t,n||null])}function Gm(e,t,n){let r=n;try{let e=new URL(n,`https://t3.invalid`).pathname;r=e.slice(e.lastIndexOf(`/`)+1)}catch{}return JSON.stringify([e,t,r])}function Km(e){if(!e)return!1;try{let t=new URL(e,`https://t3.invalid`).pathname;return t.slice(t.lastIndexOf(`/`)+1)===Um}catch{return!1}}var qm=32768,Jm=4194304,Ym=w.check(Cr(qm),Kn(/^data:image\/(?:png|jpeg|gif|webp|avif|svg\+xml|x-icon|vnd\.microsoft\.icon);base64,[A-Za-z0-9+/]+={0,2}$/)),Xm=ot({environmentId:Pr,cwd:w,faviconPath:Fe(w),revision:w,dataUrl:Ym}),Zm=a(Xm),Qm=Nn(Ym);function $m(e){return Wm(e.environmentId,e.cwd,e.faviconPath)}async function eh(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 th(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:Lm(n);if(!o)throw Error(`Project icon has no image type.`);let s=await eh(i,Jm);r.throwIfAborted();let c=`data:${o};base64,${he(s)}`;if(Qm(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 nh(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=Zm(n);T(e)&&t.set($m(e.value),e.value)}l()}catch{}})(),d=e=>t.get($m(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=$m(i);if(Km(o))return c(h),null;let g=Gm(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(Qm(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 rh=`t3code:project-favicons`,ih=2,ah=`images`,oh;function sh(){return oh??=new Promise((e,t)=>{let n=indexedDB.open(rh,ih);n.addEventListener(`upgradeneeded`,()=>{for(let e of n.result.objectStoreNames)e!==ah&&n.result.deleteObjectStore(e);n.result.objectStoreNames.contains(ah)||n.result.createObjectStore(ah)}),n.addEventListener(`success`,()=>e(n.result)),n.addEventListener(`error`,()=>t(n.error)),n.addEventListener(`blocked`,()=>t(Error(`Project icon cache is blocked.`)))})}function ch(e){return new Promise((t,n)=>{e.addEventListener(`complete`,()=>t()),e.addEventListener(`abort`,()=>n(e.error)),e.addEventListener(`error`,()=>n(e.error))})}async function lh(e,t){let n=(await sh()).transaction(ah,e),r=t(n.objectStore(ah));return await ch(n),r?.result}async function uh(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 dh=nh({storage:{list:async()=>await lh(`readonly`,e=>e.getAll())??[],put:async(e,t)=>{await lh(`readwrite`,n=>n.put(t,e))},remove:async e=>{await lh(`readwrite`,t=>t.delete(e))}},load:th({downscale:uh})}),fh=`t3code:connection-runtime`,ph=4,mh=`catalog`,hh=`shell`,gh=`thread`,_h=`server-config`,vh=`vcs-refs`,yh=`document`,bh=vr(op),xh=vr(sp),Sh=ot({schemaVersion:re(1),environmentId:Pr,config:kn}),Ch=vr(Sh),wh=ot({schemaVersion:re(1),environmentId:Pr,cwd:w,refs:lr}),Th=vr(wh),Eh=vr(up),Dh=et(Eh),Oh=Or(Eh),kh=et(bh),Ah=Or(bh),jh=et(xh),Mh=Or(xh),Nh=et(Ch),Ph=Or(Ch),Fh=et(Th),Ih=Or(Th);function Q(e,t){return new Ai({reason:`remote-unavailable`,detail:`Could not ${e} the local connection catalog: ${String(t)}`})}function $(e,t){return new Ri({operation:e,message:`Could not ${e.replaceAll(`-`,` `)}: ${String(t)}`})}var Lh=P(`web.connectionStorage.openDatabase`)(function*(){return yield*Er(e=>{if(typeof indexedDB>`u`){e(v(Q(`open`,`IndexedDB is unavailable in this browser context.`)));return}try{let t=indexedDB.open(fh,ph);t.addEventListener(`upgradeneeded`,()=>{t.result.objectStoreNames.contains(mh)||t.result.createObjectStore(mh),t.result.objectStoreNames.contains(hh)||t.result.createObjectStore(hh),t.result.objectStoreNames.contains(gh)||t.result.createObjectStore(gh),t.result.objectStoreNames.contains(_h)||t.result.createObjectStore(_h),t.result.objectStoreNames.contains(vh)||t.result.createObjectStore(vh)}),t.addEventListener(`error`,()=>{e(v(Q(`open`,t.error??`Unknown IndexedDB error`)))}),t.addEventListener(`success`,()=>{e(H(t.result))})}catch(t){e(v(Q(`open`,t)))}})}),Rh=P(`web.connectionStorage.makeDatabaseHandle`)(function*(){let e=yield*Ne(1),t=null,n=e=>{t===e&&(t=null)},r=xt(()=>t===null?e.withPermits(1)(j(function*(){if(t!==null)return t;let e=yield*Lh();return t=e,e.addEventListener(`close`,()=>n(e)),e.addEventListener(`versionchange`,()=>{n(e),e.close()}),e})):H(t)),i=e.withPermits(1)(S(()=>{t?.close(),t=null}));return{handle:{get:r,invalidate:e=>S(()=>n(e))},close:i}});function zh(e,t){let n=Symbol(`closedConnection`);return O(e.get,r=>t(r).pipe(pn(e=>e.detail.includes(`InvalidStateError`),t=>e.invalidate(r).pipe(gn(v({[n]:t})))))).pipe(pn(e=>n in e,()=>O(e.get,t)))}function Bh(e,t,n){return Er(r=>{try{let i=e.transaction(t,`readonly`).objectStore(t).get(n);i.addEventListener(`error`,()=>{r(v(Q(`read`,i.error??`Unknown IndexedDB read error`)))}),i.addEventListener(`success`,()=>{r(H(i.result))})}catch(e){r(v(Q(`read`,e)))}}).pipe(Wt(`web.connectionStorage.readDatabaseValue`))}function Vh(e,t,n,r){return Er(i=>{try{let a=e.transaction(t,`readwrite`);a.addEventListener(`abort`,()=>{i(v(Q(`write`,a.error??`Unknown IndexedDB write error`)))}),a.addEventListener(`complete`,()=>{i(B)}),a.objectStore(t).put(r,n)}catch(e){i(v(Q(`write`,e)))}}).pipe(Wt(`web.connectionStorage.writeDatabaseValue`))}function Hh(e,t,n){return Er(r=>{try{let i=e.transaction(t,`readwrite`);i.addEventListener(`abort`,()=>{r(v(Q(`remove`,i.error??`Unknown IndexedDB remove error`)))}),i.addEventListener(`complete`,()=>{r(B)}),i.objectStore(t).delete(n)}catch(e){r(v(Q(`remove`,e)))}}).pipe(Wt(`web.connectionStorage.removeDatabaseValue`))}function Uh(e,t,n){return Er(r=>{try{let i=e.transaction(t,`readwrite`);i.addEventListener(`abort`,()=>{r(v(Q(`remove`,i.error??`Unknown IndexedDB cursor error`)))}),i.addEventListener(`complete`,()=>{r(B)});let a=i.objectStore(t).openCursor(n);a.addEventListener(`error`,()=>{r(v(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(v(Q(`remove`,e)))}})}catch(e){r(v(Q(`remove`,e)))}}).pipe(Wt(`web.connectionStorage.removeDatabaseValuesInRange`))}function Wh(e,t,n){return zh(e,e=>Bh(e,t,n))}function Gh(e,t,n,r){return zh(e,e=>Vh(e,t,n,r))}function Kh(e,t,n){return zh(e,e=>Hh(e,t,n))}function qh(e,t,n){return zh(e,e=>Uh(e,t,n))}function Jh(e,t){return`${e}:${t}`}function Yh(e,t){return`${e}:${t}`}var Xh=P(`web.connectionStorage.decodeCatalog`)(function*(e){return yield*Dh(e).pipe(V(e=>Q(`decode`,e)))}),Zh=P(`web.connectionStorage.encodeCatalog`)(function*(e){return yield*Oh(e).pipe(V(e=>Q(`encode`,e)))});function Qh(e){let t=window.desktopBridge;return t?.getConnectionCatalog!==void 0&&t.setConnectionCatalog!==void 0?{read:Pt({try:()=>t.getConnectionCatalog(),catch:e=>Q(`load`,e)}),write:e=>Pt({try:()=>t.setConnectionCatalog(e),catch:e=>Q(`save`,e)}).pipe(O(e=>e?B:v(Q(`save`,`Desktop secure storage is unavailable in this system context.`))))}:{read:Wh(e,mh,yh).pipe(i(e=>typeof e==`string`?e:null)),write:t=>Gh(e,mh,yh,t),quarantine:t=>Gh(e,mh,`${yh}:corrupt:${Date.now()}`,t)}}var $h=P(`web.connectionStorage.makeCatalogStore`)(function*(e){let t=yield*Li(f()),n=yield*Ne(1),r=P(`web.connectionStorage.loadCatalog`)(function*(){let n=yield*q(t);if(T(n))return n.value;let r=yield*e.read,i=dp;return r!==null&&r.trim()!==``&&(i=yield*Xh(r).pipe(I(t=>j(function*(){yield*N(`Discarding a corrupt web connection catalog.`,{error:t.message}),e.quarantine!==void 0&&(yield*e.quarantine(r).pipe(I(e=>N(`Could not quarantine the corrupt web connection catalog.`,{error:e.message}))));let n=yield*Zh(dp);return yield*e.write(n).pipe(I(e=>N(`Could not persist the recovered web connection catalog.`,{error:e.message}))),dp})))),yield*W(t,A(i)),i});return{read:n.withPermits(1)(r()),update:P(`web.connectionStorage.updateCatalog`)(function*(i){yield*n.withPermits(1)(j(function*(){let n=i(yield*r());yield*e.write(yield*Zh(n)),yield*W(t,A(n))}))})}}),eg=`t3code:github-routing:`,tg=`t3code:github-routing-changed`,ng=Nn(Fi),rg=$n(vr(Fi));function ig(e=window){let t=t=>{try{let n=e.localStorage.getItem(t),r=n===null?null:JSON.parse(n);return ng(r)&&t===`${eg}${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(eg)){let e=t(i);e!==null&&n.push(e)}}return n}catch{return[]}},r=(t,n)=>Mt({try:()=>{let r=`${eg}${t}`;n===null?e.localStorage.removeItem(r):e.localStorage.setItem(r,rg(n)),e.dispatchEvent(new Event(tg))},catch:e=>Q(`save GitHub routing permissions in`,e)});return $r.of({get:e=>S(()=>{let n=t(`${eg}${e.target.environmentId}`);return Mi(e,n===null?[]:[n])}),changes:_t(t=>Nt(S(()=>{let r=e=>{if(e.type===`storage`){let t=e.key;if(t!==null&&!t?.startsWith(eg))return}m(t,n())};return e.addEventListener(`storage`,r),e.addEventListener(tg,r),m(t,n()),r}),t=>S(()=>{e.removeEventListener(`storage`,t),e.removeEventListener(tg,t)})).pipe(Jt)),set:(e,t)=>{let n=di(e);return n===null?v(new Fa({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 ag=Ve(j(function*(){let{handle:e}=yield*Nt(Rh(),e=>e.close),t=yield*$h(Qh(e)),r=ig(),a=_i.of({list:t.read.pipe(i(e=>e.targets),V(e=>$(`list-targets`,e))),listDisabled:t.read.pipe(i(e=>e.disabledEnvironmentIds),V(e=>$(`list-disabled-targets`,e)))}),o=li.of({register:(e,n)=>t.update(t=>yp(t,e,n)).pipe(V(e=>$(`register-connection`,e))),setRoutes:(e,n)=>t.update(t=>vp(t,e,n)).pipe(V(e=>$(`set-connection-routes`,e))),remove:e=>t.update(t=>bp(t,e)).pipe(V(e=>$(`remove-connection`,e))),setEnabled:(e,n)=>t.update(t=>xp(t,e,n)).pipe(V(e=>$(`set-connection-enabled`,e)))}),s=Wi({get:e=>t.read.pipe(i(t=>In(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:pp(t.profiles,e=>e.connectionId,e)}))}),c=Yr({get:e=>t.read.pipe(i(t=>In(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:pp(t.credentials,e=>e.connectionId,e)}))}),l=ya({get:e=>t.read.pipe(i(t=>In(t.remoteDpopTokens.find(t=>t.environmentId===e)))),put:e=>t.update(t=>Sp(t,e)),remove:e=>t.update(t=>({...t,remoteDpopTokens:pp(t.remoteDpopTokens,e=>e.environmentId,e)}))}),u=Sa.of({loadShell:t=>Wh(e,hh,t).pipe(ht(()=>_n(()=>dh.hydrate())),O(n=>typeof n==`string`?cp(kh(n).pipe(V(e=>$(`load-shell`,e)),i(e=>e.environmentId===t?A(e.snapshot):f())),Kh(e,hh,t)):d),V(e=>$(`load-shell`,e))),saveShell:(t,n)=>j(function*(){let r=yield*Ah({schemaVersion:3,environmentId:t,snapshot:n}).pipe(V(e=>$(`save-shell`,e)));yield*Gh(e,hh,t,r)}).pipe(V(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-shell`,e))),loadServerConfig:t=>Wh(e,_h,t).pipe(O(e=>typeof e==`string`?Nh(e).pipe(V(e=>$(`load-server-config`,e)),i(e=>e.environmentId===t?A(e.config):f())):d),V(e=>e._tag===`ConnectionPersistenceError`?e:$(`load-server-config`,e))),saveServerConfig:(t,n)=>j(function*(){let r=yield*Ph({schemaVersion:1,environmentId:t,config:n}).pipe(V(e=>$(`save-server-config`,e)));yield*Gh(e,_h,t,r)}).pipe(V(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-server-config`,e))),loadThread:(t,n)=>Wh(e,gh,Jh(t,n)).pipe(O(r=>typeof r==`string`?cp(jh(r).pipe(V(e=>$(`load-thread`,e)),i(e=>e.environmentId===t&&e.threadId===n?A(e.snapshot):f())),Kh(e,gh,Jh(t,n))):d),V(e=>$(`load-thread`,e))),saveThread:(t,n)=>j(function*(){let r=yield*Mh({schemaVersion:4,environmentId:t,threadId:n.projection.thread.id,snapshot:n}).pipe(V(e=>$(`save-thread`,e)));yield*Gh(e,gh,Jh(t,n.projection.thread.id),r)}).pipe(V(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-thread`,e))),loadVcsRefs:(t,n)=>Wh(e,vh,Yh(t,n)).pipe(O(e=>typeof e==`string`?Fh(e).pipe(V(e=>$(`load-vcs-refs`,e)),i(e=>e.environmentId===t&&e.cwd===n?A(e.refs):f())):d),V(e=>e._tag===`ConnectionPersistenceError`?e:$(`load-vcs-refs`,e))),saveVcsRefs:(t,n,r)=>j(function*(){let i=yield*Ih({schemaVersion:1,environmentId:t,cwd:n,refs:r}).pipe(V(e=>$(`save-vcs-refs`,e)));yield*Gh(e,vh,Yh(t,n),i)}).pipe(V(e=>e._tag===`ConnectionPersistenceError`?e:$(`save-vcs-refs`,e))),removeVcsRefs:(t,n)=>Kh(e,vh,Yh(t,n)).pipe(V(e=>$(`remove-vcs-refs`,e))),clearVcsRefs:t=>qh(e,vh,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)).pipe(V(e=>$(`clear-vcs-refs`,e))),removeThread:(t,n)=>Kh(e,gh,Jh(t,n)).pipe(V(e=>$(`remove-thread`,e))),clear:t=>n([_n(()=>dh.clearEnvironment(t)),Kh(e,hh,t),qh(e,gh,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)),Kh(e,_h,t),qh(e,vh,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`))],{concurrency:`unbounded`,discard:!0}).pipe(V(e=>$(`clear-environment`,e)))});return Gn(_i,a).pipe(Mn($r,r),Mn(li,o),Mn(Bi,s),Mn(wi,c),Mn(ea,l),Mn(Sa,u))}));function og(e){switch(e){case`darwin`:return`macOS`;case`win32`:return`Windows`;case`linux`:return`Linux`;default:return e?`other`:`unknown`}}function sg(e){return/macintosh/i.test(e.userAgent)&&/mac/i.test(e.platform)&&e.maxTouchPoints>1}function cg(e){let t=e.userAgent;return t.trim()===``?`unknown`:/iphone|ipad|ipod/i.test(t)||sg(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 lg(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 ug(e){let t=e.userAgent;return t.trim()===``?`unknown`:/ipad|tablet|kindle|silk/i.test(t)||/android/i.test(t)&&!/mobile/i.test(t)||sg(e)?`tablet`:/iphone|ipod|android.+mobile|mobile/i.test(t)?`mobile`:`desktop`}function dg(e){return e.desktopBridge===void 0?{label:`P4 Code Web`,deviceType:ug(e.identity),os:cg(e.identity),surface:`web`,webDeployment:e.hosted?`hosted`:`server`,browser:lg(e.identity.userAgent),...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}:{label:`P4 Code Desktop`,deviceType:`desktop`,os:og(e.desktopBridge.getClientPlatform?.()),surface:`desktop`,...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}}var fg=0;function pg(){return typeof navigator>`u`?`unknown`:navigator.onLine?`online`:`offline`}var mg=Hi({status:S(pg),changes:_t(e=>Nt(S(()=>{let t=()=>m(e,`online`),n=()=>m(e,`offline`);return window.addEventListener(`online`,t),window.addEventListener(`offline`,n),{online:t,offline:n}}),({online:e,offline:t})=>S(()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,t)})).pipe(Jt))}),hg=_t(e=>Nt(S(()=>{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,m(e,`network-changed`))};return t.addEventListener(`change`,r),{connection:t,listener:r}}),e=>S(()=>e?.connection.removeEventListener(`change`,e.listener))).pipe(Jt)),gg=aa({changes:bn([_t(e=>Nt(S(()=>{let t=()=>{document.visibilityState===`visible`&&m(e,`application-active`)};return document.addEventListener(`visibilitychange`,t),t}),e=>S(()=>{document.removeEventListener(`visibilitychange`,e)})).pipe(Jt)),va(pe).pipe(an(()=>`credentials-changed`)),hg],{concurrency:`unbounded`})});function _g(){return dg({appVersion:Fp,hosted:Xp(),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 Fa({reason:`authentication`,detail:t}):new Ai({reason:`remote-unavailable`,detail:`Could not prepare the SSH environment: ${t}`})}var yg=P(`web.connectionPlatform.ssh.provisionDesktop`)(function*(e,t,n){let r=yield*Pt({try:()=>e.ensureSshEnvironment(t,{issuePairingToken:!0}),catch:vg}),i=r.pairingToken;if(i===null)return yield*new Fa({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`});let a=yield*Pt({try:()=>e.fetchSshEnvironmentDescriptor(r.httpBaseUrl),catch:vg});if(n!==void 0&&a.environmentId!==n)return yield*new Fa({reason:`configuration`,detail:`That host reaches ${a.label}, a different machine. Add it as its own environment instead.`});let o=yield*Pt({try:()=>e.bootstrapSshBearerSession(r.httpBaseUrl,i),catch:vg});return{environmentId:a.environmentId,label:a.label,bootstrap:r,bearerToken:o.access_token}}),bg=Ve(S(()=>{let e=na.of({metadata:_g()}),t=Gi.of({identity:S(()=>o(pe.get(pa))),clerkToken:j(function*(){let e=pe.get(pa);if(e===null)return yield*new Fa({reason:`authentication`,detail:`Sign in to P4 Connect to connect this environment.`});let t=yield*e.readClerkToken().pipe(V(e=>new Ai({reason:`network`,detail:e.message})));return t===null?yield*new Fa({reason:`authentication`,detail:`The P4 Connect session is unavailable.`}):t})}),n=Ba.of({deviceId:d}),r=Ma.of({bearerToken:Pt({try:za,catch:e=>new Ai({reason:`remote-unavailable`,detail:`Could not load the desktop primary credential: ${String(e)}`})}).pipe(i(o))}),a=Ji.of({provision:P(`web.connectionPlatform.ssh.provision`)(function*(e,t){let n=window.desktopBridge;return n===void 0?yield*new Fa({reason:`unsupported`,detail:`SSH environments are only available in the desktop app.`}):yield*yg(n,e,t)}),prepare:P(`web.connectionPlatform.ssh.prepare`)(function*(e){let t=window.desktopBridge;if(t===void 0)return yield*new Fa({reason:`unsupported`,detail:`SSH environments are only available in the desktop app.`});let n=yield*Pt({try:()=>t.ensureSshEnvironment(e.target,{issuePairingToken:!0}),catch:vg});return n.pairingToken===null?yield*new Fa({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`}):{bootstrap:n,bearerToken:(yield*Pt({try:()=>t.bootstrapSshBearerSession(n.httpBaseUrl,n.pairingToken),catch:vg})).access_token}}),disconnect:P(`web.connectionPlatform.ssh.disconnect`)(function*(e){let t=window.desktopBridge;t!==void 0&&(yield*Pt({try:()=>t.disconnectSshEnvironment(e),catch:e=>new Ai({reason:`remote-unavailable`,detail:`Could not disconnect the SSH environment: ${String(e)}`})}))})});return Gn(Gi,t).pipe(Mn(Ma,r),Mn(Ba,n),Mn(na,e),Mn(Ji,a))})),xg=P(`web.connectionPlatform.loadPrimaryConnectionRegistration`)(function*(e){let t=yield*Lt({httpBaseUrl:e.target.httpBaseUrl}).pipe(sr(ja),V(La));return new qi({target:new ri({environmentId:t.environmentId,label:t.label,httpBaseUrl:e.target.httpBaseUrl,wsBaseUrl:e.target.wsBaseUrl})})}),Sg=P(`web.connectionPlatform.loadSecondaryConnectionRegistration`)(function*(e){if(e.httpBaseUrl===null||e.wsBaseUrl===null||e.bootstrapToken===void 0)return yield*new Ai({reason:`endpoint-unavailable`,detail:`Desktop-local backend ${e.id} is not ready yet.`});let t=e.httpBaseUrl,n=e.wsBaseUrl,r=yield*Lt({httpBaseUrl:t}).pipe(V(La)),i=yield*g,a=yield*xi({httpBaseUrl:t,credential:e.bootstrapToken,scopes:mt,clientMetadata:_g()}).pipe(V(La)),o=ym(e.id),s=e.label||r.label;return{registration:new ha({target:new ei({environmentId:r.environmentId,label:s,connectionId:o}),profile:new Da({connectionId:o,environmentId:r.environmentId,label:s,httpBaseUrl:t,wsBaseUrl:n}),credential:new $i({token:a.access_token})}),expiresAtEpochMs:Tg(i,a.expires_in),refreshAtEpochMs:Eg(i,a.expires_in)}}),Cg=`3 seconds`,wg=5e3;function Tg(e,t){return e+Math.max(0,t*1e3)}function Eg(e,t){return Math.max(e,Tg(e,t)-wg)}function Dg(e=Di){try{return{_tag:`Success`,target:e()}}catch(e){return{_tag:`Failure`,cause:e}}}function Og(e,t){return t._tag===`Failure`?e.get(Ue):void 0}function kg(e,t,n){return e.signature===t&&(e.refreshAtEpochMs===void 0||n<e.refreshAtEpochMs)}function Ag(e,t,n){return e.signature===t&&e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs}var jg=6e4,Mg=18e5;function Ng(e,t,n){return e!==void 0&&e.signature===t&&n<e.retryAtEpochMs}function Pg(e,t,n){let r=e?.signature===t?Math.min(e.delayMs*2,Mg):jg;return{signature:t,retryAtEpochMs:n+r,delayMs:r}}function Fg(e){return e._tag===`ConnectionBlockedError`&&e.reason===`authentication`}function Ig(e,t,n){return t._tag===`Success`?new Map:new Map([...e].filter(([,e])=>e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs))}var Lg=ee(tl,j(function*(){if(Xp()||Pa())return tl.of({registrations:Ze});let e=yield*Li(new Map),t=yield*Li(new Map),n=j(function*(){let n=yield*q(e),r=yield*g,a=new Map,o=[],s=Dg(),c=Og(n,s);if(c!==void 0&&(a.set(Ue,c),o.push(c.registration)),s._tag===`Failure`)yield*N(`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}`,i=n.get(Ue);if(i!==void 0&&kg(i,t,r))a.set(Ue,i),o.push(i.registration);else{let n=yield*xg(e).pipe(de(e=>N(`Could not discover the primary environment.`,{error:e})),Wn);if(T(n)){let e={signature:t,registration:n.value};a.set(Ue,e),o.push(n.value)}}}let l=Tm();for(let[e,t]of Ig(n,l,r))a.set(e,t),o.push(t.registration);if(l._tag===`Failure`)yield*N(`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&&kg(u,c,r)){a.set(t.id,u),o.push(u.registration);continue}let d=e.get(t.id);if(Ng(d,l,r)){s.set(t.id,d),u!==void 0&&Ag(u,c,r)&&(a.set(t.id,u),o.push(u.registration));continue}let f=yield*Sg(t).pipe(de(e=>N(`Could not connect a desktop-local backend.`,{id:t.id,error:e})),de(e=>Fg(e)?g.pipe(i(e=>s.set(t.id,Pg(d,l,e)))):B),Wn);if(T(f)){let e={signature:c,...t.bootstrapToken===void 0?{}:{bootstrapToken:t.bootstrapToken},...f.value};a.set(t.id,e),o.push(f.value.registration)}else u!==void 0&&Ag(u,c,r)&&(a.set(t.id,u),o.push(u.registration))}yield*W(t,s)}return yield*W(e,a),o}).pipe(sr(rr));return tl.of({registrations:We(Cg).pipe(Nr(()=>n))})})),Rg=oe(mi,mi.of({clear:e=>S(()=>{En(e)})})),zg=oe(ci,ci.of({observe:({environmentId:e,method:t})=>S(()=>{fg+=1;let n=`${e}:${fg}`;return fm(n,t,`${t} · ${e}`),S(()=>{pm(n)})})})),Bg=Ae(ag,mg,gg,bg,Lg,Rg,zg).pipe(Ie(Ea)),Vg=Ae(dd,iu,Uu,Mf).pipe(Ke(rl({environmentThemes:!0,usageLimitSources:!0,usageLimitsCommand:!0})),Ke(Ae(Ea,Bg,ip))),Hg=ap.pipe(Ke(Vg)),Ug=tr(Hg);export{Ed as $,yo as $t,Wp as A,mc as At,Rf as B,Ys as Bt,Kp as C,$a as Cn,sl as Ct,Vp as D,Lc as Dt,Zp as E,oo as En,Rc as Et,Fp as F,oc as Ft,Wd as G,Bs as Gt,zf as H,Ks as Ht,Ap as I,ic as It,Fd as J,Zo as Jt,Gd as K,Ws as Kt,jp as L,Qs as Lt,Mp as M,lc as Mt,Pp as N,sc as Nt,Bp as O,xc as Ot,Np as P,ac as Pt,Dd as Q,bo as Qt,Ep as R,Zs as Rt,$p as S,eo as Sn,cl as St,Xp as T,io as Tn,Ic as Tt,Bf as U,qs as Ut,Vf as V,Xs as Vt,nf as W,Gs as Wt,jd as X,Fo as Xt,Md as Y,Xo as Yt,Od as Z,Uo as Zt,bm as _,Xa as _n,Ol as _t,Km as a,Ao as an,_d as at,_m as b,qa as bn,al as bt,Om as c,vo as cn,od as ct,Bm as d,po as dn,$u as dt,Do as en,Sd as et,Vm as f,go as fn,Su as ft,xm as g,so as gn,Bl as gt,Im as h,ao as hn,Wl as ht,Wm as i,xo as in,md as it,Hp as j,yc as jt,Gp as k,gc as kt,km as l,ho as ln,rd as lt,Lm as m,lo as mn,pu as mt,dh as n,Oo as nn,gd as nt,Am as o,jo as on,pd as ot,Rm as p,uo as pn,Cu as pt,Ud as q,Yo as qt,Gm as r,So as rn,hd as rt,jm as s,Co as sn,cd as st,Ug as t,ko as tn,wd as tt,Hm as u,_o as un,Ku as ut,Sm as v,Ja as vn,ml as vt,Qp as w,co as wn,Vc as wt,em as x,no as xn,ol as xt,Em as y,Ya as yn,ul as yt,Tp as z,Js as zt};
|
|
2
|
+
//# sourceMappingURL=runtime-DTzyj6T4.js.map
|