ryco-cli 0.1.20 → 0.1.22
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/{AcpNativeLogging-Bh7MX3rC.cjs → AcpNativeLogging-COepku4a.cjs} +264 -7
- package/dist/{AcpNativeLogging-CLM3p9JD.mjs → AcpNativeLogging-D7e1dn7s.mjs} +254 -9
- package/dist/{AzureDevOpsSourceControlProvider-jQm1WPMS.mjs → AzureDevOpsSourceControlProvider-BNGEg1R8.mjs} +3 -3
- package/dist/{AzureDevOpsSourceControlProvider-D9QXGi1h.cjs → AzureDevOpsSourceControlProvider-CrvgKNf2.cjs} +2 -2
- package/dist/{BitbucketSourceControlProvider-j95Cro_2.mjs → BitbucketSourceControlProvider-Bt21jw68.mjs} +3 -3
- package/dist/{BitbucketSourceControlProvider-C3VDp9qR.cjs → BitbucketSourceControlProvider-BzhsQwH-.cjs} +2 -2
- package/dist/{BunPTY-CNvWSzEJ.mjs → BunPTY-TbHbSc8S.mjs} +1 -1
- package/dist/{ClaudeDriver-CT89QDP8.mjs → ClaudeDriver-D65SPdHR.mjs} +44 -119
- package/dist/{ClaudeDriver-DiRhQM2K.cjs → ClaudeDriver-D7NatUx6.cjs} +52 -127
- package/dist/{CodexDriver-CBYfPl_X.mjs → CodexDriver-D4z5-wUD.mjs} +237 -50
- package/dist/{CodexDriver-BmKoU7w_.cjs → CodexDriver-DWGtHt9r.cjs} +235 -48
- package/dist/{CodexTextGeneration-CuXvtfAi.cjs → CodexTextGeneration-B4tJTUDo.cjs} +1 -1
- package/dist/{CodexTextGeneration-B7GPyLo2.mjs → CodexTextGeneration-BikHow8k.mjs} +2 -2
- package/dist/{CopilotDriver-XX5zmGVK.cjs → CopilotDriver-DJvYncGI.cjs} +122 -23
- package/dist/{CopilotDriver-BJ1P_bHz.mjs → CopilotDriver-ZvvsAIkd.mjs} +123 -24
- package/dist/{CursorDriver-BH6yAijk.mjs → CursorDriver-B1QSBzuH.mjs} +45 -74
- package/dist/{CursorDriver-CYMXQKec.cjs → CursorDriver-D3I4KULs.cjs} +44 -73
- package/dist/{ForgejoSourceControlProvider-ZfU3SBzW.mjs → ForgejoSourceControlProvider-BGXysSX6.mjs} +3 -3
- package/dist/{ForgejoSourceControlProvider-Dzg-BJY_.cjs → ForgejoSourceControlProvider-Dh6DOoc8.cjs} +2 -2
- package/dist/{GitHubSourceControlProvider-BpyIi23Q.cjs → GitHubSourceControlProvider-8hsv_kCE.cjs} +2 -2
- package/dist/{GitHubSourceControlProvider-Bx5_H3zb.mjs → GitHubSourceControlProvider-CPCYV8Xo.mjs} +3 -3
- package/dist/{GitLabSourceControlProvider-QccSsOnx.cjs → GitLabSourceControlProvider-B0ZbF9Zx.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-DjvGD1WZ.mjs → GitLabSourceControlProvider-Bvknpaon.mjs} +3 -3
- package/dist/{GrokDriver-BPIUrqkN.mjs → GrokDriver-DgQe3pKz.mjs} +41 -10
- package/dist/{GrokDriver-jE4az7JZ.cjs → GrokDriver-_puXDTU3.cjs} +42 -11
- package/dist/{NodePTY-lO8PwZLk.mjs → NodePTY-B_p5tLYO.mjs} +1 -1
- package/dist/{OpenCodeDriver-IbZqAzYW.cjs → OpenCodeDriver-401RexI0.cjs} +240 -40
- package/dist/{OpenCodeDriver-_hUfFwH4.mjs → OpenCodeDriver-DNUlF8M-.mjs} +238 -41
- package/dist/{SourceControlProviderDiscoveryCatalog-CHxCP6Ng.mjs → SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs} +1 -1
- package/dist/{SourceControlProviderDiscoveryCatalog-CnkV-oKD.cjs → SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs} +1 -1
- package/dist/bin.cjs +10690 -5679
- package/dist/bin.mjs +10674 -5674
- package/dist/client/assets/AccountSettings-CypheYqM.js +1 -0
- package/dist/client/assets/AiFocusSettings-BlX0ED1t.js +1 -0
- package/dist/client/assets/AnimatedHeight-DKCe4x_Q.js +1 -0
- package/dist/client/assets/AppearanceSettings-BSyn6NXf.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-fpBz8Ajj.js +1 -0
- package/dist/client/assets/BrowserPanel-BWch19QH.js +1 -0
- package/dist/client/assets/ChatRightPanel-B7yrq-hS.js +27 -0
- package/dist/client/assets/ChatThreadRouteView-Cg0d_EHs.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-DImCuPaX.js +1 -0
- package/dist/client/assets/CompositeItem-BYnHWRNf.js +1 -0
- package/dist/client/assets/CompositeRoot-B28uivk7.js +1 -0
- package/dist/client/assets/ComputerUseSettings-CosW7jaG.js +1 -0
- package/dist/client/assets/ConnectionsSettings-Bk6vI3G-.js +7 -0
- package/dist/client/assets/ContextHandoffEndpointLabel-BR6ygaub.js +4 -0
- package/dist/client/assets/DiagnosticsSettings-Dp_tCNLw.js +2 -0
- package/dist/client/assets/DialogHandle-BN-QB-sO.js +1 -0
- package/dist/client/assets/DialogPopup-BuJs5WUt.js +1 -0
- package/dist/client/assets/DialogRoot-PxEcoecQ.js +1 -0
- package/dist/client/assets/DialogTitle-4nxQsra4.js +1 -0
- package/dist/client/assets/DialogTrigger-D_0canul.js +1 -0
- package/dist/client/assets/DialogViewport-DSo-2hyf.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-C94kpMx4.js +1 -0
- package/dist/client/assets/{ExternalIdentityWeb.logic-TlJdh82R.js → ExternalIdentityWeb.logic-CGJKCFPo.js} +1 -1
- package/dist/client/assets/{GlassSurface-BWk2twKc.js → GlassSurface-CyOTUS7E.js} +1 -1
- package/dist/client/assets/HostedConnectionControls-CL0Ws4ca.js +1 -0
- package/dist/client/assets/HostedHubRoot-LUINZl4r.js +1 -0
- package/dist/client/assets/HostedNativeAuthorizationRoute-CgYVBE6N.js +1 -0
- package/dist/client/assets/HostedRelayTrustNotice-DgdeZh52.js +1 -0
- package/dist/client/assets/Icons-BIUbIFr7.js +1 -0
- package/dist/client/assets/IntegrationsSettingsPanel-B7tXTaa3.js +1 -0
- package/dist/client/assets/KeybindingsSettings-HMlRcGQ4.js +7 -0
- package/dist/client/assets/LazyBrowserPanel-CKfmuM9U.js +1 -0
- package/dist/client/assets/{McpServersSettings-Cbq-uHU3.js → McpServersSettings-Bq-HyhvC.js} +4 -4
- package/dist/client/assets/MobileSheet-acDRH9aa.js +1 -0
- package/dist/client/assets/NoActiveThreadState-7rym7bV7.js +1 -0
- package/dist/client/assets/NodeSecuritySettings-D8qjh4Dc.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-D7Uks5yR.js +1 -0
- package/dist/client/assets/PhoneGetAppInterstitial-BQXUSufH.js +1 -0
- package/dist/client/assets/PhoneGetAppInterstitialBackdrop-BbUvwGmI.js +1 -0
- package/dist/client/assets/PhoneHome-DvgdMTkh.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-DncJ540i.js +1 -0
- package/dist/client/assets/ProjectFavicon-BY5Vyyk6.js +1 -0
- package/dist/client/assets/ProviderInstanceIcon-CZe1TbeC.js +1 -0
- package/dist/client/assets/ProviderModelPicker-DHAY1n_1.js +1 -0
- package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-D3qYdp40.js → ProviderUpdateLaunchNotification.logic-DQJVrUIo.js} +1 -1
- package/dist/client/assets/ProvidersSettingsPanel-BylxZs4S.js +1 -0
- package/dist/client/assets/RedactedSensitiveText-D-enj1h5.js +1 -0
- package/dist/client/assets/RootAppShell-DBK0WW2b.js +6 -0
- package/dist/client/assets/RycoLetterMark-PnGm6TQY.js +1 -0
- package/dist/client/assets/{Separator-DiMB6Prz.js → Separator-BWKYMFqt.js} +1 -1
- package/dist/client/assets/SettingsDialog-N25hIv-a.js +1 -0
- package/dist/client/assets/SettingsPanels-D9YXmUPP.js +3 -0
- package/dist/client/assets/SettingsPanels.editor-Cn18k74l.js +1 -0
- package/dist/client/assets/SourceControlSettings-BAzSpMfR.js +1 -0
- package/dist/client/assets/StatisticsPage-CLKpfsQ8.js +1 -0
- package/dist/client/assets/StatisticsPanel-DxHUFn64.js +1 -0
- package/dist/client/assets/StatisticsSettingsLink-B3HIQYFh.js +1 -0
- package/dist/client/assets/ThreadStatusIndicators-CQZ_OgY8.js +0 -0
- package/dist/client/assets/{ThreadTerminalDrawer-DvadlVXV.js → ThreadTerminalDrawer-D1SPewXR.js} +3 -3
- package/dist/client/assets/ThreadWorkspacePanel-DVF6oZsV.js +2009 -0
- package/dist/client/assets/ToolbarRootContext-Dt8G5aCw.js +1 -0
- package/dist/client/assets/{WorkItemsTab-CI6hTQ_k.js → WorkItemsTab-BoE-TcXJ.js} +8 -8
- package/dist/client/assets/{activity-1CkdQG5u.js → activity-DfFM6I8A.js} +1 -1
- package/dist/client/assets/alert-DE5SkZhr.js +1 -0
- package/dist/client/assets/alert-dialog-BqPnPhb6.js +1 -0
- package/dist/client/assets/appChrome-CJauXpqv.js +1 -0
- package/dist/client/assets/{archive-BL1hojl3.js → archive-BFV4YQ7D.js} +1 -1
- package/dist/client/assets/arrow-left-CCmICk1t.js +1 -0
- package/dist/client/assets/arrow-right-Z3Eay6Fd.js +1 -0
- package/dist/client/assets/{arrow-up-CTcWIlqV.js → arrow-up-caak6P06.js} +1 -1
- package/dist/client/assets/arrow-up-right-BwC-fCE4.js +1 -0
- package/dist/client/assets/authorization-bHsGYIT0.js +1 -0
- package/dist/client/assets/{badge-Cil0isYQ.js → badge-m9kM3P07.js} +1 -1
- package/dist/client/assets/{bot-DJp0cuhK.js → bot-Cv7a7Ksf.js} +1 -1
- package/dist/client/assets/{button-CBqaO2Ub.js → button-B6xQZNKz.js} +1 -1
- package/dist/client/assets/capabilities-D6bsjqkj.js +1 -0
- package/dist/client/assets/{chart-column-Dw6ACmXM.js → chart-column-DgGlY4sD.js} +1 -1
- package/dist/client/assets/chatThreadActions-BXaNbPbp.js +1 -0
- package/dist/client/assets/check-BfnWUGBT.js +1 -0
- package/dist/client/assets/{chevron-down-B7C6FKzM.js → chevron-down-B_FKCRVh.js} +1 -1
- package/dist/client/assets/chevron-right-B6CKNGh4.js +1 -0
- package/dist/client/assets/{circle-alert-BWvs6IOn.js → circle-alert-BV3vJE-c.js} +1 -1
- package/dist/client/assets/circle-check-D2Vx39x-.js +1 -0
- package/dist/client/assets/{external-link-fbvzDWM7.js → circle-dashed-khcA8K3Y.js} +1 -1
- package/dist/client/assets/circle-question-mark-DEuLdOiy.js +1 -0
- package/dist/client/assets/circle-x-DqfM_2wS.js +1 -0
- package/dist/client/assets/clamp-D0kAXd-u.js +1 -0
- package/dist/client/assets/{clipboard-copy-C4VV20QR.js → clipboard-copy-CiD4tBsh.js} +1 -1
- package/dist/client/assets/clock--4M7moiV.js +1 -0
- package/dist/client/assets/clock-3-NbnQqtcd.js +1 -0
- package/dist/client/assets/collapsible-BECg-ssO.js +1 -0
- package/dist/client/assets/command-DvbA3O0J.js +1 -0
- package/dist/client/assets/{copy-UQjKGt7t.js → copy-CkPe1c-r.js} +1 -1
- package/dist/client/assets/data-list-7TiaqfZU.js +1 -0
- package/dist/client/assets/desktopUpdateAtoms-6j0d8vfy.js +1 -0
- package/dist/client/assets/desktopWorkspace-8s8rm3zL.js +1 -0
- package/dist/client/assets/device-CGaJ6fwD.js +168 -0
- package/dist/client/assets/dialog-C9v8Zl6e.js +1 -0
- package/dist/client/assets/{download-CQZ-m4zW.js → download-DPjzVxTa.js} +1 -1
- package/dist/client/assets/draft-input-BRSLIjV6.js +1 -0
- package/dist/client/assets/editorPreferences-D-9SDgRM.js +1 -0
- package/dist/client/assets/empty-CuQ57p2u.js +1 -0
- package/dist/client/assets/external-link-CF9EzT-A.js +1 -0
- package/dist/client/assets/{eye-CUSPj-gd.js → eye-C2Puut9B.js} +1 -1
- package/dist/client/assets/{folder-DtsQoI9_.js → folder-BKTxLq18.js} +1 -1
- package/dist/client/assets/{folder-closed-CsvKfC6X.js → folder-closed-D2cwiusg.js} +1 -1
- package/dist/client/assets/getPseudoElementBounds-DdH76YK5.js +1 -0
- package/dist/client/assets/{git-branch-BKr-Ij4u.js → git-branch-Dauy2SWC.js} +1 -1
- package/dist/client/assets/{git-pull-request-DIYyPsg5.js → git-pull-request-DsK1gBtK.js} +1 -1
- package/dist/client/assets/globe-dS40wBdE.js +1 -0
- package/dist/client/assets/group-DBXm8riE.js +1 -0
- package/dist/client/assets/hostedConnectionCoordinator-DSMW2Ldh.js +1 -0
- package/dist/client/assets/{index-QY6vcnCY.js → index-DRY8Hgrj.js} +2 -2
- package/dist/client/assets/input-Dn_zesdZ.js +1 -0
- package/dist/client/assets/kbd-BF2-WlxQ.js +1 -0
- package/dist/client/assets/{key-round-CacMputS.js → key-round-BjaaL9Df.js} +1 -1
- package/dist/client/assets/{keybindings-Bj6xWIbQ.js → keybindings-FSJY3Tht.js} +1 -1
- package/dist/client/assets/{keyboard-BqeRMHfL.js → keyboard-AkUFPD_e.js} +1 -1
- package/dist/client/assets/label-BKjVY2A9.js +1 -0
- package/dist/client/assets/{layers-BYi0v17h.js → layers-tzRiuxSx.js} +1 -1
- package/dist/client/assets/{lib-B6XyeqaU.js → lib-D5cyGc84.js} +1 -1
- package/dist/client/assets/{loader-zHASMrUy.js → loader-BrbWRz3I.js} +1 -1
- package/dist/client/assets/loader-circle-DRKbHQst.js +1 -0
- package/dist/client/assets/{log-out-tMJm0Gk6.js → log-out-BEihaal1.js} +1 -1
- package/dist/client/assets/{logging-1BfRrhxL.js → logging-Y73f240E.js} +1 -1
- package/dist/client/assets/main-BiIQEybS.js +9 -0
- package/dist/client/assets/main-tZWU6iqX.css +2 -0
- package/dist/client/assets/menu-BxtB33Up.js +1 -0
- package/dist/client/assets/{messages-square-DiMgWzoq.js → messages-square-e0Zg750i.js} +1 -1
- package/dist/client/assets/{minimize-2-C33mL7LT.js → minimize-2-DC9gMgGl.js} +1 -1
- package/dist/client/assets/monitor-Dj0JFj4_.js +1 -0
- package/dist/client/assets/{palette-BSD_aJZg.js → palette-0qvNt1CR.js} +1 -1
- package/dist/client/assets/{pencil-B69ERoVM.js → pencil-CA0DGufX.js} +1 -1
- package/dist/client/assets/{play-DYDxlTKo.js → play-wIyvqd_g.js} +1 -1
- package/dist/client/assets/plus-5kH13lqq.js +1 -0
- package/dist/client/assets/popover-CwhgX3HA.js +1 -0
- package/dist/client/assets/primary-BqnEJHWx.js +2 -0
- package/dist/client/assets/{projectPaths-BFTUsvWs.js → projectPaths-45WPhgoj.js} +1 -1
- package/dist/client/assets/providerDriverMeta-Cc60r9Rb.js +1 -0
- package/dist/client/assets/providerInstances-Cr8JmFCe.js +1 -0
- package/dist/client/assets/providerModels-Cr8JmFCe.js +1 -0
- package/dist/client/assets/qr-code-BKrwYZ2s.js +1 -0
- package/dist/client/assets/{qr-code-ScYULAuR.js → qr-code-DDmpRnPp.js} +1 -1
- package/dist/client/assets/radio-group-DZCo21CF.js +2 -0
- package/dist/client/assets/{refresh-cw-DopCMrtR.js → refresh-cw-DiuiLTny.js} +1 -1
- package/dist/client/assets/resolveAriaLabelledBy-927ShlEO.js +1 -0
- package/dist/client/assets/rightPanelRouteSearch-CExl-IaQ.js +1 -0
- package/dist/client/assets/rotate-ccw-XOYBPtyK.js +1 -0
- package/dist/client/assets/rotate-cw-D32Z4Sdd.js +1 -0
- package/dist/client/assets/runtime-CA2W9mZ-.js +17 -0
- package/dist/client/assets/{save-Bh36JIv6.js → save-DjlqeVG_.js} +1 -1
- package/dist/client/assets/scroll-area-CylKYQms.js +1 -0
- package/dist/client/assets/scrollEdges-D7RQhYjX.js +1 -0
- package/dist/client/assets/search-B2nLj573.js +1 -0
- package/dist/client/assets/select-qTezUK8F.js +1 -0
- package/dist/client/assets/separator-D77goPy-.js +1 -0
- package/dist/client/assets/{server-JApJpgLa.js → server-y8Wq0Qwv.js} +1 -1
- package/dist/client/assets/session-logic-xfW418Rx.js +1 -0
- package/dist/client/assets/{settings-2-CZQg_KUQ.js → settings-2-DpwBKj3m.js} +1 -1
- package/dist/client/assets/settingsLayout-BuaXzjIe.js +1 -0
- package/dist/client/assets/settingsSections.logic-CR4aytUI.js +1 -0
- package/dist/client/assets/sheet-z3AEiSN4.js +1 -0
- package/dist/client/assets/{shield-IZEIJ8r7.js → shield-BuXuMVtb.js} +1 -1
- package/dist/client/assets/{shield-alert-DY9uVP5G.js → shield-alert-Dfk--o-I.js} +1 -1
- package/dist/client/assets/{shield-check-dQ-4cMKk.js → shield-check-BHi57iF1.js} +1 -1
- package/dist/client/assets/sidebar-Dst9O2OR.js +1 -0
- package/dist/client/assets/sidebarProjectFolders-DR1NBLLz.js +4 -0
- package/dist/client/assets/{sidebarStatusText-q88Acn3r.js → sidebarStatusText-7jo1n9E1.js} +1 -1
- package/dist/client/assets/skeleton-D_kbMg21.js +1 -0
- package/dist/client/assets/{smartphone-gNe1ynB8.js → smartphone-DcUQ17YT.js} +1 -1
- package/dist/client/assets/{sparkles-CAf3oJ5S.js → sparkles-nVLLtdqb.js} +1 -1
- package/dist/client/assets/spinner-CkXSwhuf.js +1 -0
- package/dist/client/assets/{square-pen-Bj3p_Q8E.js → square-pen-dcArpda7.js} +1 -1
- package/dist/client/assets/src-I4s4HU8f.js +14 -0
- package/dist/client/assets/star-CdUOqzzZ.js +1 -0
- package/dist/client/assets/storeSelectors-Cr8JmFCe.js +1 -0
- package/dist/client/assets/switch-BMeRsIbg.js +1 -0
- package/dist/client/assets/{tabSwitchInstrumentation-CLDM7g1_.js → tabSwitchInstrumentation-BuxWNdCV.js} +1 -1
- package/dist/client/assets/terminal-DupJfYRW.js +1 -0
- package/dist/client/assets/{terminal-links-BJzH2Ipe.js → terminal-links-Bf4neyyn.js} +1 -1
- package/dist/client/assets/textarea-Bu_OTJYe.js +1 -0
- package/dist/client/assets/threadPinning-DhnkssEa.js +1 -0
- package/dist/client/assets/{threadPriorityRefreshRuntime-D-OkS27H.js → threadPriorityRefreshRuntime-DJjlyX7f.js} +1 -1
- package/dist/client/assets/toast-CIjfIWUw.js +1 -0
- package/dist/client/assets/toggle-BA4mJ5v9.js +1 -0
- package/dist/client/assets/toggle-group-ChGfILTR.js +1 -0
- package/dist/client/assets/{tokenModePresentation-lVM0-Wi3.js → tokenModePresentation-B64s_OK3.js} +1 -1
- package/dist/client/assets/tooltip-C2VVqN6U.js +1 -0
- package/dist/client/assets/{trash-2-CM1zXPGb.js → trash-2-Dqgxd0nF.js} +1 -1
- package/dist/client/assets/{triangle-alert-RL_T3KLo.js → triangle-alert-D4cCh6sB.js} +1 -1
- package/dist/client/assets/types-Cr8JmFCe.js +1 -0
- package/dist/client/assets/{undo-2-x37tfI3V.js → undo-2-C8EQVSSD.js} +1 -1
- package/dist/client/assets/{unplug-Cw8iawyX.js → unplug-Dt3Sy2op.js} +1 -1
- package/dist/client/assets/useAppSidebarCollapsed-w0th-164.js +1 -0
- package/dist/client/assets/{useAtlassian-Bpvpm41l.js → useAtlassian-j7ex3bVN.js} +0 -0
- package/dist/client/assets/useButton-Dx5k1uZG.js +1 -0
- package/dist/client/assets/useCompositeListItem-BqkyY0oT.js +1 -0
- package/dist/client/assets/{clamp-CgH0Dl6R.js → useControlled-HocCF1v9.js} +1 -1
- package/dist/client/assets/useDebouncedValue-BevbEbPO.js +1 -0
- package/dist/client/assets/useFloatingRootContext-j6TgzEFa.js +1 -0
- package/dist/client/assets/useHandleNewThread-gVYty_Bg.js +1 -0
- package/dist/client/assets/useLabelableId-CcYPzJvj.js +1 -0
- package/dist/client/assets/useLocation-CZ3osOgz.js +1 -0
- package/dist/client/assets/useOpenInteractionType-apbY9ZEK.js +1 -0
- package/dist/client/assets/usePhoneThreadActions-CnDlicSp.js +1 -0
- package/dist/client/assets/usePopupViewport-0k75uXo1.js +1 -0
- package/dist/client/assets/useRenderElement-5DRNLBaU.js +1 -0
- package/dist/client/assets/useScrollLock-C5WLWXcc.js +1 -0
- package/dist/client/assets/{useStatistics-B4vW9Enx.js → useStatistics-GOFXPHO0.js} +2 -2
- package/dist/client/assets/useSwipeDismiss-BNHPBucH.js +1 -0
- package/dist/client/assets/useThreadActions-B4Xy2soQ.js +2 -0
- package/dist/client/assets/useTriggerFocusGuards-C3geWFzt.js +1 -0
- package/dist/client/assets/useValueChanged-FVqPwcY_.js +1 -0
- package/dist/client/assets/user-round-KsVtJgon.js +1 -0
- package/dist/client/assets/utils-B5qahmRn.js +1 -0
- package/dist/client/assets/visuallyHidden-j2WbVEv-.js +1 -0
- package/dist/client/assets/workspaceMetadataProjection-D3vqw40g.js +1 -0
- package/dist/client/assets/{wrench-D0IetWa1.js → wrench-BnpoYEZm.js} +1 -1
- package/dist/client/assets/x-BXHT1Zj1.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/{collectUint8StreamText-B3klZuIF.mjs → collectUint8StreamText-C_VNyArd.mjs} +1027 -162
- package/dist/{collectUint8StreamText-CDu-bszH.cjs → collectUint8StreamText-DStwNTTK.cjs} +1122 -161
- package/dist/{makeManagedServerProvider-CsaYHU8T.mjs → makeManagedServerProvider-GZcpSLrW.mjs} +22 -3
- package/dist/{makeManagedServerProvider-DeEmDbiq.cjs → makeManagedServerProvider-VzxWN-04.cjs} +32 -1
- package/dist/resource-monitor/LICENSE +21 -0
- package/dist/resource-monitor/darwin-arm64/LICENSE +21 -0
- package/dist/resource-monitor/darwin-arm64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/darwin-x64/LICENSE +21 -0
- package/dist/resource-monitor/darwin-x64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/linux-arm64/LICENSE +21 -0
- package/dist/resource-monitor/linux-arm64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/linux-x64/LICENSE +21 -0
- package/dist/resource-monitor/linux-x64/ryco-resource-monitor +0 -0
- 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/LICENSE +21 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/LICENSE +21 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/package.json +1 -1
- package/dist/client/assets/AccountSettings-CvD49Uja.js +0 -1
- package/dist/client/assets/AiFocusSettings-CYIp0JOV.js +0 -1
- package/dist/client/assets/AnimatedHeight-CM_Eh6tz.js +0 -1
- package/dist/client/assets/AppearanceSettings-BwUAv5oz.js +0 -1
- package/dist/client/assets/BranchToolbar.logic-CKKpnCfs.js +0 -1
- package/dist/client/assets/ChatRightPanel-DYXZNh1m.js +0 -27
- package/dist/client/assets/ChatThreadRouteView-B0kj0wFr.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-CJKvYVxh.js +0 -1
- package/dist/client/assets/CompositeItem-B4ITmHni.js +0 -1
- package/dist/client/assets/CompositeRoot-C5I2Yh5e.js +0 -1
- package/dist/client/assets/ConnectionsSettings-4l-DXYo6.js +0 -7
- package/dist/client/assets/DiagnosticsSettings-B6IUUiYM.js +0 -2
- package/dist/client/assets/DialogHandle-Bs7TUuxl.js +0 -1
- package/dist/client/assets/DialogPopup-BAK5J3da.js +0 -1
- package/dist/client/assets/DialogRoot-DMnQO_iQ.js +0 -1
- package/dist/client/assets/DialogTitle-B1m3rLO-.js +0 -1
- package/dist/client/assets/DialogTrigger-VXV8wYO4.js +0 -1
- package/dist/client/assets/DialogViewport-yUeHNu43.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-C39ZNgWr.js +0 -1
- package/dist/client/assets/HostedConnectionControls-DO5uPfav.js +0 -1
- package/dist/client/assets/HostedHubRoot-DkHX6TkK.js +0 -1
- package/dist/client/assets/HostedNativeAuthorizationRoute-C1VRYU0-.js +0 -1
- package/dist/client/assets/HostedRelayTrustNotice-Cl7lRwRJ.js +0 -1
- package/dist/client/assets/Icons-uMh1k5C0.js +0 -1
- package/dist/client/assets/IntegrationsSettingsPanel-Mx-1xSUL.js +0 -1
- package/dist/client/assets/KeybindingsSettings-Bv3H18VO.js +0 -7
- package/dist/client/assets/MobileSheet-DS7_soKu.js +0 -1
- package/dist/client/assets/NewWorktreeDialog-CLm1JR27.js +0 -4
- package/dist/client/assets/NoActiveThreadState-CFxNrhs_.js +0 -1
- package/dist/client/assets/NodeSecuritySettings-B3uURyma.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-B7gZOBCs.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitial-DQdUrqs1.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitialBackdrop-DbRPU11Z.js +0 -1
- package/dist/client/assets/PhoneHome-BbZKBYb8.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-BJ8jDucY.js +0 -1
- package/dist/client/assets/ProjectFavicon-DHnstN4J.js +0 -1
- package/dist/client/assets/ProviderModelPicker-Ch69G0-0.js +0 -1
- package/dist/client/assets/ProvidersSettingsPanel-Dz-1od7X.js +0 -1
- package/dist/client/assets/RedactedSensitiveText-BORE69Ig.js +0 -1
- package/dist/client/assets/RootAppShell-DnesFYfo.js +0 -6
- package/dist/client/assets/RycoLetterMark-DDx_gBX-.js +0 -1
- package/dist/client/assets/SettingsDialog-CWK_H1sI.js +0 -1
- package/dist/client/assets/SettingsPanels-DxMEuovz.js +0 -3
- package/dist/client/assets/SettingsPanels.editor-D2gxvDPy.js +0 -1
- package/dist/client/assets/SourceControlSettings-CB2SdaRk.js +0 -1
- package/dist/client/assets/StatisticsPage-MhMDuSSQ.js +0 -1
- package/dist/client/assets/StatisticsPanel-D3d0bJgk.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-DlnQpfyr.js +0 -1
- package/dist/client/assets/ThreadStatusIndicators-CPpIFcAC.js +0 -0
- package/dist/client/assets/ThreadWorkspacePanel-Ct9EINsa.js +0 -2009
- package/dist/client/assets/ToolbarRootContext-DtUqN8i6.js +0 -1
- package/dist/client/assets/alert-DQjuri3D.js +0 -1
- package/dist/client/assets/alert-dialog-Cb2TnXzy.js +0 -1
- package/dist/client/assets/arrow-left-Dtj9PfsA.js +0 -1
- package/dist/client/assets/arrow-up-right-DGeet8e6.js +0 -1
- package/dist/client/assets/authorization-BrGZruGo.js +0 -1
- package/dist/client/assets/branding-BEx1jrAA.js +0 -1
- package/dist/client/assets/capabilities-Cj8jXZOW.js +0 -1
- package/dist/client/assets/chatThreadActions-kwD_yAEt.js +0 -1
- package/dist/client/assets/chevron-right-BWYGybX9.js +0 -1
- package/dist/client/assets/clock-3-r12DkpRj.js +0 -1
- package/dist/client/assets/clock-nNA05brA.js +0 -1
- package/dist/client/assets/collapsible-DBPd--L7.js +0 -1
- package/dist/client/assets/command-DuPvkUAz.js +0 -1
- package/dist/client/assets/composerDraftStore-czbuHgbM.js +0 -11
- package/dist/client/assets/data-list-BNy2Nwkd.js +0 -1
- package/dist/client/assets/desktopUpdateAtoms-Dz4zQu-C.js +0 -1
- package/dist/client/assets/desktopWorkspace-wrPRMcOi.js +0 -1
- package/dist/client/assets/device-DbMaLmeM.js +0 -168
- package/dist/client/assets/dialog-Csp7hsmq.js +0 -1
- package/dist/client/assets/draft-input-COB-ymgx.js +0 -1
- package/dist/client/assets/editorPreferences-lQ3Fm4yA.js +0 -1
- package/dist/client/assets/empty-BcTA7vWq.js +0 -1
- package/dist/client/assets/env-BZZxbmon.js +0 -1
- package/dist/client/assets/folder-open-GqwNTbSV.js +0 -1
- package/dist/client/assets/getPseudoElementBounds-BaLrkv_J.js +0 -1
- package/dist/client/assets/group-CCjhaP2K.js +0 -1
- package/dist/client/assets/input-pu0UXdN_.js +0 -1
- package/dist/client/assets/kbd-xUvRCeUS.js +0 -1
- package/dist/client/assets/label-BzDE8wjR.js +0 -1
- package/dist/client/assets/loader-circle-CrtHFAvM.js +0 -1
- package/dist/client/assets/main-CZzCxtM-.css +0 -2
- package/dist/client/assets/main-stppnsiU.js +0 -9
- package/dist/client/assets/menu-g3Hcm2JF.js +0 -1
- package/dist/client/assets/plus-B2h-VEqh.js +0 -1
- package/dist/client/assets/popover-z5hURYff.js +0 -1
- package/dist/client/assets/primary-AnB-Zuft.js +0 -2
- package/dist/client/assets/providerDriverMeta-C9M8tUrj.js +0 -1
- package/dist/client/assets/providerIconUtils-BXecnJ0v.js +0 -1
- package/dist/client/assets/providerInstances-CMy-5cGE.js +0 -1
- package/dist/client/assets/providerModels-CMy-5cGE.js +0 -1
- package/dist/client/assets/qr-code-B6lBPRxy.js +0 -1
- package/dist/client/assets/radio-group-DQahlnSi.js +0 -2
- package/dist/client/assets/resolveAriaLabelledBy-CUqcBhyS.js +0 -1
- package/dist/client/assets/rightPanelRouteSearch-uEySicf2.js +0 -1
- package/dist/client/assets/runtime-DRPzstwF.js +0 -1
- package/dist/client/assets/scroll-area-CzUrMo2h.js +0 -1
- package/dist/client/assets/scrollEdges-C5VxoJIp.js +0 -1
- package/dist/client/assets/search-BGQsenCM.js +0 -1
- package/dist/client/assets/select-_C7bRT7k.js +0 -1
- package/dist/client/assets/separator-CFUmZFfK.js +0 -1
- package/dist/client/assets/session-logic-C5moG_sv.js +0 -4
- package/dist/client/assets/settingsDialogStore-DnU14tMG.js +0 -1
- package/dist/client/assets/settingsLayout-zwP6p5aD.js +0 -1
- package/dist/client/assets/settingsSections.logic-F8RXVmAq.js +0 -1
- package/dist/client/assets/sheet-BoROLwxR.js +0 -1
- package/dist/client/assets/sidebar-5T3qKIfp.js +0 -1
- package/dist/client/assets/sidebarProjectFolders-Bzdw3xc6.js +0 -4
- package/dist/client/assets/skeleton-C2GDOvXd.js +0 -1
- package/dist/client/assets/spinner-Dlyh0j_K.js +0 -1
- package/dist/client/assets/src-Blzsn4sO.js +0 -14
- package/dist/client/assets/storeSelectors-BJw1h5Ih.js +0 -1
- package/dist/client/assets/switch-CIMwetO3.js +0 -1
- package/dist/client/assets/terminal-C_CyIsDD.js +0 -1
- package/dist/client/assets/textarea-C0_BLJbT.js +0 -1
- package/dist/client/assets/threadPinning-DQrBoIxu.js +0 -1
- package/dist/client/assets/toast-D7IDKuLa.js +0 -1
- package/dist/client/assets/toggle-DjmkdNns.js +0 -1
- package/dist/client/assets/toggle-group-q7LGJy7u.js +0 -1
- package/dist/client/assets/tooltip-c9oahm_e.js +0 -1
- package/dist/client/assets/types-BJw1h5Ih.js +0 -1
- package/dist/client/assets/uiStateStore-C48VlkZ2.js +0 -1
- package/dist/client/assets/useButton-CbjUY1n3.js +0 -1
- package/dist/client/assets/useCompositeListItem-Mh9CnfjW.js +0 -1
- package/dist/client/assets/useDebouncedValue-fMFxXx4-.js +0 -1
- package/dist/client/assets/useFloatingRootContext-P6J9bP_1.js +0 -1
- package/dist/client/assets/useHandleNewThread-C1VSk4Ji.js +0 -1
- package/dist/client/assets/useLabelableId-ve_G1Djw.js +0 -1
- package/dist/client/assets/useLocation-LUorHj6V.js +0 -1
- package/dist/client/assets/useOpenInteractionType-BcwkVFGu.js +0 -1
- package/dist/client/assets/usePhoneThreadActions--SRv1Gdm.js +0 -1
- package/dist/client/assets/usePopupViewport-DyXMbxzY.js +0 -1
- package/dist/client/assets/useRenderElement-DchFnsR8.js +0 -1
- package/dist/client/assets/useScrollLock-DvPB4gyu.js +0 -1
- package/dist/client/assets/useSwipeDismiss-8zZC4ynu.js +0 -1
- package/dist/client/assets/useThreadActions-wbcN8Mp3.js +0 -2
- package/dist/client/assets/useTriggerFocusGuards-DI2oAYh0.js +0 -1
- package/dist/client/assets/useValueChanged-DeYQvzxH.js +0 -1
- package/dist/client/assets/user-round-Cpzx8pSw.js +0 -1
- package/dist/client/assets/utils-Dz7wQZDk.js +0 -1
- package/dist/client/assets/visibilityPolling-BwzZdaSN.js +0 -1
- package/dist/client/assets/x-C1Cemsov.js +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
const require_rolldown_runtime = require("./rolldown-runtime-LGfotAqq.cjs");
|
|
4
|
-
const require_collectUint8StreamText = require("./collectUint8StreamText-
|
|
4
|
+
const require_collectUint8StreamText = require("./collectUint8StreamText-DStwNTTK.cjs");
|
|
5
5
|
const require_Metrics = require("./Metrics-DIjMQ5pa.cjs");
|
|
6
6
|
const require_bin = require("./bin.cjs");
|
|
7
|
+
const require_makeManagedServerProvider = require("./makeManagedServerProvider-VzxWN-04.cjs");
|
|
7
8
|
const require_sourceControlContextFormatter = require("./sourceControlContextFormatter-BDZqn-4T.cjs");
|
|
8
9
|
const require_ProjectCustomSystemPrompt = require("./ProjectCustomSystemPrompt-B8SUlNGa.cjs");
|
|
9
|
-
const
|
|
10
|
-
const require_CodexTextGeneration = require("./CodexTextGeneration-CuXvtfAi.cjs");
|
|
10
|
+
const require_CodexTextGeneration = require("./CodexTextGeneration-B4tJTUDo.cjs");
|
|
11
11
|
let effect = require("effect");
|
|
12
12
|
let effect_unstable_http = require("effect/unstable/http");
|
|
13
13
|
let effect_unstable_process = require("effect/unstable/process");
|
|
@@ -179,13 +179,6 @@ const PROVIDER$1 = require_collectUint8StreamText.ProviderDriverKind.make("codex
|
|
|
179
179
|
const ANSI_ESCAPE_REGEX = new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`, "g");
|
|
180
180
|
const CODEX_STDERR_LOG_REGEX = /^\d{4}-\d{2}-\d{2}T\S+\s+(TRACE|DEBUG|INFO|WARN|ERROR)\s+\S+:\s+(.*)$/;
|
|
181
181
|
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"];
|
|
182
|
-
const RECOVERABLE_THREAD_RESUME_ERROR_SNIPPETS = [
|
|
183
|
-
"not found",
|
|
184
|
-
"missing thread",
|
|
185
|
-
"no such thread",
|
|
186
|
-
"unknown thread",
|
|
187
|
-
"does not exist"
|
|
188
|
-
];
|
|
189
182
|
const CodexResumeCursorSchema = effect.Schema.Struct({ threadId: effect.Schema.String });
|
|
190
183
|
const CodexUserInputAnswerObject = effect.Schema.Struct({ answers: effect.Schema.Array(effect.Schema.String) });
|
|
191
184
|
const CodexTurnStartParamsWithCollaborationMode = require_bin.V2TurnStartParams.pipe(effect.Schema.fieldsAssign({ collaborationMode: effect.Schema.optionalKey(require_bin.V2TurnStartParams__CollaborationMode) }));
|
|
@@ -278,7 +271,10 @@ function buildThreadStartParams(input) {
|
|
|
278
271
|
approvalPolicy: config.approvalPolicy,
|
|
279
272
|
sandbox: config.sandbox,
|
|
280
273
|
approvalsReviewer: config.approvalsReviewer,
|
|
281
|
-
|
|
274
|
+
config: {
|
|
275
|
+
"features.goals": true,
|
|
276
|
+
...Object.keys(mcpServers).length > 0 ? { mcp_servers: mcpServers } : {}
|
|
277
|
+
},
|
|
282
278
|
...input.model ? { model: input.model } : {},
|
|
283
279
|
...input.serviceTier ? { serviceTier: input.serviceTier } : {}
|
|
284
280
|
};
|
|
@@ -359,11 +355,6 @@ function classifyCodexStderrLine(rawLine) {
|
|
|
359
355
|
}
|
|
360
356
|
return { message: line };
|
|
361
357
|
}
|
|
362
|
-
function isRecoverableThreadResumeError(error) {
|
|
363
|
-
const message = (error instanceof Error ? error.message : String(error)).toLowerCase();
|
|
364
|
-
if (!message.includes("thread")) return false;
|
|
365
|
-
return RECOVERABLE_THREAD_RESUME_ERROR_SNIPPETS.some((snippet) => message.includes(snippet));
|
|
366
|
-
}
|
|
367
358
|
const openCodexThread = (input) => {
|
|
368
359
|
const resumeThreadId = input.resumeThreadId;
|
|
369
360
|
const startParams = buildThreadStartParams({
|
|
@@ -378,13 +369,10 @@ const openCodexThread = (input) => {
|
|
|
378
369
|
return input.client.request("thread/resume", {
|
|
379
370
|
threadId: resumeThreadId,
|
|
380
371
|
...startParams
|
|
381
|
-
}).pipe(effect.Effect.
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
recoverable: true,
|
|
386
|
-
cause: error.message
|
|
387
|
-
}).pipe(effect.Effect.andThen(input.client.request("thread/start", startParams)))));
|
|
372
|
+
}).pipe(effect.Effect.mapError((error) => error.message.includes("already has an active writer") ? new require_bin.CodexAppServerRequestError({
|
|
373
|
+
code: -32600,
|
|
374
|
+
errorMessage: "This Codex thread already has an active writer in another process. Its history can still be recovered. Release the thread in that process before continuing it here."
|
|
375
|
+
}) : error));
|
|
388
376
|
};
|
|
389
377
|
function readNotificationThreadId(notification) {
|
|
390
378
|
switch (notification.method) {
|
|
@@ -571,10 +559,31 @@ function parseThreadSnapshot(response) {
|
|
|
571
559
|
threadId: response.thread.id,
|
|
572
560
|
turns: response.thread.turns.map((turn) => ({
|
|
573
561
|
id: require_collectUint8StreamText.TurnId.make(turn.id),
|
|
574
|
-
items: turn.items
|
|
562
|
+
items: turn.items,
|
|
563
|
+
status: turn.status,
|
|
564
|
+
...turn.startedAt !== void 0 ? { startedAt: turn.startedAt } : {}
|
|
575
565
|
}))
|
|
576
566
|
};
|
|
577
567
|
}
|
|
568
|
+
const readStoredCodexThread = (input) => effect.Effect.scoped(effect.Effect.gen(function* () {
|
|
569
|
+
const context = yield* effect.Layer.build(require_bin.layerCommand({
|
|
570
|
+
command: input.binaryPath,
|
|
571
|
+
args: ["app-server"],
|
|
572
|
+
cwd: input.cwd,
|
|
573
|
+
env: {
|
|
574
|
+
...input.environment ?? process.env,
|
|
575
|
+
...input.homePath ? { CODEX_HOME: require_bin.expandHomePath(input.homePath) } : {}
|
|
576
|
+
},
|
|
577
|
+
requestTimeoutMs: 2e4
|
|
578
|
+
}));
|
|
579
|
+
const client = yield* effect.Effect.service(require_bin.CodexAppServerClient).pipe(effect.Effect.provide(context));
|
|
580
|
+
yield* client.request("initialize", require_bin.buildCodexInitializeParams());
|
|
581
|
+
yield* client.notify("initialized", void 0);
|
|
582
|
+
return parseThreadSnapshot(yield* client.request("thread/read", {
|
|
583
|
+
threadId: input.providerThreadId,
|
|
584
|
+
includeTurns: true
|
|
585
|
+
}));
|
|
586
|
+
}));
|
|
578
587
|
const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
579
588
|
const spawner = yield* effect_unstable_process.ChildProcessSpawner.ChildProcessSpawner;
|
|
580
589
|
const runtimeScope = yield* effect.Scope.Scope;
|
|
@@ -606,7 +615,8 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
606
615
|
command: `${options.binaryPath} app-server`,
|
|
607
616
|
cause
|
|
608
617
|
})));
|
|
609
|
-
const
|
|
618
|
+
const transportFailure = yield* effect.Deferred.make();
|
|
619
|
+
const clientContext = yield* require_bin.layerChildProcess(child, { onTermination: (error) => effect.Deferred.succeed(transportFailure, error).pipe(effect.Effect.asVoid) }).pipe(effect.Layer.build, effect.Effect.provideService(effect.Scope.Scope, runtimeScope));
|
|
610
620
|
const client = yield* effect.Effect.service(require_bin.CodexAppServerClient).pipe(effect.Effect.provide(clientContext));
|
|
611
621
|
const serverNotifications = yield* effect.Queue.bounded(512);
|
|
612
622
|
const initialSession = {
|
|
@@ -638,6 +648,16 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
638
648
|
method,
|
|
639
649
|
message
|
|
640
650
|
});
|
|
651
|
+
yield* effect.Deferred.await(transportFailure).pipe(effect.Effect.flatMap((error) => effect.Ref.get(closedRef).pipe(effect.Effect.flatMap((closed) => closed ? effect.Effect.void : effect.Effect.gen(function* () {
|
|
652
|
+
deviceTurnActive = false;
|
|
653
|
+
yield* updateSession(sessionRef, {
|
|
654
|
+
status: "error",
|
|
655
|
+
activeTurnId: void 0,
|
|
656
|
+
lastError: "Codex connection was lost. Reopen the chat to recover its history."
|
|
657
|
+
});
|
|
658
|
+
yield* emitSessionEvent("session/exited", `Codex connection lost (${error._tag}).`);
|
|
659
|
+
yield* child.kill().pipe(effect.Effect.ignore);
|
|
660
|
+
})))), effect.Effect.forkIn(runtimeScope));
|
|
641
661
|
const settlePendingApprovals = (decision) => effect.Ref.get(pendingApprovalsRef).pipe(effect.Effect.flatMap((pendingApprovals) => effect.Effect.forEach(Array.from(pendingApprovals.values()), (pendingApproval) => effect.Deferred.succeed(pendingApproval.decision, decision).pipe(effect.Effect.ignore), { discard: true })));
|
|
642
662
|
const settlePendingUserInputs = (answers) => effect.Ref.get(pendingUserInputsRef).pipe(effect.Effect.flatMap((pendingUserInputs) => effect.Effect.forEach(Array.from(pendingUserInputs.values()), (pendingUserInput) => effect.Deferred.succeed(pendingUserInput.answers, answers).pipe(effect.Effect.ignore), { discard: true })));
|
|
643
663
|
/**
|
|
@@ -794,7 +814,8 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
794
814
|
method: "collabAgent/item",
|
|
795
815
|
payload: {
|
|
796
816
|
...childIdentity,
|
|
797
|
-
item: notification.params.item
|
|
817
|
+
item: notification.params.item,
|
|
818
|
+
lifecycle: notification.method
|
|
798
819
|
}
|
|
799
820
|
});
|
|
800
821
|
return true;
|
|
@@ -1097,9 +1118,12 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
1097
1118
|
...options.agentControl ? { agentControl: options.agentControl } : {}
|
|
1098
1119
|
});
|
|
1099
1120
|
const providerThreadId = opened.thread.id;
|
|
1121
|
+
const activeTurn = opened.thread.turns.findLast((turn) => turn.status === "inProgress");
|
|
1122
|
+
deviceTurnActive = activeTurn !== void 0;
|
|
1100
1123
|
const session = {
|
|
1101
1124
|
...yield* effect.Ref.get(sessionRef),
|
|
1102
|
-
status: "ready",
|
|
1125
|
+
status: activeTurn ? "running" : "ready",
|
|
1126
|
+
activeTurnId: activeTurn ? require_collectUint8StreamText.TurnId.make(activeTurn.id) : void 0,
|
|
1103
1127
|
cwd: opened.cwd,
|
|
1104
1128
|
model: opened.model,
|
|
1105
1129
|
resumeCursor: { threadId: providerThreadId },
|
|
@@ -1199,10 +1223,19 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
|
|
|
1199
1223
|
}),
|
|
1200
1224
|
readThread: effect.Effect.gen(function* () {
|
|
1201
1225
|
const providerThreadId = yield* readProviderThreadId;
|
|
1202
|
-
|
|
1226
|
+
const response = yield* client.request("thread/read", {
|
|
1203
1227
|
threadId: providerThreadId,
|
|
1204
1228
|
includeTurns: true
|
|
1205
|
-
})
|
|
1229
|
+
});
|
|
1230
|
+
const session = yield* effect.Ref.get(sessionRef);
|
|
1231
|
+
if (session.activeTurnId && response.thread.turns.some((turn) => turn.id === session.activeTurnId && turn.status !== "inProgress")) {
|
|
1232
|
+
deviceTurnActive = false;
|
|
1233
|
+
yield* updateSession(sessionRef, {
|
|
1234
|
+
status: "ready",
|
|
1235
|
+
activeTurnId: void 0
|
|
1236
|
+
});
|
|
1237
|
+
}
|
|
1238
|
+
return parseThreadSnapshot(response);
|
|
1206
1239
|
}),
|
|
1207
1240
|
rollbackThread: (numTurns) => effect.Effect.gen(function* () {
|
|
1208
1241
|
const providerThreadId = yield* readProviderThreadId;
|
|
@@ -1364,7 +1397,7 @@ function readTokenReductionInstructions(tokenMode) {
|
|
|
1364
1397
|
function normalizeCodexTokenUsage(usage) {
|
|
1365
1398
|
const totalProcessedTokens = usage.total.totalTokens;
|
|
1366
1399
|
const usedTokens = usage.last.totalTokens;
|
|
1367
|
-
if (usedTokens === void 0 || usedTokens
|
|
1400
|
+
if (usedTokens === void 0 || usedTokens < 0) return;
|
|
1368
1401
|
const maxTokens = usage.modelContextWindow ?? void 0;
|
|
1369
1402
|
const inputTokens = usage.last.inputTokens;
|
|
1370
1403
|
const cachedInputTokens = usage.last.cachedInputTokens;
|
|
@@ -1734,7 +1767,35 @@ function mapCollabAgentEvent(event, canonicalThreadId) {
|
|
|
1734
1767
|
const looseSummary = (typeof item?.command === "string" ? item.command : void 0) ?? (typeof item?.title === "string" ? item.title : void 0) ?? (typeof item?.query === "string" ? item.query : void 0);
|
|
1735
1768
|
const canonical = toCanonicalItemType(itemTypeRaw);
|
|
1736
1769
|
const summary = looseSummary ?? canonical.replaceAll("_", " ");
|
|
1737
|
-
return [{
|
|
1770
|
+
if (canonical === "assistant_message" && payload.lifecycle === "item/completed" && typeof item?.text === "string" && typeof item.id === "string") return [{
|
|
1771
|
+
...base,
|
|
1772
|
+
type: "subagent.message.delta",
|
|
1773
|
+
payload: {
|
|
1774
|
+
subagentId: require_collectUint8StreamText.RuntimeSubagentId.make(agentThreadId),
|
|
1775
|
+
providerThreadId: agentThreadId,
|
|
1776
|
+
providerMessageId: item.id,
|
|
1777
|
+
delta: item.text,
|
|
1778
|
+
role: "assistant"
|
|
1779
|
+
}
|
|
1780
|
+
}];
|
|
1781
|
+
const toolEvents = [];
|
|
1782
|
+
if (require_collectUint8StreamText.isToolLifecycleItemType(canonical) && typeof item?.id === "string") {
|
|
1783
|
+
const completed = payload.lifecycle === "item/completed" || item.status === "completed" || item.status === "failed";
|
|
1784
|
+
toolEvents.push({
|
|
1785
|
+
...base,
|
|
1786
|
+
eventId: require_collectUint8StreamText.EventId.make(`${base.eventId}:tool`),
|
|
1787
|
+
itemId: require_collectUint8StreamText.RuntimeItemId.make(`${agentThreadId}:${item.id}`),
|
|
1788
|
+
type: completed ? "item.completed" : "item.updated",
|
|
1789
|
+
payload: {
|
|
1790
|
+
itemType: canonical,
|
|
1791
|
+
status: item.status === "failed" ? "failed" : completed ? "completed" : "inProgress",
|
|
1792
|
+
title: summary,
|
|
1793
|
+
agentId: agentThreadId,
|
|
1794
|
+
data: { item }
|
|
1795
|
+
}
|
|
1796
|
+
});
|
|
1797
|
+
}
|
|
1798
|
+
return [...toolEvents, {
|
|
1738
1799
|
...base,
|
|
1739
1800
|
type: "task.progress",
|
|
1740
1801
|
payload: {
|
|
@@ -2292,6 +2353,7 @@ function mapToRuntimeEvents(event, canonicalThreadId) {
|
|
|
2292
2353
|
*/
|
|
2293
2354
|
const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexConfig, options) {
|
|
2294
2355
|
const boundInstanceId = options?.instanceId ?? require_collectUint8StreamText.ProviderInstanceId.make("codex");
|
|
2356
|
+
const adapterScope = yield* effect.Scope.Scope;
|
|
2295
2357
|
const fileSystem = yield* effect.FileSystem.FileSystem;
|
|
2296
2358
|
const childProcessSpawner = yield* effect_unstable_process.ChildProcessSpawner.ChildProcessSpawner;
|
|
2297
2359
|
const serverConfig = yield* effect.Effect.service(require_Metrics.ServerConfig);
|
|
@@ -2371,6 +2433,11 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2371
2433
|
detail: formatCodexRuntimeErrorDetail(cause),
|
|
2372
2434
|
cause
|
|
2373
2435
|
})));
|
|
2436
|
+
let runtimeExited = false;
|
|
2437
|
+
const retireRuntime = effect.Effect.gen(function* () {
|
|
2438
|
+
const current = sessions.get(input.threadId);
|
|
2439
|
+
if (current?.runtime === runtime) yield* stopSessionInternal(current);
|
|
2440
|
+
});
|
|
2374
2441
|
const eventFiber = yield* effect.Stream.runForEach(runtime.events, (event) => effect.Effect.gen(function* () {
|
|
2375
2442
|
yield* writeNativeEvent(event);
|
|
2376
2443
|
const runtimeEvents = mapToRuntimeEvents(event, event.threadId).map((runtimeEvent) => require_makeManagedServerProvider.stampRuntimeEvent(runtimeEvent, {
|
|
@@ -2393,19 +2460,43 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2393
2460
|
}
|
|
2394
2461
|
yield* effect.Queue.offerAll(runtimeEventQueue, runtimeEvents);
|
|
2395
2462
|
yield* runtimeEventQueueMetrics.recordEnqueued(runtimeEvents.length);
|
|
2396
|
-
|
|
2463
|
+
if (runtimeEvents.some((runtimeEvent) => runtimeEvent.type === "session.exited")) {
|
|
2464
|
+
runtimeExited = true;
|
|
2465
|
+
yield* retireRuntime.pipe(effect.Effect.forkIn(adapterScope));
|
|
2466
|
+
}
|
|
2467
|
+
})).pipe(effect.Effect.catchCause((cause) => effect.Cause.hasInterruptsOnly(cause) ? effect.Effect.interrupt : effect.Effect.gen(function* () {
|
|
2468
|
+
runtimeExited = true;
|
|
2469
|
+
if (agentControl) yield* agentControl.revoke("runtime-teardown");
|
|
2470
|
+
yield* effect.Effect.logWarning("Codex event consumer failed; retiring its runtime", { threadId: input.threadId });
|
|
2471
|
+
yield* effect.Queue.offer(runtimeEventQueue, {
|
|
2472
|
+
eventId: require_collectUint8StreamText.EventId.make(crypto.randomUUID()),
|
|
2473
|
+
provider: PROVIDER,
|
|
2474
|
+
providerInstanceId: boundInstanceId,
|
|
2475
|
+
runtimeSessionId,
|
|
2476
|
+
threadId: input.threadId,
|
|
2477
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
2478
|
+
type: "session.exited",
|
|
2479
|
+
payload: {
|
|
2480
|
+
reason: "Codex event stream failed. Reopen the chat to recover.",
|
|
2481
|
+
recoverable: true,
|
|
2482
|
+
exitKind: "error"
|
|
2483
|
+
}
|
|
2484
|
+
});
|
|
2485
|
+
yield* runtimeEventQueueMetrics.recordEnqueued(1);
|
|
2486
|
+
yield* retireRuntime.pipe(effect.Effect.forkIn(adapterScope));
|
|
2487
|
+
})), effect.Effect.forkIn(sessionScope));
|
|
2397
2488
|
const started = yield* runtime.start().pipe(effect.Effect.mapError((cause) => new require_bin.ProviderAdapterProcessError({
|
|
2398
2489
|
provider: PROVIDER,
|
|
2399
2490
|
threadId: input.threadId,
|
|
2400
2491
|
detail: formatCodexRuntimeErrorDetail(cause),
|
|
2401
2492
|
cause
|
|
2402
2493
|
})), effect.Effect.onError(() => runtime.close.pipe(effect.Effect.andThen(effect.Effect.ignore(effect.Scope.close(sessionScope, effect.Exit.void))), effect.Effect.andThen(effect.Fiber.interrupt(eventFiber)), effect.Effect.ignore)));
|
|
2403
|
-
if (started.runtimeSessionId !== void 0 && started.runtimeSessionId !== runtimeSessionId) {
|
|
2494
|
+
if (runtimeExited || started.runtimeSessionId !== void 0 && started.runtimeSessionId !== runtimeSessionId) {
|
|
2404
2495
|
yield* runtime.close.pipe(effect.Effect.andThen(effect.Fiber.interrupt(eventFiber)), effect.Effect.andThen(effect.Scope.close(sessionScope, effect.Exit.void)), effect.Effect.ignore);
|
|
2405
2496
|
return yield* new require_bin.ProviderAdapterValidationError({
|
|
2406
2497
|
provider: PROVIDER,
|
|
2407
2498
|
operation: "startSession",
|
|
2408
|
-
issue: `Codex runtime returned epoch '${started.runtimeSessionId}' for requested epoch '${runtimeSessionId}'.`
|
|
2499
|
+
issue: runtimeExited ? "Codex runtime exited while the session was starting." : `Codex runtime returned epoch '${started.runtimeSessionId}' for requested epoch '${runtimeSessionId}'.`
|
|
2409
2500
|
});
|
|
2410
2501
|
}
|
|
2411
2502
|
sessions.set(input.threadId, {
|
|
@@ -2469,13 +2560,21 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2469
2560
|
method,
|
|
2470
2561
|
detail: `Turn has ${attachments.length} attachments; limit is 8.`
|
|
2471
2562
|
});
|
|
2472
|
-
const
|
|
2563
|
+
const native = attachments.filter((attachment) => attachment.type === "image");
|
|
2564
|
+
const resolved = yield* effect.Effect.forEach(native, (attachment) => resolveAttachmentForPreflight(attachment, method), { concurrency: 1 });
|
|
2473
2565
|
const totalBytes = resolved.reduce((total, entry) => total + entry.sizeBytes, 0);
|
|
2474
2566
|
if (totalBytes > PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES) return yield* new require_bin.ProviderAdapterRequestError({
|
|
2475
2567
|
provider: PROVIDER,
|
|
2476
2568
|
method,
|
|
2477
2569
|
detail: `Turn attachments total ${totalBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES} bytes.`
|
|
2478
2570
|
});
|
|
2571
|
+
const pathLineEntries = attachments.filter((attachment) => attachment.type !== "image").map((attachment) => ({
|
|
2572
|
+
attachment,
|
|
2573
|
+
...attachment.id === void 0 ? {} : { resolvedPath: require_bin.resolveAttachmentPath({
|
|
2574
|
+
attachmentsDir: serverConfig.attachmentsDir,
|
|
2575
|
+
attachment
|
|
2576
|
+
}) ?? void 0 }
|
|
2577
|
+
}));
|
|
2479
2578
|
if (resolved.length > 0) {
|
|
2480
2579
|
yield* effect.Effect.annotateCurrentSpan({
|
|
2481
2580
|
"provider.attachment_count": resolved.length,
|
|
@@ -2492,7 +2591,10 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2492
2591
|
}))
|
|
2493
2592
|
});
|
|
2494
2593
|
}
|
|
2495
|
-
return
|
|
2594
|
+
return {
|
|
2595
|
+
native: resolved,
|
|
2596
|
+
pathLines: require_makeManagedServerProvider.formatAttachmentPathLines(pathLineEntries)
|
|
2597
|
+
};
|
|
2496
2598
|
});
|
|
2497
2599
|
const toCodexAttachment = effect.Effect.fn("toCodexAttachment")(function* (resolved, method) {
|
|
2498
2600
|
const bytes = yield* fileSystem.readFile(resolved.path).pipe(effect.Effect.mapError((cause) => new require_bin.ProviderAdapterRequestError({
|
|
@@ -2507,13 +2609,13 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2507
2609
|
};
|
|
2508
2610
|
});
|
|
2509
2611
|
const sendTurn = effect.Effect.fn("sendTurn")(function* (input) {
|
|
2510
|
-
const
|
|
2511
|
-
const codexAttachments = yield* effect.Effect.forEach(
|
|
2612
|
+
const { native, pathLines } = yield* preflightAttachments(input, "turn/start");
|
|
2613
|
+
const codexAttachments = yield* effect.Effect.forEach(native, (attachment) => toCodexAttachment(attachment, "turn/start"), { concurrency: 1 });
|
|
2512
2614
|
const session = yield* requireSession(input.threadId);
|
|
2513
2615
|
const reasoningEffort = input.modelSelection?.instanceId === boundInstanceId ? require_bin.getModelSelectionStringOptionValue(input.modelSelection, "reasoningEffort") : void 0;
|
|
2514
2616
|
const fastMode = input.modelSelection?.instanceId === boundInstanceId ? require_bin.getModelSelectionBooleanOptionValue(input.modelSelection, "fastMode") : void 0;
|
|
2515
2617
|
const formatted = require_sourceControlContextFormatter.formatSourceControlContextsForAgent(input.sourceControlContexts ?? []);
|
|
2516
|
-
const codexInput = formatted ? formatted + "\n\n" + (input.input ?? "") : input.input;
|
|
2618
|
+
const codexInput = require_makeManagedServerProvider.appendAttachmentPathLines(formatted ? formatted + "\n\n" + (input.input ?? "") : input.input, pathLines);
|
|
2517
2619
|
const result = yield* session.runtime.sendTurn({
|
|
2518
2620
|
...codexInput !== void 0 ? { input: codexInput } : {},
|
|
2519
2621
|
...input.modelSelection?.instanceId === boundInstanceId ? { model: input.modelSelection.model } : {},
|
|
@@ -2531,12 +2633,14 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2531
2633
|
return result;
|
|
2532
2634
|
});
|
|
2533
2635
|
const steerTurn = effect.Effect.fn("steerTurn")(function* (input) {
|
|
2534
|
-
const
|
|
2535
|
-
const codexAttachments = yield* effect.Effect.forEach(
|
|
2536
|
-
|
|
2636
|
+
const { native, pathLines } = yield* preflightAttachments(input, "turn/steer");
|
|
2637
|
+
const codexAttachments = yield* effect.Effect.forEach(native, (attachment) => toCodexAttachment(attachment, "turn/steer"), { concurrency: 1 });
|
|
2638
|
+
const session = yield* requireSession(input.threadId);
|
|
2639
|
+
const steerInput = require_makeManagedServerProvider.appendAttachmentPathLines(input.input, pathLines);
|
|
2640
|
+
return yield* session.runtime.steerTurn({
|
|
2537
2641
|
expectedTurnId: input.expectedTurnId,
|
|
2538
2642
|
messageId: input.messageId,
|
|
2539
|
-
...
|
|
2643
|
+
...steerInput !== void 0 ? { input: steerInput } : {},
|
|
2540
2644
|
...codexAttachments.length > 0 ? { attachments: codexAttachments } : {}
|
|
2541
2645
|
}).pipe(effect.Effect.mapError((cause) => mapCodexRuntimeError(input.threadId, "turn/steer", cause)));
|
|
2542
2646
|
});
|
|
@@ -2567,6 +2671,64 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2567
2671
|
threadId,
|
|
2568
2672
|
turns: snapshot.turns
|
|
2569
2673
|
})));
|
|
2674
|
+
const readThreadHistory = (input) => effect.Effect.gen(function* () {
|
|
2675
|
+
if (!effect.Schema.is(CodexResumeCursorSchema)(input.resumeCursor)) return yield* new require_bin.ProviderAdapterValidationError({
|
|
2676
|
+
provider: PROVIDER,
|
|
2677
|
+
operation: "readThreadHistory",
|
|
2678
|
+
issue: "Missing Codex thread identity."
|
|
2679
|
+
});
|
|
2680
|
+
const existing = sessions.get(input.threadId);
|
|
2681
|
+
const liveSession = existing && !existing.stopped ? yield* existing.runtime.getSession : void 0;
|
|
2682
|
+
const liveSnapshot = existing && liveSession && (liveSession.status === "ready" || liveSession.status === "running") && effect.Schema.is(CodexResumeCursorSchema)(liveSession.resumeCursor) && liveSession.resumeCursor.threadId === input.resumeCursor.threadId ? yield* existing.runtime.readThread.pipe(effect.Effect.timeoutOption("2 seconds"), effect.Effect.orElseSucceed(() => effect.Option.none())) : effect.Option.none();
|
|
2683
|
+
const snapshot = effect.Option.isSome(liveSnapshot) ? liveSnapshot.value : yield* readStoredCodexThread({
|
|
2684
|
+
binaryPath: codexConfig.binaryPath,
|
|
2685
|
+
cwd: input.cwd ?? process.cwd(),
|
|
2686
|
+
providerThreadId: input.resumeCursor.threadId,
|
|
2687
|
+
...codexConfig.homePath ? { homePath: codexConfig.homePath } : {},
|
|
2688
|
+
...options?.environment ? { environment: options.environment } : {}
|
|
2689
|
+
}).pipe(effect.Effect.provideService(effect_unstable_process.ChildProcessSpawner.ChildProcessSpawner, childProcessSpawner), effect.Effect.mapError((cause) => mapCodexRuntimeError(input.threadId, "thread/read", cause)));
|
|
2690
|
+
const messages = [];
|
|
2691
|
+
const items = [];
|
|
2692
|
+
const completedTurnIds = [];
|
|
2693
|
+
const failedTurnIds = [];
|
|
2694
|
+
for (const turn of snapshot.turns) {
|
|
2695
|
+
if (!turn.status || turn.status === "inProgress") continue;
|
|
2696
|
+
completedTurnIds.push(turn.id);
|
|
2697
|
+
if (turn.status === "failed") failedTurnIds.push(turn.id);
|
|
2698
|
+
const createdAt = (/* @__PURE__ */ new Date((turn.startedAt ?? 0) * 1e3)).toISOString();
|
|
2699
|
+
for (const item of turn.items) if (item.type === "agentMessage" || item.type === "userMessage") messages.push({
|
|
2700
|
+
id: require_collectUint8StreamText.MessageId.make(item.type === "agentMessage" ? `assistant:${item.id}` : item.clientId ?? `user:${item.id}`),
|
|
2701
|
+
turnId: turn.id,
|
|
2702
|
+
role: item.type === "agentMessage" ? "assistant" : "user",
|
|
2703
|
+
text: item.type === "agentMessage" ? item.text : item.content.flatMap((part) => part.type === "text" ? [part.text] : []).join("\n"),
|
|
2704
|
+
createdAt
|
|
2705
|
+
});
|
|
2706
|
+
else {
|
|
2707
|
+
const event = mapItemLifecycle({
|
|
2708
|
+
id: require_collectUint8StreamText.EventId.make(`history:${input.threadId}:${snapshot.threadId}:${turn.id}:${item.id}`),
|
|
2709
|
+
provider: PROVIDER,
|
|
2710
|
+
threadId: input.threadId,
|
|
2711
|
+
kind: "notification",
|
|
2712
|
+
method: "item/completed",
|
|
2713
|
+
turnId: turn.id,
|
|
2714
|
+
itemId: require_collectUint8StreamText.ProviderItemId.make(item.id),
|
|
2715
|
+
createdAt,
|
|
2716
|
+
payload: {
|
|
2717
|
+
threadId: snapshot.threadId,
|
|
2718
|
+
turnId: turn.id,
|
|
2719
|
+
item
|
|
2720
|
+
}
|
|
2721
|
+
}, input.threadId, "item.completed");
|
|
2722
|
+
if (event) items.push(event);
|
|
2723
|
+
}
|
|
2724
|
+
}
|
|
2725
|
+
return {
|
|
2726
|
+
messages,
|
|
2727
|
+
items,
|
|
2728
|
+
completedTurnIds,
|
|
2729
|
+
failedTurnIds
|
|
2730
|
+
};
|
|
2731
|
+
});
|
|
2570
2732
|
const rollbackThread = (threadId, numTurns) => {
|
|
2571
2733
|
if (!Number.isInteger(numTurns) || numTurns < 1) return effect.Effect.fail(new require_bin.ProviderAdapterValidationError({
|
|
2572
2734
|
provider: PROVIDER,
|
|
@@ -2578,11 +2740,34 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2578
2740
|
turns: snapshot.turns
|
|
2579
2741
|
})));
|
|
2580
2742
|
};
|
|
2581
|
-
const setThreadGoal = (threadId, goal) => requireSession(threadId).pipe(effect.Effect.flatMap((session) =>
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2743
|
+
const setThreadGoal = (threadId, goal) => requireSession(threadId).pipe(effect.Effect.flatMap((session) => {
|
|
2744
|
+
const fields = goal.synchronization?.fields ?? [
|
|
2745
|
+
"objective",
|
|
2746
|
+
"status",
|
|
2747
|
+
"tokenBudget"
|
|
2748
|
+
];
|
|
2749
|
+
return session.runtime.setGoal({
|
|
2750
|
+
...fields.includes("objective") ? { objective: goal.objective } : {},
|
|
2751
|
+
...fields.includes("status") ? { status: goal.status } : {},
|
|
2752
|
+
...fields.includes("tokenBudget") ? { tokenBudget: goal.tokenBudget } : {}
|
|
2753
|
+
});
|
|
2754
|
+
}), effect.Effect.flatMap((response) => {
|
|
2755
|
+
const goal = normalizeCodexThreadGoal(response.goal);
|
|
2756
|
+
return goal ? effect.Effect.succeed(goal) : effect.Effect.fail(new require_bin.ProviderAdapterRequestError({
|
|
2757
|
+
provider: "codex",
|
|
2758
|
+
method: "thread/goal/set",
|
|
2759
|
+
detail: "Codex returned an invalid goal."
|
|
2760
|
+
}));
|
|
2761
|
+
}), effect.Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" || cause._tag === "ProviderAdapterRequestError" ? cause : mapCodexRuntimeError(threadId, "thread/goal/set", cause)));
|
|
2762
|
+
const getThreadGoal = (threadId) => requireSession(threadId).pipe(effect.Effect.flatMap((session) => session.runtime.getGoal), effect.Effect.flatMap((response) => {
|
|
2763
|
+
if (!response.goal) return effect.Effect.succeed(null);
|
|
2764
|
+
const goal = normalizeCodexThreadGoal(response.goal);
|
|
2765
|
+
return goal ? effect.Effect.succeed(goal) : effect.Effect.fail(new require_bin.ProviderAdapterRequestError({
|
|
2766
|
+
provider: "codex",
|
|
2767
|
+
method: "thread/goal/get",
|
|
2768
|
+
detail: "Codex returned an invalid goal."
|
|
2769
|
+
}));
|
|
2770
|
+
}), effect.Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" || cause._tag === "ProviderAdapterRequestError" ? cause : mapCodexRuntimeError(threadId, "thread/goal/get", cause)));
|
|
2586
2771
|
const clearThreadGoal = (threadId) => requireSession(threadId).pipe(effect.Effect.flatMap((session) => session.runtime.clearGoal), effect.Effect.asVoid, effect.Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" ? cause : mapCodexRuntimeError(threadId, "thread/goal/clear", cause)));
|
|
2587
2772
|
const respondToRequest = (threadId, requestId, decision) => requireSession(threadId).pipe(effect.Effect.flatMap((session) => session.runtime.respondToRequest(requestId, decision)), effect.Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" ? cause : mapCodexRuntimeError(threadId, "item/requestApproval/decision", cause)));
|
|
2588
2773
|
const respondToUserInput = (threadId, requestId, answers) => requireSession(threadId).pipe(effect.Effect.flatMap((session) => session.runtime.respondToUserInput(requestId, answers)), effect.Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" ? cause : mapCodexRuntimeError(threadId, "item/tool/requestUserInput", cause)));
|
|
@@ -2613,8 +2798,10 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
|
|
|
2613
2798
|
steerTurn,
|
|
2614
2799
|
interruptTurn,
|
|
2615
2800
|
readThread,
|
|
2801
|
+
readThreadHistory,
|
|
2616
2802
|
rollbackThread,
|
|
2617
2803
|
setThreadGoal,
|
|
2804
|
+
getThreadGoal,
|
|
2618
2805
|
clearThreadGoal,
|
|
2619
2806
|
respondToRequest,
|
|
2620
2807
|
respondToUserInput,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
const require_collectUint8StreamText = require("./collectUint8StreamText-
|
|
3
|
+
const require_collectUint8StreamText = require("./collectUint8StreamText-DStwNTTK.cjs");
|
|
4
4
|
const require_Metrics = require("./Metrics-DIjMQ5pa.cjs");
|
|
5
5
|
const require_bin = require("./bin.cjs");
|
|
6
6
|
let effect = require("effect");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { Ln as TextGenerationError } from "./collectUint8StreamText-C_VNyArd.mjs";
|
|
4
4
|
import { nt as sanitizeFeatureBranchName, st as ServerConfig, tt as sanitizeBranchFragment } from "./Metrics-BP9YjxZB.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { $n as resolveAttachmentPath, B as buildPrContentPrompt, F as validateRankInboxThreadsResult, G as sanitizeCommitSubject, H as buildThreadTitlePrompt, I as buildBranchNamePrompt, J as toJsonSchemaObject, K as sanitizePrTitle, L as buildCommitMessagePrompt, R as buildIssueContentPolishPrompt, V as buildThreadPriorityPrompt, W as normalizeCliError, ir as getModelSelectionStringOptionValue, kt as expandHomePath, q as sanitizeThreadTitle, rr as getModelSelectionBooleanOptionValue, z as buildIssueContentTitlePrompt } from "./bin.mjs";
|
|
6
6
|
import { Effect, FileSystem, Option, Path, Schema, Stream } from "effect";
|
|
7
7
|
import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
|
|
8
8
|
//#region src/textGeneration/CodexTextGeneration.ts
|