ryco-cli 0.1.24 → 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-DSPEmiwq.mjs → AcpAdapter-BemMQNbj.mjs} +102 -604
- package/dist/{GrokDriver-RyyFeh_q.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-CrvgKNf2.cjs → AzureDevOpsSourceControlProvider-B9N_8NJg.cjs} +14 -14
- package/dist/{AzureDevOpsSourceControlProvider-BNGEg1R8.mjs → AzureDevOpsSourceControlProvider-BcQO_CyW.mjs} +3 -3
- package/dist/{BitbucketSourceControlProvider-Bt21jw68.mjs → BitbucketSourceControlProvider-BTUY2ZT8.mjs} +3 -3
- package/dist/{BitbucketSourceControlProvider-BzhsQwH-.cjs → BitbucketSourceControlProvider-C9WuwvY2.cjs} +14 -14
- package/dist/{BunPTY-TbHbSc8S.mjs → BunPTY-DdnqQAdw.mjs} +1 -1
- package/dist/{ClaudeDriver-B7mbf51W.cjs → ClaudeDriver-BSTxNNGO.cjs} +162 -126
- package/dist/{ClaudeDriver-C4yu7Jit.mjs → ClaudeDriver-Csnp78qR.mjs} +129 -93
- package/dist/{CodexDriver-CR0S17Lb.cjs → CodexDriver-BK4HVNV4.cjs} +145 -60
- package/dist/{CodexDriver-DnnqkGoY.mjs → CodexDriver-fwcV84hX.mjs} +99 -14
- package/dist/{CodexTextGeneration-tlfe1S5W.cjs → CodexTextGeneration-Y2GSS7f1.cjs} +145 -99
- package/dist/{CodexTextGeneration-Cw-FZbSS.mjs → CodexTextGeneration-_4aT5BHa.mjs} +141 -95
- package/dist/{CopilotDriver-GxKLX5pL.mjs → CopilotDriver-B12ZJ-L_.mjs} +69 -7
- package/dist/{CopilotDriver-IBd27Ji2.cjs → CopilotDriver-C7IyIwVW.cjs} +98 -36
- package/dist/{CursorDriver-C4Enoe9N.cjs → CursorDriver-BWmCfJ-w.cjs} +38 -32
- package/dist/{CursorDriver-CNo9Uzo8.mjs → CursorDriver-C_p0v-ul.mjs} +12 -6
- package/dist/{ForgejoSourceControlProvider-Dh6DOoc8.cjs → ForgejoSourceControlProvider-DTRrllIH.cjs} +14 -14
- package/dist/{ForgejoSourceControlProvider-BGXysSX6.mjs → ForgejoSourceControlProvider-DmOGJEaJ.mjs} +3 -3
- package/dist/{GitHubSourceControlProvider-8hsv_kCE.cjs → GitHubSourceControlProvider-D-YV8WP6.cjs} +16 -17
- package/dist/{GitHubSourceControlProvider-CPCYV8Xo.mjs → GitHubSourceControlProvider-sQGcwnr3.mjs} +6 -7
- package/dist/{GitLabSourceControlProvider-B0ZbF9Zx.cjs → GitLabSourceControlProvider-kKYYnpER.cjs} +14 -14
- package/dist/{GitLabSourceControlProvider-Bvknpaon.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-CDcvPT9v.cjs → OpenCodeDriver-CckbFEQJ.cjs} +459 -141
- package/dist/{OpenCodeDriver-0q44rSQX.mjs → OpenCodeDriver-CnWJHyDJ.mjs} +430 -112
- package/dist/SideQuestionIsolation-5eGFRW0t.mjs +26 -0
- package/dist/SideQuestionIsolation-DvVKZWxi.cjs +37 -0
- package/dist/{SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs → SourceControlProviderDiscoveryCatalog-BVvq7liJ.mjs} +2 -1
- package/dist/{SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs → SourceControlProviderDiscoveryCatalog-CyUhKJLD.cjs} +6 -5
- package/dist/bin.cjs +12772 -3149
- package/dist/bin.mjs +10669 -1075
- 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-i0YhvlGD.js → AnimatedHeight-CbIEyMLg.js} +1 -1
- package/dist/client/assets/AppearanceSettings-B2LsGKmL.js +1 -0
- package/dist/client/assets/{BranchToolbar.logic-AgPy06Mx.js → BranchToolbar.logic-BqkvYNPk.js} +1 -1
- package/dist/client/assets/{BrowserPanel-BWztlNuL.js → BrowserPanel-C_C4zjrh.js} +1 -1
- package/dist/client/assets/ChatRightPanel-ibiQ79jI.js +195 -0
- package/dist/client/assets/{ChatThreadRouteView-CWoBLzR_.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-DM17BYP5.js +1 -0
- package/dist/client/assets/ConnectionsSettings-D6wysIC8.js +7 -0
- package/dist/client/assets/ContextHandoffEndpointLabel-CsF_maM_.js +4 -0
- package/dist/client/assets/{DiagnosticsSettings-DvnNz2AZ.js → DiagnosticsSettings-Bq2l-C4J.js} +2 -2
- package/dist/client/assets/{DialogHandle-8o3kfoiI.js → DialogHandle-DuKTleCw.js} +1 -1
- package/dist/client/assets/{DialogPopup-CLw6NCkW.js → DialogPopup-Dt7DzTWv.js} +1 -1
- package/dist/client/assets/DialogRoot-DRyawL6l.js +1 -0
- package/dist/client/assets/{DialogTitle-DCHX74Tz.js → DialogTitle-BaxfPC6e.js} +1 -1
- package/dist/client/assets/DialogTrigger-D0PJ8bRT.js +1 -0
- package/dist/client/assets/{DialogViewport-DVDl03yd.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-arHvT6AX.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-GY6owikG.js → GlassSurface-CBIEgwt1.js} +1 -1
- package/dist/client/assets/HKscs-B5-H-CXbBbq6g.bcmap +0 -0
- package/dist/client/assets/{HostedConnectionControls-COUhSe9x.js → HostedConnectionControls-DOpTlXzE.js} +1 -1
- package/dist/client/assets/HostedHubRoot-C1jq8cM6.js +2 -0
- package/dist/client/assets/{HostedNativeAuthorizationRoute-DZhYxv--.js → HostedNativeAuthorizationRoute-Clw1DHQW.js} +2 -2
- package/dist/client/assets/HostedNodeRenameDialog-Bd_Qu_ek.js +1 -0
- package/dist/client/assets/{HostedRelayTrustNotice-Bl6On0Yi.js → HostedRelayTrustNotice-CGcBpT9m.js} +1 -1
- package/dist/client/assets/IntegrationsSettingsPanel-J0qODRW-.js +2 -0
- package/dist/client/assets/KSC-Johab-H-CGtV3MPT.bcmap +0 -0
- package/dist/client/assets/{KeybindingsSettings-CPtXx-W2.js → KeybindingsSettings-CwxIHsFy.js} +1 -1
- package/dist/client/assets/{LazyBrowserPanel-SUIBB7B4.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-BFifrshE.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-R0cqI17q.js → PhoneGetAppInterstitial-0EOj-PbW.js} +1 -1
- package/dist/client/assets/PhoneHome-Cg7l3b1T.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-BXAUtZ9M.js +2 -0
- package/dist/client/assets/ProvidersSettingsPanel-BaJgypXu.js +1 -0
- package/dist/client/assets/{QuitShortcutFeedback-CklL3jMd.js → QuitShortcutFeedback-DgJFEd6b.js} +1 -1
- package/dist/client/assets/{RedactedSensitiveText-CLPBtvH1.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-9pSZP875.js → SettingsPanels.editor-DJRckD71.js} +1 -1
- package/dist/client/assets/{SourceControlSettings-C1F3Brcn.js → SourceControlSettings-IpoZrjt5.js} +1 -1
- 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-CHZ60lPI.js → ThreadTerminalDrawer-BEv83xrk.js} +11 -11
- 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-BMBx2Fu0.js → activity-BmRcsTyL.js} +1 -1
- package/dist/client/assets/{alert-CXnC_RJc.js → alert-C5UiA2xk.js} +1 -1
- package/dist/client/assets/{appChrome-BzM66lXM.js → appChrome-CsZ2ylc1.js} +1 -1
- package/dist/client/assets/{arrow-left-CymyVbCi.js → arrow-left-CSz-z20j.js} +1 -1
- package/dist/client/assets/{arrow-right-9wyq4YVq.js → arrow-right-DEi91hao.js} +1 -1
- package/dist/client/assets/{arrow-up-right-mfU38K6p.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-BR3RyOWP.js → bot-SC4UGZyw.js} +1 -1
- package/dist/client/assets/{capabilities-C8sxDbKT.js → capabilities-BCkDNe83.js} +1 -1
- package/dist/client/assets/{chart-column-CcRi3pAd.js → chart-column-C08MuLgY.js} +1 -1
- package/dist/client/assets/chevron-right-DgB53U1_.js +1 -0
- package/dist/client/assets/{clipboard-copy-ezz8rnaT.js → clipboard-copy-D74Wvnon.js} +1 -1
- package/dist/client/assets/{data-list-ZLhzdlED.js → data-list-CZ4Utnfl.js} +1 -1
- package/dist/client/assets/{desktopWorkspace-P28r2lN2.js → desktopWorkspace-DVfn9ZT_.js} +1 -1
- package/dist/client/assets/{download-BA9L9tK9.js → download-Dio40wIJ.js} +1 -1
- package/dist/client/assets/editorPreferences-2dG4uloq.js +1 -0
- package/dist/client/assets/{empty-3NpXLnAM.js → empty-6LExKYgQ.js} +1 -1
- package/dist/client/assets/{group-D5qBdsaB.js → group-D_mu0Kiq.js} +1 -1
- package/dist/client/assets/{hostedConnectionCoordinator-CLV-JD1S.js → hostedConnectionCoordinator-YkDLnATK.js} +1 -1
- package/dist/client/assets/{hubRoutes-EWJ3Gdod.js → hubRoutes-D3quWvU7.js} +1 -1
- package/dist/client/assets/{index-DxCd1PgA.js → index-7MTgf8YI.js} +2 -2
- package/dist/client/assets/{input-DrOL1KPS.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-D2DtQ7aS.js → key-round-C-oUSjpF.js} +1 -1
- package/dist/client/assets/{layers-DtSJWmwy.js → layers-Co2a5C1k.js} +1 -1
- package/dist/client/assets/{log-out-YAp9fsOg.js → log-out-pWFhbvwr.js} +1 -1
- package/dist/client/assets/{logging-BuUPX1SP.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-D18VboLH.js → palette-B_6C4fD6.js} +1 -1
- package/dist/client/assets/pdf.worker.min-Dswkl-cV.mjs +29 -0
- package/dist/client/assets/{play-d3KUi4G6.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-dwWhl7Uf.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-Bk1kdf_k.js → qr-code-BU354aLS.js} +1 -1
- package/dist/client/assets/{qr-code-MAZkoKtL.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-DY3_Ph-S.js → refresh-cw-CY5BeUEr.js} +1 -1
- package/dist/client/assets/runtime-BKneT96Q.js +17 -0
- package/dist/client/assets/{save-ugJXuJRM.js → save-DIHMjHXd.js} +1 -1
- package/dist/client/assets/{scroll-area-BMnGzd2a.js → scroll-area-Cq4SX9P8.js} +1 -1
- package/dist/client/assets/{scrollEdges-QLSFwGSQ.js → scrollEdges-BaWRjrac.js} +1 -1
- package/dist/client/assets/{separator-BwUYkCkX.js → separator-BN705fC0.js} +1 -1
- package/dist/client/assets/{settingsLayout-C6SUmJVB.js → settingsLayout-DQERzSce.js} +1 -1
- package/dist/client/assets/{sheet-DLy4aeVa.js → sheet-CFvRY7T6.js} +1 -1
- package/dist/client/assets/{shield-Zq_ygsnJ.js → shield-Zn2kFj5M.js} +1 -1
- package/dist/client/assets/{shield-alert-DfUhTI4-.js → shield-alert-DMB5gKiC.js} +1 -1
- package/dist/client/assets/{shield-check-CO4SMhAs.js → shield-check-DyNf6Bky.js} +1 -1
- package/dist/client/assets/{sidebar-DNnW-a2V.js → sidebar-Bsh64sLK.js} +1 -1
- package/dist/client/assets/sidebarProjectFolders-CQbpO9ZI.js +4 -0
- package/dist/client/assets/{sidebarStatusText-CawrXnx0.js → sidebarStatusText-DCo-whyK.js} +1 -1
- package/dist/client/assets/{skeleton-DRm4_OvB.js → skeleton-DEuowfjY.js} +1 -1
- package/dist/client/assets/{smartphone-O2VACDhU.js → smartphone-BLWJ7C9-.js} +1 -1
- package/dist/client/assets/{sparkles-isHutYWU.js → sparkles-DAXDXp_s.js} +1 -1
- package/dist/client/assets/src-DPpEXU6w.js +14 -0
- package/dist/client/assets/{star-7UHEnC3x.js → star-CjQxHYbD.js} +1 -1
- package/dist/client/assets/switch-LahPAvrd.js +48 -0
- package/dist/client/assets/{toggle-CaKBNe6W.js → toggle-45lsrmyi.js} +1 -1
- package/dist/client/assets/{toggle-group-UeFeTI3u.js → toggle-group-D5pl24ED.js} +1 -1
- package/dist/client/assets/{tokenModePresentation-DV56ekA4.js → tokenModePresentation-CPUsUGY4.js} +1 -1
- package/dist/client/assets/tooltip-B8-izeMo.js +1 -0
- package/dist/client/assets/{unplug-DisTpujT.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-DctamWV6.js → user-round-DEWIPpNs.js} +1 -1
- package/dist/client/assets/{vscode-icons-Dw-LGJAv.js → vscode-icons-DTH-Vj-_.js} +1 -1
- package/dist/client/assets/workspaceMetadataProjection-BnpxBe8S.js +1 -0
- package/dist/client/assets/{wrench-Ds8eZerZ.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-GZcpSLrW.mjs → makeManagedServerProvider-BINne1KE.mjs} +3 -38
- package/dist/{makeManagedServerProvider-VzxWN-04.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-DStwNTTK.cjs → src-BlzIcnVG.cjs} +573 -117
- package/dist/{collectUint8StreamText-C_VNyArd.mjs → src-DtEOcXdl.mjs} +389 -95
- package/package.json +1 -1
- package/dist/AcpNativeLogging-COepku4a.cjs +0 -5130
- package/dist/AcpNativeLogging-D7e1dn7s.mjs +0 -5015
- package/dist/client/assets/AccountSettings-ApnDA1f-.js +0 -1
- package/dist/client/assets/AiFocusSettings-CNmGHEcA.js +0 -1
- package/dist/client/assets/AppearanceSettings-BG8W4DP0.js +0 -1
- package/dist/client/assets/ChatRightPanel-a6UOHNMm.js +0 -194
- package/dist/client/assets/CommandPaletteDialog-B2iKWCUi.js +0 -1
- package/dist/client/assets/CompositeRoot-C1G-Ejus.js +0 -1
- package/dist/client/assets/ComputerUseSettings-CPwWoHWj.js +0 -1
- package/dist/client/assets/ConnectionsSettings-CPMkuxza.js +0 -7
- package/dist/client/assets/ContextHandoffEndpointLabel-BildLLDY.js +0 -4
- package/dist/client/assets/DialogRoot-SKkIuQHA.js +0 -1
- package/dist/client/assets/DialogTrigger-Bl_fcIV2.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-CEDYjbKq.js +0 -1
- package/dist/client/assets/HostedHubRoot-BTWc0XoQ.js +0 -2
- package/dist/client/assets/IntegrationsSettingsPanel-n9owMZf-.js +0 -2
- package/dist/client/assets/McpServersSettings-BWIUud0Z.js +0 -6
- package/dist/client/assets/MobileSheet-NTayGHF6.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-D7WuuNWZ.js +0 -1
- package/dist/client/assets/PhoneHome-FqWvnJP_.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-w5PJnoBc.js +0 -2
- package/dist/client/assets/ProvidersSettingsPanel-Ww1ch3xA.js +0 -1
- package/dist/client/assets/RootAppShell-BdQCs2XJ.js +0 -7
- package/dist/client/assets/Separator-CpYBhf-I.js +0 -1
- package/dist/client/assets/SettingsDialog-DeMzEeCP.js +0 -2
- package/dist/client/assets/SettingsPanels-ZxNz9ZfL.js +0 -3
- package/dist/client/assets/StatisticsPage-C7v-6CTr.js +0 -1
- package/dist/client/assets/StatisticsPanel-CeIjiBm8.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-5s_violW.js +0 -1
- package/dist/client/assets/ThreadWorkspacePanel-Ct5kMcuY.js +0 -2073
- package/dist/client/assets/authorization-CjOFkg7b.js +0 -1
- package/dist/client/assets/badge-Dg7mXiOh.js +0 -1
- package/dist/client/assets/chevron-right-CuUjBsQV.js +0 -1
- package/dist/client/assets/editorPreferences-DeKdSV3s.js +0 -1
- package/dist/client/assets/kbd-rWDjJnWX.js +0 -1
- package/dist/client/assets/main-BbtLAX7M.js +0 -9
- package/dist/client/assets/main-D4CtFNPY.css +0 -2
- package/dist/client/assets/monitor-OyD484tI.js +0 -1
- package/dist/client/assets/primary-D_D7eLwT.js +0 -2
- package/dist/client/assets/providerDriverMeta-DNTocCcU.js +0 -1
- package/dist/client/assets/providerModels-bFbEIfL9.js +0 -1
- package/dist/client/assets/radio-group-D-VCGinX.js +0 -2
- package/dist/client/assets/runtime-Djy96GJd.js +0 -17
- package/dist/client/assets/sidebarProjectFolders-ygpaKZM6.js +0 -4
- package/dist/client/assets/src-BSuAGqhK.js +0 -14
- package/dist/client/assets/switch-DD1qVLgN.js +0 -48
- package/dist/client/assets/tooltip-DXvXxL37.js +0 -1
- package/dist/client/assets/useAppSidebarCollapsed-CaAsLi1q.js +0 -1
- package/dist/client/assets/useBaseUiId-CJN4MvrU.js +0 -1
- package/dist/client/assets/useLabelableId-BsDFG9Oj.js +0 -1
- package/dist/client/assets/useNavigate-cLfxn_9L.js +0 -1
- package/dist/client/assets/usePhoneThreadActions-rekHL1Mi.js +0 -1
- package/dist/client/assets/usePopupViewport-kXU31P6l.js +0 -1
- package/dist/client/assets/useScrollLock-DjMxrUJe.js +0 -1
- package/dist/client/assets/useStatistics-BYP-9CmW.js +0 -55
- package/dist/client/assets/useTriggerFocusGuards-DuAm2B8C.js +0 -1
- package/dist/client/assets/useValueChanged-DreFjrMK.js +0 -1
- package/dist/client/assets/workspaceMetadataProjection-BL4sEIL2.js +0 -1
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
const require_rolldown_runtime = require("./rolldown-runtime-LGfotAqq.cjs");
|
|
4
|
-
const
|
|
5
|
-
const require_Metrics = require("./Metrics-
|
|
4
|
+
const require_src = require("./src-BlzIcnVG.cjs");
|
|
5
|
+
const require_Metrics = require("./Metrics-DCKbdeoH.cjs");
|
|
6
6
|
const require_bin = require("./bin.cjs");
|
|
7
|
-
const
|
|
7
|
+
const require_runtimeSession = require("./runtimeSession-Bj0OUcNJ.cjs");
|
|
8
8
|
const require_sourceControlContextFormatter = require("./sourceControlContextFormatter-BDZqn-4T.cjs");
|
|
9
9
|
const require_ProjectCustomSystemPrompt = require("./ProjectCustomSystemPrompt-B8SUlNGa.cjs");
|
|
10
|
-
const
|
|
10
|
+
const require_makeManagedServerProvider = require("./makeManagedServerProvider-DGbd8BhM.cjs");
|
|
11
|
+
const require_CodexTextGeneration = require("./CodexTextGeneration-Y2GSS7f1.cjs");
|
|
11
12
|
let effect = require("effect");
|
|
12
13
|
let effect_unstable_http = require("effect/unstable/http");
|
|
13
14
|
let effect_unstable_process = require("effect/unstable/process");
|
|
@@ -175,7 +176,7 @@ In Default mode, strongly prefer making reasonable assumptions and executing the
|
|
|
175
176
|
</collaboration_mode>`;
|
|
176
177
|
//#endregion
|
|
177
178
|
//#region src/provider/Layers/CodexSessionRuntime.ts
|
|
178
|
-
const PROVIDER$1 =
|
|
179
|
+
const PROVIDER$1 = require_src.ProviderDriverKind.make("codex");
|
|
179
180
|
const ANSI_ESCAPE_REGEX = new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`, "g");
|
|
180
181
|
const CODEX_STDERR_LOG_REGEX = /^\d{4}-\d{2}-\d{2}T\S+\s+(TRACE|DEBUG|INFO|WARN|ERROR)\s+\S+:\s+(.*)$/;
|
|
181
182
|
const BENIGN_ERROR_LOG_SNIPPETS = ["state db missing rollout path for thread", "state db record_discrepancy: find_thread_path_by_id_str_in_subdir, falling_back"];
|
|
@@ -428,16 +429,16 @@ function readRouteFields(notification) {
|
|
|
428
429
|
};
|
|
429
430
|
case "turn/started":
|
|
430
431
|
case "turn/completed": return {
|
|
431
|
-
turnId:
|
|
432
|
+
turnId: require_src.TurnId.make(notification.params.turn.id),
|
|
432
433
|
itemId: void 0
|
|
433
434
|
};
|
|
434
435
|
case "error": return {
|
|
435
|
-
turnId:
|
|
436
|
+
turnId: require_src.TurnId.make(notification.params.turnId),
|
|
436
437
|
itemId: void 0
|
|
437
438
|
};
|
|
438
439
|
case "turn/diff/updated":
|
|
439
440
|
case "turn/plan/updated": return {
|
|
440
|
-
turnId:
|
|
441
|
+
turnId: require_src.TurnId.make(notification.params.turnId),
|
|
441
442
|
itemId: void 0
|
|
442
443
|
};
|
|
443
444
|
case "serverRequest/resolved": return {
|
|
@@ -446,8 +447,8 @@ function readRouteFields(notification) {
|
|
|
446
447
|
};
|
|
447
448
|
case "item/started":
|
|
448
449
|
case "item/completed": return {
|
|
449
|
-
turnId:
|
|
450
|
-
itemId:
|
|
450
|
+
turnId: require_src.TurnId.make(notification.params.turnId),
|
|
451
|
+
itemId: require_src.ProviderItemId.make(notification.params.item.id)
|
|
451
452
|
};
|
|
452
453
|
case "item/agentMessage/delta":
|
|
453
454
|
case "item/plan/delta":
|
|
@@ -458,8 +459,8 @@ function readRouteFields(notification) {
|
|
|
458
459
|
case "item/reasoning/summaryTextDelta":
|
|
459
460
|
case "item/reasoning/summaryPartAdded":
|
|
460
461
|
case "item/reasoning/textDelta": return {
|
|
461
|
-
turnId:
|
|
462
|
-
itemId:
|
|
462
|
+
turnId: require_src.TurnId.make(notification.params.turnId),
|
|
463
|
+
itemId: require_src.ProviderItemId.make(notification.params.itemId)
|
|
463
464
|
};
|
|
464
465
|
default: return {
|
|
465
466
|
turnId: void 0,
|
|
@@ -558,7 +559,7 @@ function parseThreadSnapshot(response) {
|
|
|
558
559
|
return {
|
|
559
560
|
threadId: response.thread.id,
|
|
560
561
|
turns: response.thread.turns.map((turn) => ({
|
|
561
|
-
id:
|
|
562
|
+
id: require_src.TurnId.make(turn.id),
|
|
562
563
|
items: turn.items,
|
|
563
564
|
status: turn.status,
|
|
564
565
|
...turn.startedAt !== void 0 ? { startedAt: turn.startedAt } : {}
|
|
@@ -601,6 +602,9 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
601
602
|
const collabChildAgentsRef = yield* effect.Ref.make(/* @__PURE__ */ new Map());
|
|
602
603
|
/** Child provider-thread id → its currently running provider turn id. */
|
|
603
604
|
const collabChildLiveTurnsRef = yield* effect.Ref.make(/* @__PURE__ */ new Map());
|
|
605
|
+
const childRevisions = /* @__PURE__ */ new Map();
|
|
606
|
+
const unsettledChildren = /* @__PURE__ */ new Set();
|
|
607
|
+
const reconciledChildStatuses = /* @__PURE__ */ new Map();
|
|
604
608
|
const closedRef = yield* effect.Ref.make(false);
|
|
605
609
|
const resolvedHomePath = options.homePath ? require_bin.expandHomePath(options.homePath) : void 0;
|
|
606
610
|
const env = {
|
|
@@ -636,7 +640,7 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
636
640
|
const sessionRef = yield* effect.Ref.make(initialSession);
|
|
637
641
|
const offerEvent = (event) => effect.Queue.offer(events, event).pipe(effect.Effect.asVoid);
|
|
638
642
|
const emitEvent = (event) => effect.Effect.flatMap(effect.Effect.sync(() => crypto.randomUUID()), (id) => offerEvent({
|
|
639
|
-
id:
|
|
643
|
+
id: require_src.EventId.make(id),
|
|
640
644
|
provider: PROVIDER$1,
|
|
641
645
|
...options.providerInstanceId ? { providerInstanceId: options.providerInstanceId } : {},
|
|
642
646
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -854,8 +858,52 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
854
858
|
default: return routeCodexChildNotification(notification.method) === "drop";
|
|
855
859
|
}
|
|
856
860
|
});
|
|
861
|
+
const reconcileChild = (childThreadId, includeTurns = false) => effect.Effect.gen(function* () {
|
|
862
|
+
const revision = childRevisions.get(childThreadId);
|
|
863
|
+
const response = yield* client.request("thread/read", {
|
|
864
|
+
threadId: childThreadId,
|
|
865
|
+
includeTurns
|
|
866
|
+
});
|
|
867
|
+
if (childRevisions.get(childThreadId) !== revision) return;
|
|
868
|
+
const child = (yield* effect.Ref.get(collabChildAgentsRef)).get(childThreadId);
|
|
869
|
+
if (!child || response.thread.id !== childThreadId) return;
|
|
870
|
+
const status = response.thread.status;
|
|
871
|
+
const activeTurn = response.thread.turns.findLast((turn) => turn.status === "inProgress");
|
|
872
|
+
const live = status.type === "active";
|
|
873
|
+
yield* effect.Ref.update(collabChildLiveTurnsRef, (current) => {
|
|
874
|
+
const next = new Map(current);
|
|
875
|
+
if (live && activeTurn) next.set(childThreadId, activeTurn.id);
|
|
876
|
+
else if (!live) next.delete(childThreadId);
|
|
877
|
+
return next;
|
|
878
|
+
});
|
|
879
|
+
if (!live) unsettledChildren.delete(childThreadId);
|
|
880
|
+
const signature = JSON.stringify([revision, status]);
|
|
881
|
+
if (reconciledChildStatuses.get(childThreadId) === signature) return;
|
|
882
|
+
reconciledChildStatuses.set(childThreadId, signature);
|
|
883
|
+
yield* emitEvent({
|
|
884
|
+
kind: "notification",
|
|
885
|
+
threadId: options.threadId,
|
|
886
|
+
...child.spawnTurnId ? { turnId: child.spawnTurnId } : {},
|
|
887
|
+
method: "collabAgent/statusChanged",
|
|
888
|
+
payload: {
|
|
889
|
+
agentThreadId: childThreadId,
|
|
890
|
+
...child.nickname ? { nickname: child.nickname } : {},
|
|
891
|
+
...child.role ? { role: child.role } : {},
|
|
892
|
+
...child.agentPath ? { agentPath: child.agentPath } : {},
|
|
893
|
+
status
|
|
894
|
+
}
|
|
895
|
+
});
|
|
896
|
+
}).pipe(effect.Effect.timeout("3 seconds"));
|
|
857
897
|
const handleRawNotification = (notification) => effect.Effect.gen(function* () {
|
|
858
898
|
const payload = notification.params;
|
|
899
|
+
const rootId = currentProviderThreadId(yield* effect.Ref.get(sessionRef));
|
|
900
|
+
const activity = (notification.method === "item/started" || notification.method === "item/completed") && notification.params.item.type === "subAgentActivity" ? notification.params.item : void 0;
|
|
901
|
+
const childId = activity?.agentThreadId ?? readNotificationThreadId(notification);
|
|
902
|
+
if (childId && rootId && childId !== rootId) {
|
|
903
|
+
childRevisions.set(childId, (childRevisions.get(childId) ?? 0) + 1);
|
|
904
|
+
if (activity || notification.method === "thread/started" || notification.method === "turn/started" || notification.method === "thread/status/changed" && notification.params.status.type === "active") unsettledChildren.add(childId);
|
|
905
|
+
if (notification.method === "thread/closed" || notification.method === "turn/completed" || notification.method === "thread/status/changed" && notification.params.status.type !== "active") unsettledChildren.delete(childId);
|
|
906
|
+
}
|
|
859
907
|
const route = readRouteFields(notification);
|
|
860
908
|
const collabReceiverTurns = yield* effect.Ref.get(collabReceiverTurnsRef);
|
|
861
909
|
const childParentTurnId = (() => {
|
|
@@ -933,7 +981,7 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
933
981
|
deviceTurnActive = true;
|
|
934
982
|
return updateSession(sessionRef, {
|
|
935
983
|
status: "running",
|
|
936
|
-
activeTurnId:
|
|
984
|
+
activeTurnId: require_src.TurnId.make(payload.turn.id)
|
|
937
985
|
});
|
|
938
986
|
})));
|
|
939
987
|
yield* client.handleServerNotification("turn/completed", (payload) => currentSessionProviderThreadId.pipe(effect.Effect.flatMap((providerThreadId) => {
|
|
@@ -957,9 +1005,9 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
957
1005
|
});
|
|
958
1006
|
})));
|
|
959
1007
|
yield* client.handleServerRequest("item/commandExecution/requestApproval", (payload) => effect.Effect.gen(function* () {
|
|
960
|
-
const requestId =
|
|
961
|
-
const turnId =
|
|
962
|
-
const itemId =
|
|
1008
|
+
const requestId = require_src.ApprovalRequestId.make(yield* effect.Effect.sync(() => crypto.randomUUID()));
|
|
1009
|
+
const turnId = require_src.TurnId.make(payload.turnId);
|
|
1010
|
+
const itemId = require_src.ProviderItemId.make(payload.itemId);
|
|
963
1011
|
const decision = yield* effect.Deferred.make();
|
|
964
1012
|
yield* effect.Ref.update(pendingApprovalsRef, (current) => {
|
|
965
1013
|
const next = new Map(current);
|
|
@@ -1000,9 +1048,9 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
1000
1048
|
}))) };
|
|
1001
1049
|
}));
|
|
1002
1050
|
yield* client.handleServerRequest("item/fileChange/requestApproval", (payload) => effect.Effect.gen(function* () {
|
|
1003
|
-
const requestId =
|
|
1004
|
-
const turnId =
|
|
1005
|
-
const itemId =
|
|
1051
|
+
const requestId = require_src.ApprovalRequestId.make(yield* effect.Effect.sync(() => crypto.randomUUID()));
|
|
1052
|
+
const turnId = require_src.TurnId.make(payload.turnId);
|
|
1053
|
+
const itemId = require_src.ProviderItemId.make(payload.itemId);
|
|
1006
1054
|
const decision = yield* effect.Deferred.make();
|
|
1007
1055
|
yield* effect.Ref.update(pendingApprovalsRef, (current) => {
|
|
1008
1056
|
const next = new Map(current);
|
|
@@ -1043,9 +1091,9 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
1043
1091
|
}))) };
|
|
1044
1092
|
}));
|
|
1045
1093
|
yield* client.handleServerRequest("item/tool/requestUserInput", (payload) => effect.Effect.gen(function* () {
|
|
1046
|
-
const requestId =
|
|
1047
|
-
const turnId =
|
|
1048
|
-
const itemId =
|
|
1094
|
+
const requestId = require_src.ApprovalRequestId.make(yield* effect.Effect.sync(() => crypto.randomUUID()));
|
|
1095
|
+
const turnId = require_src.TurnId.make(payload.turnId);
|
|
1096
|
+
const itemId = require_src.ProviderItemId.make(payload.itemId);
|
|
1049
1097
|
const answers = yield* effect.Deferred.make();
|
|
1050
1098
|
yield* effect.Ref.update(pendingUserInputsRef, (current) => {
|
|
1051
1099
|
const next = new Map(current);
|
|
@@ -1079,6 +1127,10 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
1079
1127
|
discard: true
|
|
1080
1128
|
});
|
|
1081
1129
|
yield* effect.Stream.fromQueue(serverNotifications).pipe(effect.Stream.runForEach(handleRawNotification), effect.Effect.forkIn(runtimeScope));
|
|
1130
|
+
yield* effect.Effect.suspend(() => effect.Effect.forEach(Array.from(unsettledChildren), (id) => reconcileChild(id).pipe(effect.Effect.ignore), {
|
|
1131
|
+
concurrency: 4,
|
|
1132
|
+
discard: true
|
|
1133
|
+
})).pipe(effect.Effect.repeat(effect.Schedule.spaced("5 seconds")), effect.Effect.forkIn(runtimeScope));
|
|
1082
1134
|
const stderrRemainderRef = yield* effect.Ref.make("");
|
|
1083
1135
|
yield* child.stderr.pipe(effect.Stream.decodeText(), effect.Stream.runForEach((chunk) => effect.Ref.modify(stderrRemainderRef, (current) => {
|
|
1084
1136
|
const lines = (current + chunk).split("\n");
|
|
@@ -1123,7 +1175,7 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
1123
1175
|
const session = {
|
|
1124
1176
|
...yield* effect.Ref.get(sessionRef),
|
|
1125
1177
|
status: activeTurn ? "running" : "ready",
|
|
1126
|
-
activeTurnId: activeTurn ?
|
|
1178
|
+
activeTurnId: activeTurn ? require_src.TurnId.make(activeTurn.id) : void 0,
|
|
1127
1179
|
cwd: opened.cwd,
|
|
1128
1180
|
model: opened.model,
|
|
1129
1181
|
resumeCursor: { threadId: providerThreadId },
|
|
@@ -1173,7 +1225,7 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
1173
1225
|
});
|
|
1174
1226
|
const rawResponse = yield* client.raw.request("turn/start", params);
|
|
1175
1227
|
const response = yield* effect.Schema.decodeUnknownEffect(require_bin.V2TurnStartResponse)(rawResponse).pipe(effect.Effect.mapError((error) => toProtocolParseError("Invalid turn/start response payload", error)));
|
|
1176
|
-
const turnId =
|
|
1228
|
+
const turnId = require_src.TurnId.make(response.turn.id);
|
|
1177
1229
|
deviceTurnActive = true;
|
|
1178
1230
|
yield* updateSession(sessionRef, (session) => ({
|
|
1179
1231
|
status: "running",
|
|
@@ -1197,7 +1249,7 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
1197
1249
|
});
|
|
1198
1250
|
const rawResponse = yield* client.raw.request("turn/steer", params);
|
|
1199
1251
|
const response = yield* effect.Schema.decodeUnknownEffect(require_bin.V2TurnSteerResponse)(rawResponse).pipe(effect.Effect.mapError((error) => toProtocolParseError("Invalid turn/steer response payload", error)));
|
|
1200
|
-
const turnId =
|
|
1252
|
+
const turnId = require_src.TurnId.make(response.turnId);
|
|
1201
1253
|
return {
|
|
1202
1254
|
threadId: options.threadId,
|
|
1203
1255
|
turnId
|
|
@@ -1206,20 +1258,37 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
1206
1258
|
interruptTurn: (turnId) => effect.Effect.gen(function* () {
|
|
1207
1259
|
const providerThreadId = yield* readProviderThreadId;
|
|
1208
1260
|
const session = yield* effect.Ref.get(sessionRef);
|
|
1261
|
+
yield* effect.Effect.forEach(Array.from((yield* effect.Ref.get(collabChildAgentsRef)).keys()), (id) => reconcileChild(id, true).pipe(effect.Effect.ignore), {
|
|
1262
|
+
concurrency: 8,
|
|
1263
|
+
discard: true
|
|
1264
|
+
}).pipe(effect.Effect.timeoutOption("5 seconds"));
|
|
1209
1265
|
const liveChildTurns = yield* effect.Ref.get(collabChildLiveTurnsRef);
|
|
1266
|
+
const registeredChildren = yield* effect.Ref.get(collabChildAgentsRef);
|
|
1267
|
+
let childInterruptFailed = Array.from(unsettledChildren).some((id) => registeredChildren.has(id) && !liveChildTurns.has(id));
|
|
1210
1268
|
yield* effect.Effect.forEach(Array.from(liveChildTurns.entries()), ([childThreadId, childTurnId]) => client.request("turn/interrupt", {
|
|
1211
1269
|
threadId: childThreadId,
|
|
1212
1270
|
turnId: childTurnId
|
|
1213
|
-
}).pipe(effect.Effect.
|
|
1271
|
+
}).pipe(effect.Effect.timeout("3 seconds"), effect.Effect.catchCause(() => effect.Effect.sync(() => {
|
|
1272
|
+
childInterruptFailed = true;
|
|
1273
|
+
}))), {
|
|
1214
1274
|
concurrency: 8,
|
|
1215
1275
|
discard: true
|
|
1216
|
-
}).pipe(effect.Effect.
|
|
1276
|
+
}).pipe(effect.Effect.timeout("10 seconds"), effect.Effect.catchCause(() => effect.Effect.sync(() => {
|
|
1277
|
+
childInterruptFailed = true;
|
|
1278
|
+
})));
|
|
1217
1279
|
const effectiveTurnId = turnId ?? session.activeTurnId;
|
|
1218
|
-
if (
|
|
1219
|
-
yield* client.request("turn/interrupt", {
|
|
1280
|
+
if (effectiveTurnId) yield* client.request("turn/interrupt", {
|
|
1220
1281
|
threadId: providerThreadId,
|
|
1221
1282
|
turnId: effectiveTurnId
|
|
1222
1283
|
});
|
|
1284
|
+
if (childInterruptFailed) return yield* effect.Effect.fail(new require_bin.CodexAppServerTransportError({
|
|
1285
|
+
detail: "Could not interrupt all Codex child turns",
|
|
1286
|
+
cause: /* @__PURE__ */ new Error("Child interrupt failed or timed out")
|
|
1287
|
+
}));
|
|
1288
|
+
yield* effect.Effect.forEach(Array.from((yield* effect.Ref.get(collabChildAgentsRef)).keys()), (id) => reconcileChild(id, true).pipe(effect.Effect.ignore), {
|
|
1289
|
+
concurrency: 8,
|
|
1290
|
+
discard: true
|
|
1291
|
+
}).pipe(effect.Effect.timeoutOption("5 seconds"));
|
|
1223
1292
|
}),
|
|
1224
1293
|
readThread: effect.Effect.gen(function* () {
|
|
1225
1294
|
const providerThreadId = yield* readProviderThreadId;
|
|
@@ -1323,8 +1392,8 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
1323
1392
|
*
|
|
1324
1393
|
* @module CodexAdapterLive
|
|
1325
1394
|
*/
|
|
1326
|
-
const PROVIDER =
|
|
1327
|
-
const PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES = 8 *
|
|
1395
|
+
const PROVIDER = require_src.ProviderDriverKind.make("codex");
|
|
1396
|
+
const PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES = 8 * require_src.PROVIDER_SEND_TURN_MAX_IMAGE_BYTES;
|
|
1328
1397
|
/**
|
|
1329
1398
|
* Truthful host-context note injected only when a lease was actually
|
|
1330
1399
|
* issued. A runtime without a lease receives no mention of these tools.
|
|
@@ -1358,7 +1427,7 @@ function mapCodexRuntimeError(threadId, method, error) {
|
|
|
1358
1427
|
}
|
|
1359
1428
|
function normalizeCodexThreadGoal(goal) {
|
|
1360
1429
|
try {
|
|
1361
|
-
return effect.Schema.decodeUnknownSync(
|
|
1430
|
+
return effect.Schema.decodeUnknownSync(require_src.ThreadGoal)({
|
|
1362
1431
|
objective: goal.objective,
|
|
1363
1432
|
status: goal.status,
|
|
1364
1433
|
tokenBudget: goal.tokenBudget ?? null,
|
|
@@ -1371,7 +1440,7 @@ function normalizeCodexThreadGoal(goal) {
|
|
|
1371
1440
|
return null;
|
|
1372
1441
|
}
|
|
1373
1442
|
}
|
|
1374
|
-
const ApprovalDecisionPayload = effect.Schema.Struct({ decision:
|
|
1443
|
+
const ApprovalDecisionPayload = effect.Schema.Struct({ decision: require_src.ProviderApprovalDecision });
|
|
1375
1444
|
function readPayload(schema, payload) {
|
|
1376
1445
|
return effect.Schema.is(schema)(payload) ? payload : void 0;
|
|
1377
1446
|
}
|
|
@@ -1552,10 +1621,10 @@ function contentStreamKindFromMethod(method) {
|
|
|
1552
1621
|
}
|
|
1553
1622
|
}
|
|
1554
1623
|
function asRuntimeItemId(itemId) {
|
|
1555
|
-
return
|
|
1624
|
+
return require_src.RuntimeItemId.make(itemId);
|
|
1556
1625
|
}
|
|
1557
1626
|
function asRuntimeRequestId(requestId) {
|
|
1558
|
-
return
|
|
1627
|
+
return require_src.RuntimeRequestId.make(requestId);
|
|
1559
1628
|
}
|
|
1560
1629
|
function eventRawSource(event) {
|
|
1561
1630
|
return event.kind === "request" ? "codex.app-server.request" : "codex.app-server.notification";
|
|
@@ -1617,7 +1686,7 @@ function mapCollabAgentEvent(event, canonicalThreadId) {
|
|
|
1617
1686
|
const agentThreadId = typeof payload?.agentThreadId === "string" ? payload.agentThreadId : "";
|
|
1618
1687
|
if (!payload || agentThreadId.length === 0) return [];
|
|
1619
1688
|
const base = runtimeEventBase(event, canonicalThreadId);
|
|
1620
|
-
const taskId =
|
|
1689
|
+
const taskId = require_src.RuntimeTaskId.make(agentThreadId);
|
|
1621
1690
|
const agentPath = typeof payload.agentPath === "string" ? payload.agentPath : void 0;
|
|
1622
1691
|
const pathLeaf = agentPath?.split("/").findLast((segment) => segment.length > 0);
|
|
1623
1692
|
const nickname = typeof payload.nickname === "string" ? payload.nickname : void 0;
|
|
@@ -1724,7 +1793,7 @@ function mapCollabAgentEvent(event, canonicalThreadId) {
|
|
|
1724
1793
|
}
|
|
1725
1794
|
}];
|
|
1726
1795
|
}
|
|
1727
|
-
if (statusType === "idle") return [{
|
|
1796
|
+
if (statusType === "idle" || statusType === "notLoaded") return [{
|
|
1728
1797
|
...base,
|
|
1729
1798
|
type: "task.updated",
|
|
1730
1799
|
payload: {
|
|
@@ -1771,7 +1840,7 @@ function mapCollabAgentEvent(event, canonicalThreadId) {
|
|
|
1771
1840
|
...base,
|
|
1772
1841
|
type: "subagent.message.delta",
|
|
1773
1842
|
payload: {
|
|
1774
|
-
subagentId:
|
|
1843
|
+
subagentId: require_src.RuntimeSubagentId.make(agentThreadId),
|
|
1775
1844
|
providerThreadId: agentThreadId,
|
|
1776
1845
|
providerMessageId: item.id,
|
|
1777
1846
|
delta: item.text,
|
|
@@ -1779,12 +1848,12 @@ function mapCollabAgentEvent(event, canonicalThreadId) {
|
|
|
1779
1848
|
}
|
|
1780
1849
|
}];
|
|
1781
1850
|
const toolEvents = [];
|
|
1782
|
-
if (
|
|
1851
|
+
if (require_src.isToolLifecycleItemType(canonical) && typeof item?.id === "string") {
|
|
1783
1852
|
const completed = payload.lifecycle === "item/completed" || item.status === "completed" || item.status === "failed";
|
|
1784
1853
|
toolEvents.push({
|
|
1785
1854
|
...base,
|
|
1786
|
-
eventId:
|
|
1787
|
-
itemId:
|
|
1855
|
+
eventId: require_src.EventId.make(`${base.eventId}:tool`),
|
|
1856
|
+
itemId: require_src.RuntimeItemId.make(`${agentThreadId}:${item.id}`),
|
|
1788
1857
|
type: completed ? "item.completed" : "item.updated",
|
|
1789
1858
|
payload: {
|
|
1790
1859
|
itemType: canonical,
|
|
@@ -2352,7 +2421,7 @@ function mapToRuntimeEvents(event, canonicalThreadId) {
|
|
|
2352
2421
|
* instances with different `homePath`s cannot step on each other.
|
|
2353
2422
|
*/
|
|
2354
2423
|
const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexConfig, options) {
|
|
2355
|
-
const boundInstanceId = options?.instanceId ??
|
|
2424
|
+
const boundInstanceId = options?.instanceId ?? require_src.ProviderInstanceId.make("codex");
|
|
2356
2425
|
const adapterScope = yield* effect.Scope.Scope;
|
|
2357
2426
|
const fileSystem = yield* effect.FileSystem.FileSystem;
|
|
2358
2427
|
const childProcessSpawner = yield* effect_unstable_process.ChildProcessSpawner.ChildProcessSpawner;
|
|
@@ -2378,7 +2447,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2378
2447
|
operation: "startSession",
|
|
2379
2448
|
issue: `Expected provider instance '${boundInstanceId}' but received '${input.providerInstanceId}'.`
|
|
2380
2449
|
});
|
|
2381
|
-
const runtimeSessionId = yield*
|
|
2450
|
+
const runtimeSessionId = yield* require_runtimeSession.requireRuntimeSessionId(PROVIDER, input);
|
|
2382
2451
|
const existing = sessions.get(input.threadId);
|
|
2383
2452
|
if (existing && !existing.stopped) {
|
|
2384
2453
|
if (existing.runtimeSessionId === runtimeSessionId) return {
|
|
@@ -2440,7 +2509,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2440
2509
|
});
|
|
2441
2510
|
const eventFiber = yield* effect.Stream.runForEach(runtime.events, (event) => effect.Effect.gen(function* () {
|
|
2442
2511
|
yield* writeNativeEvent(event);
|
|
2443
|
-
const runtimeEvents = mapToRuntimeEvents(event, event.threadId).map((runtimeEvent) =>
|
|
2512
|
+
const runtimeEvents = mapToRuntimeEvents(event, event.threadId).map((runtimeEvent) => require_runtimeSession.stampRuntimeEvent(runtimeEvent, {
|
|
2444
2513
|
providerInstanceId: boundInstanceId,
|
|
2445
2514
|
runtimeSessionId
|
|
2446
2515
|
}));
|
|
@@ -2469,7 +2538,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2469
2538
|
if (agentControl) yield* agentControl.revoke("runtime-teardown");
|
|
2470
2539
|
yield* effect.Effect.logWarning("Codex event consumer failed; retiring its runtime", { threadId: input.threadId });
|
|
2471
2540
|
yield* effect.Queue.offer(runtimeEventQueue, {
|
|
2472
|
-
eventId:
|
|
2541
|
+
eventId: require_src.EventId.make(crypto.randomUUID()),
|
|
2473
2542
|
provider: PROVIDER,
|
|
2474
2543
|
providerInstanceId: boundInstanceId,
|
|
2475
2544
|
runtimeSessionId,
|
|
@@ -2545,7 +2614,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2545
2614
|
if (sizeBytes > 10485760) return yield* new require_bin.ProviderAdapterRequestError({
|
|
2546
2615
|
provider: PROVIDER,
|
|
2547
2616
|
method,
|
|
2548
|
-
detail: `Attachment '${attachment.name}' is ${sizeBytes} bytes; limit is ${
|
|
2617
|
+
detail: `Attachment '${attachment.name}' is ${sizeBytes} bytes; limit is ${require_src.PROVIDER_SEND_TURN_MAX_IMAGE_BYTES} bytes.`
|
|
2549
2618
|
});
|
|
2550
2619
|
return {
|
|
2551
2620
|
attachment,
|
|
@@ -2593,7 +2662,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2593
2662
|
}
|
|
2594
2663
|
return {
|
|
2595
2664
|
native: resolved,
|
|
2596
|
-
pathLines:
|
|
2665
|
+
pathLines: require_runtimeSession.formatAttachmentPathLines(pathLineEntries)
|
|
2597
2666
|
};
|
|
2598
2667
|
});
|
|
2599
2668
|
const toCodexAttachment = effect.Effect.fn("toCodexAttachment")(function* (resolved, method) {
|
|
@@ -2615,7 +2684,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2615
2684
|
const reasoningEffort = input.modelSelection?.instanceId === boundInstanceId ? require_bin.getModelSelectionStringOptionValue(input.modelSelection, "reasoningEffort") : void 0;
|
|
2616
2685
|
const fastMode = input.modelSelection?.instanceId === boundInstanceId ? require_bin.getModelSelectionBooleanOptionValue(input.modelSelection, "fastMode") : void 0;
|
|
2617
2686
|
const formatted = require_sourceControlContextFormatter.formatSourceControlContextsForAgent(input.sourceControlContexts ?? []);
|
|
2618
|
-
const codexInput =
|
|
2687
|
+
const codexInput = require_runtimeSession.appendAttachmentPathLines(formatted ? formatted + "\n\n" + (input.input ?? "") : input.input, pathLines);
|
|
2619
2688
|
const result = yield* session.runtime.sendTurn({
|
|
2620
2689
|
...codexInput !== void 0 ? { input: codexInput } : {},
|
|
2621
2690
|
...input.modelSelection?.instanceId === boundInstanceId ? { model: input.modelSelection.model } : {},
|
|
@@ -2636,7 +2705,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2636
2705
|
const { native, pathLines } = yield* preflightAttachments(input, "turn/steer");
|
|
2637
2706
|
const codexAttachments = yield* effect.Effect.forEach(native, (attachment) => toCodexAttachment(attachment, "turn/steer"), { concurrency: 1 });
|
|
2638
2707
|
const session = yield* requireSession(input.threadId);
|
|
2639
|
-
const steerInput =
|
|
2708
|
+
const steerInput = require_runtimeSession.appendAttachmentPathLines(input.input, pathLines);
|
|
2640
2709
|
return yield* session.runtime.steerTurn({
|
|
2641
2710
|
expectedTurnId: input.expectedTurnId,
|
|
2642
2711
|
messageId: input.messageId,
|
|
@@ -2663,10 +2732,26 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2663
2732
|
yield* effect.Effect.ignore(effect.Scope.close(session.scope, effect.Exit.void));
|
|
2664
2733
|
yield* effect.Fiber.interrupt(session.eventFiber).pipe(effect.Effect.ignore);
|
|
2665
2734
|
});
|
|
2666
|
-
const
|
|
2735
|
+
const stopAfterFailedInterrupt = (session) => stopSessionInternal(session).pipe(effect.Effect.andThen(effect.Effect.gen(function* () {
|
|
2736
|
+
yield* effect.Queue.offer(runtimeEventQueue, {
|
|
2737
|
+
eventId: require_src.EventId.make(crypto.randomUUID()),
|
|
2738
|
+
provider: PROVIDER,
|
|
2739
|
+
providerInstanceId: boundInstanceId,
|
|
2740
|
+
runtimeSessionId: session.runtimeSessionId,
|
|
2741
|
+
threadId: session.threadId,
|
|
2742
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
2743
|
+
type: "session.exited",
|
|
2744
|
+
payload: {
|
|
2745
|
+
reason: "Stopped Codex after background cancellation failed.",
|
|
2746
|
+
exitKind: "graceful"
|
|
2747
|
+
}
|
|
2748
|
+
});
|
|
2749
|
+
yield* runtimeEventQueueMetrics.recordEnqueued(1);
|
|
2750
|
+
})));
|
|
2751
|
+
const interruptTurn = (threadId, turnId) => requireSession(threadId).pipe(effect.Effect.flatMap((session) => (session.agentControl ? session.agentControl.retireTurn(turnId) : effect.Effect.void).pipe(effect.Effect.andThen(session.runtime.interruptTurn(turnId).pipe(effect.Effect.catch(() => effect.Effect.logWarning("Codex interrupt failed; stopping the provider session and its background work.", { threadId }).pipe(effect.Effect.andThen(stopAfterFailedInterrupt(session)))))), effect.Effect.timeoutOption("15 seconds"), effect.Effect.flatMap(effect.Option.match({
|
|
2667
2752
|
onSome: () => effect.Effect.void,
|
|
2668
|
-
onNone: () => effect.Effect.logWarning("Codex turn interrupt timed out; recycling the wedged provider session.", { threadId }).pipe(effect.Effect.andThen(
|
|
2669
|
-
}))))
|
|
2753
|
+
onNone: () => effect.Effect.logWarning("Codex turn interrupt timed out; recycling the wedged provider session.", { threadId }).pipe(effect.Effect.andThen(stopAfterFailedInterrupt(session)))
|
|
2754
|
+
})))));
|
|
2670
2755
|
const readThread = (threadId) => requireSession(threadId).pipe(effect.Effect.flatMap((session) => session.runtime.readThread), effect.Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" ? cause : mapCodexRuntimeError(threadId, "thread/read", cause)), effect.Effect.map((snapshot) => ({
|
|
2671
2756
|
threadId,
|
|
2672
2757
|
turns: snapshot.turns
|
|
@@ -2697,7 +2782,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2697
2782
|
if (turn.status === "failed") failedTurnIds.push(turn.id);
|
|
2698
2783
|
const createdAt = (/* @__PURE__ */ new Date((turn.startedAt ?? 0) * 1e3)).toISOString();
|
|
2699
2784
|
for (const item of turn.items) if (item.type === "agentMessage" || item.type === "userMessage") messages.push({
|
|
2700
|
-
id:
|
|
2785
|
+
id: require_src.MessageId.make(item.type === "agentMessage" ? `assistant:${item.id}` : item.clientId ?? `user:${item.id}`),
|
|
2701
2786
|
turnId: turn.id,
|
|
2702
2787
|
role: item.type === "agentMessage" ? "assistant" : "user",
|
|
2703
2788
|
text: item.type === "agentMessage" ? item.text : item.content.flatMap((part) => part.type === "text" ? [part.text] : []).join("\n"),
|
|
@@ -2705,13 +2790,13 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2705
2790
|
});
|
|
2706
2791
|
else {
|
|
2707
2792
|
const event = mapItemLifecycle({
|
|
2708
|
-
id:
|
|
2793
|
+
id: require_src.EventId.make(`history:${input.threadId}:${snapshot.threadId}:${turn.id}:${item.id}`),
|
|
2709
2794
|
provider: PROVIDER,
|
|
2710
2795
|
threadId: input.threadId,
|
|
2711
2796
|
kind: "notification",
|
|
2712
2797
|
method: "item/completed",
|
|
2713
2798
|
turnId: turn.id,
|
|
2714
|
-
itemId:
|
|
2799
|
+
itemId: require_src.ProviderItemId.make(item.id),
|
|
2715
2800
|
createdAt,
|
|
2716
2801
|
payload: {
|
|
2717
2802
|
threadId: snapshot.threadId,
|
|
@@ -2839,7 +2924,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2839
2924
|
*
|
|
2840
2925
|
* @module provider/Drivers/CodexDriver
|
|
2841
2926
|
*/
|
|
2842
|
-
const DRIVER_KIND =
|
|
2927
|
+
const DRIVER_KIND = require_src.ProviderDriverKind.make("codex");
|
|
2843
2928
|
const UPDATE = require_bin.makePackageManagedProviderMaintenanceResolver({
|
|
2844
2929
|
provider: DRIVER_KIND,
|
|
2845
2930
|
npmPackageName: "@openai/codex",
|
|
@@ -2866,8 +2951,8 @@ const CodexDriver = {
|
|
|
2866
2951
|
displayName: "Codex",
|
|
2867
2952
|
supportsMultipleInstances: true
|
|
2868
2953
|
},
|
|
2869
|
-
configSchema:
|
|
2870
|
-
defaultConfig: () => effect.Schema.decodeSync(
|
|
2954
|
+
configSchema: require_src.CodexSettings,
|
|
2955
|
+
defaultConfig: () => effect.Schema.decodeSync(require_src.CodexSettings)({}),
|
|
2871
2956
|
create: ({ instanceId, displayName, accentColor, environment, enabled, config }) => effect.Effect.gen(function* () {
|
|
2872
2957
|
const spawner = yield* effect_unstable_process.ChildProcessSpawner.ChildProcessSpawner;
|
|
2873
2958
|
const httpClient = yield* effect_unstable_http.HttpClient.HttpClient;
|