ryco-cli 0.1.25 → 0.1.26
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/{GrokDriver-CduUwiOH.mjs → AcpAdapter-BemMQNbj.mjs} +102 -604
- package/dist/{GrokDriver-D0jraOC_.cjs → AcpAdapter-CadxcdZV.cjs} +129 -612
- package/dist/AcpNativeLogging-BsbZRRD7.mjs +312 -0
- package/dist/AcpNativeLogging-DZPZNoju.cjs +383 -0
- package/dist/AcpRegistryDriver-BfCPf8FX.cjs +222 -0
- package/dist/AcpRegistryDriver-BpXCjh9I.mjs +221 -0
- package/dist/{AzureDevOpsSourceControlProvider-COmd21c-.cjs → AzureDevOpsSourceControlProvider-B9N_8NJg.cjs} +14 -14
- package/dist/{AzureDevOpsSourceControlProvider-B_E0XXfD.mjs → AzureDevOpsSourceControlProvider-BcQO_CyW.mjs} +3 -3
- package/dist/{BitbucketSourceControlProvider-pUKsNXcg.mjs → BitbucketSourceControlProvider-BTUY2ZT8.mjs} +3 -3
- package/dist/{BitbucketSourceControlProvider-CD8IvXQK.cjs → BitbucketSourceControlProvider-C9WuwvY2.cjs} +14 -14
- package/dist/{BunPTY-TbHbSc8S.mjs → BunPTY-DdnqQAdw.mjs} +1 -1
- package/dist/{ClaudeDriver-Dry5uJfX.cjs → ClaudeDriver-BSTxNNGO.cjs} +162 -126
- package/dist/{ClaudeDriver-CGifBixr.mjs → ClaudeDriver-Csnp78qR.mjs} +129 -93
- package/dist/{CodexDriver-BzR8gA8w.cjs → CodexDriver-BK4HVNV4.cjs} +145 -60
- package/dist/{CodexDriver-V4CL9APE.mjs → CodexDriver-fwcV84hX.mjs} +99 -14
- package/dist/{CodexTextGeneration-DTrSzY-I.cjs → CodexTextGeneration-Y2GSS7f1.cjs} +145 -99
- package/dist/{CodexTextGeneration-DoCidwvI.mjs → CodexTextGeneration-_4aT5BHa.mjs} +141 -95
- package/dist/{CopilotDriver-Dt13X60f.mjs → CopilotDriver-B12ZJ-L_.mjs} +69 -7
- package/dist/{CopilotDriver-rLcA8PSN.cjs → CopilotDriver-C7IyIwVW.cjs} +98 -36
- package/dist/{CursorDriver-C3s-8s9F.cjs → CursorDriver-BWmCfJ-w.cjs} +38 -32
- package/dist/{CursorDriver-HIPUs7cz.mjs → CursorDriver-C_p0v-ul.mjs} +12 -6
- package/dist/{ForgejoSourceControlProvider-JgiyrMqp.cjs → ForgejoSourceControlProvider-DTRrllIH.cjs} +14 -14
- package/dist/{ForgejoSourceControlProvider-CmvOAzEG.mjs → ForgejoSourceControlProvider-DmOGJEaJ.mjs} +3 -3
- package/dist/{GitHubSourceControlProvider-CItCpOcC.cjs → GitHubSourceControlProvider-D-YV8WP6.cjs} +16 -17
- package/dist/{GitHubSourceControlProvider-BYuvbcBf.mjs → GitHubSourceControlProvider-sQGcwnr3.mjs} +6 -7
- package/dist/{GitLabSourceControlProvider-CMce22nU.cjs → GitLabSourceControlProvider-kKYYnpER.cjs} +14 -14
- package/dist/{GitLabSourceControlProvider-DZzEaVSi.mjs → GitLabSourceControlProvider-mIl-K-4F.mjs} +3 -3
- package/dist/GrokDriver-BFOniP_K.cjs +567 -0
- package/dist/GrokDriver-CDcWkiAi.mjs +552 -0
- package/dist/{Metrics-a1h4iBQi.mjs → Metrics-C-3MahDy.mjs} +1 -107
- package/dist/{Metrics-Bcb9vCAe.cjs → Metrics-DCKbdeoH.cjs} +0 -168
- package/dist/{NodePTY-B_p5tLYO.mjs → NodePTY-DArvQ9bX.mjs} +1 -1
- package/dist/{OpenCodeDriver-DxGpgtDS.cjs → OpenCodeDriver-CckbFEQJ.cjs} +459 -141
- package/dist/{OpenCodeDriver-Bz_uJdMA.mjs → OpenCodeDriver-CnWJHyDJ.mjs} +430 -112
- package/dist/SideQuestionIsolation-5eGFRW0t.mjs +26 -0
- package/dist/SideQuestionIsolation-DvVKZWxi.cjs +37 -0
- package/dist/{SourceControlProviderDiscoveryCatalog-ZtwPWoxE.mjs → SourceControlProviderDiscoveryCatalog-BVvq7liJ.mjs} +2 -1
- package/dist/{SourceControlProviderDiscoveryCatalog-Dm_lhrhv.cjs → SourceControlProviderDiscoveryCatalog-CyUhKJLD.cjs} +6 -5
- package/dist/bin.cjs +12537 -3029
- package/dist/bin.mjs +10444 -965
- package/dist/client/assets/AccountSettings-DLbcE2w-.js +1 -0
- package/dist/client/assets/Adobe-CNS1-UCS2-fO900upv.bcmap +0 -0
- package/dist/client/assets/Adobe-GB1-UCS2-BA083yIo.bcmap +0 -0
- package/dist/client/assets/Adobe-Japan1-UCS2-BL-4M2vS.bcmap +0 -0
- package/dist/client/assets/Adobe-Korea1-UCS2-BEQZuOdo.bcmap +0 -0
- package/dist/client/assets/AiFocusSettings-FKvdkl4P.js +1 -0
- package/dist/client/assets/{AnimatedHeight-DPqb09B0.js → AnimatedHeight-CbIEyMLg.js} +1 -1
- package/dist/client/assets/AppearanceSettings-B2LsGKmL.js +1 -0
- package/dist/client/assets/{BranchToolbar.logic-CHRK3hDt.js → BranchToolbar.logic-BqkvYNPk.js} +1 -1
- package/dist/client/assets/{BrowserPanel-2Xu08il5.js → BrowserPanel-C_C4zjrh.js} +1 -1
- package/dist/client/assets/ChatRightPanel-ibiQ79jI.js +195 -0
- package/dist/client/assets/{ChatThreadRouteView-CNww3i2J.js → ChatThreadRouteView-c7AXmbSk.js} +1 -1
- package/dist/client/assets/CommandPaletteDialog-DdPKN6rv.js +1 -0
- package/dist/client/assets/CompositeRoot-DKwS-ADi.js +1 -0
- package/dist/client/assets/{ComputerUseSettings-BJs7jqR0.js → ComputerUseSettings-DM17BYP5.js} +1 -1
- package/dist/client/assets/ConnectionsSettings-D6wysIC8.js +7 -0
- package/dist/client/assets/ContextHandoffEndpointLabel-CsF_maM_.js +4 -0
- package/dist/client/assets/{DiagnosticsSettings-BmrqOKMe.js → DiagnosticsSettings-Bq2l-C4J.js} +2 -2
- package/dist/client/assets/{DialogHandle-pelzaaiH.js → DialogHandle-DuKTleCw.js} +1 -1
- package/dist/client/assets/{DialogPopup-BLM0vN4N.js → DialogPopup-Dt7DzTWv.js} +1 -1
- package/dist/client/assets/DialogRoot-DRyawL6l.js +1 -0
- package/dist/client/assets/{DialogTitle-BvIjMtMm.js → DialogTitle-BaxfPC6e.js} +1 -1
- package/dist/client/assets/DialogTrigger-D0PJ8bRT.js +1 -0
- package/dist/client/assets/{DialogViewport-Cz0OadGI.js → DialogViewport-C3B2JZWQ.js} +1 -1
- package/dist/client/assets/DraftChatThreadRouteView-B8YiD5NP.js +1 -0
- package/dist/client/assets/ETHK-B5-H-1MLb5v9x.bcmap +0 -0
- package/dist/client/assets/{ExternalIdentityWeb.logic-3rlDV7lT.js → ExternalIdentityWeb.logic-CrcNfdHK.js} +1 -1
- package/dist/client/assets/FoxitDingbats-BaQLufoW.pfb +0 -0
- package/dist/client/assets/FoxitFixed-Dyd5Nipw.pfb +0 -0
- package/dist/client/assets/FoxitFixedBold-D5TuYRwj.pfb +0 -0
- package/dist/client/assets/FoxitFixedBoldItalic-BqlXQ_Yv.pfb +0 -0
- package/dist/client/assets/FoxitFixedItalic-DqjQkmbS.pfb +0 -0
- package/dist/client/assets/FoxitSerif-qbgiDIe-.pfb +0 -0
- package/dist/client/assets/FoxitSerifBold-DZZ4CclT.pfb +0 -0
- package/dist/client/assets/FoxitSerifBoldItalic-DSQtwd_X.pfb +0 -0
- package/dist/client/assets/FoxitSerifItalic-CQs5lx9Y.pfb +0 -0
- package/dist/client/assets/FoxitSymbol-BVtbc20u.pfb +0 -0
- package/dist/client/assets/GBK-EUC-H-CAORqCkf.bcmap +0 -0
- package/dist/client/assets/GBK2K-H-Cv55KPk8.bcmap +0 -0
- package/dist/client/assets/GBKp-EUC-H-CElrnV5g.bcmap +0 -0
- package/dist/client/assets/GBT-EUC-H-BTsQIL1M.bcmap +0 -0
- package/dist/client/assets/GBT-H-DL9h-WkS.bcmap +0 -0
- package/dist/client/assets/GBTpc-EUC-H-DnIh5WJ3.bcmap +0 -0
- package/dist/client/assets/{GlassSurface-CEVIdyfP.js → GlassSurface-CBIEgwt1.js} +1 -1
- package/dist/client/assets/HKscs-B5-H-CXbBbq6g.bcmap +0 -0
- package/dist/client/assets/{HostedConnectionControls-r9cyZPyF.js → HostedConnectionControls-DOpTlXzE.js} +1 -1
- package/dist/client/assets/{HostedHubRoot-BkfafJ5x.js → HostedHubRoot-C1jq8cM6.js} +2 -2
- package/dist/client/assets/{HostedNativeAuthorizationRoute-CqHuW853.js → HostedNativeAuthorizationRoute-Clw1DHQW.js} +2 -2
- package/dist/client/assets/{HostedNodeRenameDialog-C7m-nvTj.js → HostedNodeRenameDialog-Bd_Qu_ek.js} +1 -1
- package/dist/client/assets/{HostedRelayTrustNotice-DNZQyAX0.js → HostedRelayTrustNotice-CGcBpT9m.js} +1 -1
- package/dist/client/assets/{IntegrationsSettingsPanel-hul3ysgL.js → IntegrationsSettingsPanel-J0qODRW-.js} +2 -2
- package/dist/client/assets/KSC-Johab-H-CGtV3MPT.bcmap +0 -0
- package/dist/client/assets/{KeybindingsSettings-Cme6omBM.js → KeybindingsSettings-CwxIHsFy.js} +1 -1
- package/dist/client/assets/{LazyBrowserPanel-COJFwNK7.js → LazyBrowserPanel-VNAn6AUL.js} +2 -2
- package/dist/client/assets/LiberationSans-Bold-BPt4bU5Z.ttf +0 -0
- package/dist/client/assets/LiberationSans-BoldItalic-Bj53-jFw.ttf +0 -0
- package/dist/client/assets/LiberationSans-Italic-5QhGB3P9.ttf +0 -0
- package/dist/client/assets/LiberationSans-Regular-cbskN6YR.ttf +0 -0
- package/dist/client/assets/McpServersSettings-1pkIeutq.js +6 -0
- package/dist/client/assets/MobileSheet-DddfN8c2.js +1 -0
- package/dist/client/assets/{NodeSecuritySettings-CwT5nEW9.js → NodeSecuritySettings-BOIZeFZo.js} +1 -1
- package/dist/client/assets/OpinionatedPluginsSettings-oTIrPtIb.js +1 -0
- package/dist/client/assets/PdfAttachmentPreview-BCMO9OHD.js +54 -0
- package/dist/client/assets/{PhoneGetAppInterstitial-BBnGXVkR.js → PhoneGetAppInterstitial-0EOj-PbW.js} +1 -1
- package/dist/client/assets/PhoneHome-Cg7l3b1T.js +1 -0
- package/dist/client/assets/{PhoneSettingsSurface-DdVCndyt.js → PhoneSettingsSurface-BXAUtZ9M.js} +2 -2
- package/dist/client/assets/ProvidersSettingsPanel-BaJgypXu.js +1 -0
- package/dist/client/assets/{QuitShortcutFeedback-mF7X0WMD.js → QuitShortcutFeedback-DgJFEd6b.js} +1 -1
- package/dist/client/assets/{RedactedSensitiveText-DovqFcmM.js → RedactedSensitiveText-D1VC2xa7.js} +1 -1
- package/dist/client/assets/RootAppShell-D2RjZ9jQ.js +7 -0
- package/dist/client/assets/Separator-CeMncdkm.js +1 -0
- package/dist/client/assets/SettingsDialog-B2hEb6u8.js +2 -0
- package/dist/client/assets/SettingsPanels-DtWLQDne.js +3 -0
- package/dist/client/assets/{SettingsPanels.editor-d-rVlbeN.js → SettingsPanels.editor-DJRckD71.js} +1 -1
- package/dist/client/assets/SourceControlSettings-IpoZrjt5.js +1 -0
- package/dist/client/assets/StatisticsPage-CUpE_5Gr.js +1 -0
- package/dist/client/assets/StatisticsPanel-CHrAY5AP.js +1 -0
- package/dist/client/assets/StatisticsSettingsLink-bGWuxNG3.js +1 -0
- package/dist/client/assets/{ThreadTerminalDrawer-DaLrSTn9.js → ThreadTerminalDrawer-BEv83xrk.js} +3 -3
- package/dist/client/assets/ThreadWorkspacePanel-BdMdJVHJ.js +2073 -0
- package/dist/client/assets/UniCNS-UCS2-H-DWzv8UhH.bcmap +0 -0
- package/dist/client/assets/UniCNS-UTF16-H-Bw0JKgCq.bcmap +0 -0
- package/dist/client/assets/UniCNS-UTF32-H-IE_GrH2i.bcmap +0 -0
- package/dist/client/assets/UniCNS-UTF8-H-BbLcFh6Q.bcmap +0 -0
- package/dist/client/assets/UniGB-UCS2-H-D7xzRvZN.bcmap +0 -0
- package/dist/client/assets/UniGB-UTF16-H-DKjbEwc0.bcmap +0 -0
- package/dist/client/assets/UniGB-UTF32-H-Behfouj5.bcmap +0 -0
- package/dist/client/assets/UniGB-UTF8-H-EROft1ro.bcmap +0 -0
- package/dist/client/assets/UniJIS-UCS2-H-2DbZ0MaQ.bcmap +0 -0
- package/dist/client/assets/UniJIS-UTF16-H-BlDDPdCK.bcmap +0 -0
- package/dist/client/assets/UniJIS-UTF32-H-BIQPWkjv.bcmap +0 -0
- package/dist/client/assets/UniJIS-UTF8-H-CGusholx.bcmap +0 -0
- package/dist/client/assets/UniJIS2004-UTF16-H-KXixH-HI.bcmap +0 -0
- package/dist/client/assets/UniJIS2004-UTF32-H-CXrD-9YE.bcmap +0 -0
- package/dist/client/assets/UniJIS2004-UTF8-H-BkOctZjn.bcmap +0 -0
- package/dist/client/assets/UniJISX0213-UTF32-H-BavAhZjb.bcmap +0 -0
- package/dist/client/assets/UniJISX02132004-UTF32-H-DAH-AgUq.bcmap +0 -0
- package/dist/client/assets/UniKS-UCS2-H-YeUc7k1L.bcmap +0 -0
- package/dist/client/assets/UniKS-UTF16-H-B0dvB-Td.bcmap +0 -0
- package/dist/client/assets/UniKS-UTF32-H-olR_LtmR.bcmap +0 -0
- package/dist/client/assets/UniKS-UTF8-H-CbpebD-y.bcmap +0 -0
- package/dist/client/assets/{activity-bn_fBQGf.js → activity-BmRcsTyL.js} +1 -1
- package/dist/client/assets/{alert-BmLJh6DH.js → alert-C5UiA2xk.js} +1 -1
- package/dist/client/assets/{appChrome-Dy57Ve9N.js → appChrome-CsZ2ylc1.js} +1 -1
- package/dist/client/assets/{arrow-left-pzj1cbX3.js → arrow-left-CSz-z20j.js} +1 -1
- package/dist/client/assets/{arrow-right-BW5jU-vo.js → arrow-right-DEi91hao.js} +1 -1
- package/dist/client/assets/{arrow-up-right-AfC5AaSO.js → arrow-up-right-D7SpcTV9.js} +1 -1
- package/dist/client/assets/authorization-B1YXfej3.js +1 -0
- package/dist/client/assets/badge-BjvTY7-E.js +1 -0
- package/dist/client/assets/{bot-CsKkSRlb.js → bot-SC4UGZyw.js} +1 -1
- package/dist/client/assets/{capabilities-DskyVNd2.js → capabilities-BCkDNe83.js} +1 -1
- package/dist/client/assets/{chart-column-DhvWXIiH.js → chart-column-C08MuLgY.js} +1 -1
- package/dist/client/assets/chevron-right-DgB53U1_.js +1 -0
- package/dist/client/assets/{clipboard-copy-fJnfdl4H.js → clipboard-copy-D74Wvnon.js} +1 -1
- package/dist/client/assets/{data-list-_E-Al1sf.js → data-list-CZ4Utnfl.js} +1 -1
- package/dist/client/assets/{desktopWorkspace-DycXKuMm.js → desktopWorkspace-DVfn9ZT_.js} +1 -1
- package/dist/client/assets/{download-CLQzE1di.js → download-Dio40wIJ.js} +1 -1
- package/dist/client/assets/editorPreferences-2dG4uloq.js +1 -0
- package/dist/client/assets/{empty-YXFtCUDN.js → empty-6LExKYgQ.js} +1 -1
- package/dist/client/assets/{group-DOCkUmuY.js → group-D_mu0Kiq.js} +1 -1
- package/dist/client/assets/{hostedConnectionCoordinator-JZ1dLx4v.js → hostedConnectionCoordinator-YkDLnATK.js} +1 -1
- package/dist/client/assets/{hubRoutes-C2S5of9_.js → hubRoutes-D3quWvU7.js} +1 -1
- package/dist/client/assets/{index-CvRFRkBK.js → index-7MTgf8YI.js} +2 -2
- package/dist/client/assets/{input-C2xv8mMt.js → input-CfVJycb1.js} +1 -1
- package/dist/client/assets/jbig2-CNFLgX9F.wasm +0 -0
- package/dist/client/assets/kbd-uFa_tY-L.js +1 -0
- package/dist/client/assets/{key-round-CYcb9lAa.js → key-round-C-oUSjpF.js} +1 -1
- package/dist/client/assets/{layers-CGlOWYxu.js → layers-Co2a5C1k.js} +1 -1
- package/dist/client/assets/{log-out-CZW2EpNJ.js → log-out-pWFhbvwr.js} +1 -1
- package/dist/client/assets/{logging-BpmZOfmu.js → logging-JMrwaeZh.js} +1 -1
- package/dist/client/assets/main-BNPtp9Z0.css +2 -0
- package/dist/client/assets/main-CGeD6yVE.js +9 -0
- package/dist/client/assets/openjpeg-MeY6OQBn.wasm +0 -0
- package/dist/client/assets/{palette-CQOuNfSO.js → palette-B_6C4fD6.js} +1 -1
- package/dist/client/assets/pdf.worker.min-Dswkl-cV.mjs +29 -0
- package/dist/client/assets/{play-CPVy9wwV.js → play-DFtc9zBy.js} +1 -1
- package/dist/client/assets/primary-CNUdEGcv.js +2 -0
- package/dist/client/assets/providerDriverMeta-Cg_XLUfo.js +1 -0
- package/dist/client/assets/{ProviderModelPicker-DoYEUZrn.js → providerInstances-JaDrOWPZ.js} +1 -1
- package/dist/client/assets/providerModels-5uOq3qPC.js +1 -0
- package/dist/client/assets/qcms_bg-3PJi_GXR.wasm +0 -0
- package/dist/client/assets/{qr-code-BPqDlVMn.js → qr-code-BU354aLS.js} +1 -1
- package/dist/client/assets/{qr-code-C6BVTc4V.js → qr-code-DaHWf7Oq.js} +1 -1
- package/dist/client/assets/quickjs-eval-zJSp5SB4.wasm +0 -0
- package/dist/client/assets/radio-group-DKaA1eey.js +2 -0
- package/dist/client/assets/{refresh-cw-B5Cz1z3e.js → refresh-cw-CY5BeUEr.js} +1 -1
- package/dist/client/assets/runtime-BKneT96Q.js +17 -0
- package/dist/client/assets/{save-C7zM6ey6.js → save-DIHMjHXd.js} +1 -1
- package/dist/client/assets/{scroll-area-5OU_pvTW.js → scroll-area-Cq4SX9P8.js} +1 -1
- package/dist/client/assets/{scrollEdges-qnEXfIOg.js → scrollEdges-BaWRjrac.js} +1 -1
- package/dist/client/assets/{separator-B5HfRiaO.js → separator-BN705fC0.js} +1 -1
- package/dist/client/assets/{settingsLayout-CfKq88KD.js → settingsLayout-DQERzSce.js} +1 -1
- package/dist/client/assets/{sheet-B9gQDy_I.js → sheet-CFvRY7T6.js} +1 -1
- package/dist/client/assets/{shield-rdjnBE2Q.js → shield-Zn2kFj5M.js} +1 -1
- package/dist/client/assets/{shield-alert-7yBlEyOs.js → shield-alert-DMB5gKiC.js} +1 -1
- package/dist/client/assets/{shield-check-CnKgVJ0F.js → shield-check-DyNf6Bky.js} +1 -1
- package/dist/client/assets/{sidebar-BdvL1Pbj.js → sidebar-Bsh64sLK.js} +1 -1
- package/dist/client/assets/sidebarProjectFolders-CQbpO9ZI.js +4 -0
- package/dist/client/assets/{sidebarStatusText-CZKsUFBD.js → sidebarStatusText-DCo-whyK.js} +1 -1
- package/dist/client/assets/{skeleton-CoyLqyaB.js → skeleton-DEuowfjY.js} +1 -1
- package/dist/client/assets/{smartphone-CBgpMHXR.js → smartphone-BLWJ7C9-.js} +1 -1
- package/dist/client/assets/{sparkles-w-UZXQx1.js → sparkles-DAXDXp_s.js} +1 -1
- package/dist/client/assets/src-DPpEXU6w.js +14 -0
- package/dist/client/assets/{star-BZ-RtSFD.js → star-CjQxHYbD.js} +1 -1
- package/dist/client/assets/switch-LahPAvrd.js +48 -0
- package/dist/client/assets/{toggle-DVGrNHjq.js → toggle-45lsrmyi.js} +1 -1
- package/dist/client/assets/{toggle-group-CNDOfNhH.js → toggle-group-D5pl24ED.js} +1 -1
- package/dist/client/assets/{tokenModePresentation-CQNdC9CW.js → tokenModePresentation-CPUsUGY4.js} +1 -1
- package/dist/client/assets/tooltip-B8-izeMo.js +1 -0
- package/dist/client/assets/{unplug-CRUwFNFw.js → unplug-Bjpxv8i0.js} +1 -1
- package/dist/client/assets/usage-8vQUo0mr.js +1 -0
- package/dist/client/assets/useAppSidebarCollapsed-uwz9Hlgc.js +1 -0
- package/dist/client/assets/useBaseUiId-BtuL7q77.js +1 -0
- package/dist/client/assets/useLabelableId-N_LsKNbf.js +1 -0
- package/dist/client/assets/useNavigate-DADLi29i.js +1 -0
- package/dist/client/assets/usePhoneThreadActions-B9_HK7tn.js +1 -0
- package/dist/client/assets/usePopupViewport-w8BEny9j.js +1 -0
- package/dist/client/assets/useScrollLock-bCmUzTgK.js +1 -0
- package/dist/client/assets/useStatistics-DJtONxT0.js +55 -0
- package/dist/client/assets/useTriggerFocusGuards-C7JWO2LT.js +1 -0
- package/dist/client/assets/useValueChanged-DkoUO9bY.js +1 -0
- package/dist/client/assets/{user-round-DStbWN3z.js → user-round-DEWIPpNs.js} +1 -1
- package/dist/client/assets/{vscode-icons-BihBo3tb.js → vscode-icons-DTH-Vj-_.js} +1 -1
- package/dist/client/assets/workspaceMetadataProjection-BnpxBe8S.js +1 -0
- package/dist/client/assets/{wrench-BBIgGxy9.js → wrench-36WYdK_a.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/collectUint8StreamText-BAUF-vzz.mjs +37 -0
- package/dist/collectUint8StreamText-vagpNUMJ.cjs +42 -0
- package/dist/deviceHostWorker-C-BSnmkn.mjs +167 -0
- package/dist/deviceHostWorker-CYnrwfrv.cjs +169 -0
- package/dist/git-C4iJMbBu.mjs +132 -0
- package/dist/git-irmB8_k7.cjs +218 -0
- package/dist/{makeManagedServerProvider-CwYhl_P-.mjs → makeManagedServerProvider-BINne1KE.mjs} +3 -38
- package/dist/{makeManagedServerProvider-Dy2Ny9tk.cjs → makeManagedServerProvider-DGbd8BhM.cjs} +1 -60
- package/dist/resource-monitor/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/dist/runtimeSession-Bj0OUcNJ.cjs +63 -0
- package/dist/runtimeSession-CA6cLWg0.mjs +40 -0
- package/dist/schemaJson-CaG1bOvo.mjs +49 -0
- package/dist/schemaJson-CuhFxa8p.cjs +66 -0
- package/dist/{collectUint8StreamText-whblCEfg.cjs → src-BlzIcnVG.cjs} +522 -116
- package/dist/{collectUint8StreamText-CE1Re5Ij.mjs → src-DtEOcXdl.mjs} +350 -94
- package/package.json +1 -1
- package/dist/AcpNativeLogging-CA6XYzIS.cjs +0 -5130
- package/dist/AcpNativeLogging-D4-VoHrq.mjs +0 -5015
- package/dist/client/assets/AccountSettings-Bv57-JYy.js +0 -1
- package/dist/client/assets/AiFocusSettings-DCPHmJpA.js +0 -1
- package/dist/client/assets/AppearanceSettings-EmTrtb_U.js +0 -1
- package/dist/client/assets/ChatRightPanel-C1VD6GCV.js +0 -194
- package/dist/client/assets/CommandPaletteDialog-B_f3fKp7.js +0 -1
- package/dist/client/assets/CompositeRoot-B40iitmH.js +0 -1
- package/dist/client/assets/ConnectionsSettings-B9nfvgLG.js +0 -7
- package/dist/client/assets/ContextHandoffEndpointLabel-BSQOArMR.js +0 -4
- package/dist/client/assets/DialogRoot-CY6ZzEUS.js +0 -1
- package/dist/client/assets/DialogTrigger-CIeVAA-a.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-DMIGMESb.js +0 -1
- package/dist/client/assets/McpServersSettings-CPeNF8_u.js +0 -6
- package/dist/client/assets/MobileSheet-BZo-RAfm.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-D8A1CbMG.js +0 -1
- package/dist/client/assets/PhoneHome-BTKOPVjw.js +0 -1
- package/dist/client/assets/ProvidersSettingsPanel-ldDCPVIY.js +0 -1
- package/dist/client/assets/RootAppShell-CzmEWO9w.js +0 -7
- package/dist/client/assets/Separator-BhAVTIOc.js +0 -1
- package/dist/client/assets/SettingsDialog-ByXgBN0U.js +0 -2
- package/dist/client/assets/SettingsPanels-Bgf4vkrJ.js +0 -3
- package/dist/client/assets/SourceControlSettings-dKw0FaN1.js +0 -1
- package/dist/client/assets/StatisticsPage-C2RuqDIK.js +0 -1
- package/dist/client/assets/StatisticsPanel-DqoXnrhQ.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-C_f31sb4.js +0 -1
- package/dist/client/assets/ThreadWorkspacePanel-BvRZIxZQ.js +0 -2073
- package/dist/client/assets/authorization-7xVVtCBu.js +0 -1
- package/dist/client/assets/badge-DnBuGHGL.js +0 -1
- package/dist/client/assets/chevron-right-CITtTwME.js +0 -1
- package/dist/client/assets/editorPreferences-Bg624RVT.js +0 -1
- package/dist/client/assets/kbd-4-4mGdIa.js +0 -1
- package/dist/client/assets/main-CC-U8LrA.css +0 -2
- package/dist/client/assets/main-CzDOnLFw.js +0 -9
- package/dist/client/assets/primary-CjhRI8fe.js +0 -2
- package/dist/client/assets/providerDriverMeta-BVHpFupf.js +0 -1
- package/dist/client/assets/providerModels-BsybzP4P.js +0 -1
- package/dist/client/assets/radio-group-C8qudOQH.js +0 -2
- package/dist/client/assets/runtime-Bxg7k81u.js +0 -17
- package/dist/client/assets/sidebarProjectFolders-BH8XBqNe.js +0 -4
- package/dist/client/assets/src-Bi-5Nw9C.js +0 -14
- package/dist/client/assets/switch-CEJEmLe7.js +0 -48
- package/dist/client/assets/tooltip-B7Z4qomY.js +0 -1
- package/dist/client/assets/useAppSidebarCollapsed-wq6czkNJ.js +0 -1
- package/dist/client/assets/useBaseUiId-OYaGjnkh.js +0 -1
- package/dist/client/assets/useLabelableId-VMc-yITe.js +0 -1
- package/dist/client/assets/useNavigate-DVi0rBlf.js +0 -1
- package/dist/client/assets/usePhoneThreadActions-CwwHikjB.js +0 -1
- package/dist/client/assets/usePopupViewport-BcSIK_ph.js +0 -1
- package/dist/client/assets/useScrollLock-BQf9VYJT.js +0 -1
- package/dist/client/assets/useStatistics-DczKdEfy.js +0 -55
- package/dist/client/assets/useTriggerFocusGuards-DjP-D0_a.js +0 -1
- package/dist/client/assets/useValueChanged-CRwCkFdy.js +0 -1
- package/dist/client/assets/workspaceMetadataProjection-j3BGlVOB.js +0 -1
|
@@ -0,0 +1,552 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { Nr as GrokSettings, To as ProviderDriverKind, cr as TextGenerationError } from "./src-DtEOcXdl.mjs";
|
|
4
|
+
import "./Metrics-C-3MahDy.mjs";
|
|
5
|
+
import { m as sanitizeFeatureBranchName, p as sanitizeBranchFragment } from "./git-C4iJMbBu.mjs";
|
|
6
|
+
import { $ as buildCommitMessagePrompt, At as providerModelsFromSettings, Dr as normalizeModelSlug, Dt as isCommandMissingCause, Q as buildBranchNamePrompt, Ut as ProviderDriverError, W as AcpSessionRuntime, Z as validateRankInboxThreadsResult, at as buildThreadTitlePrompt, br as createModelCapabilities, ct as sanitizeCommitSubject, et as buildIssueContentPolishPrompt, fr as resolveProviderMaintenanceCapabilitiesEffect, gt as mergeProviderInstanceEnvironment, it as buildThreadPriorityPrompt, jt as spawnAndCollect, k as ProviderEventLoggers, kt as parseGenericCliVersion, lt as sanitizePrTitle, mr as ServerSettingsService, nt as buildPrContentPrompt, or as enrichProviderSnapshotWithVersionAdvisory, ot as extractJsonObject, sr as makeManualOnlyProviderMaintenanceCapabilities, tt as buildIssueContentTitlePrompt, ur as makeStaticProviderMaintenanceResolver, ut as sanitizeThreadTitle, wt as buildServerProvider } from "./bin.mjs";
|
|
7
|
+
import { i as currentAcpModelIdFromSessionSetup, n as makeXAiPromptCompletionRuntime, r as applyAcpModelSelection, t as makeAcpAdapter } from "./AcpAdapter-BemMQNbj.mjs";
|
|
8
|
+
import { t as defaultProviderContinuationIdentity } from "./ProviderDriver-kCV60GKk.mjs";
|
|
9
|
+
import { t as makeManagedServerProvider } from "./makeManagedServerProvider-BINne1KE.mjs";
|
|
10
|
+
import * as Effect from "effect/Effect";
|
|
11
|
+
import * as Layer from "effect/Layer";
|
|
12
|
+
import * as Schema from "effect/Schema";
|
|
13
|
+
import { HttpClient } from "effect/unstable/http";
|
|
14
|
+
import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
|
|
15
|
+
import "effect/Scope";
|
|
16
|
+
import * as Cause from "effect/Cause";
|
|
17
|
+
import * as Exit from "effect/Exit";
|
|
18
|
+
import * as Option from "effect/Option";
|
|
19
|
+
import * as Ref from "effect/Ref";
|
|
20
|
+
import * as Stream from "effect/Stream";
|
|
21
|
+
import * as Duration from "effect/Duration";
|
|
22
|
+
import * as DateTime from "effect/DateTime";
|
|
23
|
+
import "effect/FileSystem";
|
|
24
|
+
import "effect/Path";
|
|
25
|
+
import * as Result from "effect/Result";
|
|
26
|
+
//#region src/provider/acp/GrokAcpSupport.ts
|
|
27
|
+
const GROK_API_KEY_ENV = "XAI_API_KEY";
|
|
28
|
+
const GROK_OAUTH2_REFERRER_ENV = "GROK_OAUTH2_REFERRER";
|
|
29
|
+
const RYCO_OAUTH_REFERRER = "ryco";
|
|
30
|
+
const GROK_AUTH_METHOD_API_KEY = "xai.api_key";
|
|
31
|
+
const GROK_AUTH_METHOD_CACHED_TOKEN = "cached_token";
|
|
32
|
+
const GROK_DRIVER_KIND = ProviderDriverKind.make("grok");
|
|
33
|
+
function buildGrokAcpSpawnInput(grokSettings, cwd, environment) {
|
|
34
|
+
return {
|
|
35
|
+
command: grokSettings?.binaryPath || "grok",
|
|
36
|
+
args: ["agent", "stdio"],
|
|
37
|
+
cwd,
|
|
38
|
+
env: {
|
|
39
|
+
...environment,
|
|
40
|
+
[GROK_OAUTH2_REFERRER_ENV]: RYCO_OAUTH_REFERRER
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function resolveGrokAuthMethodId(environment) {
|
|
45
|
+
return environment?.[GROK_API_KEY_ENV]?.trim() ? GROK_AUTH_METHOD_API_KEY : GROK_AUTH_METHOD_CACHED_TOKEN;
|
|
46
|
+
}
|
|
47
|
+
const makeGrokAcpRuntime = (input) => Effect.gen(function* () {
|
|
48
|
+
const acpContext = yield* Layer.build(AcpSessionRuntime.layer({
|
|
49
|
+
...input,
|
|
50
|
+
spawn: buildGrokAcpSpawnInput(input.grokSettings, input.cwd, input.environment),
|
|
51
|
+
authMethodId: resolveGrokAuthMethodId(input.environment)
|
|
52
|
+
}).pipe(Layer.provide(Layer.succeed(ChildProcessSpawner.ChildProcessSpawner, input.childProcessSpawner))));
|
|
53
|
+
const runtime = yield* Effect.service(AcpSessionRuntime).pipe(Effect.provide(acpContext));
|
|
54
|
+
return yield* makeXAiPromptCompletionRuntime(runtime);
|
|
55
|
+
});
|
|
56
|
+
function resolveGrokAcpBaseModelId(model) {
|
|
57
|
+
const trimmed = model?.trim();
|
|
58
|
+
const base = trimmed && trimmed.length > 0 ? trimmed : "grok-build";
|
|
59
|
+
return normalizeModelSlug(base, GROK_DRIVER_KIND) ?? "grok-build";
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src/textGeneration/GrokTextGeneration.ts
|
|
63
|
+
const GROK_TIMEOUT_MS = 18e4;
|
|
64
|
+
function mapGrokAcpError(operation, detail, cause) {
|
|
65
|
+
return new TextGenerationError({
|
|
66
|
+
operation,
|
|
67
|
+
detail,
|
|
68
|
+
...cause !== void 0 ? { cause } : {}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function isTextGenerationError(error) {
|
|
72
|
+
return typeof error === "object" && error !== null && "_tag" in error && error._tag === "TextGenerationError";
|
|
73
|
+
}
|
|
74
|
+
const makeGrokTextGeneration = Effect.fn("makeGrokTextGeneration")(function* (grokSettings, environment = process.env) {
|
|
75
|
+
const commandSpawner = yield* ChildProcessSpawner.ChildProcessSpawner;
|
|
76
|
+
const runGrokJson = ({ operation, cwd, prompt, outputSchemaJson, modelSelection }) => Effect.gen(function* () {
|
|
77
|
+
const resolvedModel = resolveGrokAcpBaseModelId(modelSelection.model);
|
|
78
|
+
const outputRef = yield* Ref.make("");
|
|
79
|
+
const runtime = yield* makeGrokAcpRuntime({
|
|
80
|
+
grokSettings,
|
|
81
|
+
environment,
|
|
82
|
+
childProcessSpawner: commandSpawner,
|
|
83
|
+
cwd,
|
|
84
|
+
clientInfo: {
|
|
85
|
+
name: "ryco-git-text",
|
|
86
|
+
version: "0.0.0"
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
yield* runtime.handleSessionUpdate((notification) => {
|
|
90
|
+
const update = notification.update;
|
|
91
|
+
if (update.sessionUpdate !== "agent_message_chunk") return Effect.void;
|
|
92
|
+
const content = update.content;
|
|
93
|
+
if (content.type !== "text") return Effect.void;
|
|
94
|
+
return Ref.update(outputRef, (current) => current + content.text);
|
|
95
|
+
});
|
|
96
|
+
const promptResult = yield* Effect.gen(function* () {
|
|
97
|
+
const started = yield* runtime.start();
|
|
98
|
+
yield* applyAcpModelSelection({
|
|
99
|
+
runtime,
|
|
100
|
+
currentModelId: currentAcpModelIdFromSessionSetup(started.sessionSetupResult),
|
|
101
|
+
requestedModelId: resolvedModel,
|
|
102
|
+
mapError: (cause) => mapGrokAcpError(operation, "Failed to set Grok ACP base model for text generation.", cause)
|
|
103
|
+
});
|
|
104
|
+
return yield* runtime.prompt({ prompt: [{
|
|
105
|
+
type: "text",
|
|
106
|
+
text: prompt
|
|
107
|
+
}] });
|
|
108
|
+
}).pipe(Effect.timeoutOption(GROK_TIMEOUT_MS), Effect.flatMap(Option.match({
|
|
109
|
+
onNone: () => Effect.fail(new TextGenerationError({
|
|
110
|
+
operation,
|
|
111
|
+
detail: "Grok ACP request timed out."
|
|
112
|
+
})),
|
|
113
|
+
onSome: (value) => Effect.succeed(value)
|
|
114
|
+
})), Effect.mapError((cause) => isTextGenerationError(cause) ? cause : mapGrokAcpError(operation, "Grok ACP request failed.", cause)));
|
|
115
|
+
const trimmed = (yield* Ref.get(outputRef)).trim();
|
|
116
|
+
if (!trimmed) return yield* new TextGenerationError({
|
|
117
|
+
operation,
|
|
118
|
+
detail: promptResult.stopReason === "cancelled" ? "Grok ACP request was cancelled." : "Grok Agent returned empty output."
|
|
119
|
+
});
|
|
120
|
+
return yield* Schema.decodeEffect(Schema.fromJsonString(outputSchemaJson))(extractJsonObject(trimmed)).pipe(Effect.catchTag("SchemaError", (cause) => Effect.fail(new TextGenerationError({
|
|
121
|
+
operation,
|
|
122
|
+
detail: "Grok Agent returned invalid structured output.",
|
|
123
|
+
cause
|
|
124
|
+
}))));
|
|
125
|
+
}).pipe(Effect.mapError((cause) => isTextGenerationError(cause) ? cause : mapGrokAcpError(operation, "Grok ACP text generation failed.", cause)), Effect.scoped);
|
|
126
|
+
return {
|
|
127
|
+
generateCommitMessage: Effect.fn("GrokTextGeneration.generateCommitMessage")(function* (input) {
|
|
128
|
+
const { prompt, outputSchema } = buildCommitMessagePrompt({
|
|
129
|
+
branch: input.branch,
|
|
130
|
+
stagedSummary: input.stagedSummary,
|
|
131
|
+
stagedPatch: input.stagedPatch,
|
|
132
|
+
includeBranch: input.includeBranch === true
|
|
133
|
+
});
|
|
134
|
+
const generated = yield* runGrokJson({
|
|
135
|
+
operation: "generateCommitMessage",
|
|
136
|
+
cwd: input.cwd,
|
|
137
|
+
prompt,
|
|
138
|
+
outputSchemaJson: outputSchema,
|
|
139
|
+
modelSelection: input.modelSelection
|
|
140
|
+
});
|
|
141
|
+
return {
|
|
142
|
+
subject: sanitizeCommitSubject(generated.subject),
|
|
143
|
+
body: generated.body.trim(),
|
|
144
|
+
..."branch" in generated && typeof generated.branch === "string" ? { branch: sanitizeFeatureBranchName(generated.branch) } : {}
|
|
145
|
+
};
|
|
146
|
+
}),
|
|
147
|
+
generatePrContent: Effect.fn("GrokTextGeneration.generatePrContent")(function* (input) {
|
|
148
|
+
const { prompt, outputSchema } = buildPrContentPrompt({
|
|
149
|
+
baseBranch: input.baseBranch,
|
|
150
|
+
headBranch: input.headBranch,
|
|
151
|
+
commitSummary: input.commitSummary,
|
|
152
|
+
diffSummary: input.diffSummary,
|
|
153
|
+
diffPatch: input.diffPatch
|
|
154
|
+
});
|
|
155
|
+
const generated = yield* runGrokJson({
|
|
156
|
+
operation: "generatePrContent",
|
|
157
|
+
cwd: input.cwd,
|
|
158
|
+
prompt,
|
|
159
|
+
outputSchemaJson: outputSchema,
|
|
160
|
+
modelSelection: input.modelSelection
|
|
161
|
+
});
|
|
162
|
+
return {
|
|
163
|
+
title: sanitizePrTitle(generated.title),
|
|
164
|
+
body: generated.body.trim()
|
|
165
|
+
};
|
|
166
|
+
}),
|
|
167
|
+
generateBranchName: Effect.fn("GrokTextGeneration.generateBranchName")(function* (input) {
|
|
168
|
+
const { prompt, outputSchema } = buildBranchNamePrompt({
|
|
169
|
+
message: input.message,
|
|
170
|
+
attachments: input.attachments
|
|
171
|
+
});
|
|
172
|
+
const generated = yield* runGrokJson({
|
|
173
|
+
operation: "generateBranchName",
|
|
174
|
+
cwd: input.cwd,
|
|
175
|
+
prompt,
|
|
176
|
+
outputSchemaJson: outputSchema,
|
|
177
|
+
modelSelection: input.modelSelection
|
|
178
|
+
});
|
|
179
|
+
return { branch: sanitizeBranchFragment(generated.branch) };
|
|
180
|
+
}),
|
|
181
|
+
generateThreadTitle: Effect.fn("GrokTextGeneration.generateThreadTitle")(function* (input) {
|
|
182
|
+
const { prompt, outputSchema } = buildThreadTitlePrompt({
|
|
183
|
+
message: input.message,
|
|
184
|
+
attachments: input.attachments
|
|
185
|
+
});
|
|
186
|
+
const generated = yield* runGrokJson({
|
|
187
|
+
operation: "generateThreadTitle",
|
|
188
|
+
cwd: input.cwd,
|
|
189
|
+
prompt,
|
|
190
|
+
outputSchemaJson: outputSchema,
|
|
191
|
+
modelSelection: input.modelSelection
|
|
192
|
+
});
|
|
193
|
+
return { title: sanitizeThreadTitle(generated.title) };
|
|
194
|
+
}),
|
|
195
|
+
generateIssueContent: Effect.fn("GrokTextGeneration.generateIssueContent")(function* (input) {
|
|
196
|
+
if (input.mode === "polish") {
|
|
197
|
+
const { prompt, outputSchema } = buildIssueContentPolishPrompt({
|
|
198
|
+
rough: input.rough,
|
|
199
|
+
...input.currentTitle ? { currentTitle: input.currentTitle } : {},
|
|
200
|
+
...input.customInstructions ? { customInstructions: input.customInstructions } : {}
|
|
201
|
+
});
|
|
202
|
+
const decoded = yield* runGrokJson({
|
|
203
|
+
operation: "generateIssueContent",
|
|
204
|
+
cwd: input.cwd,
|
|
205
|
+
prompt,
|
|
206
|
+
outputSchemaJson: outputSchema,
|
|
207
|
+
modelSelection: input.modelSelection
|
|
208
|
+
});
|
|
209
|
+
return {
|
|
210
|
+
title: decoded.title.trim(),
|
|
211
|
+
body: decoded.body.trim()
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
const { prompt, outputSchema } = buildIssueContentTitlePrompt({ body: input.body });
|
|
215
|
+
return { title: (yield* runGrokJson({
|
|
216
|
+
operation: "generateIssueContent",
|
|
217
|
+
cwd: input.cwd,
|
|
218
|
+
prompt,
|
|
219
|
+
outputSchemaJson: outputSchema,
|
|
220
|
+
modelSelection: input.modelSelection
|
|
221
|
+
})).title.trim() };
|
|
222
|
+
}),
|
|
223
|
+
rankInboxThreads: Effect.fn("GrokTextGeneration.rankInboxThreads")(function* (input) {
|
|
224
|
+
const { prompt, outputSchema } = buildThreadPriorityPrompt({ serializedCandidates: input.chunk.serializedCandidates });
|
|
225
|
+
const generated = yield* runGrokJson({
|
|
226
|
+
operation: "rankInboxThreads",
|
|
227
|
+
cwd: input.cwd,
|
|
228
|
+
prompt,
|
|
229
|
+
outputSchemaJson: outputSchema,
|
|
230
|
+
modelSelection: input.modelSelection
|
|
231
|
+
});
|
|
232
|
+
return yield* validateRankInboxThreadsResult(input, generated.rankings);
|
|
233
|
+
}),
|
|
234
|
+
answerSideQuestion: (_input) => Effect.fail(new TextGenerationError({
|
|
235
|
+
operation: "answerSideQuestion",
|
|
236
|
+
detail: "Grok does not provide an enforceable tool-free side question mode. Select Codex, Claude, or GitHub Copilot for side chat."
|
|
237
|
+
}))
|
|
238
|
+
};
|
|
239
|
+
});
|
|
240
|
+
//#endregion
|
|
241
|
+
//#region src/provider/Layers/GrokAdapter.ts
|
|
242
|
+
function makeGrokAdapter(grokSettings, options) {
|
|
243
|
+
return makeAcpAdapter({
|
|
244
|
+
...options,
|
|
245
|
+
provider: ProviderDriverKind.make("grok"),
|
|
246
|
+
normalizeModel: resolveGrokAcpBaseModelId,
|
|
247
|
+
xaiExtensions: true,
|
|
248
|
+
makeRuntime: (input) => makeGrokAcpRuntime({
|
|
249
|
+
...input,
|
|
250
|
+
grokSettings,
|
|
251
|
+
...options?.environment ? { environment: options.environment } : {}
|
|
252
|
+
})
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
//#endregion
|
|
256
|
+
//#region src/provider/Layers/GrokProvider.ts
|
|
257
|
+
const GROK_PRESENTATION = {
|
|
258
|
+
displayName: "Grok",
|
|
259
|
+
badgeLabel: "Early Access",
|
|
260
|
+
showInteractionModeToggle: false
|
|
261
|
+
};
|
|
262
|
+
const PROVIDER = ProviderDriverKind.make("grok");
|
|
263
|
+
const EMPTY_CAPABILITIES = createModelCapabilities({ optionDescriptors: [] });
|
|
264
|
+
const VERSION_PROBE_TIMEOUT_MS = 4e3;
|
|
265
|
+
const GROK_ACP_MODEL_DISCOVERY_TIMEOUT_MS = 15e3;
|
|
266
|
+
const GROK_BUILT_IN_MODELS = [{
|
|
267
|
+
slug: "grok-build",
|
|
268
|
+
name: "Grok Build",
|
|
269
|
+
isCustom: false,
|
|
270
|
+
capabilities: EMPTY_CAPABILITIES
|
|
271
|
+
}];
|
|
272
|
+
function buildInitialGrokProviderSnapshot(grokSettings) {
|
|
273
|
+
const checkedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
274
|
+
const models = grokModelsFromSettings(grokSettings.customModels);
|
|
275
|
+
if (!grokSettings.enabled) return buildServerProvider({
|
|
276
|
+
presentation: GROK_PRESENTATION,
|
|
277
|
+
enabled: false,
|
|
278
|
+
checkedAt,
|
|
279
|
+
models,
|
|
280
|
+
probe: {
|
|
281
|
+
installed: false,
|
|
282
|
+
version: null,
|
|
283
|
+
status: "warning",
|
|
284
|
+
auth: { status: "unknown" },
|
|
285
|
+
message: "Grok is disabled in Ryco settings."
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
return buildServerProvider({
|
|
289
|
+
presentation: GROK_PRESENTATION,
|
|
290
|
+
enabled: true,
|
|
291
|
+
checkedAt,
|
|
292
|
+
models,
|
|
293
|
+
probe: {
|
|
294
|
+
installed: true,
|
|
295
|
+
version: null,
|
|
296
|
+
status: "warning",
|
|
297
|
+
auth: { status: "unknown" },
|
|
298
|
+
message: "Checking Grok CLI availability..."
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
function grokModelsFromSettings(customModels, builtInModels = GROK_BUILT_IN_MODELS) {
|
|
303
|
+
return providerModelsFromSettings(builtInModels, PROVIDER, customModels ?? [], EMPTY_CAPABILITIES);
|
|
304
|
+
}
|
|
305
|
+
function buildGrokDiscoveredModelsFromSessionModelState(modelState) {
|
|
306
|
+
if (!modelState || modelState.availableModels.length === 0) return [];
|
|
307
|
+
const seen = /* @__PURE__ */ new Set();
|
|
308
|
+
return modelState.availableModels.map((model) => {
|
|
309
|
+
const slug = resolveGrokAcpBaseModelId(model.modelId);
|
|
310
|
+
if (!slug || seen.has(slug)) return;
|
|
311
|
+
seen.add(slug);
|
|
312
|
+
return {
|
|
313
|
+
slug,
|
|
314
|
+
name: model.name.trim() || slug,
|
|
315
|
+
isCustom: false,
|
|
316
|
+
capabilities: EMPTY_CAPABILITIES
|
|
317
|
+
};
|
|
318
|
+
}).filter((model) => model !== void 0);
|
|
319
|
+
}
|
|
320
|
+
const discoverGrokModelsViaAcp = (grokSettings, environment = process.env) => Effect.gen(function* () {
|
|
321
|
+
const childProcessSpawner = yield* ChildProcessSpawner.ChildProcessSpawner;
|
|
322
|
+
return buildGrokDiscoveredModelsFromSessionModelState((yield* (yield* makeGrokAcpRuntime({
|
|
323
|
+
grokSettings,
|
|
324
|
+
environment,
|
|
325
|
+
childProcessSpawner,
|
|
326
|
+
cwd: process.cwd(),
|
|
327
|
+
clientInfo: {
|
|
328
|
+
name: "ryco-provider-probe",
|
|
329
|
+
version: "0.0.0"
|
|
330
|
+
}
|
|
331
|
+
})).start()).sessionSetupResult.models);
|
|
332
|
+
}).pipe(Effect.scoped);
|
|
333
|
+
const runGrokVersionCommand = (grokSettings, environment = process.env) => {
|
|
334
|
+
const command = grokSettings.binaryPath || "grok";
|
|
335
|
+
return spawnAndCollect(command, ChildProcess.make(command, ["--version"], {
|
|
336
|
+
env: environment,
|
|
337
|
+
shell: process.platform === "win32"
|
|
338
|
+
}));
|
|
339
|
+
};
|
|
340
|
+
const checkGrokProviderStatus = Effect.fn("checkGrokProviderStatus")(function* (grokSettings, environment = process.env) {
|
|
341
|
+
const checkedAt = DateTime.formatIso(yield* DateTime.now);
|
|
342
|
+
const fallbackModels = grokModelsFromSettings(grokSettings.customModels);
|
|
343
|
+
if (!grokSettings.enabled) return buildServerProvider({
|
|
344
|
+
presentation: GROK_PRESENTATION,
|
|
345
|
+
enabled: false,
|
|
346
|
+
checkedAt,
|
|
347
|
+
models: fallbackModels,
|
|
348
|
+
probe: {
|
|
349
|
+
installed: false,
|
|
350
|
+
version: null,
|
|
351
|
+
status: "warning",
|
|
352
|
+
auth: { status: "unknown" },
|
|
353
|
+
message: "Grok is disabled in Ryco settings."
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
const versionResult = yield* runGrokVersionCommand(grokSettings, environment).pipe(Effect.timeoutOption(VERSION_PROBE_TIMEOUT_MS), Effect.result);
|
|
357
|
+
if (Result.isFailure(versionResult)) {
|
|
358
|
+
const error = versionResult.failure;
|
|
359
|
+
yield* Effect.logWarning("Grok CLI health check failed.", { errorTag: error.name });
|
|
360
|
+
return buildServerProvider({
|
|
361
|
+
presentation: GROK_PRESENTATION,
|
|
362
|
+
enabled: grokSettings.enabled,
|
|
363
|
+
checkedAt,
|
|
364
|
+
models: fallbackModels,
|
|
365
|
+
probe: {
|
|
366
|
+
installed: !isCommandMissingCause(error),
|
|
367
|
+
version: null,
|
|
368
|
+
status: "error",
|
|
369
|
+
auth: { status: "unknown" },
|
|
370
|
+
message: isCommandMissingCause(error) ? "Grok CLI (`grok`) is not installed or not on PATH." : "Failed to execute Grok CLI health check."
|
|
371
|
+
}
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
if (Option.isNone(versionResult.success)) return buildServerProvider({
|
|
375
|
+
presentation: GROK_PRESENTATION,
|
|
376
|
+
enabled: grokSettings.enabled,
|
|
377
|
+
checkedAt,
|
|
378
|
+
models: fallbackModels,
|
|
379
|
+
probe: {
|
|
380
|
+
installed: true,
|
|
381
|
+
version: null,
|
|
382
|
+
status: "error",
|
|
383
|
+
auth: { status: "unknown" },
|
|
384
|
+
message: "Grok CLI is installed but timed out while running `grok --version`."
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
const versionOutput = versionResult.success.value;
|
|
388
|
+
const version = parseGenericCliVersion(`${versionOutput.stdout}\n${versionOutput.stderr}`);
|
|
389
|
+
if (versionOutput.code !== 0) {
|
|
390
|
+
yield* Effect.logWarning("Grok CLI version probe exited with a non-zero status.", {
|
|
391
|
+
exitCode: versionOutput.code,
|
|
392
|
+
stdoutLength: versionOutput.stdout.length,
|
|
393
|
+
stderrLength: versionOutput.stderr.length
|
|
394
|
+
});
|
|
395
|
+
return buildServerProvider({
|
|
396
|
+
presentation: GROK_PRESENTATION,
|
|
397
|
+
enabled: grokSettings.enabled,
|
|
398
|
+
checkedAt,
|
|
399
|
+
models: fallbackModels,
|
|
400
|
+
probe: {
|
|
401
|
+
installed: true,
|
|
402
|
+
version,
|
|
403
|
+
status: "error",
|
|
404
|
+
auth: { status: "unknown" },
|
|
405
|
+
message: "Grok CLI is installed but failed to run."
|
|
406
|
+
}
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
const discoveryExit = yield* discoverGrokModelsViaAcp(grokSettings, environment).pipe(Effect.timeoutOption(GROK_ACP_MODEL_DISCOVERY_TIMEOUT_MS), Effect.exit);
|
|
410
|
+
if (Exit.isFailure(discoveryExit)) {
|
|
411
|
+
yield* Effect.logWarning("Grok ACP model discovery failed", { cause: Cause.pretty(discoveryExit.cause) });
|
|
412
|
+
return buildServerProvider({
|
|
413
|
+
presentation: GROK_PRESENTATION,
|
|
414
|
+
enabled: grokSettings.enabled,
|
|
415
|
+
checkedAt,
|
|
416
|
+
models: fallbackModels,
|
|
417
|
+
probe: {
|
|
418
|
+
installed: true,
|
|
419
|
+
version,
|
|
420
|
+
status: "error",
|
|
421
|
+
auth: { status: "unknown" },
|
|
422
|
+
message: "Grok CLI is installed but ACP startup failed. Check server logs for details."
|
|
423
|
+
}
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
if (Option.isNone(discoveryExit.value)) {
|
|
427
|
+
yield* Effect.logWarning(`Grok ACP model discovery timed out after ${GROK_ACP_MODEL_DISCOVERY_TIMEOUT_MS}ms.`);
|
|
428
|
+
return buildServerProvider({
|
|
429
|
+
presentation: GROK_PRESENTATION,
|
|
430
|
+
enabled: grokSettings.enabled,
|
|
431
|
+
checkedAt,
|
|
432
|
+
models: fallbackModels,
|
|
433
|
+
probe: {
|
|
434
|
+
installed: true,
|
|
435
|
+
version,
|
|
436
|
+
status: "error",
|
|
437
|
+
auth: { status: "unknown" },
|
|
438
|
+
message: `Grok CLI is installed but ACP startup timed out after ${GROK_ACP_MODEL_DISCOVERY_TIMEOUT_MS}ms.`
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
const discoveredModels = discoveryExit.value.value;
|
|
443
|
+
const models = discoveredModels.length > 0 ? grokModelsFromSettings(grokSettings.customModels, discoveredModels) : fallbackModels;
|
|
444
|
+
return buildServerProvider({
|
|
445
|
+
presentation: GROK_PRESENTATION,
|
|
446
|
+
enabled: grokSettings.enabled,
|
|
447
|
+
checkedAt,
|
|
448
|
+
models,
|
|
449
|
+
probe: {
|
|
450
|
+
installed: true,
|
|
451
|
+
version,
|
|
452
|
+
status: "ready",
|
|
453
|
+
auth: { status: "unknown" }
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
});
|
|
457
|
+
const enrichGrokSnapshot = (input) => {
|
|
458
|
+
const { snapshot, publishSnapshot } = input;
|
|
459
|
+
return enrichProviderSnapshotWithVersionAdvisory(snapshot, input.maintenanceCapabilities).pipe(Effect.provideService(HttpClient.HttpClient, input.httpClient), Effect.provideService(ServerSettingsService, input.serverSettings), Effect.flatMap((enrichedSnapshot) => publishSnapshot(enrichedSnapshot)), Effect.catchCause((cause) => Effect.logWarning("Grok version advisory enrichment failed", { cause: Cause.pretty(cause) })), Effect.asVoid);
|
|
460
|
+
};
|
|
461
|
+
//#endregion
|
|
462
|
+
//#region src/provider/Drivers/GrokDriver.ts
|
|
463
|
+
const decodeGrokSettings = Schema.decodeSync(GrokSettings);
|
|
464
|
+
const DRIVER_KIND = ProviderDriverKind.make("grok");
|
|
465
|
+
const SNAPSHOT_REFRESH_INTERVAL = Duration.minutes(5);
|
|
466
|
+
const UPDATE = makeStaticProviderMaintenanceResolver(makeManualOnlyProviderMaintenanceCapabilities({
|
|
467
|
+
provider: DRIVER_KIND,
|
|
468
|
+
packageName: null
|
|
469
|
+
}));
|
|
470
|
+
const withInstanceIdentity = (input) => (snapshot) => ({
|
|
471
|
+
...snapshot,
|
|
472
|
+
instanceId: input.instanceId,
|
|
473
|
+
driver: DRIVER_KIND,
|
|
474
|
+
...input.displayName ? { displayName: input.displayName } : {},
|
|
475
|
+
...input.accentColor ? { accentColor: input.accentColor } : {},
|
|
476
|
+
continuation: { groupKey: input.continuationGroupKey }
|
|
477
|
+
});
|
|
478
|
+
const GrokDriver = {
|
|
479
|
+
driverKind: DRIVER_KIND,
|
|
480
|
+
metadata: {
|
|
481
|
+
displayName: "Grok",
|
|
482
|
+
supportsMultipleInstances: true
|
|
483
|
+
},
|
|
484
|
+
configSchema: GrokSettings,
|
|
485
|
+
defaultConfig: () => decodeGrokSettings({}),
|
|
486
|
+
create: ({ instanceId, displayName, accentColor, environment, enabled, config }) => Effect.gen(function* () {
|
|
487
|
+
const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
|
|
488
|
+
const httpClient = yield* HttpClient.HttpClient;
|
|
489
|
+
const serverSettings = yield* ServerSettingsService;
|
|
490
|
+
const eventLoggers = yield* ProviderEventLoggers;
|
|
491
|
+
const processEnv = mergeProviderInstanceEnvironment(environment);
|
|
492
|
+
const continuationIdentity = defaultProviderContinuationIdentity({
|
|
493
|
+
driverKind: DRIVER_KIND,
|
|
494
|
+
instanceId
|
|
495
|
+
});
|
|
496
|
+
const stampIdentity = withInstanceIdentity({
|
|
497
|
+
instanceId,
|
|
498
|
+
displayName,
|
|
499
|
+
accentColor,
|
|
500
|
+
continuationGroupKey: continuationIdentity.continuationKey
|
|
501
|
+
});
|
|
502
|
+
const effectiveConfig = {
|
|
503
|
+
...config,
|
|
504
|
+
enabled
|
|
505
|
+
};
|
|
506
|
+
const maintenanceCapabilities = yield* resolveProviderMaintenanceCapabilitiesEffect(UPDATE, {
|
|
507
|
+
binaryPath: effectiveConfig.binaryPath,
|
|
508
|
+
env: processEnv
|
|
509
|
+
});
|
|
510
|
+
const adapter = yield* makeGrokAdapter(effectiveConfig, {
|
|
511
|
+
environment: processEnv,
|
|
512
|
+
...eventLoggers.native ? { nativeEventLogger: eventLoggers.native } : {},
|
|
513
|
+
instanceId
|
|
514
|
+
});
|
|
515
|
+
const textGeneration = yield* makeGrokTextGeneration(effectiveConfig, processEnv);
|
|
516
|
+
const checkProvider = checkGrokProviderStatus(effectiveConfig, processEnv).pipe(Effect.map(stampIdentity), Effect.provideService(ChildProcessSpawner.ChildProcessSpawner, spawner));
|
|
517
|
+
const snapshot = yield* makeManagedServerProvider({
|
|
518
|
+
maintenanceCapabilities,
|
|
519
|
+
getSettings: Effect.succeed(effectiveConfig),
|
|
520
|
+
streamSettings: Stream.never,
|
|
521
|
+
haveSettingsChanged: () => false,
|
|
522
|
+
initialSnapshot: (settings) => stampIdentity(buildInitialGrokProviderSnapshot(settings)),
|
|
523
|
+
checkProvider,
|
|
524
|
+
enrichSnapshot: ({ snapshot: currentSnapshot, publishSnapshot }) => enrichGrokSnapshot({
|
|
525
|
+
snapshot: currentSnapshot,
|
|
526
|
+
maintenanceCapabilities,
|
|
527
|
+
publishSnapshot,
|
|
528
|
+
httpClient,
|
|
529
|
+
serverSettings
|
|
530
|
+
}),
|
|
531
|
+
refreshInterval: SNAPSHOT_REFRESH_INTERVAL
|
|
532
|
+
}).pipe(Effect.mapError((cause) => new ProviderDriverError({
|
|
533
|
+
driver: DRIVER_KIND,
|
|
534
|
+
instanceId,
|
|
535
|
+
detail: `Failed to build Grok snapshot: ${cause.message ?? String(cause)}`,
|
|
536
|
+
cause
|
|
537
|
+
})));
|
|
538
|
+
return {
|
|
539
|
+
instanceId,
|
|
540
|
+
driverKind: DRIVER_KIND,
|
|
541
|
+
continuationIdentity,
|
|
542
|
+
displayName,
|
|
543
|
+
accentColor,
|
|
544
|
+
enabled,
|
|
545
|
+
snapshot,
|
|
546
|
+
adapter,
|
|
547
|
+
textGeneration
|
|
548
|
+
};
|
|
549
|
+
})
|
|
550
|
+
};
|
|
551
|
+
//#endregion
|
|
552
|
+
export { GrokDriver };
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import { n as detectSourceControlProviderFromRemoteUrl } from "./sourceControl-BiEBxN01.mjs";
|
|
4
|
-
import * as Effect$1 from "effect/Effect";
|
|
5
3
|
import { Cause, Context, DateTime, Duration, Effect, Exit, FileSystem, Layer, Metric, Path, Schema } from "effect";
|
|
6
4
|
import path from "node:path";
|
|
7
5
|
import { createHash, timingSafeEqual } from "node:crypto";
|
|
8
6
|
import { dual } from "effect/Function";
|
|
9
|
-
import * as Random from "effect/Random";
|
|
10
7
|
//#region ../../node_modules/.bun/cborg@6.1.2/node_modules/cborg/lib/is.js
|
|
11
8
|
const objectTypeNames = [
|
|
12
9
|
"Object",
|
|
@@ -2799,109 +2796,6 @@ function normalizeModelMetricLabel(model) {
|
|
|
2799
2796
|
if (normalized.includes("gemini")) return "gemini";
|
|
2800
2797
|
return "other";
|
|
2801
2798
|
}
|
|
2802
|
-
//#endregion
|
|
2803
|
-
//#region ../../packages/shared/src/git.ts
|
|
2804
|
-
const WORKTREE_BRANCH_PREFIX = "ryco";
|
|
2805
|
-
const TEMP_WORKTREE_BRANCH_PATTERN = new RegExp(`^(?:${WORKTREE_BRANCH_PREFIX}|ryco)\\/[0-9a-f]{8}$`);
|
|
2806
|
-
/**
|
|
2807
|
-
* Sanitize an arbitrary string into a valid, lowercase git refName fragment.
|
|
2808
|
-
* Strips quotes, collapses separators, limits to 64 chars.
|
|
2809
|
-
*/
|
|
2810
|
-
function sanitizeBranchFragment(raw) {
|
|
2811
|
-
const branchFragment = raw.trim().toLowerCase().replace(/['"`]/g, "").replace(/^[./\s_-]+|[./\s_-]+$/g, "").replace(/[^a-z0-9/_-]+/g, "-").replace(/\/+/g, "/").replace(/-+/g, "-").replace(/^[./_-]+|[./_-]+$/g, "").slice(0, 64).replace(/[./_-]+$/g, "");
|
|
2812
|
-
return branchFragment.length > 0 ? branchFragment : "update";
|
|
2813
|
-
}
|
|
2814
|
-
/**
|
|
2815
|
-
* Sanitize a string into a `feature/…` refName name.
|
|
2816
|
-
* Preserves an existing `feature/` prefix or slash-separated namespace.
|
|
2817
|
-
*/
|
|
2818
|
-
function sanitizeFeatureBranchName(raw) {
|
|
2819
|
-
const sanitized = sanitizeBranchFragment(raw);
|
|
2820
|
-
if (sanitized.includes("/")) return sanitized.startsWith("feature/") ? sanitized : `feature/${sanitized}`;
|
|
2821
|
-
return `feature/${sanitized}`;
|
|
2822
|
-
}
|
|
2823
|
-
const AUTO_FEATURE_BRANCH_FALLBACK = "feature/update";
|
|
2824
|
-
/**
|
|
2825
|
-
* Resolve a unique `feature/…` refName name that doesn't collide with
|
|
2826
|
-
* any existing refName. Appends a numeric suffix when needed.
|
|
2827
|
-
*/
|
|
2828
|
-
function resolveAutoFeatureBranchName(existingBranchNames, preferredBranch) {
|
|
2829
|
-
const preferred = preferredBranch?.trim();
|
|
2830
|
-
const resolvedBase = sanitizeFeatureBranchName(preferred && preferred.length > 0 ? preferred : AUTO_FEATURE_BRANCH_FALLBACK);
|
|
2831
|
-
const existingNames = new Set(existingBranchNames.map((refName) => refName.toLowerCase()));
|
|
2832
|
-
if (!existingNames.has(resolvedBase)) return resolvedBase;
|
|
2833
|
-
let suffix = 2;
|
|
2834
|
-
while (existingNames.has(`${resolvedBase}-${suffix}`)) suffix += 1;
|
|
2835
|
-
return `${resolvedBase}-${suffix}`;
|
|
2836
|
-
}
|
|
2837
|
-
/**
|
|
2838
|
-
* Strip the remote prefix from a remote ref such as `origin/feature/demo`.
|
|
2839
|
-
*/
|
|
2840
|
-
function deriveLocalBranchNameFromRemoteRef(branchName) {
|
|
2841
|
-
const firstSeparatorIndex = branchName.indexOf("/");
|
|
2842
|
-
if (firstSeparatorIndex <= 0 || firstSeparatorIndex === branchName.length - 1) return branchName;
|
|
2843
|
-
return branchName.slice(firstSeparatorIndex + 1);
|
|
2844
|
-
}
|
|
2845
|
-
function buildTemporaryWorktreeBranchName() {
|
|
2846
|
-
const token = Effect$1.runSync(Random.nextIntBetween(0, 4294967295)).toString(16).padStart(8, "0");
|
|
2847
|
-
return `${WORKTREE_BRANCH_PREFIX}/${token}`;
|
|
2848
|
-
}
|
|
2849
|
-
function isTemporaryWorktreeBranch(refName) {
|
|
2850
|
-
return TEMP_WORKTREE_BRANCH_PATTERN.test(refName.trim().toLowerCase());
|
|
2851
|
-
}
|
|
2852
|
-
/**
|
|
2853
|
-
* Normalize a git remote URL into a stable comparison key.
|
|
2854
|
-
*/
|
|
2855
|
-
function normalizeGitRemoteUrl(value) {
|
|
2856
|
-
const normalized = value.trim().replace(/\/+$/g, "").replace(/\.git$/i, "").toLowerCase();
|
|
2857
|
-
if (/^(?:ssh|https?|git):\/\//i.test(normalized)) try {
|
|
2858
|
-
const url = new URL(normalized);
|
|
2859
|
-
const repositoryPath = url.pathname.split("/").filter((segment) => segment.length > 0).join("/");
|
|
2860
|
-
if (url.hostname && repositoryPath.includes("/")) return `${url.hostname}/${repositoryPath}`;
|
|
2861
|
-
} catch {
|
|
2862
|
-
return normalized;
|
|
2863
|
-
}
|
|
2864
|
-
const scpStyleHostAndPath = /^git@([^:/\s]+)[:/]([^/\s]+(?:\/[^/\s]+)+)$/i.exec(normalized);
|
|
2865
|
-
if (scpStyleHostAndPath?.[1] && scpStyleHostAndPath[2]) return `${scpStyleHostAndPath[1]}/${scpStyleHostAndPath[2]}`;
|
|
2866
|
-
return normalized;
|
|
2867
|
-
}
|
|
2868
|
-
function deriveLocalBranchNameCandidatesFromRemoteRef(branchName, remoteName) {
|
|
2869
|
-
const candidates = /* @__PURE__ */ new Set();
|
|
2870
|
-
const firstSlashCandidate = deriveLocalBranchNameFromRemoteRef(branchName);
|
|
2871
|
-
if (firstSlashCandidate.length > 0) candidates.add(firstSlashCandidate);
|
|
2872
|
-
if (remoteName) {
|
|
2873
|
-
const remotePrefix = `${remoteName}/`;
|
|
2874
|
-
if (branchName.startsWith(remotePrefix) && branchName.length > remotePrefix.length) candidates.add(branchName.slice(remotePrefix.length));
|
|
2875
|
-
}
|
|
2876
|
-
return [...candidates];
|
|
2877
|
-
}
|
|
2878
|
-
/**
|
|
2879
|
-
* Hide `origin/*` remote refs when a matching local refName already exists.
|
|
2880
|
-
*/
|
|
2881
|
-
function dedupeRemoteBranchesWithLocalMatches(refs) {
|
|
2882
|
-
const localBranchNames = new Set(refs.filter((refName) => !refName.isRemote).map((refName) => refName.name));
|
|
2883
|
-
return refs.filter((refName) => {
|
|
2884
|
-
if (!refName.isRemote) return true;
|
|
2885
|
-
if (refName.remoteName !== "origin") return true;
|
|
2886
|
-
return !deriveLocalBranchNameCandidatesFromRemoteRef(refName.name, refName.remoteName).some((candidate) => localBranchNames.has(candidate));
|
|
2887
|
-
});
|
|
2888
|
-
}
|
|
2889
|
-
function detectSourceControlProviderFromGitRemoteUrl(remoteUrl) {
|
|
2890
|
-
return detectSourceControlProviderFromRemoteUrl(remoteUrl);
|
|
2891
|
-
}
|
|
2892
|
-
const EMPTY_GIT_STATUS_REMOTE = {
|
|
2893
|
-
hasUpstream: false,
|
|
2894
|
-
aheadCount: 0,
|
|
2895
|
-
behindCount: 0,
|
|
2896
|
-
aheadOfDefaultCount: 0,
|
|
2897
|
-
pr: null
|
|
2898
|
-
};
|
|
2899
|
-
function mergeGitStatusParts(local, remote) {
|
|
2900
|
-
return {
|
|
2901
|
-
...local,
|
|
2902
|
-
...remote ?? EMPTY_GIT_STATUS_REMOTE
|
|
2903
|
-
};
|
|
2904
|
-
}
|
|
2905
2799
|
const DEFAULT_ROLLING_WINDOW_MS = 3e5;
|
|
2906
2800
|
var RollingDurationWindow = class {
|
|
2907
2801
|
maxSamples;
|
|
@@ -3112,4 +3006,4 @@ const providerTurnMetricAttributes = (input) => {
|
|
|
3112
3006
|
});
|
|
3113
3007
|
};
|
|
3114
3008
|
//#endregion
|
|
3115
|
-
export {
|
|
3009
|
+
export { ensureServerDirectories as $, runtimeQueueBlockedDuration as A, startupCommandGateQueueHighWater as B, providerStartupQueueHighWater as C, providerTurnsTotal as D, providerTurnMetricAttributes as E, runtimeQueueHighWater as F, LocalDiagnosticsMetrics as G, terminalRestartsTotal as H, runtimeQueueOverflowsTotal as I, outcomeFromExit as J, LocalDiagnosticsMetricsLive as K, runtimeQueueRecoveriesTotal as L, runtimeQueueDepth as M, runtimeQueueDequeuesTotal as N, rpcRequestDuration as O, runtimeQueueEnqueuesTotal as P, deriveServerPaths as Q, startupCommandGateEnqueuesTotal as R, providerStartupQueueDepth as S, providerTurnDuration as T, terminalSessionsTotal as U, startupCommandGateQueueWaitDuration as V, withMetrics as W, RuntimeMode as X, DEFAULT_PORT as Y, ServerConfig as Z, providerRuntimeEventsTotal as _, contextHandoffsTotal as a, encodeNativeNodeClaimTranscript as at, providerStaleStopTimeoutsTotal as b, increment as c, equalNodeIdentityBytes as ct, orchestrationCommandAckDuration as d, normalizeHubNodeName as dt, resolveHubConnectorConfig as et, orchestrationCommandDuration as f, Tokeniser as ft, providerMetricAttributes as g, Type as gt, providerEventLogRecordsDroppedTotal as h, rfc8949EncodeOptions as ht, contextHandoffPreparationDuration as i, canonicalizeHubOrigin as it, runtimeQueueCoalescedTotal as j, rpcRequestsTotal as k, metricAttributes as l, fingerprintNodePublicKey as lt, orchestrationEventsProcessedTotal as m, encode as mt, contextHandoffContextEntriesTotal as n, resolveNodeE2eePolicyConfig as nt, gitCommandDuration as o, encodeNodeAuthenticationTranscript as ot, orchestrationCommandsTotal as p, decode as pt, compactTraceAttributes as q, contextHandoffDispatchDuration as r, resolveStaticDir as rt, gitCommandsTotal as s, encodeNodeKeyRotationTranscript as st, contextHandoffContextBytesTotal as t, resolveManagedWorktreesRoot as tt, metricNames as u, formatNodePublicKeyFingerprint as ut, providerRuntimeStaleEventsTotal as v, providerStartupQueueWaitDuration as w, providerStartupAdmissionTotal as x, providerSessionsTotal as y, startupCommandGateQueueDepth as z };
|