@p4code/cli 0.8.3 → 0.8.4
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/{AcpMcpStdioBridge-D_JnxPWS.mjs → AcpMcpStdioBridge-CD9BQr2l.mjs} +1 -1
- package/dist/{AcpMcpStdioBridge-DBONIB-w.mjs → AcpMcpStdioBridge-DHwGLtep.mjs} +61 -4
- package/dist/bin.mjs +2 -2
- package/dist/{binCli-DouSNynJ.mjs → binCli-Bgjc_5FL.mjs} +406 -247
- package/dist/client/.vite/manifest.json +2125 -2102
- package/dist/client/assets/{AnimatedHeight-DoG4b7y8.js → AnimatedHeight-DYUgtGfz.js} +2 -2
- package/dist/client/assets/{AuthSurfaceShell-DbeJoeXz.js → AuthSurfaceShell-CfLnzrCc.js} +2 -2
- package/dist/client/assets/{CSPContext-DkFc4cYo.js → CSPContext-i9QaQnwk.js} +2 -2
- package/dist/client/assets/ChatGptUsageButton-BWTEbaUC.js +2 -0
- package/dist/client/assets/ChatMarkdown-C6UsXjP9.js +65 -0
- package/dist/client/assets/CodexSetupSection.logic-VTayPks4.js +2 -0
- package/dist/client/assets/{ComboboxClear-ZQvkAjz8.js → ComboboxClear-B-iYnTX_.js} +2 -2
- package/dist/client/assets/{CommandBlock-c98wFxMU.js → CommandBlock-dh2vBT70.js} +2 -2
- package/dist/client/assets/{ComposerPromptEditor-CBuOXkT9.js → ComposerPromptEditor-fIqs_--j.js} +12 -12
- package/dist/client/assets/{CompositeRoot-BMUI_bmJ.js → CompositeRoot-JeAqW-33.js} +2 -2
- package/dist/client/assets/{ConnectionStatusDot-B69zfKRh.js → ConnectionStatusDot-BCSqqCpf.js} +2 -2
- package/dist/client/assets/{DevicePanel-1xw7KQ15.js → DevicePanel-BckpiUTa.js} +2 -2
- package/dist/client/assets/{DeviceSetup-DemgUuG-.js → DeviceSetup-L8Q-0h1V.js} +2 -2
- package/dist/client/assets/{DialogTitle-BXot7RA0.js → DialogTitle-BRYusK7T.js} +2 -2
- package/dist/client/assets/{DiffCommentAnnotation-vAZP7JBy.js → DiffCommentAnnotation-DxxGd0sM.js} +3 -3
- package/dist/client/assets/{DiffFileTree-BhqF8nD5.js → DiffFileTree-C2N3dwbB.js} +2 -2
- package/dist/client/assets/DiffPanel-0HWHkPjD.js +2 -0
- package/dist/client/assets/{DiffWorkerPoolProvider-D4VIo5Vu.js → DiffWorkerPoolProvider-Dd8cIhyy.js} +3 -3
- package/dist/client/assets/{EnvironmentMachineIcon-DPQkDtvr.js → EnvironmentMachineIcon-giyHKjbh.js} +2 -2
- package/dist/client/assets/{ExpandableText-EZ9C25tN.js → ExpandableText-dJhpznMp.js} +3 -3
- package/dist/client/assets/{FieldControl-C4IsJLMZ.js → FieldControl-CxuWXcJE.js} +2 -2
- package/dist/client/assets/{FileDiff-H9QHqXa0.js → FileDiff-EWd5oWlS.js} +2 -2
- package/dist/client/assets/{FilePreviewPanel-DGm_SU_e.js → FilePreviewPanel-D3kud1xs.js} +4 -4
- package/dist/client/assets/{FoldedSettingsSection-BSYFyChk.js → FoldedSettingsSection-CsN_jb3V.js} +2 -2
- package/dist/client/assets/{FormContext-DiXpMuU8.js → FormContext-Vk5aZcR6.js} +2 -2
- package/dist/client/assets/{Icons-DA4msgfR.js → Icons-DM1SzuL7.js} +2 -2
- package/dist/client/assets/{KeybindingsSettings.logic-7EBA0xLE.js → KeybindingsSettings.logic-BcJGxVhV.js} +2 -2
- package/dist/client/assets/{NoProjectsHero-YjEc2OIw.js → NoProjectsHero-DrkWMiG4.js} +2 -2
- package/dist/client/assets/{PanelLayoutControls-BfRIRM0o.js → PanelLayoutControls-DjmAXscr.js} +8 -8
- package/dist/client/assets/{PierreEntryIcon-BxxykifK.js → PierreEntryIcon-BJ8xtDqQ.js} +2 -2
- package/dist/client/assets/PreviewPanel-D_JLD7YP.js +2 -0
- package/dist/client/assets/ProjectDefaultsSettings-Bqo3T1SR.js +2 -0
- package/dist/client/assets/{ProjectFavicon-CiauSitF.js → ProjectFavicon-By6-kpgk.js} +3 -3
- package/dist/client/assets/{ProjectIconPickerDialog-GDqk2LEH.js → ProjectIconPickerDialog-Cx-QcJLy.js} +2 -2
- package/dist/client/assets/{ProjectMonogram-Bqe3OyZR.js → ProjectMonogram-BJVBhwjz.js} +2 -2
- package/dist/client/assets/{ProviderAuthTerminal-D_OC5vdS.js → ProviderAuthTerminal-DBiUwanv.js} +2 -2
- package/dist/client/assets/{ProviderModelPicker-Bfpy_Rw1.js → ProviderModelPicker-DV64N-fE.js} +2 -2
- package/dist/client/assets/{ProviderSettingsForm-BA6yGdRn.js → ProviderSettingsForm-Tkr5xKCJ.js} +2 -2
- package/dist/client/assets/{PullRequestCodeTab-BOM7mgfd.js → PullRequestCodeTab-DijqMjN0.js} +3 -3
- package/dist/client/assets/{ReadOnlySourcePreview-C3LnvSkA.js → ReadOnlySourcePreview-CydDaO9-.js} +2 -2
- package/dist/client/assets/{RenderErrorBoundary-C-EIIrrq.js → RenderErrorBoundary-D4M2khxk.js} +2 -2
- package/dist/client/assets/{ScheduledTasksSettings-DFtwNfb8.js → ScheduledTasksSettings-D_Z_3GVl.js} +4 -4
- package/dist/client/assets/ScopedSwitch-B8wdvttG.js +2 -0
- package/dist/client/assets/{SecretInput-Be5Akw8x.js → SecretInput-CNWNAhNe.js} +2 -2
- package/dist/client/assets/SettingsPanels-DAv_V_mk.js +39 -0
- package/dist/client/assets/{SettingsPanels.logic-CLB8Pu-U.js → SettingsPanels.logic-BYa5iHwl.js} +2 -2
- package/dist/client/assets/{SettingsScopeNotice-CVoWG1oN.js → SettingsScopeNotice-CcLrVZWz.js} +2 -2
- package/dist/client/assets/{T3ConnectAccountPages-ClNzwIQw.js → T3ConnectAccountPages-DjITJ87o.js} +2 -2
- package/dist/client/assets/{T3ConnectSidebarSignIn-BqM_Vqe1.js → T3ConnectSidebarSignIn-B-rQNmqG.js} +2 -2
- package/dist/client/assets/{ThemeEditorPanel-vVmQV_Vv.js → ThemeEditorPanel-CJGqmeTA.js} +2 -2
- package/dist/client/assets/{ThreadTerminalDrawer-aLeVbe6g.js → ThreadTerminalDrawer-Cdl3DAIx.js} +4 -4
- package/dist/client/assets/{Virtualizer-DTOYU5Jp.js → Virtualizer-Bk-YJlPj.js} +2 -2
- package/dist/client/assets/{WorkspaceBreadcrumb-C9OPPGJE.js → WorkspaceBreadcrumb-DSFWvH19.js} +2 -2
- package/dist/client/assets/{WorkspacePageContainer-DtXJ5ept.js → WorkspacePageContainer-BXUbfbEU.js} +2 -2
- package/dist/client/assets/{WorkspacePageHeader-5zzLFpEN.js → WorkspacePageHeader-LbIzJCDs.js} +2 -2
- package/dist/client/assets/_chat-oHhtDqeh.js +45 -0
- package/dist/client/assets/{_chat.index-BP1JWABB.js → _chat.index-CTew1WmI.js} +2 -2
- package/dist/client/assets/_chat.new-COSURrfS.js +4 -0
- package/dist/client/assets/{_chat.pull-requests-B6-Vck8B.js → _chat.pull-requests-BlXnsqov.js} +2 -2
- package/dist/client/assets/{abnfDiagram-VCTEODGH-BXvAfzAg.js → abnfDiagram-VCTEODGH-brKh7bzh.js} +2 -2
- package/dist/client/assets/{alert-B-or1ble.js → alert-quTC4YbH.js} +2 -2
- package/dist/client/assets/architecture-7GRP2DOG-BMFS-mJW.js +1 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-MEUA3QVe.js → architectureDiagram-5GKGNRK7-BVDiXgfK.js} +2 -2
- package/dist/client/assets/archive-x-D3w6saMD.js +2 -0
- package/dist/client/assets/arrow-left-BFquhiaO.js +1 -0
- package/dist/client/assets/arrow-right-DiV8cYUQ.js +1 -0
- package/dist/client/assets/arrow-up-down-BDQTjPr1.js +1 -0
- package/dist/client/assets/assets-CRmNKuHc.js +2 -0
- package/dist/client/assets/bell-BvJp3v99.js +1 -0
- package/dist/client/assets/{blockDiagram-I7D4REHJ-BOdLeYJh.js → blockDiagram-I7D4REHJ-CzoRCJDe.js} +2 -2
- package/dist/client/assets/blocks-NuR9qdGl.js +1 -0
- package/dist/client/assets/bot-mvw1ddnU.js +1 -0
- package/dist/client/assets/{browserHistoryStore-BJD0OPpb.js → browserHistoryStore-Cw3ffhOV.js} +2 -2
- package/dist/client/assets/{browserLinkTarget-CoogLhhO.js → browserLinkTarget-KTI1tSl7.js} +2 -2
- package/dist/client/assets/{c4Diagram-7LVT6UL2-COZrm1O8.js → c4Diagram-7LVT6UL2-CfyobiDu.js} +2 -2
- package/dist/client/assets/calendar-clock-CuvWKWXS.js +1 -0
- package/dist/client/assets/channel-Cf2J77rP.js +2 -0
- package/dist/client/assets/chart-no-axes-column-Hfs9TSWj.js +1 -0
- package/dist/client/assets/checkbox-BHsP70Vt.js +2 -0
- package/dist/client/assets/{chunk-4HAMMTFA-Bs-Fo0v1.js → chunk-4HAMMTFA-CPnMRFld.js} +2 -2
- package/dist/client/assets/{chunk-75Z2AOVW-DpOWzc3R.js → chunk-75Z2AOVW-C85FbOND.js} +2 -2
- package/dist/client/assets/{chunk-DU6HZSFF-Bgpi4W6E.js → chunk-DU6HZSFF-s_qrqgaz.js} +2 -2
- package/dist/client/assets/{chunk-F27PBJKO-CLxgnzXS.js → chunk-F27PBJKO-90tTgV9x.js} +2 -2
- package/dist/client/assets/{chunk-GMAD6QVW-D98J5Pan.js → chunk-GMAD6QVW-CYRPr7hZ.js} +2 -2
- package/dist/client/assets/{chunk-GVQU2GXP-VuCIOHGI.js → chunk-GVQU2GXP-CxAvUb1-.js} +2 -2
- package/dist/client/assets/{chunk-IMKFNOWR-DXIyBsaE.js → chunk-IMKFNOWR-794woOlB.js} +2 -2
- package/dist/client/assets/{chunk-L3NEJ4N5-CrMlU3ZU.js → chunk-L3NEJ4N5-JXcRdiIo.js} +2 -2
- package/dist/client/assets/{chunk-OSK3NFVY-V2__4gNB.js → chunk-OSK3NFVY-ToxVvjW1.js} +2 -2
- package/dist/client/assets/{chunk-P2QGCYS3-BrPw6V5F.js → chunk-P2QGCYS3-JB1PmfIc.js} +2 -2
- package/dist/client/assets/{chunk-POPQ4Y6H-DBQ9Y51x.js → chunk-POPQ4Y6H-RMxlqjhd.js} +2 -2
- package/dist/client/assets/{chunk-PWAF6VOD-BN6AAbfF.js → chunk-PWAF6VOD-AB579n2y.js} +2 -2
- package/dist/client/assets/{chunk-SHT3W25Y-Vay44dCU.js → chunk-SHT3W25Y-CV2hE9-g.js} +2 -2
- package/dist/client/assets/{chunk-SVP7TREG-CcGlNErV.js → chunk-SVP7TREG-b2Gs4u5W.js} +2 -2
- package/dist/client/assets/{chunk-TICWLB2K-Dk1P_xkD.js → chunk-TICWLB2K-CtkYqLLJ.js} +2 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-D9m4giYc.js +2 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-D9m4giYc.js +2 -0
- package/dist/client/assets/{color-picker-gBclRe5T.js → color-picker-CFc6YapE.js} +2 -2
- package/dist/client/assets/{combobox-C81z_216.js → combobox-WVgW_agq.js} +2 -2
- package/dist/client/assets/{command-DnJZPOmf.js → command-w6WcFbeZ.js} +2 -2
- package/dist/client/assets/{connect-Am2IS-vZ.js → connect-D_ncSJiK.js} +2 -2
- package/dist/client/assets/{connect-agent-Cw1s7hYt.js → connect-agent-8mHL_bau.js} +2 -2
- package/dist/client/assets/corner-left-up-DedXC9IG.js +1 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-0s30RxOq.js → cynefin-OW5HDTMX-BDIjrXPB.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-Drd0Msog.js → cynefinDiagram-5FMLGOSQ-h9tw36zs.js} +2 -2
- package/dist/client/assets/{dagre-GXQ25YYZ-BMfu7T0o.js → dagre-GXQ25YYZ-D3s1T81F.js} +2 -2
- package/dist/client/assets/{device-C_oIGJqy.js → device-DhvzgETq.js} +2 -2
- package/dist/client/assets/{diagram-S7CK7UJ4-8egngY0E.js → diagram-S7CK7UJ4-DTawhR4X.js} +2 -2
- package/dist/client/assets/{diagram-UQ7AKVKN-BALPQoDH.js → diagram-UQ7AKVKN-CTUDQHKY.js} +2 -2
- package/dist/client/assets/{diagram-VSXAHHWV-BjyJZVGC.js → diagram-VSXAHHWV-DsbNNWnj.js} +2 -2
- package/dist/client/assets/{diagram-VX7I27RA-B9f6eKkq.js → diagram-VX7I27RA-BBy99N9O.js} +2 -2
- package/dist/client/assets/{diagram-Z3DM3KII-CRUj2d3v.js → diagram-Z3DM3KII-CEy69xv1.js} +2 -2
- package/dist/client/assets/{dialog-Bn1u_Xoc.js → dialog-CPLO59bH.js} +2 -2
- package/dist/client/assets/{diffRendering-C26rfQBu.js → diffRendering-BlmxsRF9.js} +2 -2
- package/dist/client/assets/{discovery-list-Fg_u6w-x.js → discovery-list-D0LBmkzJ.js} +2 -2
- package/dist/client/assets/{dist-DtKaGeij.js → dist-DZWol-cd.js} +3 -3
- package/dist/client/assets/download-CUcdw53T.js +1 -0
- package/dist/client/assets/{draft-input-D8eUYug0.js → draft-input-CmvO5rl_.js} +2 -2
- package/dist/client/assets/{duoViewer-CBoAg4hS.js → duoViewer-B0QD-fyi.js} +2 -2
- package/dist/client/assets/dynamic-tF-2a8Zt.js +3 -0
- package/dist/client/assets/earth-BqADiov-.js +1 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-BSbPiqg7.js → ebnfDiagram-PWID7BFC-B9LWNbny.js} +2 -2
- package/dist/client/assets/ellipsis-BUF_4-Z7.js +1 -0
- package/dist/client/assets/{embeddedScripts-Dsi0aZEx.js → embeddedScripts-B1MGNr-e.js} +2 -2
- package/dist/client/assets/{empty-C-gDaZ_z.js → empty-tr-EsB66.js} +2 -2
- package/dist/client/assets/entities-DqhRur25.js +2 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-sL_q0j_k.js → erDiagram-RLTQ6QDP-Nu9IMF5-.js} +2 -2
- package/dist/client/assets/eventmodeling-NTZA5JFV-CHuv5_8f.js +1 -0
- package/dist/client/assets/eye-C8OhITrC.js +1 -0
- package/dist/client/assets/file-search-ComEiFQ8.js +1 -0
- package/dist/client/assets/{fileLinks-DubkPNVt.js → fileLinks-BHAkEh9k.js} +2 -2
- package/dist/client/assets/{fileTreeExpansion-VtSAPhxL.js → fileTreeExpansion-BierCVUV.js} +2 -2
- package/dist/client/assets/flowDiagram-HODETNUW-wmC7eeQc.js +1 -0
- package/dist/client/assets/folder-git-2-COyuVTXA.js +1 -0
- package/dist/client/assets/folder-open-DZzz50kK.js +1 -0
- package/dist/client/assets/folder-plus-BzJT8jXs.js +1 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-DCiKb0rQ.js → ganttDiagram-EL5Y4UJY-D_s5F9rI.js} +2 -2
- package/dist/client/assets/{getDiffFileInput-DU5zpXo3.js → getDiffFileInput-B5j6sQbM.js} +2 -2
- package/dist/client/assets/git-branch-CCzcdr93.js +1 -0
- package/dist/client/assets/{gitGraph-4MIJSDKK-DfRe6ZT5.js → gitGraph-4MIJSDKK-BASxGOL3.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-Bt7diV1n.js → gitGraphDiagram-WWUBYQGX-BtA4z_1S.js} +2 -2
- package/dist/client/assets/grip-vertical-COceJQZo.js +1 -0
- package/dist/client/assets/{guideRunStore-CF9bByzk.js → guideRunStore-C95PbUuP.js} +2 -2
- package/dist/client/assets/hard-drive-BKLzbeTS.js +1 -0
- package/dist/client/assets/history-CAAEfWkp.js +1 -0
- package/dist/client/assets/house-U4txgvXa.js +1 -0
- package/dist/client/assets/{htmlRender-vOqAdlJH.js → htmlRender-DgdJ8GkZ.js} +2 -2
- package/dist/client/assets/{index-1HGbj0-7.js → index-D_uSeco8.js} +3 -3
- package/dist/client/assets/{info-A6RAGUB7-0FtL6-Am.js → info-A6RAGUB7-Q4Qe5TI_.js} +1 -1
- package/dist/client/assets/{infoDiagram-27XIBGKW-BPLvtPCc.js → infoDiagram-27XIBGKW-CNnDxcfZ.js} +2 -2
- package/dist/client/assets/{input-Cd_0h7h_.js → input-DaCwubQj.js} +2 -2
- package/dist/client/assets/{input-group-CJ7ZOvDN.js → input-group-DJwXFHGO.js} +2 -2
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-DVcx0XTh.js → ishikawaDiagram-5VMMS53U-Drb03OY6.js} +2 -2
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-w46bbjL2.js → journeyDiagram-3NMN7TZE-CynC6Up1.js} +2 -2
- package/dist/client/assets/{kanban-definition-UXKFOSKX-C41yE_yV.js → kanban-definition-UXKFOSKX-DfyC_hIe.js} +2 -2
- package/dist/client/assets/{kbd-c17EHIx1.js → kbd-R3wkAau0.js} +2 -2
- package/dist/client/assets/{keybindings-uYm_vnXl.js → keybindings-QrjnJ5jB.js} +2 -2
- package/dist/client/assets/keyboard-kgy5M4lo.js +1 -0
- package/dist/client/assets/{lazyRouteComponent-CTVuEvaz.js → lazyRouteComponent-cLZROdN-.js} +2 -2
- package/dist/client/assets/{line-tu9XZ0qp.js → line-C3gvAOpf.js} +2 -2
- package/dist/client/assets/{link-C4sEUNOK.js → link-Bl21VXlj.js} +2 -2
- package/dist/client/assets/link-C1k5F8-V.js +1 -0
- package/dist/client/assets/{linkedPrompt-VYl90REW.js → linkedPrompt-DAcv0O_f.js} +2 -2
- package/dist/client/assets/list-CU7BIfIS.js +1 -0
- package/dist/client/assets/main-BsiZpg85.css +2 -0
- package/dist/client/assets/main-uLg3xUJM.js +30 -0
- package/dist/client/assets/{mediaReference-BTVvzs2e.js → mediaReference-DN8lzwOF.js} +2 -2
- package/dist/client/assets/{mediaSource-DXHFWHMA.js → mediaSource-0nIWHHoL.js} +2 -2
- package/dist/client/assets/{mermaid-parser.core-DNd412Oc.js → mermaid-parser.core-B3cYmj0d.js} +4 -4
- package/dist/client/assets/{mermaid.core-CyE6QOQY.js → mermaid.core-9ekBSYCO.js} +5 -5
- package/dist/client/assets/message-circle-question-mark-wTwD9xwk.js +1 -0
- package/dist/client/assets/message-square-dashed-Hcy2Q2EP.js +1 -0
- package/dist/client/assets/message-square-lCzwndCW.js +1 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-DH1uxdTm.js → mindmap-definition-YA3MSWOX-K4rtZu2z.js} +2 -2
- package/dist/client/assets/mouse-pointer-2-BFFAEWXU.js +1 -0
- package/dist/client/assets/number-field-pAaF-e0N.js +2 -0
- package/dist/client/assets/{observeResize-Csvw3hy4.js → observeResize-BEjNJ-rK.js} +2 -2
- package/dist/client/assets/{onboarding-CJPrQc71.js → onboarding--LqcHqO0.js} +2 -2
- package/dist/client/assets/openFileInPreview-NwK1GJFN.js +2 -0
- package/dist/client/assets/{p4ProjectFile-BWszgcDk.js → p4ProjectFile-CVEoe1SJ.js} +2 -2
- package/dist/client/assets/{packet-AYTQ26CC-DflCOkCN.js → packet-AYTQ26CC-kDkfULQq.js} +1 -1
- package/dist/client/assets/{pair-Dd_e1jxq.js → pair-Bxo10T5t.js} +2 -2
- package/dist/client/assets/palette-BkpHEJXn.js +1 -0
- package/dist/client/assets/panel-left-DNz3ps89.js +1 -0
- package/dist/client/assets/panels-top-left-bKuZF4FX.js +1 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-Cnx9j2xX.js → pegDiagram-XKGWAZYB-6b8AqBYd.js} +2 -2
- package/dist/client/assets/{phoneViewer-B9EUVDD2.js → phoneViewer-Vql_2ZzY.js} +2 -2
- package/dist/client/assets/{pie-WAS4IAKB-CDwew7fN.js → pie-WAS4IAKB-CfoqFIwI.js} +1 -1
- package/dist/client/assets/{pieDiagram-E7YTZNPT-BxejSN6k.js → pieDiagram-E7YTZNPT-i8FgTMai.js} +2 -2
- package/dist/client/assets/{pierre-icons-C839Otpo.js → pierre-icons-CBmlpFgP.js} +2 -2
- package/dist/client/assets/{popover-CKyetthu.js → popover-BXin7C0B.js} +2 -2
- package/dist/client/assets/{preview-CjgXQQdj.js → preview-6t42evKb.js} +2 -2
- package/dist/client/assets/{preview-CEMnbqVB.js → preview-C9iPHfb1.js} +2 -2
- package/dist/client/assets/{previewMiniPlayerStore-B9Lqaaij.js → previewMiniPlayerStore-BDRPsVx0.js} +2 -2
- package/dist/client/assets/primary-DOpcfgLH.js +2 -0
- package/dist/client/assets/primaryCloudLinkState-Dulej3bP.js +2 -0
- package/dist/client/assets/projectFilesQueryState-C1crs3C8.js +2 -0
- package/dist/client/assets/projectScriptEditor-ku2tGeKq.js +2 -0
- package/dist/client/assets/providerSkills-D0IxW0_5.js +2 -0
- package/dist/client/assets/{pullRequestDetail.logic-DTxWqKoX.js → pullRequestDetail.logic-BiwUoz1M.js} +4 -4
- package/dist/client/assets/{pullRequestReviewStore-C5gaoGaz.js → pullRequestReviewStore-J7YIGsZ9.js} +2 -2
- package/dist/client/assets/pullRequests-BQ9KruZm.js +2 -0
- package/dist/client/assets/puzzle-wfhgUaHl.js +1 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-Bj4FEpOg.js → quadrantDiagram-AXDQQJYC-DzvIAxCm.js} +2 -2
- package/dist/client/assets/queries-CEjFwxVW.js +2 -0
- package/dist/client/assets/query-D5pQUQvZ.js +2 -0
- package/dist/client/assets/{radar-RG4KPBEZ-DEopr2Gv.js → radar-RG4KPBEZ-BnTV8utT.js} +1 -1
- package/dist/client/assets/{radio-group-fljQQ7Xp.js → radio-group-DhpPG5HP.js} +2 -2
- package/dist/client/assets/{railroad-74A4TZTK-BSAOgUn6.js → railroad-74A4TZTK-nxEBKbUo.js} +1 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-bDIjPMME.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-BREFlihg.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-B0hEZefb.js +1 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-BSOJGJ6v.js → railroadDiagram-O6MQD6OU-DFdlMVKn.js} +2 -2
- package/dist/client/assets/{renderScheduler-v8LIpnE2.js → renderScheduler-DWKKtxcJ.js} +2 -2
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-Bp5TqEho.js → requirementDiagram-BXWQKSXE-BW8o0F_p.js} +2 -2
- package/dist/client/assets/{rightPanelStore-DqMd0tFH.js → rightPanelStore-CQ94819A.js} +2 -2
- package/dist/client/assets/rotate-ccw-CkpQmcC5.js +1 -0
- package/dist/client/assets/rotate-cw-BAiACGtX.js +1 -0
- package/dist/client/assets/runtime-Bsb2I_n2.js +2 -0
- package/dist/client/assets/runtime-DkYxB4ri.js +6 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-C7KUHrP7.js → sankeyDiagram-P5KCCOFB-JA6FB6i0.js} +2 -2
- package/dist/client/assets/{scheduledTasksSettings.logic-C3Mbc4mh.js → scheduledTasksSettings.logic-C_AdQNVz.js} +3 -3
- package/dist/client/assets/{scroll-area-LhpLVf8r.js → scroll-area-BYyfw-9F.js} +2 -2
- package/dist/client/assets/select-CjGEfXy_.js +2 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-Bs9mfTLC.js → sequenceDiagram-WJ2MYXX4-DgBrrcVR.js} +2 -2
- package/dist/client/assets/server-BYntb2dN.js +2 -0
- package/dist/client/assets/session-eLrubJEW.js +2 -0
- package/dist/client/assets/{session-logic-DneZDyPZ.js → session-logic-l1juLk9v.js} +5 -5
- package/dist/client/assets/settings-2-CDBTJPBs.js +1 -0
- package/dist/client/assets/settings-DDvSs7LG.js +1 -0
- package/dist/client/assets/{settings-C8FiUQu0.js → settings-xKzLy5aw.js} +2 -2
- package/dist/client/assets/settings.appearance-CEA3GKAa.js +2 -0
- package/dist/client/assets/settings.archived-DPWjmD2l.js +2 -0
- package/dist/client/assets/{settings.computer-use-B3Ujc2AS.js → settings.computer-use-DZu90DiM.js} +2 -2
- package/dist/client/assets/settings.connections-BKWbsMUk.js +2 -0
- package/dist/client/assets/settings.data-controls-CBrcsSvm.js +2 -0
- package/dist/client/assets/{settings.decisions-C5UE4drK.js → settings.decisions-CGz9znLs.js} +2 -2
- package/dist/client/assets/settings.diagnostics-DKkOOzoq.js +2 -0
- package/dist/client/assets/settings.general-CoPWyKC4.js +2 -0
- package/dist/client/assets/{settings.integrations-BCtpk2dY.js → settings.integrations-K3Jwfkyd.js} +2 -2
- package/dist/client/assets/{settings.keybindings-DfFrYXxY.js → settings.keybindings-BbR3qnVs.js} +2 -2
- package/dist/client/assets/{settings.open-source-licenses-CqRM1gRd.js → settings.open-source-licenses-Mh-zg97k.js} +2 -2
- package/dist/client/assets/settings.plugins-BI68kAsM.js +5 -0
- package/dist/client/assets/{settings.projects-CT-l0EfX.js → settings.projects-BahZsoyx.js} +4 -4
- package/dist/client/assets/settings.providers-Dsnq0-AL.js +3 -0
- package/dist/client/assets/settings.scheduled-tasks-BOpVl_XK.js +2 -0
- package/dist/client/assets/{settings.snap-shot-BMxV-ClC.js → settings.snap-shot-Bs_DZS7D.js} +2 -2
- package/dist/client/assets/settings.source-control-Akrp_mGm.js +2 -0
- package/dist/client/assets/{settings.storage-DKm6BZ2r.js → settings.storage-fl2BN0Cu.js} +2 -2
- package/dist/client/assets/settingsLayout-DV36_Jgq.js +3 -0
- package/dist/client/assets/shield-check-yRjvgn4y.js +1 -0
- package/dist/client/assets/shield-question-mark-DyVUewRO.js +1 -0
- package/dist/client/assets/{sidebar-DI1ZJMkM.js → sidebar-MBwCdIpv.js} +2 -2
- package/dist/client/assets/{sidebarProjectGrouping-DXRKqrOP.js → sidebarProjectGrouping-Sm7y9bd1.js} +2 -2
- package/dist/client/assets/{skeleton-BlMPaSbD.js → skeleton-CS8ffFVv.js} +2 -2
- package/dist/client/assets/{sortable.esm-CnSn9HhJ.js → sortable.esm-CwrTFe-B.js} +2 -2
- package/dist/client/assets/{sourceControl-ogZI3Qhj.js → sourceControl-DyHbbOxl.js} +2 -2
- package/dist/client/assets/{spinner-I_NrXl2i.js → spinner-B7a-VUeR.js} +2 -2
- package/dist/client/assets/square-pen-BrE59gWn.js +1 -0
- package/dist/client/assets/{standalone-page-C0mvdk0N.js → standalone-page-DTvNMgJy.js} +2 -2
- package/dist/client/assets/{stateDiagram-D77RDMKH-lcvbm4gc.js → stateDiagram-D77RDMKH-gHEAo7xC.js} +2 -2
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CGT21P8W.js +2 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-BftXRbCQ.js → swimlanes-42K2YHIH-_qZ90QGb.js} +2 -2
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-D9Ttx7dQ.js +9 -0
- package/dist/client/assets/{terminal-links-BWEpET__.js → terminal-links-Dc2HX7Ov.js} +2 -2
- package/dist/client/assets/{terminalSessions-CQOPPXfy.js → terminalSessions-DK9WKgga.js} +2 -2
- package/dist/client/assets/text-search-CFbEY3qo.js +1 -0
- package/dist/client/assets/{textarea-Bu723jDd.js → textarea-CYXHTTG6.js} +2 -2
- package/dist/client/assets/{themePalette-CAxv2FDZ.js → themePalette-zVYGoviO.js} +3 -3
- package/dist/client/assets/threadSort-Byzu7B1A.js +2 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-_aV_EuqE.js → timeline-definition-24CTP7MA-BxWmcZQs.js} +2 -2
- package/dist/client/assets/toast-BX9uiMAh.js +2 -0
- package/dist/client/assets/{toggle-B5fidRv0.js → toggle-fk33ppsB.js} +2 -2
- package/dist/client/assets/{toggle-group-DCQTLIPb.js → toggle-group-W0bDGcPB.js} +2 -2
- package/dist/client/assets/tooltip-B0rhqi5b.js +2 -0
- package/dist/client/assets/{treeView-Q6P3EWNA-ALGd5g_W.js → treeView-Q6P3EWNA-BsPhq-Fl.js} +1 -1
- package/dist/client/assets/{treemap-WGGIJYW6-CGQrkzMs.js → treemap-WGGIJYW6-DZ3fnU-o.js} +1 -1
- package/dist/client/assets/{usage-DmGxFUdr.js → usage-DlNazxzV.js} +2 -2
- package/dist/client/assets/{usageAccess-CY-JtQnU.js → usageAccess-Mp1Nbm2r.js} +2 -2
- package/dist/client/assets/{usageFormat-Cs-UHzLq.js → usageFormat-ZiOrCBxk.js} +2 -2
- package/dist/client/assets/{usageShortcuts-CP952NDO.js → usageShortcuts-Be5hddhr.js} +2 -2
- package/dist/client/assets/use-atom-command-RgcuqzP9.js +2 -0
- package/dist/client/assets/{useAriaLabelledBy-4I5xhNlP.js → useAriaLabelledBy-D-n0SDV6.js} +2 -2
- package/dist/client/assets/{useHandleNewThread-Bzaf_PDE.js → useHandleNewThread-BQ5wqZab.js} +2 -2
- package/dist/client/assets/{useLocation-QINZoaPz.js → useLocation-BN5q7LjL.js} +2 -2
- package/dist/client/assets/useNavigate-CDvr3Yvg.js +2 -0
- package/dist/client/assets/{useNavigateBack-CbbWf0z6.js → useNavigateBack-BWhsiBJ5.js} +2 -2
- package/dist/client/assets/{useParams-BTKEXLBT.js → useParams-DQgx0pmy.js} +2 -2
- package/dist/client/assets/{usePermissionStatus-Zbsv_90x.js → usePermissionStatus-FtemMvNg.js} +2 -2
- package/dist/client/assets/{usePullRequestActions-DGTJ6ne6.js → usePullRequestActions-D97OVSkM.js} +3 -3
- package/dist/client/assets/{useRegisterFieldControl-Cr87Snzk.js → useRegisterFieldControl-KOnbOVnX.js} +2 -2
- package/dist/client/assets/useScopedModelAvailability-BTR7tHpB.js +2 -0
- package/dist/client/assets/useSettings-BIggY3j1.js +3 -0
- package/dist/client/assets/{useT3ConnectAuthPrompt-BYqrzQIx.js → useT3ConnectAuthPrompt-CPGDAWRk.js} +2 -2
- package/dist/client/assets/{utils-DmfMX1v5.js → utils-BxISc9RR.js} +17 -17
- package/dist/client/assets/vcsRefInvalidation-h_E9Figo.js +2 -0
- package/dist/client/assets/{vennDiagram-4TSXK5OY-9Jx7JrgE.js → vennDiagram-4TSXK5OY-BnH-hzBf.js} +2 -2
- package/dist/client/assets/{wardley-WFR3VGLG-qG58RzFw.js → wardley-WFR3VGLG-BbiFWq4f.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-8Ml3tzfR.js → wardleyDiagram-VM6X3IG4-DPf4ISf5.js} +2 -2
- package/dist/client/assets/{welcome-CPcQsM9H.js → welcome-DjYohRu3.js} +2 -2
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-C-u_0wo0.js → xychartDiagram-S5SC5T6Z-oaZh5sFY.js} +2 -2
- package/dist/client/index.html +1 -1
- package/package.json +1 -1
- package/dist/client/assets/ChatGptUsageButton-D93cMeTp.js +0 -2
- package/dist/client/assets/ChatMarkdown-CLD9Y6dg.js +0 -65
- package/dist/client/assets/CodexSetupSection.logic-DJw6xB7P.js +0 -2
- package/dist/client/assets/DiffPanel-Dqh76p3E.js +0 -2
- package/dist/client/assets/PreviewPanel-QkMfuC1J.js +0 -2
- package/dist/client/assets/ProjectDefaultsSettings-C6wxaRmJ.js +0 -2
- package/dist/client/assets/ScopedSwitch-DsEcG6rk.js +0 -2
- package/dist/client/assets/SettingsPanels-CI-FknGh.js +0 -39
- package/dist/client/assets/_chat-BKcYL38S.js +0 -45
- package/dist/client/assets/_chat.new-BX5LyFum.js +0 -4
- package/dist/client/assets/architecture-7GRP2DOG-DqzmsB35.js +0 -1
- package/dist/client/assets/archive-x-BN7DYXYC.js +0 -2
- package/dist/client/assets/arrow-left-DI1Oo3nI.js +0 -1
- package/dist/client/assets/arrow-right-DRgAj8le.js +0 -1
- package/dist/client/assets/arrow-up-down-C6OEPUz7.js +0 -1
- package/dist/client/assets/assets-_CWIS9vb.js +0 -2
- package/dist/client/assets/bell-DW1iPWzH.js +0 -1
- package/dist/client/assets/blocks-DKOyf4K4.js +0 -1
- package/dist/client/assets/bot-DYcBiSui.js +0 -1
- package/dist/client/assets/calendar-clock-BqL7OneL.js +0 -1
- package/dist/client/assets/channel-DbsUczqI.js +0 -2
- package/dist/client/assets/chart-no-axes-column-CtQ7A5KE.js +0 -1
- package/dist/client/assets/checkbox-CaZu1EKJ.js +0 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-DotTjRcO.js +0 -2
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-DotTjRcO.js +0 -2
- package/dist/client/assets/corner-left-up-BT-2gfvH.js +0 -1
- package/dist/client/assets/download-DNjijPHR.js +0 -1
- package/dist/client/assets/dynamic-p5s8CQGu.js +0 -3
- package/dist/client/assets/earth-DGA4iwBJ.js +0 -1
- package/dist/client/assets/ellipsis-Cbd-Ac19.js +0 -1
- package/dist/client/assets/entities-82m-Smm-.js +0 -2
- package/dist/client/assets/eventmodeling-NTZA5JFV-OEIkdS25.js +0 -1
- package/dist/client/assets/eye-BUplLfz9.js +0 -1
- package/dist/client/assets/file-search-CcnLiCku.js +0 -1
- package/dist/client/assets/fileContextMenu-Dcs50sFI.js +0 -2
- package/dist/client/assets/flowDiagram-HODETNUW-BDZPeVYD.js +0 -1
- package/dist/client/assets/folder-git-2-5RczFn6m.js +0 -1
- package/dist/client/assets/folder-open-PwiT4lvQ.js +0 -1
- package/dist/client/assets/folder-plus--IokSBmG.js +0 -1
- package/dist/client/assets/git-branch-jf-x2c63.js +0 -1
- package/dist/client/assets/grip-vertical-OASdudbE.js +0 -1
- package/dist/client/assets/hard-drive-BxN5msOb.js +0 -1
- package/dist/client/assets/history-DdVU5lcf.js +0 -1
- package/dist/client/assets/house-mbks5FAa.js +0 -1
- package/dist/client/assets/keyboard-DckDn_SM.js +0 -1
- package/dist/client/assets/link-Dw3ue0Rm.js +0 -1
- package/dist/client/assets/list-1rglB5Lq.js +0 -1
- package/dist/client/assets/main-BB3F4O6Y.js +0 -30
- package/dist/client/assets/main-CnVegMVf.css +0 -2
- package/dist/client/assets/message-circle-question-mark-CLPs5tYP.js +0 -1
- package/dist/client/assets/message-square-BInn4EwR.js +0 -1
- package/dist/client/assets/message-square-dashed-Dea7_sXv.js +0 -1
- package/dist/client/assets/mouse-pointer-2-BPl1Yb5N.js +0 -1
- package/dist/client/assets/number-field-CVtwAsLe.js +0 -2
- package/dist/client/assets/openFileInPreview-C3O_ayUT.js +0 -2
- package/dist/client/assets/palette-DC6st-Ld.js +0 -1
- package/dist/client/assets/panel-left-BxNE-mqR.js +0 -1
- package/dist/client/assets/panels-top-left-CpwWAaSX.js +0 -1
- package/dist/client/assets/primary-uszZTzpR.js +0 -2
- package/dist/client/assets/primaryCloudLinkState-CWT2YTBZ.js +0 -2
- package/dist/client/assets/projectFilesQueryState-ELgLflk5.js +0 -2
- package/dist/client/assets/projectScriptEditor-BAuP_HeU.js +0 -2
- package/dist/client/assets/pullRequests-DjbQ49mZ.js +0 -2
- package/dist/client/assets/puzzle-foT3lPUZ.js +0 -1
- package/dist/client/assets/queries-Cq5C9N-K.js +0 -2
- package/dist/client/assets/query-DpwJQzeq.js +0 -2
- package/dist/client/assets/railroad-abnf-HS5TGJTU-C_4g8TOP.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-CHZB5YoP.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-B-PbMjlp.js +0 -1
- package/dist/client/assets/rotate-ccw-rssHZoOL.js +0 -1
- package/dist/client/assets/rotate-cw-D726GGah.js +0 -1
- package/dist/client/assets/runtime-BQJQC-Ny.js +0 -6
- package/dist/client/assets/runtime-C6FwphD-.js +0 -2
- package/dist/client/assets/select-B4VvMEs2.js +0 -2
- package/dist/client/assets/server-BD_Y5Gsn.js +0 -2
- package/dist/client/assets/session-DsbInyNV.js +0 -2
- package/dist/client/assets/settings-2-Qrnq-5XQ.js +0 -1
- package/dist/client/assets/settings-MUAsYy_j.js +0 -1
- package/dist/client/assets/settings.appearance-B5-X4oyX.js +0 -2
- package/dist/client/assets/settings.archived-DVUmF0nS.js +0 -2
- package/dist/client/assets/settings.connections-EQYBOa7e.js +0 -2
- package/dist/client/assets/settings.diagnostics-CBcOEqPM.js +0 -2
- package/dist/client/assets/settings.general-BOmr4mSV.js +0 -2
- package/dist/client/assets/settings.plugins-DC4js6dE.js +0 -5
- package/dist/client/assets/settings.providers-CJuBTAiR.js +0 -3
- package/dist/client/assets/settings.scheduled-tasks-CvLNaadX.js +0 -2
- package/dist/client/assets/settings.source-control-DJWucVsM.js +0 -2
- package/dist/client/assets/settingsLayout-jP1a50ek.js +0 -3
- package/dist/client/assets/shield-check-k2SY7zjx.js +0 -2
- package/dist/client/assets/shield-question-mark-kKJBH4Uj.js +0 -1
- package/dist/client/assets/square-pen-DilH8raK.js +0 -1
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-DuLLhUia.js +0 -2
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-BrHQKVnf.js +0 -9
- package/dist/client/assets/text-search-DpDcKspl.js +0 -1
- package/dist/client/assets/threadSort-BoaTqeGH.js +0 -2
- package/dist/client/assets/toast-CjelgyqV.js +0 -2
- package/dist/client/assets/tooltip-taOyJZax.js +0 -2
- package/dist/client/assets/use-atom-command-CQHjSXPR.js +0 -2
- package/dist/client/assets/useNavigate-4thj06GJ.js +0 -2
- package/dist/client/assets/useScopedModelAvailability-BEfh0WXx.js +0 -2
- package/dist/client/assets/useSettings-CLtJrOYI.js +0 -3
- package/dist/client/assets/vcsRefInvalidation-nP-qgsHs.js +0 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { $ as Uint8Array$2, $n as resolveAt, $r as isLessThan$1, $t as makeFilter, A as Null, An as omit, Ar as toString$3, At as encodeUnknownExit, B as SchemaError, Bn as make$249, Br as parseHeader, Bt as isLessThan, C as Literal, Ci as a7t, Cn as isInetAddress, Cr as Pointer, Ct as decodeUnknownResult, D as Never, Dn as assign, Dr as fromInput$2, Dt as encodeSync, En as isSchemaError, Er as empty$10, Et as encodeEffect, F as Option$3, Fn as getReferenceKey, Fr as empty$11, Ft as isBetween, G as TaggedError$1, Gn as getLastEncoding, Gr as encode$4, Gt as isNonEmpty, H as StringFromUriComponent, Hn as applyToSelfOrLastLinkEncoding, Hr as toSetCookieHeaders, Ht as isMaxLength, I as OptionFromNullOr, In as toMultiDocumentOpenApi3_1, Ir as expireCookie, It as isFinite$1, J as Trim, Jn as isNull, Jr as add$4, Jt as isSchemaError$1, K as TaggedStruct, Kn as isDeclaration, Kr as Equivalence$1, Kt as isPattern, L as Record$2, Ln as _is, Lr as fromSetCookie, Lt as isGreaterThan, M as Number$3, Mn as toJsonSchemaMultiDocument, Mr as make$246, Mt as fromJsonString, N as NumberFromString, Nn as toCodecJsonAST, Nr as value$3, Nt as instanceOf, O as NonEmptyArray, On as lambda, Or as setAll$1, Ot as encodeTo, P as Opaque, Pn as VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP, Pr as stringOrRedacted, Pt as is$2, Q as URLFromString, Qn as isVoid, Qr as isGreaterThanOrEqualTo$2, Qt as make$247, R as RecordFromUrlParams, Rn as decodeUnknownEffect, Rr as isEmpty$3, Rt as isGreaterThanOrEqualTo$1, S as JsonObject$2, Si as map$7, Sn as inetAddressFromIpString, Sr as InvalidValue$1, St as decodeUnknownOption, T as MutableJson, Ti as y7t, Tn as unixPathAddress, Tr as appendAll$1, Tt as encode$5, U as Struct, Un as decodeTo, Ur as decode$6, Ut as isMaxProperties, V as String$7, Vn as Union$1, Vr as set$8, Vt as isLessThanOrEqualTo, W as StructWithRest, Wn as getAST, Wr as decodeString$3, Wt as isMinLength, X as Tuple, Xn as isSuspend, Xr as formatIso, Xt as isTrimmed, Y as TrueLiterals, Yn as isObjects, Yr as addDuration, Yt as isStartingWith, Z as URL$3, Zn as isUnion, Zr as isGreaterThan$1, Zt as isUUID, _ as FalseLiterals, _i as Error$6, _n as withDecodingDefault, _r as transform$4, _t as decodeOption, a as BooleanFromBit, ai as nowInCurrentZone, an as resolveAnnotationsKey, ar as composeTransformation, at as UnknownFromJsonString$2, b as Int$6, bi as taggedEnum, bn as formatUrlHostString, br as withDefault$3, bt as decodeUnknownEffect$1, c as Class$1, ci as subtract, cn as toCodecArrayFromSingle, cr as transform$3, ct as annotateKey, d as Defect, di as toEpochMillis, dn as toEncoded$1, dr as trim, dt as catchEncoding, ei as isLessThanOrEqualTo$1, en as mutable, er as resolveDescription, et as Uint8ArrayFromBase64, f as Duration, fi as toParts, fn as toEquivalence, fr as compose, ft as check, g as Exit, gi as Class$2, gn as withConstructorDefault, gr as stringifyJson, gt as decodeExit, h as Error$7, hi as EncodingError, hn as toType, hr as passthrough, ht as decodeEffect, i as Boolean$5, ii as now, in as resolveAnnotations, ir as Transformation, it as Unknown, j as NullOr, jn as toRepresentations, jr as isRedacted, jt as fieldsAssign, k as NonEmptyString$2, kn as map$8, kr as toRecord, kt as encodeUnknownEffect$1, l as DateTimeUtc, li as subtractDuration, ln as toCodecJson, lr as transformEffect$1, lt as brand, m as DurationFromString$1, mi as withCurrentZoneLocal, mn as toTaggedUnion, mr as parseJson$1, mt as decode$7, n as Any, ni as makeUnsafe$8, nn as optional$9, nr as toEncoded, nt as UndefinedOr, o as BooleanLiterals, oi as nowUnsafe, on as suspend, or as splitKeyValue, ot as Void, p as DurationFromMillis, pi as toUtc, pn as toJsonSchemaDocument, pr as forbidden, pt as declare$1, q as TemplateLiteral, qn as isLiteral, qr as Order$1, qt as isSchema, r as ArraySchema, ri as min, rn as optionalKey, rr as unknown$1, rt as Union, s as Cause, si as setParts, sn as tag$3, sr as toLowerCase, st as annotate$2, t as runClaudeHistoryWorker, ti as make$248, tn as mutableKey, tr as resolveIdentifier, tt as Undefined, u as DateTimeUtcFromString, ui as toDate, un as toCodecStringTree, ur as transformOptional, ut as catchDecoding, v as Finite, vi as TaggedClass, vn as withDecodingDefaultKey, vr as transformEffect, vt as decodeSync, w as Literals$2, wi as h7t, wn as isUnspecified, wr as defaultFormatter$1, wt as decodeUnknownSync, x as Json, xi as makeEquivalence$1, xn as formatUrlUnsafe, xr as Forbidden$1, xt as decodeUnknownExit, y as FiniteFromString, yi as TaggedError, yn as formatIp, yr as transformOptional$1, yt as decodeTo$1, z as Redacted$1, zn as encodeUnknownEffect, zr as merge$2, zt as isInt } from "./claudeHistoryWorker-v_0uyLGp.mjs";
|
|
4
4
|
import { $ as forEach, $i as hasDies, $n as set$9, $r as makeUnsafe$10, $s as isFailure$1, $t as runPromise, A as currentSpan, Aa as contextWith, Ac as toArray$1, Ai as interrupt$3, Al as array, An as updateContext, Ao as has$6, Ar as effect, As as isArrayNonEmpty, At as matchEffect, B as filter$2, Ba as fiberEnterInterruptibleUnsafe, Bc as make$256, Bi as NoSuchElementError, Bl as hasProperty, Bn as withTracerEnabled, Bo as isNegative, Br as succeedContext, Bs as reduce, Bt as promise, C as catchTag, Ca as CurrentLoggers$1, Cc as liftThrowable, Ci as succeed$6, Cn as tryPromise, Co as externalSpan, Cr as currentTimeMillis, Cs as findFirst, D as context, Da as asSome$1, Dc as none$2, Di as failCause$1, Dn as undefined_, Do as random$1, Dr as build, Ds as fromIterable, Dt as match$2, E as clockWith, Ec as match, Ei as fail$2, El as equals, En as txRetry, Eo as encode$6, Er as CurrentMemoMap, Es as flatMapNullishOr, Et as mapErrorEager, F as exit$3, Fa as exitIsSuccess, Fc as flip, Fi as succeed$3, Fl as string$2, Fn as withErrorReporting, Fo as fromInputUnsafe$1, Fr as merge$4, Fs as makeBy, Ft as onInterrupt, G as findFirst$1, Gc as PipeInspectableProto, Gi as die$1, Gn as Class$4, Go as minutes$1, Gr as Scope, Gs as filterMap, Gt as race, H as filterMapOrFail, Ha as fiberInterrupt, Hi as UnknownError$3, Hn as zip, Ho as max, Hr as sync$2, Hs as sort, Ht as provideContext, I as fail$1, Ii as void_$2, Il as structure, In as withFiber, Io as hours, Ir as mergeAll, It as option$1, J as flatMapEager, Ja as forkUnsafe, Ji as filterInterruptors, Jl as isNotUndefined, Jn as empty$12, Jo as seconds, Jr as close, Js as fail, Jt as request, K as firstSuccessOf, Ki as done, Kl as isNotNull, Kn as RequestPrototype, Ko as nanos, Kr as addFinalizer, Ks as headUnsafe, Kt as raceFirst, L as failCause$2, Lc as isGreaterThanOrEqualTo$3, Li as Done, Ln as withLogSpan, Lo as infinity, Lr as provide$1, Ls as map$9, Lt as orDie, M as die, Ma as endSpan, Mi as isFailure, Ml as hash$2, Mn as void_$1, Mo as days, Mr as effectDiscard, Ms as isReadonlyArrayNonEmpty, Mt as onError, N as effectify, Na as exitHasInterrupts, Nc as Number$4, Ni as isSuccess$1, No as format$1, Nr as empty$16, Nt as onExit, O as contextWith$1, Oc as orElse$2, Oi as findErrorOption$1, On as uninterruptible, Oo as Scheduler$1, Or as buildWithMemoMap, Ot as matchCauseEffect, P as ensuring, Pi as match$3, Pl as optimize, Pn as whileLoop, Po as fromInput$3, Pr as launch$1, Pt as onExitPrimitive, Qa as loggerMake, Qi as fromReasons, Qn as remove$5, Qo as toMinutes, Qr as make$253, Qs as getOrUndefined$2, Qt as runForkWith, Ri as ExceededCapacityError, Rl as symbol$4, Rn as withParentSpan, Rr as provideMerge, Rs as match$1, Rt as orElseSucceed, S as catchReason, Sa as ConsoleRef, Sc as isSome, Si as poll, Sn as timeoutOrElse, So as Tracer, Sr as Clock, Ss as filterMap$1, St as map$11, Su as pipeArguments, T as catch_, Tc as map$12, Ti as die$2, Tl as strictEqual, Tn as tx, To as nativeTracer, Tr as monotonicTimeNanos, Ts as findLast, Tt as mapError, U as filterOrElse, Ui as annotate$3, Un as zipWith, Uo as millis, Ur as tap$2, Us as take$1, Ut as provideService, Va as fiberEnterUninterruptibleUnsafe, Vc as mapInput$1, Vi as StackTrace, Vn as yieldNow, Vo as isZero, Vr as suspend$2, Vs as reverse, Vt as provide$2, W as filterOrFail, Wa as fiberJoin, Wi as combine$2, Wn as equalBatchKeys, Wo as min$1, Wr as unwrap, Ws as empty$15, X as fn, Xc as contE, Xi as findErrorOption, Xl as isNumber$1, Xn as has$5, Xo as times, Xr as fork, Xt as retry$1, Y as flatten$1, Yc as contA, Yl as isNullish, Yn as get$15, Yo as sum, Yr as closeUnsafe, Ys as failVoid, Yt as result$1, Z as fnUntraced, Zi as findFail, Zl as isObject$3, Zn as make$252, Zo as toMillis$1, Zr as forkUnsafe$1, Zs as getOrThrow, Zt as runFork, _ as catchCauseIf, _a as pretty, _c as getOrNull, _i as isDeferred, _l as symbolRedactable, _n as tapDefect, _o as CurrentErrorReporters$1, _s as append$2, _t as logFatal, _u as memoize, a as all$5, aa as isCause, ac as succeed$2, ai as MinimumLogLevel, al as getStackTraceLimit, an as scoped, ao as reportCauseUnsafe, ar as fromStep, as as get$14, at as fromOption, au as or$1, b as catchFilter, ba as squash, bc as isNone, bi as make$255, bl as normalize$3, bn as timeout, bo as NativeSpan, br as Random$1, bs as ensure, bt as logWithLevel, c as annotateLogs, ca as isFailReason, cc as exists, ci as UnhandledLogLevel, cl as Class$3, cn as serviceOption, co as succeedNone$1, cr as jittered, cs as getOrUndefined$1, ct as ignore$2, cu as compose$1, d as asSome, dc as flatMap$2, di as done$1, dl as format, dn as succeedNone, do as sync, dr as spaced, ds as make$251, dt as interruptible, du as constUndefined, ec as isResult, ei as provide, el as exitSucceed, en as runPromiseWith, er as size$5, es as zero$1, et as forever, eu as isReadonlyObject, f as asVoid, fa as isTimeoutError, fc as flatten, fi as doneUnsafe, fn as succeedSome, fo as tracerLogger$1, fr as toStep, fs as makeUnsafe$11, ft as isEffect, fu as constVoid, g as catchCause, gc as getOrElse, gi as into, gl as redact$1, gn as tapCause, gs as allocate, gt as logError, gu as identity, h as callback, hc as fromUndefinedOr, hn as tap$1, ho as void_$3, hr as catchDone, hs as Prototype, ht as logDebug, hu as flow$2, i as addFinalizer$1, ia as interruptors, ii as CurrentStackFrame, il as withFiber$1, in as scope, io as onExitUnsafe, ir as forever$1, is as empty$14, it as forkScoped, j as delay, ja as effectIsExit, ji as isExit, jl as combine$1, jn as useSpan, jo as toPredicate, jr as effectContext, js as isCanonicalArrayIndex, jt as never, k as currentParentSpan, ka as consolePretty$1, kc as some, ki as hasInterrupts, kl as symbol$3, kn as uninterruptibleMask, ko as compose$2, kr as catch_$1, kt as matchCauseEffectEager, l as annotateLogsScoped, la as isInterruptReason, lc as filter$1, li as _await, ll as NodeInspectSymbol, ln as sleep, lo as succeedSome$1, lr as modifyDelay, ls as getOrUndefinedUnsafe, lt as ignoreCause, lu as constFalse, m as cachedInvalidateWithTTL, ma as makeFailReason, mc as fromNullishOr, mi as failCause$3, mn as sync$1, mo as updateContext$1, mr as upTo, ms as omit$1, mt as log$1, mu as dual, n as acquireRelease, na as hasInterruptsOnly, nc as map$10, ni as CurrentLogLevel, nn as runSyncExit, nr as addDelay, ns as Service$3, nt as forkDetach, nu as isTagged, o as andThen, oa as isDieReason, oc as try_$1, oi as TracerEnabled, ol as setStackTraceLimit, on as scopedWith, or as identity_, os as getOption$2, ot as fromResult, ou as backEdges, p as cached, pa as makeDieReason, pi as fail$4, pn as suspend$1, ps as merge$3, pt as isSuccess$3, pu as constant, q as flatMap$1, qa as fnUntraced$1, qi as fail$3, qn as clear$1, qr as addFinalizerExit, qs as all$6, qt as repeat, r as acquireUseRelease, ra as interrupt$2, ri as CurrentLogSpans, rn as runSyncWith, rr as exponential, rs as add$5, rt as forkIn, ru as isUndefined, s as annotateCurrentSpan, sc as contains, si as TracerTimingEnabled, sl as BaseProto, sn as service, so as succeed$5, sr as isSchedule, ss as getOrElse$1, st as gen$1, su as cast, t as Transaction, ta as hasInterrupts$1, tc as isSuccess$2, ti as CurrentLogAnnotations, tl as isEffect$1, tn as runSync, to as makeSpanUnsafe, ts as Reference, tt as forkChild, tu as isString, u as as, ua as isNoSuchElementError, uc as firstSomeOf, ui as die$3, ul as toJson, un as succeed$1, ur as passthrough$1, us as getUnsafe$2, ut as interrupt$1, uu as constTrue, v as catchDefect, va as prettyErrors, vc as getOrThrow$1, vi as isDone, vl as assignProperties, vn as tapError$1, vo as DisablePropagation, vr as isDoneCause, vt as logInfo, w as catchTags, wa as LogLevelOrder, wc as makeOrder, wi as asVoidAll, wl as make$250, wn as try_, wo as make$254, wr as currentTimeNanos, ws as findFirstIndex, wt as mapEager, x as catchIf, xa as ClockRef, xc as isOption, xi as makeUnsafe$9, xl as normalizeNonEmpty, xn as timeoutOption, xo as ParentSpan, xr as nextBetween, xs as filter, xt as makeSpanScoped, y as catchEager, ya as reasonAnnotations, yc as getOrUndefined, yi as isDoneUnsafe, yl as assignProperty, yn as tapErrorTag, yo as MinimumTraceLevel, ys as empty$13, yt as logWarning$1, yu as pipe, z as fiber, zi as IllegalArgumentError, zl as compose$3, zn as withSpan, zo as isFinite$2, zr as succeed$4, zs as of$1, zt as partition } from "./Effect-BahT0mOQ.mjs";
|
|
5
|
-
import { $ as mergeAll$1, $t as mapEffect$2, A as fromArray, An as sliding$1, At as timeoutOrElse$1, B as fromReadableStream, Bn as interrupt$4, Bt as zipLatestWith, C as filter$3, Cn as take$2, Ct as suspend$3, D as flatMap$3, Dn as publishAll, Dt as takeWhile, E as filterMapEffect, En as publish, Et as takeUntilEffect, F as fromIterable$1, Fn as set$10, G as isStream, Gn as round, Gt as last, H as groupedWithin, Hn as join$1, Ht as forEach$1, I as fromIteratorSucceed, In as makeUnsafe$12, It as transduce, J as mapAccum, Jt as decodeText$2, K as make$260, Kt as mapInput$2, L as fromPubSub, Ln as awaitAll, Lt as transformPull, M as fromChannel$1, Mn as take$3, Mt as toAsyncIterableWith, N as fromEffect, Nn as unbounded$1, Nt as toPull, O as flattenIterable, On as publishUnsafe, Ot as tap$3, P as fromEffectRepeat, Pn as make$257, Pt as toReadableStreamEffect, Q as merge$5, Qt as mapDone, R as fromPull, Rn as await_, Rt as unfold, S as failCause$5, Sn as sliding, St as succeed$7, T as filterMap$2, Tn as unbounded$2, Tt as takeUntil, U as ignore$3, Un as runIn, Ut as fromChannel, V as fromSubscription, Vn as interruptAll, Vt as drain, W as interruptWhen, Wn as parse$6, Wt as isSink, X as mapEffect$3, Y as mapArrayEffect, Yt as filterArray, Z as mapError$1, Zt as fromTransform, _ as drop$2, _n as offerAll, _t as runForEachArray, a as responsePayloads, an as makeUnsafe$13, at as pipeThroughChannel, b as ensuring$1, bn as shutdown$1, bt as scoped$1, c as catchTag$1, cn as collect$1, ct as provideService$1, d as changesWith, dn as endUnsafe, dt as run$5, et as mkString, f as concat$2, fn as fail$6, ft as runCollect, g as drain$1, gn as offer$1, gt as runForEach, h as die$4, hn as make$258, ht as runFoldEffect, in as make$259, it as paginate$1, j as fromAsyncIterable, jn as subscribe, jt as toAsyncIterable, k as forever$2, kn as shutdown$2, kt as tick, l as catch_$2, ln as dropping, lt as rechunk, m as decodeText$1, mn as failCauseUnsafe, mt as runFold, nn as pipeTo, nt as onEnd, o as callback$1, on as bounded, ot as pipeThroughChannelOrFail, p as debounce, pn as failCause$4, pt as runDrain, q as map$13, qt as unwrap$2, r as runAcpMcpCliFastPath, rn as splitLines$2, rt as orDie$1, s as catchCause$1, sn as clear$2, st as provideContext$1, tt as mkUint8Array, u as changes$1, un as end, ut as repeat$1, v as empty$17, vn as offerUnsafe, vt as runHead, w as filterEffect, wn as takeAll, wt as switchMap, x as fail$5, xn as shutdownUnsafe, xt as splitLines$1, y as encodeText$1, yn as poll$1, yt as runLast, z as fromQueue, zn as getCurrent, zt as unwrap$1 } from "./AcpMcpStdioBridge-
|
|
5
|
+
import { $ as mergeAll$1, $t as mapEffect$2, A as fromArray, An as sliding$1, At as timeoutOrElse$1, B as fromReadableStream, Bn as interrupt$4, Bt as zipLatestWith, C as filter$3, Cn as take$2, Ct as suspend$3, D as flatMap$3, Dn as publishAll, Dt as takeWhile, E as filterMapEffect, En as publish, Et as takeUntilEffect, F as fromIterable$1, Fn as set$10, G as isStream, Gn as round, Gt as last, H as groupedWithin, Hn as join$1, Ht as forEach$1, I as fromIteratorSucceed, In as makeUnsafe$12, It as transduce, J as mapAccum, Jt as decodeText$2, K as make$260, Kt as mapInput$2, L as fromPubSub, Ln as awaitAll, Lt as transformPull, M as fromChannel$1, Mn as take$3, Mt as toAsyncIterableWith, N as fromEffect, Nn as unbounded$1, Nt as toPull, O as flattenIterable, On as publishUnsafe, Ot as tap$3, P as fromEffectRepeat, Pn as make$257, Pt as toReadableStreamEffect, Q as merge$5, Qt as mapDone, R as fromPull, Rn as await_, Rt as unfold, S as failCause$5, Sn as sliding, St as succeed$7, T as filterMap$2, Tn as unbounded$2, Tt as takeUntil, U as ignore$3, Un as runIn, Ut as fromChannel, V as fromSubscription, Vn as interruptAll, Vt as drain, W as interruptWhen, Wn as parse$6, Wt as isSink, X as mapEffect$3, Y as mapArrayEffect, Yt as filterArray, Z as mapError$1, Zt as fromTransform, _ as drop$2, _n as offerAll, _t as runForEachArray, a as responsePayloads, an as makeUnsafe$13, at as pipeThroughChannel, b as ensuring$1, bn as shutdown$1, bt as scoped$1, c as catchTag$1, cn as collect$1, ct as provideService$1, d as changesWith, dn as endUnsafe, dt as run$5, et as mkString, f as concat$2, fn as fail$6, ft as runCollect, g as drain$1, gn as offer$1, gt as runForEach, h as die$4, hn as make$258, ht as runFoldEffect, in as make$259, it as paginate$1, j as fromAsyncIterable, jn as subscribe, jt as toAsyncIterable, k as forever$2, kn as shutdown$2, kt as tick, l as catch_$2, ln as dropping, lt as rechunk, m as decodeText$1, mn as failCauseUnsafe, mt as runFold, nn as pipeTo, nt as onEnd, o as callback$1, on as bounded, ot as pipeThroughChannelOrFail, p as debounce, pn as failCause$4, pt as runDrain, q as map$13, qt as unwrap$2, r as runAcpMcpCliFastPath, rn as splitLines$2, rt as orDie$1, s as catchCause$1, sn as clear$2, st as provideContext$1, tt as mkUint8Array, u as changes$1, un as end, ut as repeat$1, v as empty$17, vn as offerUnsafe, vt as runHead, w as filterEffect, wn as takeAll, wt as switchMap, x as fail$5, xn as shutdownUnsafe, xt as splitLines$1, y as encodeText$1, yn as poll$1, yt as runLast, z as fromQueue, zn as getCurrent, zt as unwrap$1 } from "./AcpMcpStdioBridge-DHwGLtep.mjs";
|
|
6
6
|
import * as NodeModule from "node:module";
|
|
7
7
|
import { createRequire } from "node:module";
|
|
8
8
|
import * as NFS from "node:fs";
|
|
@@ -14902,7 +14902,7 @@ const make$228 = () => {
|
|
|
14902
14902
|
const layer$242 = sync$2(NetService, make$228);
|
|
14903
14903
|
//#endregion
|
|
14904
14904
|
//#region package.json
|
|
14905
|
-
var version$2 = "0.8.
|
|
14905
|
+
var version$2 = "0.8.4";
|
|
14906
14906
|
//#endregion
|
|
14907
14907
|
//#region src/cli/acpMcpBridge.ts
|
|
14908
14908
|
/**
|
|
@@ -40660,24 +40660,10 @@ const McpServerConfig = Struct({
|
|
|
40660
40660
|
});
|
|
40661
40661
|
/**
|
|
40662
40662
|
* Whether a driver can receive a server over the transport. Codex, Claude and
|
|
40663
|
-
* Cursor take both transports.
|
|
40664
|
-
*
|
|
40665
|
-
* stdio servers without a working directory.
|
|
40663
|
+
* Cursor take both transports. ACP uses P4's stdio bridge for HTTP servers;
|
|
40664
|
+
* OpenCode receives the registry in its isolated local server.
|
|
40666
40665
|
*/
|
|
40667
|
-
const mcpProviderSupport = (
|
|
40668
|
-
if (driver === "codex" || driver === "claudeAgent" || driver === "cursor") return { supported: true };
|
|
40669
|
-
if (driver === "opencode") return {
|
|
40670
|
-
supported: false,
|
|
40671
|
-
reason: "provider"
|
|
40672
|
-
};
|
|
40673
|
-
if (transport.type === "http") return {
|
|
40674
|
-
supported: false,
|
|
40675
|
-
reason: "remote"
|
|
40676
|
-
};
|
|
40677
|
-
if (transport.cwd !== void 0) return {
|
|
40678
|
-
supported: false,
|
|
40679
|
-
reason: "working-directory"
|
|
40680
|
-
};
|
|
40666
|
+
const mcpProviderSupport = (_driver, _transport) => {
|
|
40681
40667
|
return { supported: true };
|
|
40682
40668
|
};
|
|
40683
40669
|
/** A Claude Code plugin folder on the server host (`.claude-plugin/plugin.json`). */
|
|
@@ -40752,11 +40738,13 @@ const McpServerOAuthStartResult = Struct({ authorizationUrl: NullOr(String$7) })
|
|
|
40752
40738
|
*/
|
|
40753
40739
|
const DiscoveredMcpServer = Struct({
|
|
40754
40740
|
provider: McpImportSource,
|
|
40741
|
+
/** All providers with an equivalent configuration; optional for older servers. */
|
|
40742
|
+
providers: optionalKey(ArraySchema(McpImportSource)),
|
|
40755
40743
|
path: String$7,
|
|
40756
40744
|
name: String$7,
|
|
40757
40745
|
type: Literals$2(["stdio", "http"]),
|
|
40758
40746
|
summary: String$7,
|
|
40759
|
-
/**
|
|
40747
|
+
/** An equivalent configuration is already in the registry. */
|
|
40760
40748
|
alreadyAdded: Boolean$5
|
|
40761
40749
|
});
|
|
40762
40750
|
const McpDiscoverInput = Struct({ projectId: optionalKey(ProjectId) });
|
|
@@ -41912,6 +41900,8 @@ const ProjectSettingsOverrides = Struct({
|
|
|
41912
41900
|
mcpServers: optionalKey(Record$2(McpServerId, ProjectRegistryEntryOverride)),
|
|
41913
41901
|
/** Per-entry `enabled` overrides of `plugins`, merged like `providerInstances`. */
|
|
41914
41902
|
plugins: optionalKey(Record$2(PluginId, ProjectRegistryEntryOverride)),
|
|
41903
|
+
/** Native skill enablement by name, for providers with session controls. */
|
|
41904
|
+
skillOverrides: optionalKey(Record$2(TrimmedNonEmptyString, Boolean$5)),
|
|
41915
41905
|
worktreeCleanup: optionalKey(WorktreeCleanup),
|
|
41916
41906
|
defaultModelSelection: optionalKey(NullOr(ModelSelection)),
|
|
41917
41907
|
defaultRuntimeMode: optionalKey(RuntimeMode$1),
|
|
@@ -42139,6 +42129,8 @@ const ServerSettings = Struct({
|
|
|
42139
42129
|
* environment starts. Environment and header values live in the secret store.
|
|
42140
42130
|
*/
|
|
42141
42131
|
mcpServers: Record$2(McpServerId, McpServerConfig).pipe(withDecodingDefault(succeed$1({}))),
|
|
42132
|
+
/** Native skill enablement. External provider configuration files are never changed. */
|
|
42133
|
+
skillOverrides: Record$2(TrimmedNonEmptyString, Boolean$5).pipe(withDecodingDefault(succeed$1({}))),
|
|
42142
42134
|
/** Claude Code plugin folders on this host, given to Claude sessions. */
|
|
42143
42135
|
plugins: Record$2(PluginId, PluginConfig).pipe(withDecodingDefault(succeed$1({}))),
|
|
42144
42136
|
/** Allows this server to read the Cursor CLI's macOS Keychain login for account usage. */
|
|
@@ -42367,6 +42359,7 @@ const ServerSettingsPatch = Struct({
|
|
|
42367
42359
|
usageLimitSources: optionalKey(Record$2(UsageLimitSourceId, NullOr(UsageLimitSourceConfig))),
|
|
42368
42360
|
mcpServers: optionalKey(Record$2(McpServerId, NullOr(McpServerConfig))),
|
|
42369
42361
|
plugins: optionalKey(Record$2(PluginId, NullOr(PluginConfig))),
|
|
42362
|
+
skillOverrides: optionalKey(Record$2(TrimmedNonEmptyString, NullOr(Boolean$5))),
|
|
42370
42363
|
cursorKeychainUsageEnabled: optionalKey(Boolean$5),
|
|
42371
42364
|
/** Each entry replaces one model's rates; `null` restores automatic pricing. */
|
|
42372
42365
|
usagePriceOverrides: optionalKey(Record$2(TrimmedNonEmptyString, NullOr(UsageModelPriceOverride))),
|
|
@@ -56740,7 +56733,8 @@ function mergeProjectSettingsOverridesPatch(current, patch) {
|
|
|
56740
56733
|
...entry,
|
|
56741
56734
|
...keepOmittedOverride(entry, stored, "providerInstances"),
|
|
56742
56735
|
...keepOmittedOverride(entry, stored, "mcpServers"),
|
|
56743
|
-
...keepOmittedOverride(entry, stored, "plugins")
|
|
56736
|
+
...keepOmittedOverride(entry, stored, "plugins"),
|
|
56737
|
+
...keepOmittedOverride(entry, stored, "skillOverrides")
|
|
56744
56738
|
});
|
|
56745
56739
|
}
|
|
56746
56740
|
return Object.fromEntries(next);
|
|
@@ -56798,7 +56792,7 @@ function translateLegacyProjectOverridePatch(current, patch) {
|
|
|
56798
56792
|
function applyServerSettingsPatch(current, rawPatch) {
|
|
56799
56793
|
const patch = translateLegacyProjectOverridePatch(current, rawPatch);
|
|
56800
56794
|
const selectionPatch = patch.textGenerationModelSelection;
|
|
56801
|
-
const { migrateModelPreferences, setModelFavorites, setModelsHidden, setProviderModelOrder, providerModelPreferences, automaticGitFetchInterval, providerHealthRefreshInterval, backgroundActivityProfile, backgroundActivity, worktreeCleanup: worktreeCleanupPatch, usageLimitSources: usageLimitSourcesPatch, mcpServers: mcpServersPatch, plugins: pluginsPatch, sourceControlHosts: sourceControlHostsPatch, usagePriceOverrides: usagePriceOverridesPatch, usageModelAliases: usageModelAliasesPatch, projectSettingsOverrides: projectSettingsOverridesPatch, projectAgentBrowserAccessOverrides: _legacyBrowserAccess, projectAutoPullOverrides: _legacyAutoPull, projectScriptOverrides: _legacyScripts, ...patchForMerge } = patch;
|
|
56795
|
+
const { migrateModelPreferences, setModelFavorites, setModelsHidden, setProviderModelOrder, providerModelPreferences, automaticGitFetchInterval, providerHealthRefreshInterval, backgroundActivityProfile, backgroundActivity, worktreeCleanup: worktreeCleanupPatch, usageLimitSources: usageLimitSourcesPatch, mcpServers: mcpServersPatch, plugins: pluginsPatch, skillOverrides: skillOverridesPatch, sourceControlHosts: sourceControlHostsPatch, usagePriceOverrides: usagePriceOverridesPatch, usageModelAliases: usageModelAliasesPatch, projectSettingsOverrides: projectSettingsOverridesPatch, projectAgentBrowserAccessOverrides: _legacyBrowserAccess, projectAutoPullOverrides: _legacyAutoPull, projectScriptOverrides: _legacyScripts, ...patchForMerge } = patch;
|
|
56802
56796
|
const currentBackgroundActivity = normalizeServerBackgroundActivitySettings(current);
|
|
56803
56797
|
const backgroundActivityPatch = backgroundActivityProfile !== void 0 ? {
|
|
56804
56798
|
schemaVersion: 1,
|
|
@@ -56891,6 +56885,7 @@ function applyServerSettingsPatch(current, rawPatch) {
|
|
|
56891
56885
|
...patch.defaultProjectScripts !== void 0 ? { defaultProjectScripts: patch.defaultProjectScripts } : {},
|
|
56892
56886
|
...usageLimitSourcesPatch !== void 0 ? { usageLimitSources: mergeSettingsEntries(current.usageLimitSources, usageLimitSourcesPatch) } : {},
|
|
56893
56887
|
...mcpServersPatch !== void 0 ? { mcpServers: mergeSettingsEntries(current.mcpServers, mcpServersPatch) } : {},
|
|
56888
|
+
...skillOverridesPatch !== void 0 ? { skillOverrides: mergeSettingsEntries(current.skillOverrides, skillOverridesPatch) } : {},
|
|
56894
56889
|
...pluginsPatch !== void 0 ? { plugins: mergeSettingsEntries(current.plugins, pluginsPatch) } : {},
|
|
56895
56890
|
...usagePriceOverridesPatch !== void 0 ? { usagePriceOverrides: mergeSettingsEntries(current.usagePriceOverrides, usagePriceOverridesPatch) } : {},
|
|
56896
56891
|
...usageModelAliasesPatch !== void 0 ? { usageModelAliases: mergeSettingsEntries(current.usageModelAliases, usageModelAliasesPatch) } : {},
|
|
@@ -168430,6 +168425,24 @@ function mcpToolPresentation$1(input) {
|
|
|
168430
168425
|
*
|
|
168431
168426
|
* @module provider-core/server/UserMcpServers
|
|
168432
168427
|
*/
|
|
168428
|
+
/** Preserve cwd for provider SDKs whose stdio configuration has no cwd field. */
|
|
168429
|
+
const withStdioWorkingDirectory = (transport, self) => {
|
|
168430
|
+
if (transport.cwd === void 0) return transport;
|
|
168431
|
+
return {
|
|
168432
|
+
type: "stdio",
|
|
168433
|
+
command: self.command,
|
|
168434
|
+
args: selfInvocationArgs(self, ["acp-mcp-bridge"]),
|
|
168435
|
+
env: {
|
|
168436
|
+
...transport.env,
|
|
168437
|
+
ELECTRON_RUN_AS_NODE: "1",
|
|
168438
|
+
T3_ACP_MCP_STDIO: JSON.stringify({
|
|
168439
|
+
command: transport.command,
|
|
168440
|
+
args: transport.args,
|
|
168441
|
+
cwd: transport.cwd
|
|
168442
|
+
})
|
|
168443
|
+
}
|
|
168444
|
+
};
|
|
168445
|
+
};
|
|
168433
168446
|
const EMPTY_USER_MCP_REGISTRY = {
|
|
168434
168447
|
servers: [],
|
|
168435
168448
|
plugins: []
|
|
@@ -169412,20 +169425,41 @@ function negotiatedCapabilities(base, started) {
|
|
|
169412
169425
|
};
|
|
169413
169426
|
}
|
|
169414
169427
|
/**
|
|
169415
|
-
*
|
|
169416
|
-
*
|
|
169417
|
-
* servers (see below), and ACP's stdio entry has no working directory.
|
|
169428
|
+
* ACP's baseline is stdio. Bridge remote entries using P4's resolved headers,
|
|
169429
|
+
* so agents never need their own OAuth grant.
|
|
169418
169430
|
*/
|
|
169419
|
-
function acpUserMcpServers(servers) {
|
|
169420
|
-
return servers.
|
|
169421
|
-
|
|
169422
|
-
|
|
169423
|
-
|
|
169424
|
-
|
|
169425
|
-
|
|
169426
|
-
|
|
169427
|
-
|
|
169428
|
-
|
|
169431
|
+
function acpUserMcpServers(servers, self) {
|
|
169432
|
+
return servers.map((server) => {
|
|
169433
|
+
if (server.transport.type === "http") return {
|
|
169434
|
+
name: server.name,
|
|
169435
|
+
command: self.command,
|
|
169436
|
+
args: [...selfInvocationArgs(self, ["acp-mcp-bridge"])],
|
|
169437
|
+
env: [
|
|
169438
|
+
{
|
|
169439
|
+
name: "ELECTRON_RUN_AS_NODE",
|
|
169440
|
+
value: "1"
|
|
169441
|
+
},
|
|
169442
|
+
{
|
|
169443
|
+
name: "T3_ACP_MCP_ENDPOINT",
|
|
169444
|
+
value: server.transport.url
|
|
169445
|
+
},
|
|
169446
|
+
{
|
|
169447
|
+
name: "T3_ACP_MCP_HEADERS",
|
|
169448
|
+
value: JSON.stringify(server.transport.headers)
|
|
169449
|
+
}
|
|
169450
|
+
]
|
|
169451
|
+
};
|
|
169452
|
+
const transport = withStdioWorkingDirectory(server.transport, self);
|
|
169453
|
+
return {
|
|
169454
|
+
name: server.name,
|
|
169455
|
+
command: transport.command,
|
|
169456
|
+
args: [...transport.args],
|
|
169457
|
+
env: Object.entries(transport.env).map(([name, value]) => ({
|
|
169458
|
+
name,
|
|
169459
|
+
value
|
|
169460
|
+
}))
|
|
169461
|
+
};
|
|
169462
|
+
});
|
|
169429
169463
|
}
|
|
169430
169464
|
function acpMcpContext(session, self, userServers = []) {
|
|
169431
169465
|
if (session === void 0) return {
|
|
@@ -169866,7 +169900,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
169866
169900
|
const { flavor, selfInvocation: self } = options;
|
|
169867
169901
|
const readUserMcpRegistry = yield* makeReader;
|
|
169868
169902
|
const driver = flavor.driver;
|
|
169869
|
-
const readMcpContext = (threadId) => threadId === null ? succeed$1(acpMcpContext(void 0, self)) : all$5([mcpSessions.read(threadId), readUserMcpRegistry(threadId)]).pipe(map$11(([session, registry]) => acpMcpContext(session, self, acpUserMcpServers(serversForDriver(registry, driver)))));
|
|
169903
|
+
const readMcpContext = (threadId) => threadId === null ? succeed$1(acpMcpContext(void 0, self)) : all$5([mcpSessions.read(threadId), readUserMcpRegistry(threadId)]).pipe(map$11(([session, registry]) => acpMcpContext(session, self, acpUserMcpServers(serversForDriver(registry, driver), self))));
|
|
169870
169904
|
const continuationRequests = options.continuationRequests;
|
|
169871
169905
|
const postSettleContinuationEnabled = flavor.enablePostSettleContinuation === true && continuationRequests !== void 0;
|
|
169872
169906
|
return ProviderAdapterV2.of({
|
|
@@ -170343,7 +170377,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170343
170377
|
markdown,
|
|
170344
170378
|
planId
|
|
170345
170379
|
});
|
|
170346
|
-
const now$
|
|
170380
|
+
const now$134 = yield* now;
|
|
170347
170381
|
const nodeId = idAllocator.derive.nodeFromProviderItem({
|
|
170348
170382
|
driver,
|
|
170349
170383
|
nativeItemId
|
|
@@ -170376,7 +170410,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170376
170410
|
runtimeRequestId: null,
|
|
170377
170411
|
checkpointScopeId: null,
|
|
170378
170412
|
startedAt: context.startedAt,
|
|
170379
|
-
completedAt: now$
|
|
170413
|
+
completedAt: now$134
|
|
170380
170414
|
}
|
|
170381
170415
|
});
|
|
170382
170416
|
yield* emitProviderEvent({
|
|
@@ -170408,8 +170442,8 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170408
170442
|
status: "completed",
|
|
170409
170443
|
title: null,
|
|
170410
170444
|
startedAt: context.startedAt,
|
|
170411
|
-
completedAt: now$
|
|
170412
|
-
updatedAt: now$
|
|
170445
|
+
completedAt: now$134,
|
|
170446
|
+
updatedAt: now$134,
|
|
170413
170447
|
type: "proposed_plan",
|
|
170414
170448
|
planId,
|
|
170415
170449
|
markdown,
|
|
@@ -170437,7 +170471,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170437
170471
|
const emitTextSegment = fnUntraced(function* (context, kind, completed) {
|
|
170438
170472
|
const segment = textStreamFor(context, kind).current;
|
|
170439
170473
|
if (segment === null) return;
|
|
170440
|
-
const now$
|
|
170474
|
+
const now$122 = yield* now;
|
|
170441
170475
|
const ordinal = yield* resolveItemOrdinal(context, segment.nativeItemId);
|
|
170442
170476
|
const nodeId = providerNodeId(segment.nativeItemId);
|
|
170443
170477
|
const turnItemId = providerTurnItemId(segment.nativeItemId);
|
|
@@ -170464,7 +170498,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170464
170498
|
runtimeRequestId: null,
|
|
170465
170499
|
checkpointScopeId: null,
|
|
170466
170500
|
startedAt: segment.startedAt,
|
|
170467
|
-
completedAt: completed ? now$
|
|
170501
|
+
completedAt: completed ? now$122 : null
|
|
170468
170502
|
}
|
|
170469
170503
|
});
|
|
170470
170504
|
if (kind !== "reasoning") {
|
|
@@ -170482,7 +170516,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170482
170516
|
attachments: [],
|
|
170483
170517
|
streaming: !completed,
|
|
170484
170518
|
createdAt: segment.startedAt,
|
|
170485
|
-
updatedAt: now$
|
|
170519
|
+
updatedAt: now$122
|
|
170486
170520
|
};
|
|
170487
170521
|
yield* emitProviderEvent({
|
|
170488
170522
|
type: "message.updated",
|
|
@@ -170507,8 +170541,8 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170507
170541
|
status: completed ? "completed" : "running",
|
|
170508
170542
|
title: null,
|
|
170509
170543
|
startedAt: segment.startedAt,
|
|
170510
|
-
completedAt: completed ? now$
|
|
170511
|
-
updatedAt: now$
|
|
170544
|
+
completedAt: completed ? now$122 : null,
|
|
170545
|
+
updatedAt: now$122,
|
|
170512
170546
|
type: "user_message",
|
|
170513
170547
|
messageId,
|
|
170514
170548
|
inputIntent: "turn_start",
|
|
@@ -170531,8 +170565,8 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170531
170565
|
status: completed ? "completed" : "running",
|
|
170532
170566
|
title: null,
|
|
170533
170567
|
startedAt: segment.startedAt,
|
|
170534
|
-
completedAt: completed ? now$
|
|
170535
|
-
updatedAt: now$
|
|
170568
|
+
completedAt: completed ? now$122 : null,
|
|
170569
|
+
updatedAt: now$122,
|
|
170536
170570
|
type: "assistant_message",
|
|
170537
170571
|
messageId,
|
|
170538
170572
|
text: segment.text,
|
|
@@ -170558,8 +170592,8 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170558
170592
|
status: completed ? "completed" : "running",
|
|
170559
170593
|
title: null,
|
|
170560
170594
|
startedAt: segment.startedAt,
|
|
170561
|
-
completedAt: completed ? now$
|
|
170562
|
-
updatedAt: now$
|
|
170595
|
+
completedAt: completed ? now$122 : null,
|
|
170596
|
+
updatedAt: now$122,
|
|
170563
170597
|
type: "reasoning",
|
|
170564
170598
|
text: segment.text,
|
|
170565
170599
|
streaming: !completed
|
|
@@ -170588,10 +170622,10 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170588
170622
|
const sourceMessageId = messageId?.trim() || null;
|
|
170589
170623
|
if (stream.current !== null && sourceMessageId !== null && stream.current.sourceMessageId !== null && stream.current.sourceMessageId !== sourceMessageId) yield* closeTextStream(context, kind);
|
|
170590
170624
|
if (stream.current === null) {
|
|
170591
|
-
const now$
|
|
170625
|
+
const now$126 = yield* now;
|
|
170592
170626
|
stream.current = {
|
|
170593
170627
|
nativeItemId: sourceMessageId === null ? `${context.nativeTurnId}:${kind}:${stream.nextSegment}` : `${context.nativeTurnId}:${kind}:message:${sourceMessageId}`,
|
|
170594
|
-
startedAt: now$
|
|
170628
|
+
startedAt: now$126,
|
|
170595
170629
|
sourceMessageId,
|
|
170596
170630
|
text: ""
|
|
170597
170631
|
};
|
|
@@ -170609,10 +170643,10 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170609
170643
|
const stream = textStreamFor(context, kind);
|
|
170610
170644
|
if (stream.current?.sourceMessageId !== messageId) {
|
|
170611
170645
|
yield* closeTextStream(context, kind);
|
|
170612
|
-
const now$
|
|
170646
|
+
const now$124 = yield* now;
|
|
170613
170647
|
stream.current = {
|
|
170614
170648
|
nativeItemId: `${context.nativeTurnId}:${kind}:message:${messageId}`,
|
|
170615
|
-
startedAt: now$
|
|
170649
|
+
startedAt: now$124,
|
|
170616
170650
|
sourceMessageId: messageId,
|
|
170617
170651
|
text
|
|
170618
170652
|
};
|
|
@@ -170627,7 +170661,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170627
170661
|
const messageText = mode === "replace" ? text : `${previous}${text}`;
|
|
170628
170662
|
subagent.assistantMessages.set(nativeItemId, messageText);
|
|
170629
170663
|
subagent.assistantText = messageText;
|
|
170630
|
-
const now$
|
|
170664
|
+
const now$123 = yield* now;
|
|
170631
170665
|
const ordinal = resolveSubagentChildOrdinal(subagent, nativeItemId);
|
|
170632
170666
|
const artifacts = makeSubagentConversationArtifacts({
|
|
170633
170667
|
messageId: providerMessageId(nativeItemId),
|
|
@@ -170644,7 +170678,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170644
170678
|
role: "assistant",
|
|
170645
170679
|
text: subagent.assistantText,
|
|
170646
170680
|
ordinal,
|
|
170647
|
-
now: now$
|
|
170681
|
+
now: now$123
|
|
170648
170682
|
});
|
|
170649
170683
|
yield* emitProviderEvent({
|
|
170650
170684
|
type: "message.updated",
|
|
@@ -170679,7 +170713,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170679
170713
|
if (existing === void 0) {
|
|
170680
170714
|
if (update.prompt === "" && update.title === null || update.suppressNormalTool === false) return;
|
|
170681
170715
|
}
|
|
170682
|
-
const now$
|
|
170716
|
+
const now$127 = yield* now;
|
|
170683
170717
|
const nativeTaskId = existing?.task.nativeTaskRef?.nativeId ?? update.nativeTaskId;
|
|
170684
170718
|
const nativeItemRef = {
|
|
170685
170719
|
driver,
|
|
@@ -170712,13 +170746,13 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170712
170746
|
prompt: update.prompt,
|
|
170713
170747
|
title: update.title,
|
|
170714
170748
|
result: null,
|
|
170715
|
-
startedAt: now$
|
|
170749
|
+
startedAt: now$127
|
|
170716
170750
|
},
|
|
170717
170751
|
model: update.model?.trim() || existing?.task.model || null,
|
|
170718
170752
|
status: taskStatus,
|
|
170719
170753
|
result: update.result ?? existing?.task.result ?? null,
|
|
170720
|
-
completedAt: acpSubagentStatusIsTerminal(taskStatus) ? now$
|
|
170721
|
-
updatedAt: now$
|
|
170754
|
+
completedAt: acpSubagentStatusIsTerminal(taskStatus) ? now$127 : null,
|
|
170755
|
+
updatedAt: now$127
|
|
170722
170756
|
};
|
|
170723
170757
|
const subagent = existing ?? {
|
|
170724
170758
|
task,
|
|
@@ -170757,7 +170791,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170757
170791
|
prompt: update.prompt,
|
|
170758
170792
|
ordinal: context.subagents.size
|
|
170759
170793
|
}),
|
|
170760
|
-
now: now$
|
|
170794
|
+
now: now$127,
|
|
170761
170795
|
createdBy: "agent",
|
|
170762
170796
|
creationSource: "provider"
|
|
170763
170797
|
})
|
|
@@ -170779,7 +170813,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170779
170813
|
role: "user",
|
|
170780
170814
|
text: update.prompt,
|
|
170781
170815
|
ordinal: 100,
|
|
170782
|
-
now: now$
|
|
170816
|
+
now: now$127
|
|
170783
170817
|
});
|
|
170784
170818
|
yield* emitProviderEvent({
|
|
170785
170819
|
type: "message.updated",
|
|
@@ -170808,7 +170842,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170808
170842
|
providerThreadId: context.input.providerThread.id,
|
|
170809
170843
|
providerTurnId: context.providerTurnId
|
|
170810
170844
|
},
|
|
170811
|
-
now: now$
|
|
170845
|
+
now: now$127
|
|
170812
170846
|
});
|
|
170813
170847
|
subagent.task = {
|
|
170814
170848
|
...subagent.task,
|
|
@@ -170836,8 +170870,8 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170836
170870
|
...subagent.task,
|
|
170837
170871
|
status: taskStatus,
|
|
170838
170872
|
result,
|
|
170839
|
-
completedAt: acpSubagentStatusIsTerminal(taskStatus) ? now$
|
|
170840
|
-
updatedAt: now$
|
|
170873
|
+
completedAt: acpSubagentStatusIsTerminal(taskStatus) ? now$127 : null,
|
|
170874
|
+
updatedAt: now$127
|
|
170841
170875
|
};
|
|
170842
170876
|
const providerThreadId = subagent.task.providerThreadId;
|
|
170843
170877
|
yield* emitProviderEvent({
|
|
@@ -170904,7 +170938,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
170904
170938
|
title: subagent.task.title,
|
|
170905
170939
|
startedAt: subagent.task.startedAt,
|
|
170906
170940
|
completedAt: subagent.task.completedAt,
|
|
170907
|
-
updatedAt: now$
|
|
170941
|
+
updatedAt: now$127,
|
|
170908
170942
|
type: "subagent",
|
|
170909
170943
|
subagentId: subagent.task.id,
|
|
170910
170944
|
origin: "provider_native",
|
|
@@ -171065,7 +171099,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171065
171099
|
return;
|
|
171066
171100
|
}
|
|
171067
171101
|
const status = projectedStatus ?? toolStatus$1(toolCall.status);
|
|
171068
|
-
const now$
|
|
171102
|
+
const now$133 = yield* now;
|
|
171069
171103
|
const nativeItemId = `${context.nativeThreadId}:tool:${toolCall.toolCallId}`;
|
|
171070
171104
|
const ordinal = yield* resolveItemOrdinal(context, nativeItemId);
|
|
171071
171105
|
const nodeId = providerNodeId(nativeItemId);
|
|
@@ -171075,9 +171109,9 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171075
171109
|
nativeId: toolCall.toolCallId,
|
|
171076
171110
|
strength: "strong"
|
|
171077
171111
|
};
|
|
171078
|
-
const startedAt = context.toolStartedAt.get(toolCall.toolCallId) ?? now$
|
|
171112
|
+
const startedAt = context.toolStartedAt.get(toolCall.toolCallId) ?? now$133;
|
|
171079
171113
|
context.toolStartedAt.set(toolCall.toolCallId, startedAt);
|
|
171080
|
-
const completedAt = completedAtForStatus(status, now$
|
|
171114
|
+
const completedAt = completedAtForStatus(status, now$133);
|
|
171081
171115
|
const title = toolCall.title ?? null;
|
|
171082
171116
|
yield* emitProviderEvent({
|
|
171083
171117
|
type: "node.updated",
|
|
@@ -171114,7 +171148,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171114
171148
|
title,
|
|
171115
171149
|
startedAt,
|
|
171116
171150
|
completedAt,
|
|
171117
|
-
updatedAt: now$
|
|
171151
|
+
updatedAt: now$133
|
|
171118
171152
|
};
|
|
171119
171153
|
const rawInput = toolCall.data.rawInput;
|
|
171120
171154
|
const rawOutput = toolCall.data.rawOutput ?? toolCall.data.content;
|
|
@@ -171286,7 +171320,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171286
171320
|
if (update.kind === "removed" && existing === void 0) return;
|
|
171287
171321
|
const nativeItemId = `${context.nativeTurnId}:plan:${encodeURIComponent(update.nativePlanId)}`;
|
|
171288
171322
|
const ordinal = yield* resolveItemOrdinal(context, nativeItemId);
|
|
171289
|
-
const now$
|
|
171323
|
+
const now$132 = yield* now;
|
|
171290
171324
|
const nodeId = providerNodeId(nativeItemId);
|
|
171291
171325
|
const turnItemId = providerTurnItemId(nativeItemId);
|
|
171292
171326
|
const planState = existing ?? {
|
|
@@ -171295,7 +171329,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171295
171329
|
runId: context.input.runId,
|
|
171296
171330
|
driver
|
|
171297
171331
|
}),
|
|
171298
|
-
startedAt: now$
|
|
171332
|
+
startedAt: now$132,
|
|
171299
171333
|
latest: null
|
|
171300
171334
|
};
|
|
171301
171335
|
const planId = planState.id;
|
|
@@ -171362,7 +171396,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171362
171396
|
runtimeRequestId: null,
|
|
171363
171397
|
checkpointScopeId: null,
|
|
171364
171398
|
startedAt: planState.startedAt,
|
|
171365
|
-
completedAt: completed ? now$
|
|
171399
|
+
completedAt: completed ? now$132 : null
|
|
171366
171400
|
}
|
|
171367
171401
|
});
|
|
171368
171402
|
yield* emitProviderEvent({
|
|
@@ -171386,8 +171420,8 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171386
171420
|
status: completed ? "completed" : "running",
|
|
171387
171421
|
title: null,
|
|
171388
171422
|
startedAt: planState.startedAt,
|
|
171389
|
-
completedAt: completed ? now$
|
|
171390
|
-
updatedAt: now$
|
|
171423
|
+
completedAt: completed ? now$132 : null,
|
|
171424
|
+
updatedAt: now$132,
|
|
171391
171425
|
...plan.kind === "todo_list" ? {
|
|
171392
171426
|
type: "todo_list",
|
|
171393
171427
|
planId,
|
|
@@ -171404,7 +171438,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171404
171438
|
});
|
|
171405
171439
|
const appendLoadedHistory = (notification, role, text, replace = false) => gen$1(function* () {
|
|
171406
171440
|
if (text.length === 0 && !replace) return;
|
|
171407
|
-
const now$
|
|
171441
|
+
const now$129 = yield* now;
|
|
171408
171442
|
yield* update$4(snapshot, (current) => {
|
|
171409
171443
|
const update = notification.update;
|
|
171410
171444
|
const sourceMessageId = (update.sessionUpdate === "user_message_chunk" || update.sessionUpdate === "agent_message_chunk" || update.sessionUpdate === "agent_thought_chunk" || update.sessionUpdate === "user_message" || update.sessionUpdate === "agent_message" || update.sessionUpdate === "agent_thought") && update.messageId ? update.messageId : null;
|
|
@@ -171426,8 +171460,8 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171426
171460
|
text: replace ? text : `${previous?.text ?? ""}${text}`,
|
|
171427
171461
|
attachments: [],
|
|
171428
171462
|
streaming: false,
|
|
171429
|
-
createdAt: previous?.createdAt ?? now$
|
|
171430
|
-
updatedAt: now$
|
|
171463
|
+
createdAt: previous?.createdAt ?? now$129,
|
|
171464
|
+
updatedAt: now$129
|
|
171431
171465
|
});
|
|
171432
171466
|
return {
|
|
171433
171467
|
order: current.order.includes(key) ? current.order : [...current.order, key],
|
|
@@ -171653,12 +171687,12 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171653
171687
|
}
|
|
171654
171688
|
const knownProviderThread = (yield* get$7(providerThreadByNativeSessionId)).get(notification.sessionId);
|
|
171655
171689
|
if (knownProviderThread !== void 0) {
|
|
171656
|
-
const now$
|
|
171690
|
+
const now$125 = yield* now;
|
|
171657
171691
|
const providerThread = {
|
|
171658
171692
|
...knownProviderThread,
|
|
171659
171693
|
contextUsage: (yield* get$7(contextUsageBySessionId)).get(notification.sessionId) ?? knownProviderThread.contextUsage ?? null,
|
|
171660
171694
|
nativeMetadata: (yield* get$7(nativeMetadataBySessionId)).get(notification.sessionId) ?? knownProviderThread.nativeMetadata ?? null,
|
|
171661
|
-
updatedAt: now$
|
|
171695
|
+
updatedAt: now$125
|
|
171662
171696
|
};
|
|
171663
171697
|
yield* update$4(providerThreadByNativeSessionId, (current) => new Map(current).set(notification.sessionId, providerThread));
|
|
171664
171698
|
yield* emitProviderEvent({
|
|
@@ -171756,9 +171790,9 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171756
171790
|
context.tools.set(key, merged);
|
|
171757
171791
|
if (!shouldPersistToolUpdate(context, key, previous, merged, merged.status)) continue;
|
|
171758
171792
|
const mcpIdentity = extractMcpToolCallIdentity(merged, { embeddedTerminalCommands: [...embeddedTerminalCommands(notification.sessionId, toolCall.toolCallId), ...rootSessionId === null ? [] : embeddedTerminalCommands(rootSessionId, toolCall.toolCallId)] });
|
|
171759
|
-
const now$
|
|
171793
|
+
const now$135 = yield* now;
|
|
171760
171794
|
const status = toolStatus$1(merged.status);
|
|
171761
|
-
const startedAt = context.toolStartedAt.get(key) ?? now$
|
|
171795
|
+
const startedAt = context.toolStartedAt.get(key) ?? now$135;
|
|
171762
171796
|
context.toolStartedAt.set(key, startedAt);
|
|
171763
171797
|
const ordinal = resolveSubagentChildOrdinal(subagent, key);
|
|
171764
171798
|
yield* emitProviderEvent({
|
|
@@ -171781,8 +171815,8 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171781
171815
|
status,
|
|
171782
171816
|
title: merged.title ?? merged.kind ?? "Tool",
|
|
171783
171817
|
startedAt,
|
|
171784
|
-
completedAt: completedAtForStatus(status, now$
|
|
171785
|
-
updatedAt: now$
|
|
171818
|
+
completedAt: completedAtForStatus(status, now$135),
|
|
171819
|
+
updatedAt: now$135,
|
|
171786
171820
|
type: "dynamic_tool",
|
|
171787
171821
|
...mcpIdentity === void 0 ? {} : mcpToolPresentation$1({
|
|
171788
171822
|
serverName: mcpIdentity.server,
|
|
@@ -171973,7 +172007,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171973
172007
|
const decision = yield* make$255();
|
|
171974
172008
|
const nativeResponseAcknowledgement = yield* make$255();
|
|
171975
172009
|
yield* registerNativeResponseAcknowledgement(generation, transportRequestId, nativeResponseAcknowledgement);
|
|
171976
|
-
const now$
|
|
172010
|
+
const now$121 = yield* now;
|
|
171977
172011
|
const nodeId = idAllocator.derive.approvalNode({ requestId });
|
|
171978
172012
|
const requestKind = providerRequestKind(parsed.kind);
|
|
171979
172013
|
const nativeItemRef = {
|
|
@@ -171993,7 +172027,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
171993
172027
|
type: "live",
|
|
171994
172028
|
providerSessionId: input.providerSessionId
|
|
171995
172029
|
},
|
|
171996
|
-
createdAt: now$
|
|
172030
|
+
createdAt: now$121,
|
|
171997
172031
|
resolvedAt: null
|
|
171998
172032
|
};
|
|
171999
172033
|
const node = {
|
|
@@ -172010,7 +172044,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172010
172044
|
nativeItemRef,
|
|
172011
172045
|
runtimeRequestId: requestId,
|
|
172012
172046
|
checkpointScopeId: null,
|
|
172013
|
-
startedAt: now$
|
|
172047
|
+
startedAt: now$121,
|
|
172014
172048
|
completedAt: null
|
|
172015
172049
|
};
|
|
172016
172050
|
const turnItem = {
|
|
@@ -172025,9 +172059,9 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172025
172059
|
ordinal,
|
|
172026
172060
|
status: "waiting",
|
|
172027
172061
|
title: null,
|
|
172028
|
-
startedAt: now$
|
|
172062
|
+
startedAt: now$121,
|
|
172029
172063
|
completedAt: null,
|
|
172030
|
-
updatedAt: now$
|
|
172064
|
+
updatedAt: now$121,
|
|
172031
172065
|
type: "approval_request",
|
|
172032
172066
|
requestId,
|
|
172033
172067
|
requestKind,
|
|
@@ -172084,7 +172118,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172084
172118
|
const answers = yield* make$255();
|
|
172085
172119
|
const nativeResponseAcknowledgement = yield* make$255();
|
|
172086
172120
|
yield* registerNativeResponseAcknowledgement(generation, transportRequestId, nativeResponseAcknowledgement);
|
|
172087
|
-
const now$
|
|
172121
|
+
const now$117 = yield* now;
|
|
172088
172122
|
const nodeId = providerNodeId(request.nativeItemId);
|
|
172089
172123
|
const turnItemId = providerTurnItemId(request.nativeItemId);
|
|
172090
172124
|
const nativeItemRef = {
|
|
@@ -172108,7 +172142,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172108
172142
|
type: "live",
|
|
172109
172143
|
providerSessionId: input.providerSessionId
|
|
172110
172144
|
},
|
|
172111
|
-
createdAt: now$
|
|
172145
|
+
createdAt: now$117,
|
|
172112
172146
|
resolvedAt: null
|
|
172113
172147
|
};
|
|
172114
172148
|
const node = {
|
|
@@ -172125,7 +172159,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172125
172159
|
nativeItemRef,
|
|
172126
172160
|
runtimeRequestId: requestId,
|
|
172127
172161
|
checkpointScopeId: null,
|
|
172128
|
-
startedAt: now$
|
|
172162
|
+
startedAt: now$117,
|
|
172129
172163
|
completedAt: null
|
|
172130
172164
|
};
|
|
172131
172165
|
const turnItem = {
|
|
@@ -172140,9 +172174,9 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172140
172174
|
ordinal,
|
|
172141
172175
|
status: "waiting",
|
|
172142
172176
|
title: null,
|
|
172143
|
-
startedAt: now$
|
|
172177
|
+
startedAt: now$117,
|
|
172144
172178
|
completedAt: null,
|
|
172145
|
-
updatedAt: now$
|
|
172179
|
+
updatedAt: now$117,
|
|
172146
172180
|
type: "user_input_request",
|
|
172147
172181
|
requestId,
|
|
172148
172182
|
questions: [...request.questions]
|
|
@@ -172206,7 +172240,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172206
172240
|
const cancelPendingRuntimeRequests = fnUntraced(function* () {
|
|
172207
172241
|
const requests = yield* modify$3(pendingRuntimeRequests, (current) => [[...current.values()], /* @__PURE__ */ new Map()]);
|
|
172208
172242
|
if (requests.length === 0) return;
|
|
172209
|
-
const now$
|
|
172243
|
+
const now$128 = yield* now;
|
|
172210
172244
|
yield* forEach(requests, (request) => gen$1(function* () {
|
|
172211
172245
|
if (!(yield* request.type === "approval" ? succeed$6(request.decision, "cancel") : succeed$6(request.answers, null))) return;
|
|
172212
172246
|
yield* emitProviderEvent({
|
|
@@ -172216,7 +172250,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172216
172250
|
runtimeRequest: {
|
|
172217
172251
|
...request.runtimeRequest,
|
|
172218
172252
|
status: "cancelled",
|
|
172219
|
-
resolvedAt: now$
|
|
172253
|
+
resolvedAt: now$128
|
|
172220
172254
|
}
|
|
172221
172255
|
});
|
|
172222
172256
|
yield* emitProviderEvent({
|
|
@@ -172225,7 +172259,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172225
172259
|
node: {
|
|
172226
172260
|
...request.node,
|
|
172227
172261
|
status: "cancelled",
|
|
172228
|
-
completedAt: now$
|
|
172262
|
+
completedAt: now$128
|
|
172229
172263
|
}
|
|
172230
172264
|
});
|
|
172231
172265
|
yield* emitProviderEvent({
|
|
@@ -172234,8 +172268,8 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172234
172268
|
turnItem: {
|
|
172235
172269
|
...request.turnItem,
|
|
172236
172270
|
status: "cancelled",
|
|
172237
|
-
completedAt: now$
|
|
172238
|
-
updatedAt: now$
|
|
172271
|
+
completedAt: now$128,
|
|
172272
|
+
updatedAt: now$128
|
|
172239
172273
|
}
|
|
172240
172274
|
});
|
|
172241
172275
|
}), {
|
|
@@ -172249,15 +172283,15 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
172249
172283
|
* longer guaranteed to ingest the terminal event.
|
|
172250
172284
|
*/
|
|
172251
172285
|
const mutateCarryoverSubagentStatus = fnUntraced(function* (subagent, status, resultOverride) {
|
|
172252
|
-
const now$
|
|
172286
|
+
const now$131 = yield* now;
|
|
172253
172287
|
const result = resultOverride !== void 0 && resultOverride !== null && resultOverride.length > 0 ? resultOverride : subagent.task.result ?? (subagent.assistantText || null);
|
|
172254
|
-
const completedAt = acpSubagentStatusIsTerminal(status) ? now$
|
|
172288
|
+
const completedAt = acpSubagentStatusIsTerminal(status) ? now$131 : null;
|
|
172255
172289
|
subagent.task = {
|
|
172256
172290
|
...subagent.task,
|
|
172257
172291
|
status,
|
|
172258
172292
|
result,
|
|
172259
172293
|
completedAt,
|
|
172260
|
-
updatedAt: now$
|
|
172294
|
+
updatedAt: now$131
|
|
172261
172295
|
};
|
|
172262
172296
|
});
|
|
172263
172297
|
/**
|
|
@@ -173037,7 +173071,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173037
173071
|
else if (settledStatus === "interrupted") yield* terminalizeOpenRunOwnedItems(context, { terminalizeSubagents: directStopQuarantine });
|
|
173038
173072
|
yield* closeTextStreams(context);
|
|
173039
173073
|
if (settledStatus !== "failed") yield* emitProviderRetry(context, settledStatus);
|
|
173040
|
-
const now$
|
|
173074
|
+
const now$118 = yield* now;
|
|
173041
173075
|
if (flavor.supportsCompaction === true && context.input.message.text.trim() === "/compact" && context.input.message.attachments.length === 0 && settledStatus === "completed") {
|
|
173042
173076
|
const nativeItemId = `${context.nativeTurnId}:compaction`;
|
|
173043
173077
|
yield* emitProviderEvent({
|
|
@@ -173065,12 +173099,12 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173065
173099
|
status: "completed",
|
|
173066
173100
|
title: "Context compacted",
|
|
173067
173101
|
startedAt: context.startedAt,
|
|
173068
|
-
completedAt: now$
|
|
173069
|
-
updatedAt: now$
|
|
173102
|
+
completedAt: now$118,
|
|
173103
|
+
updatedAt: now$118
|
|
173070
173104
|
}
|
|
173071
173105
|
});
|
|
173072
173106
|
}
|
|
173073
|
-
const turn = providerTurnPayload(context, settledStatus, now$
|
|
173107
|
+
const turn = providerTurnPayload(context, settledStatus, now$118);
|
|
173074
173108
|
yield* update$4(providerTurns, (current) => {
|
|
173075
173109
|
const updated = new Map(current);
|
|
173076
173110
|
updated.set(String(turn.id), turn);
|
|
@@ -173090,7 +173124,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173090
173124
|
firstRunOrdinal: context.input.providerThread.firstRunOrdinal ?? context.input.runOrdinal,
|
|
173091
173125
|
contextUsage: context.contextUsage,
|
|
173092
173126
|
nativeMetadata: context.nativeMetadata,
|
|
173093
|
-
updatedAt: now$
|
|
173127
|
+
updatedAt: now$118
|
|
173094
173128
|
};
|
|
173095
173129
|
yield* update$4(providerThreadByNativeSessionId, (current) => new Map(current).set(context.nativeThreadId, updatedProviderThread));
|
|
173096
173130
|
yield* emitProviderEvent({
|
|
@@ -173503,7 +173537,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173503
173537
|
return false;
|
|
173504
173538
|
}) } : {},
|
|
173505
173539
|
ensureThread: fn("AcpAdapterV2.ensureThread")(function* (threadInput) {
|
|
173506
|
-
const now$
|
|
173540
|
+
const now$119 = yield* now;
|
|
173507
173541
|
const sessionId = yield* get$7(activeSessionId);
|
|
173508
173542
|
if (sessionId === null) return yield* new ProviderAdapterProtocolError({
|
|
173509
173543
|
driver,
|
|
@@ -173517,7 +173551,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173517
173551
|
providerSessionId: input.providerSessionId,
|
|
173518
173552
|
nativeThreadId: sessionId,
|
|
173519
173553
|
...itemIdentityVersion === void 0 ? {} : { itemIdentityVersion },
|
|
173520
|
-
now: now$
|
|
173554
|
+
now: now$119
|
|
173521
173555
|
});
|
|
173522
173556
|
yield* update$4(providerThreadByNativeSessionId, (current) => new Map(current).set(sessionId, providerThread));
|
|
173523
173557
|
return providerThread;
|
|
@@ -173553,12 +173587,12 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173553
173587
|
yield* set$5(activeSelection, nextSelection);
|
|
173554
173588
|
yield* set$5(activeInteractionMode, nextRuntimePolicy.interactionMode);
|
|
173555
173589
|
}
|
|
173556
|
-
const now$
|
|
173590
|
+
const now$136 = yield* now;
|
|
173557
173591
|
return {
|
|
173558
173592
|
...threadInput.providerThread,
|
|
173559
173593
|
providerSessionId: input.providerSessionId,
|
|
173560
173594
|
status: "idle",
|
|
173561
|
-
updatedAt: now$
|
|
173595
|
+
updatedAt: now$136
|
|
173562
173596
|
};
|
|
173563
173597
|
}));
|
|
173564
173598
|
}, (effect, threadInput) => effect.pipe(mapError((cause) => new ProviderAdapterResumeThreadError({
|
|
@@ -173791,13 +173825,13 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173791
173825
|
yield* set$5(activeInteractionMode, null);
|
|
173792
173826
|
}
|
|
173793
173827
|
const state = yield* get$7(snapshot);
|
|
173794
|
-
const now$
|
|
173828
|
+
const now$130 = yield* now;
|
|
173795
173829
|
return {
|
|
173796
173830
|
providerThread: {
|
|
173797
173831
|
...snapshotInput.providerThread,
|
|
173798
173832
|
providerSessionId: input.providerSessionId,
|
|
173799
173833
|
status: "idle",
|
|
173800
|
-
updatedAt: now$
|
|
173834
|
+
updatedAt: now$130
|
|
173801
173835
|
},
|
|
173802
173836
|
providerTurns: [...(yield* get$7(providerTurns)).values()],
|
|
173803
173837
|
messages: state.order.flatMap((key) => {
|
|
@@ -173856,7 +173890,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173856
173890
|
yield* set$5(lastTurnRoute, null);
|
|
173857
173891
|
}));
|
|
173858
173892
|
})).pipe(retry$1({ times: 1 }));
|
|
173859
|
-
const now$
|
|
173893
|
+
const now$137 = yield* now;
|
|
173860
173894
|
return {
|
|
173861
173895
|
providerThread: {
|
|
173862
173896
|
...rollbackInput.providerThread,
|
|
@@ -173871,7 +173905,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173871
173905
|
itemIdentityVersion: 2
|
|
173872
173906
|
},
|
|
173873
173907
|
status: "idle",
|
|
173874
|
-
updatedAt: now$
|
|
173908
|
+
updatedAt: now$137
|
|
173875
173909
|
},
|
|
173876
173910
|
providerTurns: [],
|
|
173877
173911
|
messages: [],
|
|
@@ -173906,7 +173940,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173906
173940
|
yield* set$5(activeSelection, null);
|
|
173907
173941
|
yield* set$5(activeInteractionMode, null);
|
|
173908
173942
|
itemIdentityVersion = 2;
|
|
173909
|
-
const now$
|
|
173943
|
+
const now$120 = yield* now;
|
|
173910
173944
|
const providerThread = makeProviderThread$3({
|
|
173911
173945
|
driver,
|
|
173912
173946
|
providerInstanceId: options.instanceId,
|
|
@@ -173920,7 +173954,7 @@ const makeAcpAdapterV2 = fn("makeAcpAdapterV2")(function* (options) {
|
|
|
173920
173954
|
providerThreadId: forkInput.sourceProviderThread.id,
|
|
173921
173955
|
...forkInput.providerTurnId === void 0 ? {} : { providerTurnId: forkInput.providerTurnId }
|
|
173922
173956
|
},
|
|
173923
|
-
now: now$
|
|
173957
|
+
now: now$120
|
|
173924
173958
|
});
|
|
173925
173959
|
yield* update$4(providerThreadByNativeSessionId, (current) => new Map(current).set(forked.sessionId, providerThread));
|
|
173926
173960
|
return providerThread;
|
|
@@ -191547,6 +191581,7 @@ function claudeUserMcpServers(servers) {
|
|
|
191547
191581
|
}
|
|
191548
191582
|
function claudeMcpQueryOverrides(input) {
|
|
191549
191583
|
const session = input.mcpSession;
|
|
191584
|
+
const skillSettings = input.userRegistry?.skillOverrides === void 0 ? {} : { sdkSettings: { skillOverrides: Object.fromEntries(Object.entries(input.userRegistry.skillOverrides).map(([name, enabled]) => [name, enabled ? "on" : "off"])) } };
|
|
191550
191585
|
const userServers = claudeUserMcpServers(input.userRegistry === void 0 ? [] : serversForDriver(input.userRegistry, CLAUDE_PROVIDER));
|
|
191551
191586
|
const plugins = input.userRegistry === void 0 || input.userRegistry.plugins.length === 0 ? {} : { plugins: input.userRegistry.plugins.map((plugin) => ({
|
|
191552
191587
|
type: "local",
|
|
@@ -191555,7 +191590,8 @@ function claudeMcpQueryOverrides(input) {
|
|
|
191555
191590
|
if (session === void 0) return {
|
|
191556
191591
|
...input.allowedTools === void 0 ? {} : { allowedTools: input.allowedTools },
|
|
191557
191592
|
...Object.keys(userServers).length === 0 ? {} : { mcpServers: userServers },
|
|
191558
|
-
...plugins
|
|
191593
|
+
...plugins,
|
|
191594
|
+
...skillSettings
|
|
191559
191595
|
};
|
|
191560
191596
|
const mcpAllowedTools = input.readOnlySandbox ? CLAUDE_READ_ONLY_T3_MCP_ALLOWED_TOOLS : [CLAUDE_T3_MCP_TOOL_WILDCARD];
|
|
191561
191597
|
return {
|
|
@@ -191569,7 +191605,8 @@ function claudeMcpQueryOverrides(input) {
|
|
|
191569
191605
|
timeout: CLAUDE_T3_MCP_TOOL_TIMEOUT_MS
|
|
191570
191606
|
}
|
|
191571
191607
|
},
|
|
191572
|
-
...plugins
|
|
191608
|
+
...plugins,
|
|
191609
|
+
...skillSettings
|
|
191573
191610
|
};
|
|
191574
191611
|
}
|
|
191575
191612
|
function providerSession$2(input) {
|
|
@@ -191926,6 +191963,7 @@ function claudeRuntimeQueryPolicyKey(policy) {
|
|
|
191926
191963
|
function claudeEffectiveQueryPolicyKey(queryPolicy, mcpOverrides) {
|
|
191927
191964
|
return JSON.stringify({
|
|
191928
191965
|
plugins: mcpOverrides.plugins,
|
|
191966
|
+
skillSettings: mcpOverrides.sdkSettings,
|
|
191929
191967
|
runtimePolicy: claudeRuntimeQueryPolicyKey({
|
|
191930
191968
|
...queryPolicy,
|
|
191931
191969
|
...mcpOverrides.allowedTools === void 0 ? {} : { allowedTools: mcpOverrides.allowedTools }
|
|
@@ -192801,7 +192839,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
192801
192839
|
const { attachmentsDir, fileSystem, path, crypto, idAllocator, queryRunner } = adapterOptions;
|
|
192802
192840
|
const subagentModelCatalog = scopeClaudeModelCatalog(BUNDLED_CLAUDE_MODEL_CATALOG, adapterOptions.settings.customModels);
|
|
192803
192841
|
const continuationRequests = adapterOptions.continuationRequests ?? { offer: () => void_$1 };
|
|
192804
|
-
const userInvocableSkillNames = (cwd) => discoverClaudeSkills(adapterOptions.settings, cwd ?? void 0, adapterOptions.environment).pipe(map$11((
|
|
192842
|
+
const userInvocableSkillNames = (cwd, threadId) => discoverClaudeSkills(adapterOptions.settings, cwd ?? void 0, adapterOptions.environment).pipe(flatMap$1((skills) => readUserMcpRegistry(threadId).pipe(map$11((registry) => new Set(skills.filter((skill) => (registry.skillOverrides?.[skill.name] ?? skill.enabled) && skill.userInvocable !== false).map((skill) => skill.name))))), provideService(FileSystem, fileSystem), provideService(Path$2, path));
|
|
192805
192843
|
return ProviderAdapterV2.of({
|
|
192806
192844
|
instanceId: adapterOptions.instanceId,
|
|
192807
192845
|
driver: CLAUDE_PROVIDER,
|
|
@@ -193050,14 +193088,14 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193050
193088
|
const clearOpaqueBackgroundTaskReplayTombstone = (nativeThreadId, taskId) => clearTaskIdFromNativeThreadSet(opaqueBackgroundTaskReplayTombstonesByNativeThread, nativeThreadId, taskId);
|
|
193051
193089
|
const emitProviderThreadRoster = fnUntraced(function* (input) {
|
|
193052
193090
|
const roster = rosterForNativeThread(yield* get$7(pendingBackgroundTasksByNativeThread), input.nativeThreadId);
|
|
193053
|
-
const now$
|
|
193091
|
+
const now$104 = yield* now;
|
|
193054
193092
|
const providerThread = {
|
|
193055
193093
|
...input.providerThread,
|
|
193056
193094
|
providerSessionId: session.id,
|
|
193057
193095
|
...input.status === void 0 ? {} : { status: input.status },
|
|
193058
193096
|
pendingBackgroundTasks: claudePendingBackgroundTasksFromRoster(roster),
|
|
193059
193097
|
...goalsByNativeThread.has(input.nativeThreadId) ? { goal: goalsByNativeThread.get(input.nativeThreadId) ?? null } : {},
|
|
193060
|
-
updatedAt: now$
|
|
193098
|
+
updatedAt: now$104
|
|
193061
193099
|
};
|
|
193062
193100
|
yield* rememberProviderThread(providerThread);
|
|
193063
193101
|
yield* emitProviderEvent({
|
|
@@ -193335,7 +193373,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193335
193373
|
}).pipe(catch_(() => logWarning$1("orchestration-v2.claude-subagent-launch-lookup-failed", { taskId: resume.taskId }).pipe(as(null))));
|
|
193336
193374
|
if (launchToolUseId === null || launchToolUseId === resume.toolUseId) return;
|
|
193337
193375
|
const ids = claudeSubagentIds(resume.context, resume.taskId);
|
|
193338
|
-
const now$
|
|
193376
|
+
const now$108 = yield* now;
|
|
193339
193377
|
const subagent = {
|
|
193340
193378
|
confirmedOutcome: void 0,
|
|
193341
193379
|
childThread: null,
|
|
@@ -193360,9 +193398,9 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193360
193398
|
model: null,
|
|
193361
193399
|
result: null,
|
|
193362
193400
|
status: "completed",
|
|
193363
|
-
startedAt: now$
|
|
193364
|
-
completedAt: now$
|
|
193365
|
-
updatedAt: now$
|
|
193401
|
+
startedAt: now$108,
|
|
193402
|
+
completedAt: now$108,
|
|
193403
|
+
updatedAt: now$108
|
|
193366
193404
|
},
|
|
193367
193405
|
rootNodeId: resume.context.input.rootNodeId,
|
|
193368
193406
|
childThreadId: ids.childThreadId,
|
|
@@ -193447,7 +193485,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193447
193485
|
const parentThread = input.coordinator.childThread;
|
|
193448
193486
|
const taskId = input.coordinator.task.nativeTaskRef?.nativeId;
|
|
193449
193487
|
if (parentThread === null || taskId === void 0 || taskId === null) return;
|
|
193450
|
-
const now$
|
|
193488
|
+
const now$102 = yield* now;
|
|
193451
193489
|
const seen = yield* get$7(workflowMemberStates);
|
|
193452
193490
|
const transcriptDir = input.workflow.runHandles?.transcriptDir;
|
|
193453
193491
|
for (const member of input.workflow.agents) {
|
|
@@ -193460,9 +193498,9 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193460
193498
|
const model = member.model ?? parentThread.modelSelection.model;
|
|
193461
193499
|
const attempt = member.attempt ?? previous?.attempt ?? 1;
|
|
193462
193500
|
const restarted = previous !== void 0 && attempt > previous.attempt;
|
|
193463
|
-
const createdAt = previous?.createdAt ?? now$
|
|
193464
|
-
const startedAt = status === "pending" ? null : member.startedAt !== void 0 ? makeUnsafe$8(member.startedAt) : (restarted ? null : previous?.startedAt) ?? (status === "running" ? now$
|
|
193465
|
-
const completedAt = settled ? (restarted ? null : previous?.completedAt) ?? now$
|
|
193501
|
+
const createdAt = previous?.createdAt ?? now$102;
|
|
193502
|
+
const startedAt = status === "pending" ? null : member.startedAt !== void 0 ? makeUnsafe$8(member.startedAt) : (restarted ? null : previous?.startedAt) ?? (status === "running" ? now$102 : null);
|
|
193503
|
+
const completedAt = settled ? (restarted ? null : previous?.completedAt) ?? now$102 : null;
|
|
193466
193504
|
const changed = restarted || previous?.status !== status || !equals(previous?.startedAt, startedAt) || previous?.result !== member.result || previous?.label !== member.label || previous?.prompt !== prompt || previous?.model !== model;
|
|
193467
193505
|
const agentId = member.agentId;
|
|
193468
193506
|
const readTranscript = settled && transcriptDir !== void 0 && agentId !== void 0 && (input.coordinator.task.status === "running" ? (restarted ? 0 : previous?.transcriptReadAttempts ?? 0) < 3 : restarted || previous?.finalTranscriptRead !== true);
|
|
@@ -193503,7 +193541,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193503
193541
|
role: "user",
|
|
193504
193542
|
text: prompt,
|
|
193505
193543
|
ordinal: 100,
|
|
193506
|
-
now: now$
|
|
193544
|
+
now: now$102
|
|
193507
193545
|
});
|
|
193508
193546
|
if (restarted && !settled) yield* emitSubagentConversationMessage({
|
|
193509
193547
|
nativeItemId: `${memberKey}:answer:200`,
|
|
@@ -193512,7 +193550,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193512
193550
|
role: "assistant",
|
|
193513
193551
|
text: "Retry in progress.",
|
|
193514
193552
|
ordinal: 200,
|
|
193515
|
-
now: now$
|
|
193553
|
+
now: now$102
|
|
193516
193554
|
});
|
|
193517
193555
|
const task = {
|
|
193518
193556
|
id: nodeId,
|
|
@@ -193537,7 +193575,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193537
193575
|
result: member.result ?? null,
|
|
193538
193576
|
startedAt,
|
|
193539
193577
|
completedAt,
|
|
193540
|
-
updatedAt: now$
|
|
193578
|
+
updatedAt: now$102
|
|
193541
193579
|
};
|
|
193542
193580
|
const nodeBase = {
|
|
193543
193581
|
runId: null,
|
|
@@ -193598,7 +193636,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193598
193636
|
role: "assistant",
|
|
193599
193637
|
text: answer,
|
|
193600
193638
|
ordinal: 200,
|
|
193601
|
-
now: now$
|
|
193639
|
+
now: now$102
|
|
193602
193640
|
});
|
|
193603
193641
|
}
|
|
193604
193642
|
yield* update$4(workflowMemberStates, (current) => new Map(current).set(memberKey, {
|
|
@@ -193644,7 +193682,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193644
193682
|
if (existingSubagent !== void 0 && existingSubagent.task.status !== "running" && input.status === "running" && !isReopen) return;
|
|
193645
193683
|
const resumeToolUseId = input.reopen === true && existingSubagent !== void 0 && input.toolUseId !== void 0 && input.toolUseId !== existingSubagent.runToolUseId && input.prompt !== void 0 ? input.toolUseId : null;
|
|
193646
193684
|
const lifecycleChanged = existingSubagent === void 0 || existingSubagent.task.status !== input.status || input.reopen === true && input.status === "running";
|
|
193647
|
-
const now$
|
|
193685
|
+
const now$103 = yield* now;
|
|
193648
193686
|
const nativeItemId = `task:${input.taskId}`;
|
|
193649
193687
|
const derivedIds = claudeSubagentIds(input.context, input.taskId);
|
|
193650
193688
|
const nodeId = existingSubagent?.task.id ?? derivedIds.nodeId;
|
|
@@ -193686,7 +193724,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193686
193724
|
title: input.title ?? null,
|
|
193687
193725
|
model: input.model ?? null,
|
|
193688
193726
|
result: null,
|
|
193689
|
-
startedAt: now$
|
|
193727
|
+
startedAt: now$103
|
|
193690
193728
|
},
|
|
193691
193729
|
status: input.status,
|
|
193692
193730
|
...input.reopen === true && input.status === "running" && existingSubagent !== void 0 ? { runId: input.context.input.runId } : {},
|
|
@@ -193697,9 +193735,9 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193697
193735
|
...input.progress === void 0 ? {} : { progress: input.progress },
|
|
193698
193736
|
...workflowWithThreads === void 0 ? {} : { workflow: workflowWithThreads },
|
|
193699
193737
|
...input.result === void 0 ? {} : { result: input.result },
|
|
193700
|
-
...isReopen ? { startedAt: now$
|
|
193701
|
-
completedAt: input.status === "running" ? null : priorTask?.completedAt ?? now$
|
|
193702
|
-
updatedAt: now$
|
|
193738
|
+
...isReopen ? { startedAt: now$103 } : {},
|
|
193739
|
+
completedAt: input.status === "running" ? null : priorTask?.completedAt ?? now$103,
|
|
193740
|
+
updatedAt: now$103
|
|
193703
193741
|
};
|
|
193704
193742
|
const subagent = {
|
|
193705
193743
|
task,
|
|
@@ -193753,7 +193791,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193753
193791
|
title: workflowWithThreads === void 0 ? task.title : `Workflow · ${workflowWithThreads.name ?? task.title ?? "Untitled"}`,
|
|
193754
193792
|
ordinal: input.context.subagentsByTaskId.size
|
|
193755
193793
|
}),
|
|
193756
|
-
now: now$
|
|
193794
|
+
now: now$103,
|
|
193757
193795
|
createdBy: "agent",
|
|
193758
193796
|
creationSource: "provider"
|
|
193759
193797
|
});
|
|
@@ -193821,7 +193859,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193821
193859
|
role: "user",
|
|
193822
193860
|
text: task.prompt,
|
|
193823
193861
|
ordinal: existingSubagent === void 0 ? 100 : ++subagent.nextChildItemOrdinal,
|
|
193824
|
-
now: now$
|
|
193862
|
+
now: now$103
|
|
193825
193863
|
});
|
|
193826
193864
|
yield* emitProviderEvent({
|
|
193827
193865
|
type: "subagent.updated",
|
|
@@ -193880,7 +193918,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
193880
193918
|
role: "assistant",
|
|
193881
193919
|
text: input.result,
|
|
193882
193920
|
ordinal: resultItemOrdinal,
|
|
193883
|
-
now: now$
|
|
193921
|
+
now: now$103
|
|
193884
193922
|
});
|
|
193885
193923
|
}
|
|
193886
193924
|
});
|
|
@@ -194186,7 +194224,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194186
194224
|
const block = context.reasoning.blocks.get(update.itemId);
|
|
194187
194225
|
if (block === void 0 || update.text.length === 0) return;
|
|
194188
194226
|
block.text = update.text;
|
|
194189
|
-
const now$
|
|
194227
|
+
const now$109 = yield* now;
|
|
194190
194228
|
yield* emitProviderEvent({
|
|
194191
194229
|
type: "turn_item.updated",
|
|
194192
194230
|
driver: CLAUDE_PROVIDER,
|
|
@@ -194213,8 +194251,8 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194213
194251
|
streaming: !update.completed,
|
|
194214
194252
|
status: update.completed ? "completed" : "running",
|
|
194215
194253
|
startedAt: block.startedAt,
|
|
194216
|
-
completedAt: update.completed ? now$
|
|
194217
|
-
updatedAt: now$
|
|
194254
|
+
completedAt: update.completed ? now$109 : null,
|
|
194255
|
+
updatedAt: now$109
|
|
194218
194256
|
}
|
|
194219
194257
|
});
|
|
194220
194258
|
})
|
|
@@ -194419,7 +194457,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194419
194457
|
const emitAssistantTextArtifacts = fnUntraced(function* (input) {
|
|
194420
194458
|
if (input.context.assistant.emittedNativeItemIds.has(input.nativeItemId)) return;
|
|
194421
194459
|
input.context.assistant.emittedNativeItemIds.add(input.nativeItemId);
|
|
194422
|
-
const now$
|
|
194460
|
+
const now$107 = yield* now;
|
|
194423
194461
|
const ordinal = yield* resolveItemOrdinal(input.context, input.nativeItemId);
|
|
194424
194462
|
const artifacts = buildAssistantArtifacts({
|
|
194425
194463
|
idAllocator,
|
|
@@ -194428,8 +194466,8 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194428
194466
|
nativeItemId: input.nativeItemId,
|
|
194429
194467
|
text: input.text,
|
|
194430
194468
|
ordinal,
|
|
194431
|
-
startedAt: now$
|
|
194432
|
-
completedAt: now$
|
|
194469
|
+
startedAt: now$107,
|
|
194470
|
+
completedAt: now$107
|
|
194433
194471
|
});
|
|
194434
194472
|
yield* all$5([
|
|
194435
194473
|
emitProviderEvent({
|
|
@@ -194514,14 +194552,14 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194514
194552
|
message
|
|
194515
194553
|
});
|
|
194516
194554
|
if (workflow === void 0) return;
|
|
194517
|
-
const now$
|
|
194555
|
+
const now$112 = yield* now;
|
|
194518
194556
|
const progress = text$3(message.description);
|
|
194519
194557
|
const workflowWithThreads = withWorkflowMemberThreadIds(workflow, registered.childThreadId);
|
|
194520
194558
|
const task = {
|
|
194521
194559
|
...registered.task,
|
|
194522
194560
|
...progress === void 0 ? {} : { progress },
|
|
194523
194561
|
workflow: workflowWithThreads,
|
|
194524
|
-
updatedAt: now$
|
|
194562
|
+
updatedAt: now$112
|
|
194525
194563
|
};
|
|
194526
194564
|
const coordinator = {
|
|
194527
194565
|
...registered,
|
|
@@ -194552,7 +194590,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194552
194590
|
const isNewSubagentTaskStarted = message.type === "system" && message.subtype === "task_started" && !isClaudeNonSubagentTask(message);
|
|
194553
194591
|
const isKnownSubagentTaskStarted = message.type === "system" && message.subtype === "task_started" && (yield* get$7(sessionSubagentsByTaskId)).has(message.task_id);
|
|
194554
194592
|
if (isKnownSubagentTaskStarted && message.type === "system" && message.subtype === "task_started") {
|
|
194555
|
-
const now$
|
|
194593
|
+
const now$113 = yield* now;
|
|
194556
194594
|
yield* update$4(sessionSubagentsByTaskId, (current) => {
|
|
194557
194595
|
const registered = current.get(message.task_id);
|
|
194558
194596
|
if (registered === void 0 || registered.task.status === "running") return current;
|
|
@@ -194564,9 +194602,9 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194564
194602
|
...priorTask,
|
|
194565
194603
|
status: "running",
|
|
194566
194604
|
result: null,
|
|
194567
|
-
startedAt: now$
|
|
194605
|
+
startedAt: now$113,
|
|
194568
194606
|
completedAt: null,
|
|
194569
|
-
updatedAt: now$
|
|
194607
|
+
updatedAt: now$113
|
|
194570
194608
|
}
|
|
194571
194609
|
});
|
|
194572
194610
|
});
|
|
@@ -194699,10 +194737,10 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194699
194737
|
if (!rateLimitInfo) return;
|
|
194700
194738
|
const names = adapterOptions.scopedLimitNames ? yield* get$7(adapterOptions.scopedLimitNames) : { overageIncluded: void 0 };
|
|
194701
194739
|
const update = claudeRateLimitEventToUpdate(rateLimitInfo, names);
|
|
194702
|
-
const now$
|
|
194740
|
+
const now$111 = yield* now;
|
|
194703
194741
|
if (update && adapterOptions.onUsageLimits) yield* adapterOptions.onUsageLimits({
|
|
194704
194742
|
...update,
|
|
194705
|
-
checkedAt: formatIso(now$
|
|
194743
|
+
checkedAt: formatIso(now$111)
|
|
194706
194744
|
});
|
|
194707
194745
|
const context = yield* get$7(activeTurn);
|
|
194708
194746
|
if (context === null) {
|
|
@@ -194728,7 +194766,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194728
194766
|
if (!context.announcedUsageLimits.has(limitKey)) {
|
|
194729
194767
|
context.announcedUsageLimits.add(limitKey);
|
|
194730
194768
|
const nativeItemId = `usage-limit:${context.providerTurnId}:${limitKey}`;
|
|
194731
|
-
const notice = describeClaudeUsageLimit(rateLimitInfo, toEpochMillis(now$
|
|
194769
|
+
const notice = describeClaudeUsageLimit(rateLimitInfo, toEpochMillis(now$111), names);
|
|
194732
194770
|
yield* emitProviderEvent({
|
|
194733
194771
|
type: "turn_item.updated",
|
|
194734
194772
|
driver: CLAUDE_PROVIDER,
|
|
@@ -194753,9 +194791,9 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194753
194791
|
status: "completed",
|
|
194754
194792
|
title: notice,
|
|
194755
194793
|
message: notice,
|
|
194756
|
-
startedAt: now$
|
|
194757
|
-
completedAt: now$
|
|
194758
|
-
updatedAt: now$
|
|
194794
|
+
startedAt: now$111,
|
|
194795
|
+
completedAt: now$111,
|
|
194796
|
+
updatedAt: now$111
|
|
194759
194797
|
}
|
|
194760
194798
|
});
|
|
194761
194799
|
}
|
|
@@ -194891,7 +194929,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194891
194929
|
}
|
|
194892
194930
|
}
|
|
194893
194931
|
if (message.type === "system" && message.subtype === "compact_boundary") {
|
|
194894
|
-
const now$
|
|
194932
|
+
const now$101 = yield* now;
|
|
194895
194933
|
const nativeItemId = message.uuid;
|
|
194896
194934
|
const postTokens = message.compact_metadata.post_tokens;
|
|
194897
194935
|
const afterTokenCount = typeof postTokens === "number" && Number.isFinite(postTokens) && postTokens > 0 ? Math.round(postTokens) : void 0;
|
|
@@ -194916,7 +194954,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194916
194954
|
tokenUsage: {
|
|
194917
194955
|
usedTokens: afterTokenCount,
|
|
194918
194956
|
maxTokens: claudeContextWindow(context.input.modelSelection),
|
|
194919
|
-
updatedAt: formatIso(now$
|
|
194957
|
+
updatedAt: formatIso(now$101)
|
|
194920
194958
|
}
|
|
194921
194959
|
}
|
|
194922
194960
|
});
|
|
@@ -194944,9 +194982,9 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194944
194982
|
driver: CLAUDE_PROVIDER,
|
|
194945
194983
|
status: "completed",
|
|
194946
194984
|
title: "Context compacted",
|
|
194947
|
-
startedAt: now$
|
|
194948
|
-
completedAt: now$
|
|
194949
|
-
updatedAt: now$
|
|
194985
|
+
startedAt: now$101,
|
|
194986
|
+
completedAt: now$101,
|
|
194987
|
+
updatedAt: now$101,
|
|
194950
194988
|
...message.compact_metadata.pre_tokens === void 0 ? {} : { beforeTokenCount: message.compact_metadata.pre_tokens },
|
|
194951
194989
|
...afterTokenCount === void 0 ? {} : { afterTokenCount }
|
|
194952
194990
|
}
|
|
@@ -194954,7 +194992,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194954
194992
|
return;
|
|
194955
194993
|
}
|
|
194956
194994
|
if (message.type === "system" && message.subtype === "model_refusal_fallback") {
|
|
194957
|
-
const now$
|
|
194995
|
+
const now$110 = yield* now;
|
|
194958
194996
|
const nativeItemId = message.uuid;
|
|
194959
194997
|
yield* emitProviderEvent({
|
|
194960
194998
|
type: "turn_item.updated",
|
|
@@ -194980,9 +195018,9 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
194980
195018
|
status: "completed",
|
|
194981
195019
|
title: message.content,
|
|
194982
195020
|
message: message.content,
|
|
194983
|
-
startedAt: now$
|
|
194984
|
-
completedAt: now$
|
|
194985
|
-
updatedAt: now$
|
|
195021
|
+
startedAt: now$110,
|
|
195022
|
+
completedAt: now$110,
|
|
195023
|
+
updatedAt: now$110
|
|
194986
195024
|
}
|
|
194987
195025
|
});
|
|
194988
195026
|
return;
|
|
@@ -195029,8 +195067,8 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
195029
195067
|
return;
|
|
195030
195068
|
}
|
|
195031
195069
|
if (message.type === "assistant" && input.replayed !== true) {
|
|
195032
|
-
const now$
|
|
195033
|
-
yield* completeProviderRetry(context, now$
|
|
195070
|
+
const now$114 = yield* now;
|
|
195071
|
+
yield* completeProviderRetry(context, now$114);
|
|
195034
195072
|
if (message.parent_tool_use_id === null && message.message.usage !== void 0 && message.message.model !== "<synthetic>") yield* emitProviderEvent({
|
|
195035
195073
|
type: "provider_turn.updated",
|
|
195036
195074
|
driver: CLAUDE_PROVIDER,
|
|
@@ -195049,7 +195087,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
195049
195087
|
status: "running",
|
|
195050
195088
|
startedAt: context.startedAt,
|
|
195051
195089
|
completedAt: null,
|
|
195052
|
-
tokenUsage: claudeProviderTurnTokenUsage(message.message.usage, context.input.modelSelection, formatIso(now$
|
|
195090
|
+
tokenUsage: claudeProviderTurnTokenUsage(message.message.usage, context.input.modelSelection, formatIso(now$114))
|
|
195053
195091
|
}
|
|
195054
195092
|
});
|
|
195055
195093
|
const parentToolUseId = message.parent_tool_use_id;
|
|
@@ -195299,7 +195337,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
195299
195337
|
const thinking = message.message.content.flatMap((block) => block.type === "thinking" && block.thinking.trim().length > 0 ? [block.thinking] : []);
|
|
195300
195338
|
const subagent = thinking.length === 0 ? void 0 : yield* resolveSubagentByToolUseId(context, assistantParentToolUseId);
|
|
195301
195339
|
if (subagent !== void 0) {
|
|
195302
|
-
const now$
|
|
195340
|
+
const now$105 = yield* now;
|
|
195303
195341
|
for (const [index, text] of thinking.entries()) {
|
|
195304
195342
|
const nativeItemId = `${message.uuid}:thinking:${index}`;
|
|
195305
195343
|
yield* emitProviderEvent({
|
|
@@ -195327,9 +195365,9 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
195327
195365
|
text,
|
|
195328
195366
|
streaming: false,
|
|
195329
195367
|
status: "completed",
|
|
195330
|
-
startedAt: now$
|
|
195331
|
-
completedAt: now$
|
|
195332
|
-
updatedAt: now$
|
|
195368
|
+
startedAt: now$105,
|
|
195369
|
+
completedAt: now$105,
|
|
195370
|
+
updatedAt: now$105
|
|
195333
195371
|
}
|
|
195334
195372
|
});
|
|
195335
195373
|
}
|
|
@@ -195339,7 +195377,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
195339
195377
|
if (assistantText !== null && assistantText.text.length > 0 && assistantParentToolUseId !== null) {
|
|
195340
195378
|
const subagent = yield* resolveSubagentByToolUseId(context, assistantParentToolUseId);
|
|
195341
195379
|
if (subagent === void 0) return;
|
|
195342
|
-
const now$
|
|
195380
|
+
const now$115 = yield* now;
|
|
195343
195381
|
const nativeMessageId = message.type === "assistant" && typeof message.message.id === "string" ? message.message.id : null;
|
|
195344
195382
|
subagent.lastAssistantText = nativeMessageId !== null && nativeMessageId === subagent.lastAssistantMessageId ? `${subagent.lastAssistantText ?? ""}\n${assistantText.text}` : assistantText.text;
|
|
195345
195383
|
subagent.lastAssistantMessageId = nativeMessageId;
|
|
@@ -195350,7 +195388,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
195350
195388
|
role: "assistant",
|
|
195351
195389
|
text: assistantText.text,
|
|
195352
195390
|
ordinal: ++subagent.nextChildItemOrdinal,
|
|
195353
|
-
now: now$
|
|
195391
|
+
now: now$115
|
|
195354
195392
|
});
|
|
195355
195393
|
return;
|
|
195356
195394
|
}
|
|
@@ -195802,6 +195840,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
195802
195840
|
...mcpOverrides.allowedTools === void 0 ? {} : { allowedTools: mcpOverrides.allowedTools },
|
|
195803
195841
|
...mcpOverrides.mcpServers === void 0 ? {} : { mcpServers: mcpOverrides.mcpServers },
|
|
195804
195842
|
...mcpOverrides.plugins === void 0 ? {} : { plugins: mcpOverrides.plugins },
|
|
195843
|
+
...mcpOverrides.sdkSettings === void 0 ? {} : { sdkSettings: mcpOverrides.sdkSettings },
|
|
195805
195844
|
permissionMode: queryPolicy.permissionMode,
|
|
195806
195845
|
...queryPolicy.allowDangerouslySkipPermissions === void 0 ? {} : { allowDangerouslySkipPermissions: queryPolicy.allowDangerouslySkipPermissions },
|
|
195807
195846
|
canUseTool,
|
|
@@ -195928,7 +195967,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
195928
195967
|
attachments: turnInput.message.attachments,
|
|
195929
195968
|
attachmentsDir,
|
|
195930
195969
|
fileSystem,
|
|
195931
|
-
skillNames: yield* userInvocableSkillNames(turnInput.runtimePolicy.cwd),
|
|
195970
|
+
skillNames: yield* userInvocableSkillNames(turnInput.runtimePolicy.cwd, turnInput.threadId),
|
|
195932
195971
|
uuid: promptUuid
|
|
195933
195972
|
});
|
|
195934
195973
|
const querySession = yield* openQuery(turnInput, nativeThreadId);
|
|
@@ -196096,7 +196135,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
196096
196135
|
priority: "now",
|
|
196097
196136
|
attachmentsDir,
|
|
196098
196137
|
fileSystem,
|
|
196099
|
-
skillNames: yield* userInvocableSkillNames(currentTurn.input.runtimePolicy.cwd)
|
|
196138
|
+
skillNames: yield* userInvocableSkillNames(currentTurn.input.runtimePolicy.cwd, currentTurn.input.threadId)
|
|
196100
196139
|
});
|
|
196101
196140
|
yield* update$4(steeredTurns, (current) => {
|
|
196102
196141
|
const next = new Set(current);
|
|
@@ -196282,7 +196321,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
196282
196321
|
});
|
|
196283
196322
|
const nativeThreadId = yield* getNativeThreadId$1(rollbackInput.providerThread);
|
|
196284
196323
|
yield* closeLiveQueryForNativeThread(nativeThreadId);
|
|
196285
|
-
const now$
|
|
196324
|
+
const now$100 = yield* now;
|
|
196286
196325
|
if (rollbackInput.target.type === "thread_start") {
|
|
196287
196326
|
const resetNativeThreadId = yield* queryRunner.allocateSessionId;
|
|
196288
196327
|
return {
|
|
@@ -196295,7 +196334,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
196295
196334
|
providerSessionId: input.providerSessionId,
|
|
196296
196335
|
nativeThreadId: resetNativeThreadId,
|
|
196297
196336
|
...rollbackInput.providerThread.forkedFrom === null ? {} : { forkedFrom: rollbackInput.providerThread.forkedFrom },
|
|
196298
|
-
now: now$
|
|
196337
|
+
now: now$100
|
|
196299
196338
|
}),
|
|
196300
196339
|
handoffIds: rollbackInput.providerThread.handoffIds
|
|
196301
196340
|
},
|
|
@@ -196316,7 +196355,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
196316
196355
|
},
|
|
196317
196356
|
status: "idle",
|
|
196318
196357
|
lastRunOrdinal: rollbackInput.target.appRunOrdinal,
|
|
196319
|
-
updatedAt: now$
|
|
196358
|
+
updatedAt: now$100
|
|
196320
196359
|
},
|
|
196321
196360
|
providerTurns: [],
|
|
196322
196361
|
messages: [],
|
|
@@ -196351,7 +196390,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
196351
196390
|
updated.add(forked.sessionId);
|
|
196352
196391
|
return updated;
|
|
196353
196392
|
});
|
|
196354
|
-
const now$
|
|
196393
|
+
const now$106 = yield* now;
|
|
196355
196394
|
return makeProviderThread$2({
|
|
196356
196395
|
idAllocator,
|
|
196357
196396
|
providerInstanceId: adapterOptions.instanceId,
|
|
@@ -196363,7 +196402,7 @@ const makeClaudeAdapterV2 = fn("makeClaudeAdapterV2")(function* (adapterOptions)
|
|
|
196363
196402
|
providerThreadId: forkInput.sourceProviderThread.id,
|
|
196364
196403
|
...forkInput.providerTurnId === void 0 ? {} : { providerTurnId: forkInput.providerTurnId }
|
|
196365
196404
|
},
|
|
196366
|
-
now: now$
|
|
196405
|
+
now: now$106
|
|
196367
196406
|
});
|
|
196368
196407
|
}, (effect, forkInput) => effect.pipe(mapError((cause) => new ProviderAdapterForkThreadError({
|
|
196369
196408
|
driver: CLAUDE_PROVIDER,
|
|
@@ -251453,7 +251492,12 @@ const OPENCODE_RESTRICTED_PERMISSIONS = [
|
|
|
251453
251492
|
* while shell/network/external access remains gated unless policy explicitly
|
|
251454
251493
|
* allows it.
|
|
251455
251494
|
*/
|
|
251456
|
-
function openCodePermissionRules(runtimePolicy) {
|
|
251495
|
+
function openCodePermissionRules(runtimePolicy, skillOverrides = {}) {
|
|
251496
|
+
const skillRules = Object.entries(skillOverrides).map(([name, enabled]) => ({
|
|
251497
|
+
permission: "skill",
|
|
251498
|
+
pattern: name,
|
|
251499
|
+
action: enabled ? "allow" : "deny"
|
|
251500
|
+
}));
|
|
251457
251501
|
const sandboxPolicy = recordValue(runtimePolicy, "sandboxPolicy");
|
|
251458
251502
|
const sandboxType = recordString$1(sandboxPolicy, "type");
|
|
251459
251503
|
const rawApprovalPolicy = runtimePolicy.approvalPolicy;
|
|
@@ -251466,7 +251510,7 @@ function openCodePermissionRules(runtimePolicy) {
|
|
|
251466
251510
|
permission: "*",
|
|
251467
251511
|
pattern: "*",
|
|
251468
251512
|
action: "allow"
|
|
251469
|
-
}];
|
|
251513
|
+
}, ...skillRules];
|
|
251470
251514
|
const rules = [{
|
|
251471
251515
|
permission: "*",
|
|
251472
251516
|
pattern: "*",
|
|
@@ -251537,7 +251581,7 @@ function openCodePermissionRules(runtimePolicy) {
|
|
|
251537
251581
|
});
|
|
251538
251582
|
}
|
|
251539
251583
|
}
|
|
251540
|
-
return rules;
|
|
251584
|
+
return [...rules, ...skillRules];
|
|
251541
251585
|
}
|
|
251542
251586
|
function permissionRuleEquals(left, right) {
|
|
251543
251587
|
return left.permission === right.permission && left.pattern === right.pattern && left.action === right.action;
|
|
@@ -251548,11 +251592,15 @@ function permissionRuleEquals(left, right) {
|
|
|
251548
251592
|
* tasks. Install the complete parent policy while retaining only rules that
|
|
251549
251593
|
* were added specifically for the selected child agent.
|
|
251550
251594
|
*/
|
|
251551
|
-
function openCodeChildPermissionRules(runtimePolicy, nativeChildRules) {
|
|
251552
|
-
const parentRules = openCodePermissionRules(runtimePolicy);
|
|
251595
|
+
function openCodeChildPermissionRules(runtimePolicy, nativeChildRules, skillOverrides = {}) {
|
|
251596
|
+
const parentRules = openCodePermissionRules(runtimePolicy, skillOverrides);
|
|
251553
251597
|
const inheritedRules = parentRules.filter((rule) => rule.permission === "external_directory" || rule.action === "deny");
|
|
251554
251598
|
const childSpecificRules = nativeChildRules.filter((childRule) => !inheritedRules.some((inheritedRule) => permissionRuleEquals(childRule, inheritedRule)));
|
|
251555
|
-
return [
|
|
251599
|
+
return [
|
|
251600
|
+
...parentRules,
|
|
251601
|
+
...childSpecificRules,
|
|
251602
|
+
...parentRules.filter((rule) => rule.permission === "skill" && Object.hasOwn(skillOverrides, rule.pattern))
|
|
251603
|
+
];
|
|
251556
251604
|
}
|
|
251557
251605
|
/**
|
|
251558
251606
|
* OpenCode's fork/revert boundary is exclusive. To retain the selected app
|
|
@@ -251693,6 +251741,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
251693
251741
|
const idAllocator = yield* IdAllocatorV2;
|
|
251694
251742
|
const host = yield* ProviderHost;
|
|
251695
251743
|
const mcpSessions = yield* McpProviderSessions;
|
|
251744
|
+
const readUserMcpRegistry = yield* makeReader;
|
|
251696
251745
|
const messageIdClock = yield* make$215({
|
|
251697
251746
|
epochMillis: -1,
|
|
251698
251747
|
counter: 0
|
|
@@ -251717,6 +251766,31 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
251717
251766
|
...connection.external && options.settings.serverPassword ? { serverPassword: options.settings.serverPassword } : {}
|
|
251718
251767
|
});
|
|
251719
251768
|
const mcpSession = yield* mcpSessions.read(input.threadId);
|
|
251769
|
+
const userRegistry = yield* readUserMcpRegistry(input.threadId);
|
|
251770
|
+
const userServers = serversForDriver(userRegistry, OPENCODE_PROVIDER);
|
|
251771
|
+
if (connection.external && userServers.length > 0) return yield* new OpenCodeRuntimeError({
|
|
251772
|
+
operation: "mcp.add",
|
|
251773
|
+
detail: "P4-managed MCP servers require a local OpenCode session. Clear the OpenCode server URL to let P4 start an isolated server."
|
|
251774
|
+
});
|
|
251775
|
+
for (const server of userServers) {
|
|
251776
|
+
const transport = server.transport;
|
|
251777
|
+
yield* runOpenCodeSdk("mcp.add", (signal) => client.mcp.add({
|
|
251778
|
+
name: server.name,
|
|
251779
|
+
config: transport.type === "http" ? {
|
|
251780
|
+
type: "remote",
|
|
251781
|
+
url: transport.url,
|
|
251782
|
+
headers: { ...transport.headers },
|
|
251783
|
+
oauth: false
|
|
251784
|
+
} : {
|
|
251785
|
+
type: "local",
|
|
251786
|
+
command: [transport.command, ...transport.args],
|
|
251787
|
+
environment: { ...transport.env }
|
|
251788
|
+
}
|
|
251789
|
+
}, {
|
|
251790
|
+
signal,
|
|
251791
|
+
throwOnError: true
|
|
251792
|
+
}));
|
|
251793
|
+
}
|
|
251720
251794
|
const hasT3Mcp = mcpSession !== void 0 && !connection.external;
|
|
251721
251795
|
const orchestrationSystemPrompt = t3OrchestrationSystemPrompt(hasT3Mcp);
|
|
251722
251796
|
if (hasT3Mcp) yield* runOpenCodeSdk("mcp.add", () => client.mcp.add({
|
|
@@ -251728,7 +251802,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
251728
251802
|
oauth: false
|
|
251729
251803
|
}
|
|
251730
251804
|
}));
|
|
251731
|
-
const now$
|
|
251805
|
+
const now$74 = yield* now;
|
|
251732
251806
|
let sessionEntity = {
|
|
251733
251807
|
id: input.providerSessionId,
|
|
251734
251808
|
driver: OPENCODE_PROVIDER,
|
|
@@ -251737,8 +251811,8 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
251737
251811
|
cwd,
|
|
251738
251812
|
model: input.modelSelection.model,
|
|
251739
251813
|
capabilities: OpenCodeProviderCapabilitiesV2,
|
|
251740
|
-
createdAt: now$
|
|
251741
|
-
updatedAt: now$
|
|
251814
|
+
createdAt: now$74,
|
|
251815
|
+
updatedAt: now$74,
|
|
251742
251816
|
lastError: null
|
|
251743
251817
|
};
|
|
251744
251818
|
const events = yield* unbounded$2();
|
|
@@ -251976,7 +252050,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
251976
252050
|
});
|
|
251977
252051
|
});
|
|
251978
252052
|
const emitSubagent = fnUntraced(function* (state, turn, part) {
|
|
251979
|
-
const now$
|
|
252053
|
+
const now$81 = yield* now;
|
|
251980
252054
|
const nativeItemRef = providerRef$1(part.id);
|
|
251981
252055
|
const nodeId = idAllocator.derive.nodeFromProviderItem({
|
|
251982
252056
|
driver: OPENCODE_PROVIDER,
|
|
@@ -251999,7 +252073,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
251999
252073
|
parentTurn: turn,
|
|
252000
252074
|
prompt,
|
|
252001
252075
|
title,
|
|
252002
|
-
startedAt: toolStartedAt(part, now$
|
|
252076
|
+
startedAt: toolStartedAt(part, now$81),
|
|
252003
252077
|
childSessionId: null,
|
|
252004
252078
|
childThreadId: null,
|
|
252005
252079
|
childProviderThreadId: null,
|
|
@@ -252039,7 +252113,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252039
252113
|
prompt,
|
|
252040
252114
|
ordinal: itemOrdinal(turn, part.id)
|
|
252041
252115
|
}),
|
|
252042
|
-
now: now$
|
|
252116
|
+
now: now$81,
|
|
252043
252117
|
createdBy: "agent",
|
|
252044
252118
|
creationSource: "provider"
|
|
252045
252119
|
});
|
|
@@ -252057,11 +252131,11 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252057
252131
|
lastRunOrdinal: null,
|
|
252058
252132
|
handoffIds: [],
|
|
252059
252133
|
forkedFrom: null,
|
|
252060
|
-
createdAt: now$
|
|
252061
|
-
updatedAt: now$
|
|
252134
|
+
createdAt: now$81,
|
|
252135
|
+
updatedAt: now$81
|
|
252062
252136
|
};
|
|
252063
252137
|
const nativeChildSession = unwrapData("session.get", yield* sdkCall("session.get", { sessionID: childSessionId }, () => client.session.get({ sessionID: childSessionId })));
|
|
252064
|
-
const childPermission = openCodeChildPermissionRules(turn.runtimePolicy, nativeChildSession.permission ?? []);
|
|
252138
|
+
const childPermission = openCodeChildPermissionRules(turn.runtimePolicy, nativeChildSession.permission ?? [], userRegistry.skillOverrides);
|
|
252065
252139
|
yield* sdkCall("session.update", {
|
|
252066
252140
|
sessionID: childSessionId,
|
|
252067
252141
|
permission: childPermission
|
|
@@ -252096,7 +252170,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252096
252170
|
const output = toolOutput(part);
|
|
252097
252171
|
if (part.state.status === "completed" && output !== void 0) context.result = output;
|
|
252098
252172
|
const status = toolStatus(part);
|
|
252099
|
-
const completedAt = toolCompletedAt(part, now$
|
|
252173
|
+
const completedAt = toolCompletedAt(part, now$81);
|
|
252100
252174
|
const subagentStatus = status.item === "failed" ? "failed" : status.item === "completed" ? "completed" : status.item === "pending" ? "pending" : "running";
|
|
252101
252175
|
const subagent = {
|
|
252102
252176
|
id: nodeId,
|
|
@@ -252117,7 +252191,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252117
252191
|
result: context.result,
|
|
252118
252192
|
startedAt: context.startedAt,
|
|
252119
252193
|
completedAt,
|
|
252120
|
-
updatedAt: now$
|
|
252194
|
+
updatedAt: now$81
|
|
252121
252195
|
};
|
|
252122
252196
|
yield* emitProviderEvent({
|
|
252123
252197
|
type: "node.updated",
|
|
@@ -252162,7 +252236,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252162
252236
|
title,
|
|
252163
252237
|
startedAt: context.startedAt,
|
|
252164
252238
|
completedAt,
|
|
252165
|
-
updatedAt: now$
|
|
252239
|
+
updatedAt: now$81,
|
|
252166
252240
|
type: "subagent",
|
|
252167
252241
|
subagentId: nodeId,
|
|
252168
252242
|
origin: "provider_native",
|
|
@@ -252181,10 +252255,10 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252181
252255
|
return;
|
|
252182
252256
|
}
|
|
252183
252257
|
if (normalizedTool === "question") return;
|
|
252184
|
-
const now$
|
|
252258
|
+
const now$73 = yield* now;
|
|
252185
252259
|
const status = toolStatus(part);
|
|
252186
|
-
const startedAt = toolStartedAt(part, now$
|
|
252187
|
-
const completedAt = toolCompletedAt(part, now$
|
|
252260
|
+
const startedAt = toolStartedAt(part, now$73);
|
|
252261
|
+
const completedAt = toolCompletedAt(part, now$73);
|
|
252188
252262
|
const nativeItemRef = providerRef$1(part.id);
|
|
252189
252263
|
const nodeId = idAllocator.derive.nodeFromProviderItem({
|
|
252190
252264
|
driver: OPENCODE_PROVIDER,
|
|
@@ -252207,7 +252281,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252207
252281
|
title: toolTitle$1(part),
|
|
252208
252282
|
startedAt,
|
|
252209
252283
|
completedAt,
|
|
252210
|
-
updatedAt: now$
|
|
252284
|
+
updatedAt: now$73
|
|
252211
252285
|
};
|
|
252212
252286
|
const input = toolInput(part);
|
|
252213
252287
|
const output = toolOutput(part);
|
|
@@ -252267,7 +252341,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252267
252341
|
});
|
|
252268
252342
|
});
|
|
252269
252343
|
const emitTodo = fnUntraced(function* (state, turn, todos) {
|
|
252270
|
-
const now$
|
|
252344
|
+
const now$79 = yield* now;
|
|
252271
252345
|
if (turn.planId === null) turn.planId = yield* idAllocator.allocate.plan({
|
|
252272
252346
|
threadId: turn.threadId,
|
|
252273
252347
|
...turn.runId === null ? {} : { runId: turn.runId },
|
|
@@ -252307,7 +252381,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252307
252381
|
runtimeRequestId: null,
|
|
252308
252382
|
checkpointScopeId: null,
|
|
252309
252383
|
startedAt: turn.startedAt,
|
|
252310
|
-
completedAt: completed ? now$
|
|
252384
|
+
completedAt: completed ? now$79 : null
|
|
252311
252385
|
}
|
|
252312
252386
|
});
|
|
252313
252387
|
yield* emitProviderEvent({
|
|
@@ -252339,8 +252413,8 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252339
252413
|
status: completed ? "completed" : "running",
|
|
252340
252414
|
title: "Todo list",
|
|
252341
252415
|
startedAt: turn.startedAt,
|
|
252342
|
-
completedAt: completed ? now$
|
|
252343
|
-
updatedAt: now$
|
|
252416
|
+
completedAt: completed ? now$79 : null,
|
|
252417
|
+
updatedAt: now$79,
|
|
252344
252418
|
type: "todo_list",
|
|
252345
252419
|
planId,
|
|
252346
252420
|
steps
|
|
@@ -252393,7 +252467,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252393
252467
|
const emitRuntimeRequest = fnUntraced(function* (owner, nativeRequestId, request) {
|
|
252394
252468
|
if (pendingRequestsByNativeId.has(nativeRequestId)) return;
|
|
252395
252469
|
const { state, turn, subagent } = owner;
|
|
252396
|
-
const now$
|
|
252470
|
+
const now$76 = yield* now;
|
|
252397
252471
|
const requestId = yield* idAllocator.allocate.runtimeRequest({
|
|
252398
252472
|
driver: OPENCODE_PROVIDER,
|
|
252399
252473
|
providerTurnId: turn.providerTurnId,
|
|
@@ -252413,7 +252487,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252413
252487
|
parentNodeId: subagent?.nodeId ?? turn.rootNodeId,
|
|
252414
252488
|
turnItemId,
|
|
252415
252489
|
requestKind,
|
|
252416
|
-
createdAt: now$
|
|
252490
|
+
createdAt: now$76,
|
|
252417
252491
|
...request.type === "permission" ? { permission: request.value } : { question: request.value }
|
|
252418
252492
|
};
|
|
252419
252493
|
pendingRequests.set(String(requestId), pending);
|
|
@@ -252429,7 +252503,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252429
252503
|
type: "live",
|
|
252430
252504
|
providerSessionId: inputProviderSessionId
|
|
252431
252505
|
},
|
|
252432
|
-
createdAt: now$
|
|
252506
|
+
createdAt: now$76,
|
|
252433
252507
|
resolvedAt: null
|
|
252434
252508
|
};
|
|
252435
252509
|
state.runtimeRequests.set(String(requestId), runtimeRequest);
|
|
@@ -252450,7 +252524,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252450
252524
|
nativeItemRef: providerRef$1(nativeRequestId),
|
|
252451
252525
|
runtimeRequestId: requestId,
|
|
252452
252526
|
checkpointScopeId: null,
|
|
252453
|
-
startedAt: now$
|
|
252527
|
+
startedAt: now$76,
|
|
252454
252528
|
completedAt: null
|
|
252455
252529
|
}
|
|
252456
252530
|
});
|
|
@@ -252463,20 +252537,20 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252463
252537
|
yield* emitProviderEvent({
|
|
252464
252538
|
type: "turn_item.updated",
|
|
252465
252539
|
driver: OPENCODE_PROVIDER,
|
|
252466
|
-
turnItem: runtimeRequestTurnItem(pending, "waiting", null, now$
|
|
252540
|
+
turnItem: runtimeRequestTurnItem(pending, "waiting", null, now$76)
|
|
252467
252541
|
});
|
|
252468
252542
|
yield* updateProviderSession("waiting", null);
|
|
252469
252543
|
});
|
|
252470
252544
|
const resolveRuntimeRequest = fnUntraced(function* (nativeRequestId, status) {
|
|
252471
252545
|
const pending = pendingRequestsByNativeId.get(nativeRequestId);
|
|
252472
252546
|
if (pending === void 0) return;
|
|
252473
|
-
const now$
|
|
252547
|
+
const now$77 = yield* now;
|
|
252474
252548
|
const current = pending.state.runtimeRequests.get(String(pending.requestId));
|
|
252475
252549
|
if (current !== void 0) {
|
|
252476
252550
|
const resolved = {
|
|
252477
252551
|
...current,
|
|
252478
252552
|
status,
|
|
252479
|
-
resolvedAt: now$
|
|
252553
|
+
resolvedAt: now$77
|
|
252480
252554
|
};
|
|
252481
252555
|
pending.state.runtimeRequests.set(String(pending.requestId), resolved);
|
|
252482
252556
|
yield* emitProviderEvent({
|
|
@@ -252504,13 +252578,13 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252504
252578
|
runtimeRequestId: pending.requestId,
|
|
252505
252579
|
checkpointScopeId: null,
|
|
252506
252580
|
startedAt: pending.createdAt,
|
|
252507
|
-
completedAt: now$
|
|
252581
|
+
completedAt: now$77
|
|
252508
252582
|
}
|
|
252509
252583
|
});
|
|
252510
252584
|
yield* emitProviderEvent({
|
|
252511
252585
|
type: "turn_item.updated",
|
|
252512
252586
|
driver: OPENCODE_PROVIDER,
|
|
252513
|
-
turnItem: runtimeRequestTurnItem(pending, status === "resolved" ? "completed" : "cancelled", now$
|
|
252587
|
+
turnItem: runtimeRequestTurnItem(pending, status === "resolved" ? "completed" : "cancelled", now$77, now$77)
|
|
252514
252588
|
});
|
|
252515
252589
|
pendingRequests.delete(String(pending.requestId));
|
|
252516
252590
|
pendingRequestsByNativeId.delete(nativeRequestId);
|
|
@@ -252667,8 +252741,8 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252667
252741
|
});
|
|
252668
252742
|
const createChildTurn = fnUntraced(function* (state, message) {
|
|
252669
252743
|
if (state.appThread === null || state.parentSubagent === null) return null;
|
|
252670
|
-
const now$
|
|
252671
|
-
const startedAt = dateTimeFromEpoch(message.time.created, now$
|
|
252744
|
+
const now$78 = yield* now;
|
|
252745
|
+
const startedAt = dateTimeFromEpoch(message.time.created, now$78);
|
|
252672
252746
|
const rootNodeId = idAllocator.derive.nodeFromProviderItem({
|
|
252673
252747
|
driver: OPENCODE_PROVIDER,
|
|
252674
252748
|
nativeItemId: `${state.nativeSessionId}:root:${message.id}`
|
|
@@ -252750,7 +252824,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252750
252824
|
return turn;
|
|
252751
252825
|
});
|
|
252752
252826
|
const projectChildUserPart = fnUntraced(function* (state, turn, part) {
|
|
252753
|
-
const now$
|
|
252827
|
+
const now$80 = yield* now;
|
|
252754
252828
|
const messageId = idAllocator.derive.messageFromProviderItem({
|
|
252755
252829
|
driver: OPENCODE_PROVIDER,
|
|
252756
252830
|
nativeItemId: part.messageID
|
|
@@ -252771,7 +252845,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252771
252845
|
attachments: [],
|
|
252772
252846
|
streaming: false,
|
|
252773
252847
|
createdAt: turn.startedAt,
|
|
252774
|
-
updatedAt: now$
|
|
252848
|
+
updatedAt: now$80
|
|
252775
252849
|
};
|
|
252776
252850
|
yield* emitProviderEvent({
|
|
252777
252851
|
type: "message.updated",
|
|
@@ -252796,8 +252870,8 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252796
252870
|
status: "completed",
|
|
252797
252871
|
title: null,
|
|
252798
252872
|
startedAt: projected.createdAt,
|
|
252799
|
-
completedAt: now$
|
|
252800
|
-
updatedAt: now$
|
|
252873
|
+
completedAt: now$80,
|
|
252874
|
+
updatedAt: now$80,
|
|
252801
252875
|
type: "user_message",
|
|
252802
252876
|
messageId,
|
|
252803
252877
|
inputIntent: "turn_start",
|
|
@@ -252809,7 +252883,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252809
252883
|
const emitCompactionItem = fn("OpenCodeAdapterV2.emitCompactionItem")(function* (state, turn) {
|
|
252810
252884
|
const nativeItemId = `${turn.providerTurnId}:compaction`;
|
|
252811
252885
|
if (turn.itemOrdinals.has(nativeItemId)) return;
|
|
252812
|
-
const now$
|
|
252886
|
+
const now$75 = yield* now;
|
|
252813
252887
|
yield* emitProviderEvent({
|
|
252814
252888
|
type: "turn_item.updated",
|
|
252815
252889
|
driver: OPENCODE_PROVIDER,
|
|
@@ -252831,8 +252905,8 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
252831
252905
|
status: "completed",
|
|
252832
252906
|
title: "Context compacted",
|
|
252833
252907
|
startedAt: turn.startedAt,
|
|
252834
|
-
completedAt: now$
|
|
252835
|
-
updatedAt: now$
|
|
252908
|
+
completedAt: now$75,
|
|
252909
|
+
updatedAt: now$75
|
|
252836
252910
|
}
|
|
252837
252911
|
});
|
|
252838
252912
|
});
|
|
@@ -253236,7 +253310,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
253236
253310
|
hasPendingBackgroundWork: sync$1(() => busySessionIds.size > 0),
|
|
253237
253311
|
ensureThread: (threadInput) => gen$1(function* () {
|
|
253238
253312
|
if (threadInput.existingProviderThread?.nativeThreadRef != null) return yield* runtimeSession.resumeThread({ providerThread: threadInput.existingProviderThread });
|
|
253239
|
-
const nativeSession = unwrapData("session.create", yield* sdkCall("session.create", { permission: openCodePermissionRules(threadInput.runtimePolicy) }, () => client.session.create({ permission: openCodePermissionRules(threadInput.runtimePolicy) })));
|
|
253313
|
+
const nativeSession = unwrapData("session.create", yield* sdkCall("session.create", { permission: openCodePermissionRules(threadInput.runtimePolicy, userRegistry.skillOverrides) }, () => client.session.create({ permission: openCodePermissionRules(threadInput.runtimePolicy, userRegistry.skillOverrides) })));
|
|
253240
253314
|
const createdAt = yield* now;
|
|
253241
253315
|
const created = makeProviderThread({
|
|
253242
253316
|
idAllocator,
|
|
@@ -253264,6 +253338,10 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
253264
253338
|
}))),
|
|
253265
253339
|
resumeThread: (threadInput) => gen$1(function* () {
|
|
253266
253340
|
const sessionId = nativeThreadId(threadInput.providerThread);
|
|
253341
|
+
yield* sdkCall("session.update", { sessionID: sessionId }, () => client.session.update({
|
|
253342
|
+
sessionID: sessionId,
|
|
253343
|
+
permission: openCodePermissionRules(input.runtimePolicy, userRegistry.skillOverrides)
|
|
253344
|
+
}));
|
|
253267
253345
|
const nativeSession = unwrapData("session.get", yield* sdkCall("session.get", { sessionID: sessionId }, () => client.session.get({ sessionID: sessionId })));
|
|
253268
253346
|
const resumedAt = yield* now;
|
|
253269
253347
|
const providerThread = {
|
|
@@ -253542,7 +253620,7 @@ const makeOpenCodeAdapterV2 = fn("makeOpenCodeAdapterV2")(function* (options) {
|
|
|
253542
253620
|
if (unwrapData("session.messages", yield* sdkCall("session.messages", { sessionID: fork.id }, () => client.session.messages({ sessionID: fork.id }))).length !== boundaryIndex) return yield* protocolError("OpenCode did not preserve the requested rewind boundary.");
|
|
253543
253621
|
yield* sdkCall("session.update", { sessionID: fork.id }, () => client.session.update({
|
|
253544
253622
|
sessionID: fork.id,
|
|
253545
|
-
permission: openCodePermissionRules(input.runtimePolicy)
|
|
253623
|
+
permission: openCodePermissionRules(input.runtimePolicy, userRegistry.skillOverrides)
|
|
253546
253624
|
}));
|
|
253547
253625
|
retainedThread = {
|
|
253548
253626
|
...rollbackInput.providerThread,
|
|
@@ -259933,6 +260011,7 @@ const makeMuseAdapterV2 = fn("makeMuseAdapterV2")(function* (options) {
|
|
|
259933
260011
|
const providerHost = yield* ProviderHost;
|
|
259934
260012
|
const fileSystem = yield* FileSystem;
|
|
259935
260013
|
const mcpSessions = yield* McpProviderSessions;
|
|
260014
|
+
const readUserMcpRegistry = yield* makeReader;
|
|
259936
260015
|
const agentScope = yield* AgentScope;
|
|
259937
260016
|
const protocolError = (detail, payload) => new ProviderAdapterProtocolError({
|
|
259938
260017
|
driver: MUSE_PROVIDER,
|
|
@@ -261148,13 +261227,29 @@ const makeMuseAdapterV2 = fn("makeMuseAdapterV2")(function* (options) {
|
|
|
261148
261227
|
return yield* gen$1(function* () {
|
|
261149
261228
|
nativeSessionId = requestedId ?? host.connection.mintCommandId();
|
|
261150
261229
|
const mcpSession = yield* mcpSessions.read(args.threadId);
|
|
261151
|
-
|
|
261152
|
-
|
|
261230
|
+
const userServers = serversForDriver(yield* readUserMcpRegistry(args.threadId), MUSE_PROVIDER);
|
|
261231
|
+
if ((mcpSession || userServers.length > 0) && !host.initializeResult.grantedCapabilities.includes("sessionMcp")) return yield* protocolError("Update Muse Code to a version that supports session MCP servers");
|
|
261232
|
+
const mcpServers = Object.fromEntries(userServers.map(({ name, transport }) => [name, transport.type === "http" ? {
|
|
261153
261233
|
transport: "streamableHttp",
|
|
261154
261234
|
mode: "optional",
|
|
261155
|
-
url:
|
|
261156
|
-
headers: {
|
|
261157
|
-
}
|
|
261235
|
+
url: transport.url,
|
|
261236
|
+
headers: { ...transport.headers }
|
|
261237
|
+
} : {
|
|
261238
|
+
transport: "stdio",
|
|
261239
|
+
mode: "optional",
|
|
261240
|
+
command: transport.command,
|
|
261241
|
+
args: [...transport.args],
|
|
261242
|
+
env: { ...transport.env }
|
|
261243
|
+
}]));
|
|
261244
|
+
const config = mcpSession || userServers.length > 0 ? { mcpServers: {
|
|
261245
|
+
...mcpServers,
|
|
261246
|
+
...mcpSession ? { "t3-code": {
|
|
261247
|
+
transport: "streamableHttp",
|
|
261248
|
+
mode: "optional",
|
|
261249
|
+
url: mcpSession.endpoint,
|
|
261250
|
+
headers: { Authorization: mcpSession.authorizationHeader }
|
|
261251
|
+
} } : {}
|
|
261252
|
+
} } : void 0;
|
|
261158
261253
|
const startModel = yield* resolveModel(args.modelSelection);
|
|
261159
261254
|
const permissionProfile = musePermissionProfile(args.runtimePolicy.runtimeMode);
|
|
261160
261255
|
const result = yield* request(requestedId ? "session/resume" : "session/start", requestedId ? {
|
|
@@ -262222,6 +262317,7 @@ const makePiRpcConnection = fnUntraced(function* (options) {
|
|
|
262222
262317
|
* `@earendil-works/pi-coding-agent` and `typebox` from the user's pi install.
|
|
262223
262318
|
*/
|
|
262224
262319
|
const PI_T3_MCP_EXTENSION_FILENAME = "pi-t3-mcp-extension.ts";
|
|
262320
|
+
const T3_PI_USER_MCP_ENV = "T3_PI_USER_MCP_SERVERS";
|
|
262225
262321
|
const T3_MCP_URL_ENV = "T3_MCP_URL";
|
|
262226
262322
|
const T3_MCP_BEARER_ENV = "T3_MCP_BEARER_TOKEN";
|
|
262227
262323
|
const T3_PI_RUNTIME_MODE_ENV = "T3_PI_RUNTIME_MODE";
|
|
@@ -262237,6 +262333,7 @@ import * as NodeFSP from "node:fs/promises";
|
|
|
262237
262333
|
import * as NodePath from "node:path";
|
|
262238
262334
|
import { Type } from "typebox";
|
|
262239
262335
|
|
|
262336
|
+
const USER_MCP_ENV = ${JSON.stringify(T3_PI_USER_MCP_ENV)};
|
|
262240
262337
|
const URL_ENV = ${JSON.stringify(T3_MCP_URL_ENV)};
|
|
262241
262338
|
const TOKEN_ENV = ${JSON.stringify(T3_MCP_BEARER_ENV)};
|
|
262242
262339
|
const RUNTIME_MODE_ENV = ${JSON.stringify(T3_PI_RUNTIME_MODE_ENV)};
|
|
@@ -262547,6 +262644,12 @@ export default async function t3McpExtension(pi: ExtensionAPI) {
|
|
|
262547
262644
|
}
|
|
262548
262645
|
});
|
|
262549
262646
|
|
|
262647
|
+
const userServers = JSON.parse(env(USER_MCP_ENV) ?? "{}") as Record<string, Parameters<ExtensionAPI["registerMcpServer"]>[1]>;
|
|
262648
|
+
if (Object.keys(userServers).length > 0) {
|
|
262649
|
+
if (typeof pi.registerMcpServer !== "function") throw new Error("Update Pi to 0.99 or later to use P4 MCP servers.");
|
|
262650
|
+
for (const [name, config] of Object.entries(userServers)) pi.registerMcpServer(name, config);
|
|
262651
|
+
}
|
|
262652
|
+
|
|
262550
262653
|
const endpoint = env(URL_ENV);
|
|
262551
262654
|
const token = env(TOKEN_ENV);
|
|
262552
262655
|
if (endpoint === undefined || token === undefined) {
|
|
@@ -262871,6 +262974,17 @@ function buildPiRpcLaunch(input) {
|
|
|
262871
262974
|
];
|
|
262872
262975
|
if (hasT3Extension && input.extensionPath !== void 0 && !hasExplicitExtension(args, input.extensionPath)) args.push("--extension", input.extensionPath);
|
|
262873
262976
|
const environment = { ...input.environment };
|
|
262977
|
+
delete environment[T3_PI_USER_MCP_ENV];
|
|
262978
|
+
if (hasT3Extension && input.userMcpServers?.length && input.userMcpNamespace) environment[T3_PI_USER_MCP_ENV] = JSON.stringify(Object.fromEntries(input.userMcpServers.map(({ name, transport }) => [`p4_${input.userMcpNamespace}_${name}`, transport.type === "http" ? {
|
|
262979
|
+
url: transport.url,
|
|
262980
|
+
headers: transport.headers,
|
|
262981
|
+
oauth: false
|
|
262982
|
+
} : {
|
|
262983
|
+
command: transport.command,
|
|
262984
|
+
args: transport.args,
|
|
262985
|
+
env: transport.env,
|
|
262986
|
+
...transport.cwd === void 0 ? {} : { cwd: transport.cwd }
|
|
262987
|
+
}])));
|
|
262874
262988
|
delete environment[T3_MCP_URL_ENV];
|
|
262875
262989
|
delete environment[T3_MCP_BEARER_ENV];
|
|
262876
262990
|
delete environment[T3_PI_MCP_EXTENSION_PATH_ENV];
|
|
@@ -263286,6 +263400,7 @@ const makePiAdapterV2 = fn("makePiAdapterV2")(function* (options) {
|
|
|
263286
263400
|
const idAllocator = yield* IdAllocatorV2;
|
|
263287
263401
|
const host = yield* ProviderHost;
|
|
263288
263402
|
const mcpSessions = yield* McpProviderSessions;
|
|
263403
|
+
const readUserMcpRegistry = yield* makeReader;
|
|
263289
263404
|
const { continuationRequests } = options;
|
|
263290
263405
|
const protocolError = (detail, payload) => new ProviderAdapterProtocolError({
|
|
263291
263406
|
driver: PI_PROVIDER,
|
|
@@ -263313,6 +263428,8 @@ const makePiAdapterV2 = fn("makePiAdapterV2")(function* (options) {
|
|
|
263313
263428
|
launchArgs: resolvedLaunchArgs.args,
|
|
263314
263429
|
environment: options.environment,
|
|
263315
263430
|
mcpSession,
|
|
263431
|
+
userMcpServers: serversForDriver(yield* readUserMcpRegistry(input.threadId), PI_PROVIDER),
|
|
263432
|
+
userMcpNamespace: input.providerSessionId.replace(/[^a-zA-Z0-9_]/g, "_"),
|
|
263316
263433
|
extensionPath,
|
|
263317
263434
|
runtimeMode: input.runtimePolicy.runtimeMode
|
|
263318
263435
|
});
|
|
@@ -286079,12 +286196,18 @@ const resolveUserMcpRegistry = (settings, projectId, accessTokens) => {
|
|
|
286079
286196
|
}
|
|
286080
286197
|
});
|
|
286081
286198
|
}
|
|
286199
|
+
const plugins = Object.entries(settings.plugins).filter(([id]) => resolveRegistryEntryEnabled(settings, "plugins", projectId, id)).map(([, plugin]) => ({
|
|
286200
|
+
name: plugin.name,
|
|
286201
|
+
path: plugin.path
|
|
286202
|
+
}));
|
|
286203
|
+
const skillOverrides = {
|
|
286204
|
+
...settings.skillOverrides,
|
|
286205
|
+
...projectId === null ? {} : settings.projectSettingsOverrides[projectId]?.skillOverrides
|
|
286206
|
+
};
|
|
286082
286207
|
return {
|
|
286083
286208
|
servers,
|
|
286084
|
-
plugins
|
|
286085
|
-
|
|
286086
|
-
path: plugin.path
|
|
286087
|
-
}))
|
|
286209
|
+
plugins,
|
|
286210
|
+
...Object.keys(skillOverrides).length ? { skillOverrides } : {}
|
|
286088
286211
|
};
|
|
286089
286212
|
};
|
|
286090
286213
|
/** First line of a failure, bounded, for the settings page. Never a header or env value. */
|
|
@@ -286144,6 +286267,7 @@ var McpRegistry = class extends Service$3()("@p4code/cli/mcp/McpRegistry") {};
|
|
|
286144
286267
|
const make$76 = gen$1(function* () {
|
|
286145
286268
|
const settingsService = yield* ServerSettingsService;
|
|
286146
286269
|
const oauth = yield* McpClientOAuth;
|
|
286270
|
+
const self = yield* resolveSelfInvocation();
|
|
286147
286271
|
const health = /* @__PURE__ */ new Map();
|
|
286148
286272
|
const getSettings = settingsService.getSettings.pipe(mapError((cause) => new McpRegistrySettingsError({ cause })));
|
|
286149
286273
|
const accessTokenFor = (id, server) => server.transport.type === "http" && server.transport.auth === "oauth" ? oauth.accessToken({
|
|
@@ -286158,7 +286282,14 @@ const make$76 = gen$1(function* () {
|
|
|
286158
286282
|
const token = yield* accessTokenFor(id, server).pipe(timeoutOption(TOKEN_REFRESH_TIMEOUT), map$11(flatten));
|
|
286159
286283
|
if (isSome(token)) tokens.set(id, token.value);
|
|
286160
286284
|
}
|
|
286161
|
-
|
|
286285
|
+
const registry = resolveUserMcpRegistry(settings, projectId, tokens);
|
|
286286
|
+
return {
|
|
286287
|
+
...registry,
|
|
286288
|
+
servers: registry.servers.map((server) => ({
|
|
286289
|
+
...server,
|
|
286290
|
+
transport: server.transport.type === "stdio" ? withStdioWorkingDirectory(server.transport, self) : server.transport
|
|
286291
|
+
}))
|
|
286292
|
+
};
|
|
286162
286293
|
}).pipe(catch_((error) => logWarning$1("failed to resolve the MCP registry", { cause: error }).pipe(as({
|
|
286163
286294
|
servers: [],
|
|
286164
286295
|
plugins: []
|
|
@@ -325291,7 +325422,6 @@ const summarize = (transport) => {
|
|
|
325291
325422
|
const command = transport.command.split(/[\\/]/).at(-1) ?? transport.command;
|
|
325292
325423
|
return transport.args[0] && !transport.args[0].startsWith("-") ? `${command} ${transport.args[0]}`.slice(0, 120) : command;
|
|
325293
325424
|
};
|
|
325294
|
-
const sameTarget = (a, b) => a.type === "http" && b.type === "http" ? a.url === b.url : a.type === "stdio" && b.type === "stdio" && a.command === b.command && a.args.join("\0") === b.args.join("\0");
|
|
325295
325425
|
var McpConfigDiscovery = class extends Service$3()("@p4code/cli/mcp/McpConfigDiscovery") {};
|
|
325296
325426
|
const make$21 = gen$1(function* () {
|
|
325297
325427
|
const fileSystem = yield* FileSystem;
|
|
@@ -325301,6 +325431,7 @@ const make$21 = gen$1(function* () {
|
|
|
325301
325431
|
const settingsService = yield* ServerSettingsService;
|
|
325302
325432
|
const projects = yield* serviceOption(ProjectService);
|
|
325303
325433
|
const home = OS.homedir();
|
|
325434
|
+
const importLock = yield* make$259(1);
|
|
325304
325435
|
const readJson = (file) => fileSystem.readFileString(file).pipe(option$1, map$11(flatMap$2(decodeJson)));
|
|
325305
325436
|
const fromJsonServers = (provider, file, servers) => isRecord(servers) ? Object.entries(servers).flatMap(([name, entry]) => {
|
|
325306
325437
|
const transport = transportFromJsonEntry(entry);
|
|
@@ -325362,7 +325493,17 @@ const make$21 = gen$1(function* () {
|
|
|
325362
325493
|
if (isSome(json) && isRecord(json.value)) results.push(...fromJsonServers(provider, file, json.value.mcpServers));
|
|
325363
325494
|
}
|
|
325364
325495
|
results.push(...yield* codexServers(root ?? home));
|
|
325365
|
-
return results
|
|
325496
|
+
return results.map((server) => {
|
|
325497
|
+
const transport = server.transport;
|
|
325498
|
+
if (server.provider === "codex" || transport.type !== "http" || transport.auth !== "none" || Object.keys(transport.headers).length > 0) return server;
|
|
325499
|
+
return results.some((other) => other.provider === "codex" && other.transport.type === "http" && other.transport.url === transport.url && other.transport.auth === "oauth" && Object.keys(other.transport.headers).length === 0) ? {
|
|
325500
|
+
...server,
|
|
325501
|
+
transport: {
|
|
325502
|
+
...transport,
|
|
325503
|
+
auth: "oauth"
|
|
325504
|
+
}
|
|
325505
|
+
} : server;
|
|
325506
|
+
});
|
|
325366
325507
|
});
|
|
325367
325508
|
const discover = (projectId) => gen$1(function* () {
|
|
325368
325509
|
const settings = yield* settingsService.getSettings.pipe(option$1);
|
|
@@ -325370,13 +325511,24 @@ const make$21 = gen$1(function* () {
|
|
|
325370
325511
|
onNone: () => [],
|
|
325371
325512
|
onSome: (value) => Object.values(value.mcpServers)
|
|
325372
325513
|
});
|
|
325373
|
-
|
|
325514
|
+
const groups = [];
|
|
325515
|
+
for (const server of yield* found(projectId)) {
|
|
325516
|
+
const group = groups.find((entry) => NodeUtil.isDeepStrictEqual(entry.server.transport, server.transport));
|
|
325517
|
+
if (group) {
|
|
325518
|
+
if (!group.providers.includes(server.provider)) group.providers.push(server.provider);
|
|
325519
|
+
} else groups.push({
|
|
325520
|
+
server,
|
|
325521
|
+
providers: [server.provider]
|
|
325522
|
+
});
|
|
325523
|
+
}
|
|
325524
|
+
return groups.map(({ server, providers }) => ({
|
|
325374
325525
|
provider: server.provider,
|
|
325526
|
+
providers,
|
|
325375
325527
|
path: server.path,
|
|
325376
325528
|
name: server.name,
|
|
325377
325529
|
type: server.transport.type,
|
|
325378
325530
|
summary: summarize(server.transport),
|
|
325379
|
-
alreadyAdded: registry.some((entry) =>
|
|
325531
|
+
alreadyAdded: registry.some((entry) => NodeUtil.isDeepStrictEqual(entry.transport, server.transport))
|
|
325380
325532
|
}));
|
|
325381
325533
|
});
|
|
325382
325534
|
const importServers = (input) => gen$1(function* () {
|
|
@@ -325387,12 +325539,19 @@ const make$21 = gen$1(function* () {
|
|
|
325387
325539
|
})));
|
|
325388
325540
|
const taken = new Set(Object.values(settings.mcpServers).map((server) => server.name));
|
|
325389
325541
|
const patch = {};
|
|
325542
|
+
const imported = /* @__PURE__ */ new Set();
|
|
325390
325543
|
for (const wanted of input.servers) {
|
|
325391
325544
|
const source = available.find((server) => server.provider === wanted.provider && server.path === wanted.path && server.name === wanted.name);
|
|
325392
325545
|
if (source === void 0) return yield* new McpImportError({ reason: "not-found" });
|
|
325546
|
+
const existing = [...Object.entries(settings.mcpServers), ...Object.entries(patch)].find(([, server]) => NodeUtil.isDeepStrictEqual(server.transport, source.transport));
|
|
325547
|
+
if (existing) {
|
|
325548
|
+
imported.add(McpServerId.make(existing[0]));
|
|
325549
|
+
continue;
|
|
325550
|
+
}
|
|
325393
325551
|
const name = registryNameFor(source.name, taken);
|
|
325394
325552
|
taken.add(name);
|
|
325395
325553
|
const id = McpServerId.make(yield* crypto.randomUUIDv4().pipe(orDie));
|
|
325554
|
+
imported.add(id);
|
|
325396
325555
|
patch[id] = {
|
|
325397
325556
|
name,
|
|
325398
325557
|
enabled: true,
|
|
@@ -325404,12 +325563,12 @@ const make$21 = gen$1(function* () {
|
|
|
325404
325563
|
}
|
|
325405
325564
|
};
|
|
325406
325565
|
}
|
|
325407
|
-
yield* settingsService.updateSettings({ mcpServers: patch }).pipe(mapError((cause) => new McpImportError({
|
|
325566
|
+
if (Object.keys(patch).length > 0) yield* settingsService.updateSettings({ mcpServers: patch }).pipe(mapError((cause) => new McpImportError({
|
|
325408
325567
|
reason: "settings",
|
|
325409
325568
|
cause
|
|
325410
325569
|
})));
|
|
325411
|
-
return
|
|
325412
|
-
});
|
|
325570
|
+
return [...imported];
|
|
325571
|
+
}).pipe(importLock.withPermits(1));
|
|
325413
325572
|
return McpConfigDiscovery.of({
|
|
325414
325573
|
discover,
|
|
325415
325574
|
import: importServers
|
|
@@ -345971,4 +346130,4 @@ function runCli() {
|
|
|
345971
346130
|
//#endregion
|
|
345972
346131
|
export { runCli };
|
|
345973
346132
|
|
|
345974
|
-
//# sourceMappingURL=binCli-
|
|
346133
|
+
//# sourceMappingURL=binCli-Bgjc_5FL.mjs.map
|