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.
Files changed (414) hide show
  1. package/dist/{AcpNativeLogging-Bh7MX3rC.cjs → AcpNativeLogging-COepku4a.cjs} +264 -7
  2. package/dist/{AcpNativeLogging-CLM3p9JD.mjs → AcpNativeLogging-D7e1dn7s.mjs} +254 -9
  3. package/dist/{AzureDevOpsSourceControlProvider-jQm1WPMS.mjs → AzureDevOpsSourceControlProvider-BNGEg1R8.mjs} +3 -3
  4. package/dist/{AzureDevOpsSourceControlProvider-D9QXGi1h.cjs → AzureDevOpsSourceControlProvider-CrvgKNf2.cjs} +2 -2
  5. package/dist/{BitbucketSourceControlProvider-j95Cro_2.mjs → BitbucketSourceControlProvider-Bt21jw68.mjs} +3 -3
  6. package/dist/{BitbucketSourceControlProvider-C3VDp9qR.cjs → BitbucketSourceControlProvider-BzhsQwH-.cjs} +2 -2
  7. package/dist/{BunPTY-CNvWSzEJ.mjs → BunPTY-TbHbSc8S.mjs} +1 -1
  8. package/dist/{ClaudeDriver-CT89QDP8.mjs → ClaudeDriver-D65SPdHR.mjs} +44 -119
  9. package/dist/{ClaudeDriver-DiRhQM2K.cjs → ClaudeDriver-D7NatUx6.cjs} +52 -127
  10. package/dist/{CodexDriver-CBYfPl_X.mjs → CodexDriver-D4z5-wUD.mjs} +237 -50
  11. package/dist/{CodexDriver-BmKoU7w_.cjs → CodexDriver-DWGtHt9r.cjs} +235 -48
  12. package/dist/{CodexTextGeneration-CuXvtfAi.cjs → CodexTextGeneration-B4tJTUDo.cjs} +1 -1
  13. package/dist/{CodexTextGeneration-B7GPyLo2.mjs → CodexTextGeneration-BikHow8k.mjs} +2 -2
  14. package/dist/{CopilotDriver-XX5zmGVK.cjs → CopilotDriver-DJvYncGI.cjs} +122 -23
  15. package/dist/{CopilotDriver-BJ1P_bHz.mjs → CopilotDriver-ZvvsAIkd.mjs} +123 -24
  16. package/dist/{CursorDriver-BH6yAijk.mjs → CursorDriver-B1QSBzuH.mjs} +45 -74
  17. package/dist/{CursorDriver-CYMXQKec.cjs → CursorDriver-D3I4KULs.cjs} +44 -73
  18. package/dist/{ForgejoSourceControlProvider-ZfU3SBzW.mjs → ForgejoSourceControlProvider-BGXysSX6.mjs} +3 -3
  19. package/dist/{ForgejoSourceControlProvider-Dzg-BJY_.cjs → ForgejoSourceControlProvider-Dh6DOoc8.cjs} +2 -2
  20. package/dist/{GitHubSourceControlProvider-BpyIi23Q.cjs → GitHubSourceControlProvider-8hsv_kCE.cjs} +2 -2
  21. package/dist/{GitHubSourceControlProvider-Bx5_H3zb.mjs → GitHubSourceControlProvider-CPCYV8Xo.mjs} +3 -3
  22. package/dist/{GitLabSourceControlProvider-QccSsOnx.cjs → GitLabSourceControlProvider-B0ZbF9Zx.cjs} +2 -2
  23. package/dist/{GitLabSourceControlProvider-DjvGD1WZ.mjs → GitLabSourceControlProvider-Bvknpaon.mjs} +3 -3
  24. package/dist/{GrokDriver-BPIUrqkN.mjs → GrokDriver-DgQe3pKz.mjs} +41 -10
  25. package/dist/{GrokDriver-jE4az7JZ.cjs → GrokDriver-_puXDTU3.cjs} +42 -11
  26. package/dist/{NodePTY-lO8PwZLk.mjs → NodePTY-B_p5tLYO.mjs} +1 -1
  27. package/dist/{OpenCodeDriver-IbZqAzYW.cjs → OpenCodeDriver-401RexI0.cjs} +240 -40
  28. package/dist/{OpenCodeDriver-_hUfFwH4.mjs → OpenCodeDriver-DNUlF8M-.mjs} +238 -41
  29. package/dist/{SourceControlProviderDiscoveryCatalog-CHxCP6Ng.mjs → SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs} +1 -1
  30. package/dist/{SourceControlProviderDiscoveryCatalog-CnkV-oKD.cjs → SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs} +1 -1
  31. package/dist/bin.cjs +10690 -5679
  32. package/dist/bin.mjs +10674 -5674
  33. package/dist/client/assets/AccountSettings-CypheYqM.js +1 -0
  34. package/dist/client/assets/AiFocusSettings-BlX0ED1t.js +1 -0
  35. package/dist/client/assets/AnimatedHeight-DKCe4x_Q.js +1 -0
  36. package/dist/client/assets/AppearanceSettings-BSyn6NXf.js +1 -0
  37. package/dist/client/assets/BranchToolbar.logic-fpBz8Ajj.js +1 -0
  38. package/dist/client/assets/BrowserPanel-BWch19QH.js +1 -0
  39. package/dist/client/assets/ChatRightPanel-B7yrq-hS.js +27 -0
  40. package/dist/client/assets/ChatThreadRouteView-Cg0d_EHs.js +1 -0
  41. package/dist/client/assets/CommandPaletteDialog-DImCuPaX.js +1 -0
  42. package/dist/client/assets/CompositeItem-BYnHWRNf.js +1 -0
  43. package/dist/client/assets/CompositeRoot-B28uivk7.js +1 -0
  44. package/dist/client/assets/ComputerUseSettings-CosW7jaG.js +1 -0
  45. package/dist/client/assets/ConnectionsSettings-Bk6vI3G-.js +7 -0
  46. package/dist/client/assets/ContextHandoffEndpointLabel-BR6ygaub.js +4 -0
  47. package/dist/client/assets/DiagnosticsSettings-Dp_tCNLw.js +2 -0
  48. package/dist/client/assets/DialogHandle-BN-QB-sO.js +1 -0
  49. package/dist/client/assets/DialogPopup-BuJs5WUt.js +1 -0
  50. package/dist/client/assets/DialogRoot-PxEcoecQ.js +1 -0
  51. package/dist/client/assets/DialogTitle-4nxQsra4.js +1 -0
  52. package/dist/client/assets/DialogTrigger-D_0canul.js +1 -0
  53. package/dist/client/assets/DialogViewport-DSo-2hyf.js +1 -0
  54. package/dist/client/assets/DraftChatThreadRouteView-C94kpMx4.js +1 -0
  55. package/dist/client/assets/{ExternalIdentityWeb.logic-TlJdh82R.js → ExternalIdentityWeb.logic-CGJKCFPo.js} +1 -1
  56. package/dist/client/assets/{GlassSurface-BWk2twKc.js → GlassSurface-CyOTUS7E.js} +1 -1
  57. package/dist/client/assets/HostedConnectionControls-CL0Ws4ca.js +1 -0
  58. package/dist/client/assets/HostedHubRoot-LUINZl4r.js +1 -0
  59. package/dist/client/assets/HostedNativeAuthorizationRoute-CgYVBE6N.js +1 -0
  60. package/dist/client/assets/HostedRelayTrustNotice-DgdeZh52.js +1 -0
  61. package/dist/client/assets/Icons-BIUbIFr7.js +1 -0
  62. package/dist/client/assets/IntegrationsSettingsPanel-B7tXTaa3.js +1 -0
  63. package/dist/client/assets/KeybindingsSettings-HMlRcGQ4.js +7 -0
  64. package/dist/client/assets/LazyBrowserPanel-CKfmuM9U.js +1 -0
  65. package/dist/client/assets/{McpServersSettings-Cbq-uHU3.js → McpServersSettings-Bq-HyhvC.js} +4 -4
  66. package/dist/client/assets/MobileSheet-acDRH9aa.js +1 -0
  67. package/dist/client/assets/NoActiveThreadState-7rym7bV7.js +1 -0
  68. package/dist/client/assets/NodeSecuritySettings-D8qjh4Dc.js +1 -0
  69. package/dist/client/assets/OpinionatedPluginsSettings-D7Uks5yR.js +1 -0
  70. package/dist/client/assets/PhoneGetAppInterstitial-BQXUSufH.js +1 -0
  71. package/dist/client/assets/PhoneGetAppInterstitialBackdrop-BbUvwGmI.js +1 -0
  72. package/dist/client/assets/PhoneHome-DvgdMTkh.js +1 -0
  73. package/dist/client/assets/PhoneSettingsSurface-DncJ540i.js +1 -0
  74. package/dist/client/assets/ProjectFavicon-BY5Vyyk6.js +1 -0
  75. package/dist/client/assets/ProviderInstanceIcon-CZe1TbeC.js +1 -0
  76. package/dist/client/assets/ProviderModelPicker-DHAY1n_1.js +1 -0
  77. package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-D3qYdp40.js → ProviderUpdateLaunchNotification.logic-DQJVrUIo.js} +1 -1
  78. package/dist/client/assets/ProvidersSettingsPanel-BylxZs4S.js +1 -0
  79. package/dist/client/assets/RedactedSensitiveText-D-enj1h5.js +1 -0
  80. package/dist/client/assets/RootAppShell-DBK0WW2b.js +6 -0
  81. package/dist/client/assets/RycoLetterMark-PnGm6TQY.js +1 -0
  82. package/dist/client/assets/{Separator-DiMB6Prz.js → Separator-BWKYMFqt.js} +1 -1
  83. package/dist/client/assets/SettingsDialog-N25hIv-a.js +1 -0
  84. package/dist/client/assets/SettingsPanels-D9YXmUPP.js +3 -0
  85. package/dist/client/assets/SettingsPanels.editor-Cn18k74l.js +1 -0
  86. package/dist/client/assets/SourceControlSettings-BAzSpMfR.js +1 -0
  87. package/dist/client/assets/StatisticsPage-CLKpfsQ8.js +1 -0
  88. package/dist/client/assets/StatisticsPanel-DxHUFn64.js +1 -0
  89. package/dist/client/assets/StatisticsSettingsLink-B3HIQYFh.js +1 -0
  90. package/dist/client/assets/ThreadStatusIndicators-CQZ_OgY8.js +0 -0
  91. package/dist/client/assets/{ThreadTerminalDrawer-DvadlVXV.js → ThreadTerminalDrawer-D1SPewXR.js} +3 -3
  92. package/dist/client/assets/ThreadWorkspacePanel-DVF6oZsV.js +2009 -0
  93. package/dist/client/assets/ToolbarRootContext-Dt8G5aCw.js +1 -0
  94. package/dist/client/assets/{WorkItemsTab-CI6hTQ_k.js → WorkItemsTab-BoE-TcXJ.js} +8 -8
  95. package/dist/client/assets/{activity-1CkdQG5u.js → activity-DfFM6I8A.js} +1 -1
  96. package/dist/client/assets/alert-DE5SkZhr.js +1 -0
  97. package/dist/client/assets/alert-dialog-BqPnPhb6.js +1 -0
  98. package/dist/client/assets/appChrome-CJauXpqv.js +1 -0
  99. package/dist/client/assets/{archive-BL1hojl3.js → archive-BFV4YQ7D.js} +1 -1
  100. package/dist/client/assets/arrow-left-CCmICk1t.js +1 -0
  101. package/dist/client/assets/arrow-right-Z3Eay6Fd.js +1 -0
  102. package/dist/client/assets/{arrow-up-CTcWIlqV.js → arrow-up-caak6P06.js} +1 -1
  103. package/dist/client/assets/arrow-up-right-BwC-fCE4.js +1 -0
  104. package/dist/client/assets/authorization-bHsGYIT0.js +1 -0
  105. package/dist/client/assets/{badge-Cil0isYQ.js → badge-m9kM3P07.js} +1 -1
  106. package/dist/client/assets/{bot-DJp0cuhK.js → bot-Cv7a7Ksf.js} +1 -1
  107. package/dist/client/assets/{button-CBqaO2Ub.js → button-B6xQZNKz.js} +1 -1
  108. package/dist/client/assets/capabilities-D6bsjqkj.js +1 -0
  109. package/dist/client/assets/{chart-column-Dw6ACmXM.js → chart-column-DgGlY4sD.js} +1 -1
  110. package/dist/client/assets/chatThreadActions-BXaNbPbp.js +1 -0
  111. package/dist/client/assets/check-BfnWUGBT.js +1 -0
  112. package/dist/client/assets/{chevron-down-B7C6FKzM.js → chevron-down-B_FKCRVh.js} +1 -1
  113. package/dist/client/assets/chevron-right-B6CKNGh4.js +1 -0
  114. package/dist/client/assets/{circle-alert-BWvs6IOn.js → circle-alert-BV3vJE-c.js} +1 -1
  115. package/dist/client/assets/circle-check-D2Vx39x-.js +1 -0
  116. package/dist/client/assets/{external-link-fbvzDWM7.js → circle-dashed-khcA8K3Y.js} +1 -1
  117. package/dist/client/assets/circle-question-mark-DEuLdOiy.js +1 -0
  118. package/dist/client/assets/circle-x-DqfM_2wS.js +1 -0
  119. package/dist/client/assets/clamp-D0kAXd-u.js +1 -0
  120. package/dist/client/assets/{clipboard-copy-C4VV20QR.js → clipboard-copy-CiD4tBsh.js} +1 -1
  121. package/dist/client/assets/clock--4M7moiV.js +1 -0
  122. package/dist/client/assets/clock-3-NbnQqtcd.js +1 -0
  123. package/dist/client/assets/collapsible-BECg-ssO.js +1 -0
  124. package/dist/client/assets/command-DvbA3O0J.js +1 -0
  125. package/dist/client/assets/{copy-UQjKGt7t.js → copy-CkPe1c-r.js} +1 -1
  126. package/dist/client/assets/data-list-7TiaqfZU.js +1 -0
  127. package/dist/client/assets/desktopUpdateAtoms-6j0d8vfy.js +1 -0
  128. package/dist/client/assets/desktopWorkspace-8s8rm3zL.js +1 -0
  129. package/dist/client/assets/device-CGaJ6fwD.js +168 -0
  130. package/dist/client/assets/dialog-C9v8Zl6e.js +1 -0
  131. package/dist/client/assets/{download-CQZ-m4zW.js → download-DPjzVxTa.js} +1 -1
  132. package/dist/client/assets/draft-input-BRSLIjV6.js +1 -0
  133. package/dist/client/assets/editorPreferences-D-9SDgRM.js +1 -0
  134. package/dist/client/assets/empty-CuQ57p2u.js +1 -0
  135. package/dist/client/assets/external-link-CF9EzT-A.js +1 -0
  136. package/dist/client/assets/{eye-CUSPj-gd.js → eye-C2Puut9B.js} +1 -1
  137. package/dist/client/assets/{folder-DtsQoI9_.js → folder-BKTxLq18.js} +1 -1
  138. package/dist/client/assets/{folder-closed-CsvKfC6X.js → folder-closed-D2cwiusg.js} +1 -1
  139. package/dist/client/assets/getPseudoElementBounds-DdH76YK5.js +1 -0
  140. package/dist/client/assets/{git-branch-BKr-Ij4u.js → git-branch-Dauy2SWC.js} +1 -1
  141. package/dist/client/assets/{git-pull-request-DIYyPsg5.js → git-pull-request-DsK1gBtK.js} +1 -1
  142. package/dist/client/assets/globe-dS40wBdE.js +1 -0
  143. package/dist/client/assets/group-DBXm8riE.js +1 -0
  144. package/dist/client/assets/hostedConnectionCoordinator-DSMW2Ldh.js +1 -0
  145. package/dist/client/assets/{index-QY6vcnCY.js → index-DRY8Hgrj.js} +2 -2
  146. package/dist/client/assets/input-Dn_zesdZ.js +1 -0
  147. package/dist/client/assets/kbd-BF2-WlxQ.js +1 -0
  148. package/dist/client/assets/{key-round-CacMputS.js → key-round-BjaaL9Df.js} +1 -1
  149. package/dist/client/assets/{keybindings-Bj6xWIbQ.js → keybindings-FSJY3Tht.js} +1 -1
  150. package/dist/client/assets/{keyboard-BqeRMHfL.js → keyboard-AkUFPD_e.js} +1 -1
  151. package/dist/client/assets/label-BKjVY2A9.js +1 -0
  152. package/dist/client/assets/{layers-BYi0v17h.js → layers-tzRiuxSx.js} +1 -1
  153. package/dist/client/assets/{lib-B6XyeqaU.js → lib-D5cyGc84.js} +1 -1
  154. package/dist/client/assets/{loader-zHASMrUy.js → loader-BrbWRz3I.js} +1 -1
  155. package/dist/client/assets/loader-circle-DRKbHQst.js +1 -0
  156. package/dist/client/assets/{log-out-tMJm0Gk6.js → log-out-BEihaal1.js} +1 -1
  157. package/dist/client/assets/{logging-1BfRrhxL.js → logging-Y73f240E.js} +1 -1
  158. package/dist/client/assets/main-BiIQEybS.js +9 -0
  159. package/dist/client/assets/main-tZWU6iqX.css +2 -0
  160. package/dist/client/assets/menu-BxtB33Up.js +1 -0
  161. package/dist/client/assets/{messages-square-DiMgWzoq.js → messages-square-e0Zg750i.js} +1 -1
  162. package/dist/client/assets/{minimize-2-C33mL7LT.js → minimize-2-DC9gMgGl.js} +1 -1
  163. package/dist/client/assets/monitor-Dj0JFj4_.js +1 -0
  164. package/dist/client/assets/{palette-BSD_aJZg.js → palette-0qvNt1CR.js} +1 -1
  165. package/dist/client/assets/{pencil-B69ERoVM.js → pencil-CA0DGufX.js} +1 -1
  166. package/dist/client/assets/{play-DYDxlTKo.js → play-wIyvqd_g.js} +1 -1
  167. package/dist/client/assets/plus-5kH13lqq.js +1 -0
  168. package/dist/client/assets/popover-CwhgX3HA.js +1 -0
  169. package/dist/client/assets/primary-BqnEJHWx.js +2 -0
  170. package/dist/client/assets/{projectPaths-BFTUsvWs.js → projectPaths-45WPhgoj.js} +1 -1
  171. package/dist/client/assets/providerDriverMeta-Cc60r9Rb.js +1 -0
  172. package/dist/client/assets/providerInstances-Cr8JmFCe.js +1 -0
  173. package/dist/client/assets/providerModels-Cr8JmFCe.js +1 -0
  174. package/dist/client/assets/qr-code-BKrwYZ2s.js +1 -0
  175. package/dist/client/assets/{qr-code-ScYULAuR.js → qr-code-DDmpRnPp.js} +1 -1
  176. package/dist/client/assets/radio-group-DZCo21CF.js +2 -0
  177. package/dist/client/assets/{refresh-cw-DopCMrtR.js → refresh-cw-DiuiLTny.js} +1 -1
  178. package/dist/client/assets/resolveAriaLabelledBy-927ShlEO.js +1 -0
  179. package/dist/client/assets/rightPanelRouteSearch-CExl-IaQ.js +1 -0
  180. package/dist/client/assets/rotate-ccw-XOYBPtyK.js +1 -0
  181. package/dist/client/assets/rotate-cw-D32Z4Sdd.js +1 -0
  182. package/dist/client/assets/runtime-CA2W9mZ-.js +17 -0
  183. package/dist/client/assets/{save-Bh36JIv6.js → save-DjlqeVG_.js} +1 -1
  184. package/dist/client/assets/scroll-area-CylKYQms.js +1 -0
  185. package/dist/client/assets/scrollEdges-D7RQhYjX.js +1 -0
  186. package/dist/client/assets/search-B2nLj573.js +1 -0
  187. package/dist/client/assets/select-qTezUK8F.js +1 -0
  188. package/dist/client/assets/separator-D77goPy-.js +1 -0
  189. package/dist/client/assets/{server-JApJpgLa.js → server-y8Wq0Qwv.js} +1 -1
  190. package/dist/client/assets/session-logic-xfW418Rx.js +1 -0
  191. package/dist/client/assets/{settings-2-CZQg_KUQ.js → settings-2-DpwBKj3m.js} +1 -1
  192. package/dist/client/assets/settingsLayout-BuaXzjIe.js +1 -0
  193. package/dist/client/assets/settingsSections.logic-CR4aytUI.js +1 -0
  194. package/dist/client/assets/sheet-z3AEiSN4.js +1 -0
  195. package/dist/client/assets/{shield-IZEIJ8r7.js → shield-BuXuMVtb.js} +1 -1
  196. package/dist/client/assets/{shield-alert-DY9uVP5G.js → shield-alert-Dfk--o-I.js} +1 -1
  197. package/dist/client/assets/{shield-check-dQ-4cMKk.js → shield-check-BHi57iF1.js} +1 -1
  198. package/dist/client/assets/sidebar-Dst9O2OR.js +1 -0
  199. package/dist/client/assets/sidebarProjectFolders-DR1NBLLz.js +4 -0
  200. package/dist/client/assets/{sidebarStatusText-q88Acn3r.js → sidebarStatusText-7jo1n9E1.js} +1 -1
  201. package/dist/client/assets/skeleton-D_kbMg21.js +1 -0
  202. package/dist/client/assets/{smartphone-gNe1ynB8.js → smartphone-DcUQ17YT.js} +1 -1
  203. package/dist/client/assets/{sparkles-CAf3oJ5S.js → sparkles-nVLLtdqb.js} +1 -1
  204. package/dist/client/assets/spinner-CkXSwhuf.js +1 -0
  205. package/dist/client/assets/{square-pen-Bj3p_Q8E.js → square-pen-dcArpda7.js} +1 -1
  206. package/dist/client/assets/src-I4s4HU8f.js +14 -0
  207. package/dist/client/assets/star-CdUOqzzZ.js +1 -0
  208. package/dist/client/assets/storeSelectors-Cr8JmFCe.js +1 -0
  209. package/dist/client/assets/switch-BMeRsIbg.js +1 -0
  210. package/dist/client/assets/{tabSwitchInstrumentation-CLDM7g1_.js → tabSwitchInstrumentation-BuxWNdCV.js} +1 -1
  211. package/dist/client/assets/terminal-DupJfYRW.js +1 -0
  212. package/dist/client/assets/{terminal-links-BJzH2Ipe.js → terminal-links-Bf4neyyn.js} +1 -1
  213. package/dist/client/assets/textarea-Bu_OTJYe.js +1 -0
  214. package/dist/client/assets/threadPinning-DhnkssEa.js +1 -0
  215. package/dist/client/assets/{threadPriorityRefreshRuntime-D-OkS27H.js → threadPriorityRefreshRuntime-DJjlyX7f.js} +1 -1
  216. package/dist/client/assets/toast-CIjfIWUw.js +1 -0
  217. package/dist/client/assets/toggle-BA4mJ5v9.js +1 -0
  218. package/dist/client/assets/toggle-group-ChGfILTR.js +1 -0
  219. package/dist/client/assets/{tokenModePresentation-lVM0-Wi3.js → tokenModePresentation-B64s_OK3.js} +1 -1
  220. package/dist/client/assets/tooltip-C2VVqN6U.js +1 -0
  221. package/dist/client/assets/{trash-2-CM1zXPGb.js → trash-2-Dqgxd0nF.js} +1 -1
  222. package/dist/client/assets/{triangle-alert-RL_T3KLo.js → triangle-alert-D4cCh6sB.js} +1 -1
  223. package/dist/client/assets/types-Cr8JmFCe.js +1 -0
  224. package/dist/client/assets/{undo-2-x37tfI3V.js → undo-2-C8EQVSSD.js} +1 -1
  225. package/dist/client/assets/{unplug-Cw8iawyX.js → unplug-Dt3Sy2op.js} +1 -1
  226. package/dist/client/assets/useAppSidebarCollapsed-w0th-164.js +1 -0
  227. package/dist/client/assets/{useAtlassian-Bpvpm41l.js → useAtlassian-j7ex3bVN.js} +0 -0
  228. package/dist/client/assets/useButton-Dx5k1uZG.js +1 -0
  229. package/dist/client/assets/useCompositeListItem-BqkyY0oT.js +1 -0
  230. package/dist/client/assets/{clamp-CgH0Dl6R.js → useControlled-HocCF1v9.js} +1 -1
  231. package/dist/client/assets/useDebouncedValue-BevbEbPO.js +1 -0
  232. package/dist/client/assets/useFloatingRootContext-j6TgzEFa.js +1 -0
  233. package/dist/client/assets/useHandleNewThread-gVYty_Bg.js +1 -0
  234. package/dist/client/assets/useLabelableId-CcYPzJvj.js +1 -0
  235. package/dist/client/assets/useLocation-CZ3osOgz.js +1 -0
  236. package/dist/client/assets/useOpenInteractionType-apbY9ZEK.js +1 -0
  237. package/dist/client/assets/usePhoneThreadActions-CnDlicSp.js +1 -0
  238. package/dist/client/assets/usePopupViewport-0k75uXo1.js +1 -0
  239. package/dist/client/assets/useRenderElement-5DRNLBaU.js +1 -0
  240. package/dist/client/assets/useScrollLock-C5WLWXcc.js +1 -0
  241. package/dist/client/assets/{useStatistics-B4vW9Enx.js → useStatistics-GOFXPHO0.js} +2 -2
  242. package/dist/client/assets/useSwipeDismiss-BNHPBucH.js +1 -0
  243. package/dist/client/assets/useThreadActions-B4Xy2soQ.js +2 -0
  244. package/dist/client/assets/useTriggerFocusGuards-C3geWFzt.js +1 -0
  245. package/dist/client/assets/useValueChanged-FVqPwcY_.js +1 -0
  246. package/dist/client/assets/user-round-KsVtJgon.js +1 -0
  247. package/dist/client/assets/utils-B5qahmRn.js +1 -0
  248. package/dist/client/assets/visuallyHidden-j2WbVEv-.js +1 -0
  249. package/dist/client/assets/workspaceMetadataProjection-D3vqw40g.js +1 -0
  250. package/dist/client/assets/{wrench-D0IetWa1.js → wrench-BnpoYEZm.js} +1 -1
  251. package/dist/client/assets/x-BXHT1Zj1.js +1 -0
  252. package/dist/client/index.html +1 -1
  253. package/dist/{collectUint8StreamText-B3klZuIF.mjs → collectUint8StreamText-C_VNyArd.mjs} +1027 -162
  254. package/dist/{collectUint8StreamText-CDu-bszH.cjs → collectUint8StreamText-DStwNTTK.cjs} +1122 -161
  255. package/dist/{makeManagedServerProvider-CsaYHU8T.mjs → makeManagedServerProvider-GZcpSLrW.mjs} +22 -3
  256. package/dist/{makeManagedServerProvider-DeEmDbiq.cjs → makeManagedServerProvider-VzxWN-04.cjs} +32 -1
  257. package/dist/resource-monitor/LICENSE +21 -0
  258. package/dist/resource-monitor/darwin-arm64/LICENSE +21 -0
  259. package/dist/resource-monitor/darwin-arm64/ryco-resource-monitor +0 -0
  260. package/dist/resource-monitor/darwin-x64/LICENSE +21 -0
  261. package/dist/resource-monitor/darwin-x64/ryco-resource-monitor +0 -0
  262. package/dist/resource-monitor/linux-arm64/LICENSE +21 -0
  263. package/dist/resource-monitor/linux-arm64/ryco-resource-monitor +0 -0
  264. package/dist/resource-monitor/linux-x64/LICENSE +21 -0
  265. package/dist/resource-monitor/linux-x64/ryco-resource-monitor +0 -0
  266. package/dist/resource-monitor/ryco-resource-monitor +0 -0
  267. package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
  268. package/dist/resource-monitor/win32-arm64/LICENSE +21 -0
  269. package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
  270. package/dist/resource-monitor/win32-x64/LICENSE +21 -0
  271. package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
  272. package/package.json +1 -1
  273. package/dist/client/assets/AccountSettings-CvD49Uja.js +0 -1
  274. package/dist/client/assets/AiFocusSettings-CYIp0JOV.js +0 -1
  275. package/dist/client/assets/AnimatedHeight-CM_Eh6tz.js +0 -1
  276. package/dist/client/assets/AppearanceSettings-BwUAv5oz.js +0 -1
  277. package/dist/client/assets/BranchToolbar.logic-CKKpnCfs.js +0 -1
  278. package/dist/client/assets/ChatRightPanel-DYXZNh1m.js +0 -27
  279. package/dist/client/assets/ChatThreadRouteView-B0kj0wFr.js +0 -1
  280. package/dist/client/assets/CommandPaletteDialog-CJKvYVxh.js +0 -1
  281. package/dist/client/assets/CompositeItem-B4ITmHni.js +0 -1
  282. package/dist/client/assets/CompositeRoot-C5I2Yh5e.js +0 -1
  283. package/dist/client/assets/ConnectionsSettings-4l-DXYo6.js +0 -7
  284. package/dist/client/assets/DiagnosticsSettings-B6IUUiYM.js +0 -2
  285. package/dist/client/assets/DialogHandle-Bs7TUuxl.js +0 -1
  286. package/dist/client/assets/DialogPopup-BAK5J3da.js +0 -1
  287. package/dist/client/assets/DialogRoot-DMnQO_iQ.js +0 -1
  288. package/dist/client/assets/DialogTitle-B1m3rLO-.js +0 -1
  289. package/dist/client/assets/DialogTrigger-VXV8wYO4.js +0 -1
  290. package/dist/client/assets/DialogViewport-yUeHNu43.js +0 -1
  291. package/dist/client/assets/DraftChatThreadRouteView-C39ZNgWr.js +0 -1
  292. package/dist/client/assets/HostedConnectionControls-DO5uPfav.js +0 -1
  293. package/dist/client/assets/HostedHubRoot-DkHX6TkK.js +0 -1
  294. package/dist/client/assets/HostedNativeAuthorizationRoute-C1VRYU0-.js +0 -1
  295. package/dist/client/assets/HostedRelayTrustNotice-Cl7lRwRJ.js +0 -1
  296. package/dist/client/assets/Icons-uMh1k5C0.js +0 -1
  297. package/dist/client/assets/IntegrationsSettingsPanel-Mx-1xSUL.js +0 -1
  298. package/dist/client/assets/KeybindingsSettings-Bv3H18VO.js +0 -7
  299. package/dist/client/assets/MobileSheet-DS7_soKu.js +0 -1
  300. package/dist/client/assets/NewWorktreeDialog-CLm1JR27.js +0 -4
  301. package/dist/client/assets/NoActiveThreadState-CFxNrhs_.js +0 -1
  302. package/dist/client/assets/NodeSecuritySettings-B3uURyma.js +0 -1
  303. package/dist/client/assets/OpinionatedPluginsSettings-B7gZOBCs.js +0 -1
  304. package/dist/client/assets/PhoneGetAppInterstitial-DQdUrqs1.js +0 -1
  305. package/dist/client/assets/PhoneGetAppInterstitialBackdrop-DbRPU11Z.js +0 -1
  306. package/dist/client/assets/PhoneHome-BbZKBYb8.js +0 -1
  307. package/dist/client/assets/PhoneSettingsSurface-BJ8jDucY.js +0 -1
  308. package/dist/client/assets/ProjectFavicon-DHnstN4J.js +0 -1
  309. package/dist/client/assets/ProviderModelPicker-Ch69G0-0.js +0 -1
  310. package/dist/client/assets/ProvidersSettingsPanel-Dz-1od7X.js +0 -1
  311. package/dist/client/assets/RedactedSensitiveText-BORE69Ig.js +0 -1
  312. package/dist/client/assets/RootAppShell-DnesFYfo.js +0 -6
  313. package/dist/client/assets/RycoLetterMark-DDx_gBX-.js +0 -1
  314. package/dist/client/assets/SettingsDialog-CWK_H1sI.js +0 -1
  315. package/dist/client/assets/SettingsPanels-DxMEuovz.js +0 -3
  316. package/dist/client/assets/SettingsPanels.editor-D2gxvDPy.js +0 -1
  317. package/dist/client/assets/SourceControlSettings-CB2SdaRk.js +0 -1
  318. package/dist/client/assets/StatisticsPage-MhMDuSSQ.js +0 -1
  319. package/dist/client/assets/StatisticsPanel-D3d0bJgk.js +0 -1
  320. package/dist/client/assets/StatisticsSettingsLink-DlnQpfyr.js +0 -1
  321. package/dist/client/assets/ThreadStatusIndicators-CPpIFcAC.js +0 -0
  322. package/dist/client/assets/ThreadWorkspacePanel-Ct9EINsa.js +0 -2009
  323. package/dist/client/assets/ToolbarRootContext-DtUqN8i6.js +0 -1
  324. package/dist/client/assets/alert-DQjuri3D.js +0 -1
  325. package/dist/client/assets/alert-dialog-Cb2TnXzy.js +0 -1
  326. package/dist/client/assets/arrow-left-Dtj9PfsA.js +0 -1
  327. package/dist/client/assets/arrow-up-right-DGeet8e6.js +0 -1
  328. package/dist/client/assets/authorization-BrGZruGo.js +0 -1
  329. package/dist/client/assets/branding-BEx1jrAA.js +0 -1
  330. package/dist/client/assets/capabilities-Cj8jXZOW.js +0 -1
  331. package/dist/client/assets/chatThreadActions-kwD_yAEt.js +0 -1
  332. package/dist/client/assets/chevron-right-BWYGybX9.js +0 -1
  333. package/dist/client/assets/clock-3-r12DkpRj.js +0 -1
  334. package/dist/client/assets/clock-nNA05brA.js +0 -1
  335. package/dist/client/assets/collapsible-DBPd--L7.js +0 -1
  336. package/dist/client/assets/command-DuPvkUAz.js +0 -1
  337. package/dist/client/assets/composerDraftStore-czbuHgbM.js +0 -11
  338. package/dist/client/assets/data-list-BNy2Nwkd.js +0 -1
  339. package/dist/client/assets/desktopUpdateAtoms-Dz4zQu-C.js +0 -1
  340. package/dist/client/assets/desktopWorkspace-wrPRMcOi.js +0 -1
  341. package/dist/client/assets/device-DbMaLmeM.js +0 -168
  342. package/dist/client/assets/dialog-Csp7hsmq.js +0 -1
  343. package/dist/client/assets/draft-input-COB-ymgx.js +0 -1
  344. package/dist/client/assets/editorPreferences-lQ3Fm4yA.js +0 -1
  345. package/dist/client/assets/empty-BcTA7vWq.js +0 -1
  346. package/dist/client/assets/env-BZZxbmon.js +0 -1
  347. package/dist/client/assets/folder-open-GqwNTbSV.js +0 -1
  348. package/dist/client/assets/getPseudoElementBounds-BaLrkv_J.js +0 -1
  349. package/dist/client/assets/group-CCjhaP2K.js +0 -1
  350. package/dist/client/assets/input-pu0UXdN_.js +0 -1
  351. package/dist/client/assets/kbd-xUvRCeUS.js +0 -1
  352. package/dist/client/assets/label-BzDE8wjR.js +0 -1
  353. package/dist/client/assets/loader-circle-CrtHFAvM.js +0 -1
  354. package/dist/client/assets/main-CZzCxtM-.css +0 -2
  355. package/dist/client/assets/main-stppnsiU.js +0 -9
  356. package/dist/client/assets/menu-g3Hcm2JF.js +0 -1
  357. package/dist/client/assets/plus-B2h-VEqh.js +0 -1
  358. package/dist/client/assets/popover-z5hURYff.js +0 -1
  359. package/dist/client/assets/primary-AnB-Zuft.js +0 -2
  360. package/dist/client/assets/providerDriverMeta-C9M8tUrj.js +0 -1
  361. package/dist/client/assets/providerIconUtils-BXecnJ0v.js +0 -1
  362. package/dist/client/assets/providerInstances-CMy-5cGE.js +0 -1
  363. package/dist/client/assets/providerModels-CMy-5cGE.js +0 -1
  364. package/dist/client/assets/qr-code-B6lBPRxy.js +0 -1
  365. package/dist/client/assets/radio-group-DQahlnSi.js +0 -2
  366. package/dist/client/assets/resolveAriaLabelledBy-CUqcBhyS.js +0 -1
  367. package/dist/client/assets/rightPanelRouteSearch-uEySicf2.js +0 -1
  368. package/dist/client/assets/runtime-DRPzstwF.js +0 -1
  369. package/dist/client/assets/scroll-area-CzUrMo2h.js +0 -1
  370. package/dist/client/assets/scrollEdges-C5VxoJIp.js +0 -1
  371. package/dist/client/assets/search-BGQsenCM.js +0 -1
  372. package/dist/client/assets/select-_C7bRT7k.js +0 -1
  373. package/dist/client/assets/separator-CFUmZFfK.js +0 -1
  374. package/dist/client/assets/session-logic-C5moG_sv.js +0 -4
  375. package/dist/client/assets/settingsDialogStore-DnU14tMG.js +0 -1
  376. package/dist/client/assets/settingsLayout-zwP6p5aD.js +0 -1
  377. package/dist/client/assets/settingsSections.logic-F8RXVmAq.js +0 -1
  378. package/dist/client/assets/sheet-BoROLwxR.js +0 -1
  379. package/dist/client/assets/sidebar-5T3qKIfp.js +0 -1
  380. package/dist/client/assets/sidebarProjectFolders-Bzdw3xc6.js +0 -4
  381. package/dist/client/assets/skeleton-C2GDOvXd.js +0 -1
  382. package/dist/client/assets/spinner-Dlyh0j_K.js +0 -1
  383. package/dist/client/assets/src-Blzsn4sO.js +0 -14
  384. package/dist/client/assets/storeSelectors-BJw1h5Ih.js +0 -1
  385. package/dist/client/assets/switch-CIMwetO3.js +0 -1
  386. package/dist/client/assets/terminal-C_CyIsDD.js +0 -1
  387. package/dist/client/assets/textarea-C0_BLJbT.js +0 -1
  388. package/dist/client/assets/threadPinning-DQrBoIxu.js +0 -1
  389. package/dist/client/assets/toast-D7IDKuLa.js +0 -1
  390. package/dist/client/assets/toggle-DjmkdNns.js +0 -1
  391. package/dist/client/assets/toggle-group-q7LGJy7u.js +0 -1
  392. package/dist/client/assets/tooltip-c9oahm_e.js +0 -1
  393. package/dist/client/assets/types-BJw1h5Ih.js +0 -1
  394. package/dist/client/assets/uiStateStore-C48VlkZ2.js +0 -1
  395. package/dist/client/assets/useButton-CbjUY1n3.js +0 -1
  396. package/dist/client/assets/useCompositeListItem-Mh9CnfjW.js +0 -1
  397. package/dist/client/assets/useDebouncedValue-fMFxXx4-.js +0 -1
  398. package/dist/client/assets/useFloatingRootContext-P6J9bP_1.js +0 -1
  399. package/dist/client/assets/useHandleNewThread-C1VSk4Ji.js +0 -1
  400. package/dist/client/assets/useLabelableId-ve_G1Djw.js +0 -1
  401. package/dist/client/assets/useLocation-LUorHj6V.js +0 -1
  402. package/dist/client/assets/useOpenInteractionType-BcwkVFGu.js +0 -1
  403. package/dist/client/assets/usePhoneThreadActions--SRv1Gdm.js +0 -1
  404. package/dist/client/assets/usePopupViewport-DyXMbxzY.js +0 -1
  405. package/dist/client/assets/useRenderElement-DchFnsR8.js +0 -1
  406. package/dist/client/assets/useScrollLock-DvPB4gyu.js +0 -1
  407. package/dist/client/assets/useSwipeDismiss-8zZC4ynu.js +0 -1
  408. package/dist/client/assets/useThreadActions-wbcN8Mp3.js +0 -2
  409. package/dist/client/assets/useTriggerFocusGuards-DI2oAYh0.js +0 -1
  410. package/dist/client/assets/useValueChanged-DeYQvzxH.js +0 -1
  411. package/dist/client/assets/user-round-Cpzx8pSw.js +0 -1
  412. package/dist/client/assets/utils-Dz7wQZDk.js +0 -1
  413. package/dist/client/assets/visibilityPolling-BwzZdaSN.js +0 -1
  414. package/dist/client/assets/x-C1Cemsov.js +0 -1
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Ha as ProviderInstanceId, Jo as RuntimeItemId, Mi as ProviderApprovalDecision, No as ApprovalRequestId, Qo as RuntimeTaskId, Si as PROVIDER_SEND_TURN_MAX_IMAGE_BYTES, Va as ProviderDriverKind, Vo as EventId, Yo as RuntimeRequestId, _a as ThreadGoal, er as CodexSettings, qo as ProviderItemId, ts as TurnId } from "./collectUint8StreamText-B3klZuIF.mjs";
3
+ import { $a as ProviderInstanceId, Oa as ThreadGoal, Qa as ProviderDriverKind, Vi as ProviderApprovalDecision, Yo as ApprovalRequestId, _s as TurnId, as as MessageId, br as isToolLifecycleItemType, ds as RuntimeRequestId, ji as PROVIDER_SEND_TURN_MAX_IMAGE_BYTES, ls as ProviderItemId, ms as RuntimeTaskId, ps as RuntimeSubagentId, rr as CodexSettings, rs as EventId, us as RuntimeItemId } from "./collectUint8StreamText-C_VNyArd.mjs";
4
4
  import { st as ServerConfig } from "./Metrics-BP9YjxZB.mjs";
5
- import { $t as V2ReasoningSummaryTextDeltaNotification, At as SERVER_NOTIFICATION_METHODS, Bn as resolveProviderMaintenanceCapabilitiesEffect, Bt as V2AccountUpdatedNotification, Ct as CodexAppServerClient, D as checkRtkAvailability, Dt as CodexAppServerRequestError, E as buildTokenReductionInstructions, Et as CodexAppServerProtocolParseError, Ft as ServerRequest__FileChangeRequestApprovalParams, Gt as V2ErrorNotification, Hn as ServerSettingsService, Ht as V2CommandExecutionOutputDeltaNotification, In as makePackageManagedProviderMaintenanceResolver, It as ServerRequest__ToolRequestUserInputParams, J as checkCodexProviderStatus, Jn as getModelSelectionBooleanOptionValue, Jt as V2ItemStartedNotification, K as mergeProviderInstanceEnvironment, Kt as V2FileChangeOutputDeltaNotification, Lt as ToolRequestUserInputParams, Mt as ServerRequest__CommandExecutionRequestApprovalParams, Nt as ServerRequest__DynamicToolCallParams, Ot as CodexAppServerSpawnError, Pn as enrichProviderSnapshotWithVersionAdvisory, Pt as ServerRequest__ExecCommandApprovalParams, Qt as V2PlanDeltaNotification, Rt as ToolRequestUserInputResponse, Sn as V2WindowsWorldWritableWarningNotification, St as expandHomePath, T as makeEventNdjsonLogger, Tt as CodexAppServerProcessExitedError, Ut as V2ConfigWarningNotification, Vt as V2AgentMessageDeltaNotification, Wn as resolveAttachmentPath, Wt as V2DeprecationNoticeNotification, Xt as V2McpToolCallProgressNotification, Y as makePendingCodexProvider, Yn as getModelSelectionStringOptionValue, Yt as V2McpServerOauthLoginCompletedNotification, Zt as V2ModelReroutedNotification, _n as V2TurnStartParams__CollaborationMode, _t as ProviderAdapterValidationError, an as V2ThreadRealtimeClosedNotification, bn as V2TurnSteerResponse, bt as materializeCodexShadowHome, cn as V2ThreadRealtimeOutputAudioDeltaNotification, dn as V2ThreadStatusChangedNotification, en as V2ReasoningTextDeltaNotification, er as normalizeModelSlug, fn as V2ThreadTokenUsageUpdatedNotification, ft as createProcessDeviceToolBinding, gn as V2TurnStartParams, gt as ProviderAdapterSessionNotFoundError, hn as V2TurnPlanUpdatedNotification, ht as ProviderAdapterSessionClosedError, in as V2ThreadNameUpdatedNotification, jt as ServerRequest__ApplyPatchApprovalParams, kt as CodexAppServerTransportError, ln as V2ThreadRealtimeStartedNotification, mn as V2TurnDiffUpdatedNotification, mt as ProviderAdapterRequestError, n as AgentControlSessionRegistry, nn as V2ThreadGoalClearedNotification, on as V2ThreadRealtimeErrorNotification, pn as V2TurnCompletedNotification, pt as ProviderAdapterProcessError, q as buildCodexInitializeParams, qt as V2ItemCompletedNotification, rn as V2ThreadGoalUpdatedNotification, sn as V2ThreadRealtimeItemAddedNotification, t as makeServerQueueMetrics, tn as V2ServerRequestResolvedNotification, un as V2ThreadStartedNotification, ut as installAgentControlNativeHttp, vn as V2TurnStartResponse, vt as ProviderDriverError, w as ProviderEventLoggers, wt as layerChildProcess, xn as V2WindowsSandboxSetupCompletedNotification, xt as resolveCodexHomeLayout, yn as V2TurnSteerParams, yt as codexContinuationIdentity, zt as V2AccountRateLimitsUpdatedNotification } from "./bin.mjs";
5
+ import { $ as mergeProviderInstanceEnvironment, $n as resolveAttachmentPath, $t as V2ErrorNotification, An as V2WindowsWorldWritableWarningNotification, At as CodexAppServerClient, Bt as ServerRequest__CommandExecutionRequestApprovalParams, Cn as V2TurnPlanUpdatedNotification, Ct as ProviderAdapterSessionNotFoundError, Dn as V2TurnSteerParams, Dt as materializeCodexShadowHome, En as V2TurnStartResponse, Et as codexContinuationIdentity, Ft as CodexAppServerRequestError, Gt as ToolRequestUserInputParams, Hn as enrichProviderSnapshotWithVersionAdvisory, Ht as ServerRequest__ExecCommandApprovalParams, It as CodexAppServerSpawnError, Jn as resolveProviderMaintenanceCapabilitiesEffect, Jt as V2AccountUpdatedNotification, Kt as ToolRequestUserInputResponse, Lt as CodexAppServerTransportError, M as makeEventNdjsonLogger, Mt as layerCommand, N as buildTokenReductionInstructions, Nt as CodexAppServerProcessExitedError, On as V2TurnSteerResponse, Ot as resolveCodexHomeLayout, P as checkRtkAvailability, Pt as CodexAppServerProtocolParseError, Qt as V2DeprecationNoticeNotification, Rt as SERVER_NOTIFICATION_METHODS, Sn as V2TurnDiffUpdatedNotification, St as ProviderAdapterSessionClosedError, Tn as V2TurnStartParams__CollaborationMode, Tt as ProviderDriverError, Ut as ServerRequest__FileChangeRequestApprovalParams, Vt as ServerRequest__DynamicToolCallParams, Wn as makePackageManagedProviderMaintenanceResolver, Wt as ServerRequest__ToolRequestUserInputParams, Xn as ServerSettingsService, Xt as V2CommandExecutionOutputDeltaNotification, Yt as V2AgentMessageDeltaNotification, Zt as V2ConfigWarningNotification, _n as V2ThreadRealtimeStartedNotification, _t as installAgentControlNativeHttp, an as V2ModelReroutedNotification, bn as V2ThreadTokenUsageUpdatedNotification, bt as ProviderAdapterProcessError, cn as V2ReasoningTextDeltaNotification, dn as V2ThreadGoalUpdatedNotification, en as V2FileChangeOutputDeltaNotification, et as buildCodexInitializeParams, fn as V2ThreadNameUpdatedNotification, gn as V2ThreadRealtimeOutputAudioDeltaNotification, hn as V2ThreadRealtimeItemAddedNotification, in as V2McpToolCallProgressNotification, ir as getModelSelectionStringOptionValue, j as ProviderEventLoggers, jt as layerChildProcess, kn as V2WindowsSandboxSetupCompletedNotification, kt as expandHomePath, ln as V2ServerRequestResolvedNotification, lr as normalizeModelSlug, mn as V2ThreadRealtimeErrorNotification, n as AgentControlSessionRegistry, nn as V2ItemStartedNotification, nt as makePendingCodexProvider, on as V2PlanDeltaNotification, pn as V2ThreadRealtimeClosedNotification, qt as V2AccountRateLimitsUpdatedNotification, rn as V2McpServerOauthLoginCompletedNotification, rr as getModelSelectionBooleanOptionValue, sn as V2ReasoningSummaryTextDeltaNotification, t as makeServerQueueMetrics, tn as V2ItemCompletedNotification, tt as checkCodexProviderStatus, un as V2ThreadGoalClearedNotification, vn as V2ThreadStartedNotification, wn as V2TurnStartParams, wt as ProviderAdapterValidationError, xn as V2TurnCompletedNotification, xt as ProviderAdapterRequestError, yn as V2ThreadStatusChangedNotification, yt as createProcessDeviceToolBinding, zt as ServerRequest__ApplyPatchApprovalParams } from "./bin.mjs";
6
+ import { a as formatAttachmentPathLines, i as appendAttachmentPathLines, n as requireRuntimeSessionId, r as stampRuntimeEvent, t as makeManagedServerProvider } from "./makeManagedServerProvider-GZcpSLrW.mjs";
6
7
  import { t as formatSourceControlContextsForAgent } from "./sourceControlContextFormatter-DEwpnVAH.mjs";
7
8
  import { t as appendProjectCustomSystemPrompt } from "./ProjectCustomSystemPrompt-CS1nulhL.mjs";
8
- import { n as requireRuntimeSessionId, r as stampRuntimeEvent, t as makeManagedServerProvider } from "./makeManagedServerProvider-CsaYHU8T.mjs";
9
- import { t as makeCodexTextGeneration } from "./CodexTextGeneration-B7GPyLo2.mjs";
10
- import { Deferred, Effect, Exit, Fiber, FileSystem, Layer, Option, Queue, Redacted, Ref, Schema, Scope, Stream } from "effect";
9
+ import { t as makeCodexTextGeneration } from "./CodexTextGeneration-BikHow8k.mjs";
10
+ import { Cause, Deferred, Effect, Exit, Fiber, FileSystem, Layer, Option, Queue, Redacted, Ref, Schema, Scope, Stream } from "effect";
11
11
  import { HttpClient } from "effect/unstable/http";
12
12
  import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
13
13
  import * as SchemaIssue$1 from "effect/SchemaIssue";
@@ -177,13 +177,6 @@ const PROVIDER$1 = ProviderDriverKind.make("codex");
177
177
  const ANSI_ESCAPE_REGEX = new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`, "g");
178
178
  const CODEX_STDERR_LOG_REGEX = /^\d{4}-\d{2}-\d{2}T\S+\s+(TRACE|DEBUG|INFO|WARN|ERROR)\s+\S+:\s+(.*)$/;
179
179
  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"];
180
- const RECOVERABLE_THREAD_RESUME_ERROR_SNIPPETS = [
181
- "not found",
182
- "missing thread",
183
- "no such thread",
184
- "unknown thread",
185
- "does not exist"
186
- ];
187
180
  const CodexResumeCursorSchema = Schema.Struct({ threadId: Schema.String });
188
181
  const CodexUserInputAnswerObject = Schema.Struct({ answers: Schema.Array(Schema.String) });
189
182
  const CodexTurnStartParamsWithCollaborationMode = V2TurnStartParams.pipe(Schema.fieldsAssign({ collaborationMode: Schema.optionalKey(V2TurnStartParams__CollaborationMode) }));
@@ -276,7 +269,10 @@ function buildThreadStartParams(input) {
276
269
  approvalPolicy: config.approvalPolicy,
277
270
  sandbox: config.sandbox,
278
271
  approvalsReviewer: config.approvalsReviewer,
279
- ...Object.keys(mcpServers).length > 0 ? { config: { mcp_servers: mcpServers } } : {},
272
+ config: {
273
+ "features.goals": true,
274
+ ...Object.keys(mcpServers).length > 0 ? { mcp_servers: mcpServers } : {}
275
+ },
280
276
  ...input.model ? { model: input.model } : {},
281
277
  ...input.serviceTier ? { serviceTier: input.serviceTier } : {}
282
278
  };
@@ -357,11 +353,6 @@ function classifyCodexStderrLine(rawLine) {
357
353
  }
358
354
  return { message: line };
359
355
  }
360
- function isRecoverableThreadResumeError(error) {
361
- const message = (error instanceof Error ? error.message : String(error)).toLowerCase();
362
- if (!message.includes("thread")) return false;
363
- return RECOVERABLE_THREAD_RESUME_ERROR_SNIPPETS.some((snippet) => message.includes(snippet));
364
- }
365
356
  const openCodexThread = (input) => {
366
357
  const resumeThreadId = input.resumeThreadId;
367
358
  const startParams = buildThreadStartParams({
@@ -376,13 +367,10 @@ const openCodexThread = (input) => {
376
367
  return input.client.request("thread/resume", {
377
368
  threadId: resumeThreadId,
378
369
  ...startParams
379
- }).pipe(Effect.catchIf(isRecoverableThreadResumeError, (error) => Effect.logWarning("codex app-server thread resume fell back to fresh start", {
380
- threadId: input.threadId,
381
- requestedRuntimeMode: input.runtimeMode,
382
- resumeThreadId,
383
- recoverable: true,
384
- cause: error.message
385
- }).pipe(Effect.andThen(input.client.request("thread/start", startParams)))));
370
+ }).pipe(Effect.mapError((error) => error.message.includes("already has an active writer") ? new CodexAppServerRequestError({
371
+ code: -32600,
372
+ 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."
373
+ }) : error));
386
374
  };
387
375
  function readNotificationThreadId(notification) {
388
376
  switch (notification.method) {
@@ -569,10 +557,31 @@ function parseThreadSnapshot(response) {
569
557
  threadId: response.thread.id,
570
558
  turns: response.thread.turns.map((turn) => ({
571
559
  id: TurnId.make(turn.id),
572
- items: turn.items
560
+ items: turn.items,
561
+ status: turn.status,
562
+ ...turn.startedAt !== void 0 ? { startedAt: turn.startedAt } : {}
573
563
  }))
574
564
  };
575
565
  }
566
+ const readStoredCodexThread = (input) => Effect.scoped(Effect.gen(function* () {
567
+ const context = yield* Layer.build(layerCommand({
568
+ command: input.binaryPath,
569
+ args: ["app-server"],
570
+ cwd: input.cwd,
571
+ env: {
572
+ ...input.environment ?? process.env,
573
+ ...input.homePath ? { CODEX_HOME: expandHomePath(input.homePath) } : {}
574
+ },
575
+ requestTimeoutMs: 2e4
576
+ }));
577
+ const client = yield* Effect.service(CodexAppServerClient).pipe(Effect.provide(context));
578
+ yield* client.request("initialize", buildCodexInitializeParams());
579
+ yield* client.notify("initialized", void 0);
580
+ return parseThreadSnapshot(yield* client.request("thread/read", {
581
+ threadId: input.providerThreadId,
582
+ includeTurns: true
583
+ }));
584
+ }));
576
585
  const makeCodexSessionRuntime = (options) => Effect.gen(function* () {
577
586
  const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
578
587
  const runtimeScope = yield* Scope.Scope;
@@ -604,7 +613,8 @@ const makeCodexSessionRuntime = (options) => Effect.gen(function* () {
604
613
  command: `${options.binaryPath} app-server`,
605
614
  cause
606
615
  })));
607
- const clientContext = yield* layerChildProcess(child).pipe(Layer.build, Effect.provideService(Scope.Scope, runtimeScope));
616
+ const transportFailure = yield* Deferred.make();
617
+ const clientContext = yield* layerChildProcess(child, { onTermination: (error) => Deferred.succeed(transportFailure, error).pipe(Effect.asVoid) }).pipe(Layer.build, Effect.provideService(Scope.Scope, runtimeScope));
608
618
  const client = yield* Effect.service(CodexAppServerClient).pipe(Effect.provide(clientContext));
609
619
  const serverNotifications = yield* Queue.bounded(512);
610
620
  const initialSession = {
@@ -636,6 +646,16 @@ const makeCodexSessionRuntime = (options) => Effect.gen(function* () {
636
646
  method,
637
647
  message
638
648
  });
649
+ yield* Deferred.await(transportFailure).pipe(Effect.flatMap((error) => Ref.get(closedRef).pipe(Effect.flatMap((closed) => closed ? Effect.void : Effect.gen(function* () {
650
+ deviceTurnActive = false;
651
+ yield* updateSession(sessionRef, {
652
+ status: "error",
653
+ activeTurnId: void 0,
654
+ lastError: "Codex connection was lost. Reopen the chat to recover its history."
655
+ });
656
+ yield* emitSessionEvent("session/exited", `Codex connection lost (${error._tag}).`);
657
+ yield* child.kill().pipe(Effect.ignore);
658
+ })))), Effect.forkIn(runtimeScope));
639
659
  const settlePendingApprovals = (decision) => Ref.get(pendingApprovalsRef).pipe(Effect.flatMap((pendingApprovals) => Effect.forEach(Array.from(pendingApprovals.values()), (pendingApproval) => Deferred.succeed(pendingApproval.decision, decision).pipe(Effect.ignore), { discard: true })));
640
660
  const settlePendingUserInputs = (answers) => Ref.get(pendingUserInputsRef).pipe(Effect.flatMap((pendingUserInputs) => Effect.forEach(Array.from(pendingUserInputs.values()), (pendingUserInput) => Deferred.succeed(pendingUserInput.answers, answers).pipe(Effect.ignore), { discard: true })));
641
661
  /**
@@ -792,7 +812,8 @@ const makeCodexSessionRuntime = (options) => Effect.gen(function* () {
792
812
  method: "collabAgent/item",
793
813
  payload: {
794
814
  ...childIdentity,
795
- item: notification.params.item
815
+ item: notification.params.item,
816
+ lifecycle: notification.method
796
817
  }
797
818
  });
798
819
  return true;
@@ -1095,9 +1116,12 @@ const makeCodexSessionRuntime = (options) => Effect.gen(function* () {
1095
1116
  ...options.agentControl ? { agentControl: options.agentControl } : {}
1096
1117
  });
1097
1118
  const providerThreadId = opened.thread.id;
1119
+ const activeTurn = opened.thread.turns.findLast((turn) => turn.status === "inProgress");
1120
+ deviceTurnActive = activeTurn !== void 0;
1098
1121
  const session = {
1099
1122
  ...yield* Ref.get(sessionRef),
1100
- status: "ready",
1123
+ status: activeTurn ? "running" : "ready",
1124
+ activeTurnId: activeTurn ? TurnId.make(activeTurn.id) : void 0,
1101
1125
  cwd: opened.cwd,
1102
1126
  model: opened.model,
1103
1127
  resumeCursor: { threadId: providerThreadId },
@@ -1197,10 +1221,19 @@ const makeCodexSessionRuntime = (options) => Effect.gen(function* () {
1197
1221
  }),
1198
1222
  readThread: Effect.gen(function* () {
1199
1223
  const providerThreadId = yield* readProviderThreadId;
1200
- return parseThreadSnapshot(yield* client.request("thread/read", {
1224
+ const response = yield* client.request("thread/read", {
1201
1225
  threadId: providerThreadId,
1202
1226
  includeTurns: true
1203
- }));
1227
+ });
1228
+ const session = yield* Ref.get(sessionRef);
1229
+ if (session.activeTurnId && response.thread.turns.some((turn) => turn.id === session.activeTurnId && turn.status !== "inProgress")) {
1230
+ deviceTurnActive = false;
1231
+ yield* updateSession(sessionRef, {
1232
+ status: "ready",
1233
+ activeTurnId: void 0
1234
+ });
1235
+ }
1236
+ return parseThreadSnapshot(response);
1204
1237
  }),
1205
1238
  rollbackThread: (numTurns) => Effect.gen(function* () {
1206
1239
  const providerThreadId = yield* readProviderThreadId;
@@ -1362,7 +1395,7 @@ function readTokenReductionInstructions(tokenMode) {
1362
1395
  function normalizeCodexTokenUsage(usage) {
1363
1396
  const totalProcessedTokens = usage.total.totalTokens;
1364
1397
  const usedTokens = usage.last.totalTokens;
1365
- if (usedTokens === void 0 || usedTokens <= 0) return;
1398
+ if (usedTokens === void 0 || usedTokens < 0) return;
1366
1399
  const maxTokens = usage.modelContextWindow ?? void 0;
1367
1400
  const inputTokens = usage.last.inputTokens;
1368
1401
  const cachedInputTokens = usage.last.cachedInputTokens;
@@ -1732,7 +1765,35 @@ function mapCollabAgentEvent(event, canonicalThreadId) {
1732
1765
  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);
1733
1766
  const canonical = toCanonicalItemType(itemTypeRaw);
1734
1767
  const summary = looseSummary ?? canonical.replaceAll("_", " ");
1735
- return [{
1768
+ if (canonical === "assistant_message" && payload.lifecycle === "item/completed" && typeof item?.text === "string" && typeof item.id === "string") return [{
1769
+ ...base,
1770
+ type: "subagent.message.delta",
1771
+ payload: {
1772
+ subagentId: RuntimeSubagentId.make(agentThreadId),
1773
+ providerThreadId: agentThreadId,
1774
+ providerMessageId: item.id,
1775
+ delta: item.text,
1776
+ role: "assistant"
1777
+ }
1778
+ }];
1779
+ const toolEvents = [];
1780
+ if (isToolLifecycleItemType(canonical) && typeof item?.id === "string") {
1781
+ const completed = payload.lifecycle === "item/completed" || item.status === "completed" || item.status === "failed";
1782
+ toolEvents.push({
1783
+ ...base,
1784
+ eventId: EventId.make(`${base.eventId}:tool`),
1785
+ itemId: RuntimeItemId.make(`${agentThreadId}:${item.id}`),
1786
+ type: completed ? "item.completed" : "item.updated",
1787
+ payload: {
1788
+ itemType: canonical,
1789
+ status: item.status === "failed" ? "failed" : completed ? "completed" : "inProgress",
1790
+ title: summary,
1791
+ agentId: agentThreadId,
1792
+ data: { item }
1793
+ }
1794
+ });
1795
+ }
1796
+ return [...toolEvents, {
1736
1797
  ...base,
1737
1798
  type: "task.progress",
1738
1799
  payload: {
@@ -2290,6 +2351,7 @@ function mapToRuntimeEvents(event, canonicalThreadId) {
2290
2351
  */
2291
2352
  const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, options) {
2292
2353
  const boundInstanceId = options?.instanceId ?? ProviderInstanceId.make("codex");
2354
+ const adapterScope = yield* Scope.Scope;
2293
2355
  const fileSystem = yield* FileSystem.FileSystem;
2294
2356
  const childProcessSpawner = yield* ChildProcessSpawner.ChildProcessSpawner;
2295
2357
  const serverConfig = yield* Effect.service(ServerConfig);
@@ -2369,6 +2431,11 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
2369
2431
  detail: formatCodexRuntimeErrorDetail(cause),
2370
2432
  cause
2371
2433
  })));
2434
+ let runtimeExited = false;
2435
+ const retireRuntime = Effect.gen(function* () {
2436
+ const current = sessions.get(input.threadId);
2437
+ if (current?.runtime === runtime) yield* stopSessionInternal(current);
2438
+ });
2372
2439
  const eventFiber = yield* Stream.runForEach(runtime.events, (event) => Effect.gen(function* () {
2373
2440
  yield* writeNativeEvent(event);
2374
2441
  const runtimeEvents = mapToRuntimeEvents(event, event.threadId).map((runtimeEvent) => stampRuntimeEvent(runtimeEvent, {
@@ -2391,19 +2458,43 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
2391
2458
  }
2392
2459
  yield* Queue.offerAll(runtimeEventQueue, runtimeEvents);
2393
2460
  yield* runtimeEventQueueMetrics.recordEnqueued(runtimeEvents.length);
2394
- })).pipe(Effect.forkIn(sessionScope));
2461
+ if (runtimeEvents.some((runtimeEvent) => runtimeEvent.type === "session.exited")) {
2462
+ runtimeExited = true;
2463
+ yield* retireRuntime.pipe(Effect.forkIn(adapterScope));
2464
+ }
2465
+ })).pipe(Effect.catchCause((cause) => Cause.hasInterruptsOnly(cause) ? Effect.interrupt : Effect.gen(function* () {
2466
+ runtimeExited = true;
2467
+ if (agentControl) yield* agentControl.revoke("runtime-teardown");
2468
+ yield* Effect.logWarning("Codex event consumer failed; retiring its runtime", { threadId: input.threadId });
2469
+ yield* Queue.offer(runtimeEventQueue, {
2470
+ eventId: EventId.make(crypto.randomUUID()),
2471
+ provider: PROVIDER,
2472
+ providerInstanceId: boundInstanceId,
2473
+ runtimeSessionId,
2474
+ threadId: input.threadId,
2475
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
2476
+ type: "session.exited",
2477
+ payload: {
2478
+ reason: "Codex event stream failed. Reopen the chat to recover.",
2479
+ recoverable: true,
2480
+ exitKind: "error"
2481
+ }
2482
+ });
2483
+ yield* runtimeEventQueueMetrics.recordEnqueued(1);
2484
+ yield* retireRuntime.pipe(Effect.forkIn(adapterScope));
2485
+ })), Effect.forkIn(sessionScope));
2395
2486
  const started = yield* runtime.start().pipe(Effect.mapError((cause) => new ProviderAdapterProcessError({
2396
2487
  provider: PROVIDER,
2397
2488
  threadId: input.threadId,
2398
2489
  detail: formatCodexRuntimeErrorDetail(cause),
2399
2490
  cause
2400
2491
  })), Effect.onError(() => runtime.close.pipe(Effect.andThen(Effect.ignore(Scope.close(sessionScope, Exit.void))), Effect.andThen(Fiber.interrupt(eventFiber)), Effect.ignore)));
2401
- if (started.runtimeSessionId !== void 0 && started.runtimeSessionId !== runtimeSessionId) {
2492
+ if (runtimeExited || started.runtimeSessionId !== void 0 && started.runtimeSessionId !== runtimeSessionId) {
2402
2493
  yield* runtime.close.pipe(Effect.andThen(Fiber.interrupt(eventFiber)), Effect.andThen(Scope.close(sessionScope, Exit.void)), Effect.ignore);
2403
2494
  return yield* new ProviderAdapterValidationError({
2404
2495
  provider: PROVIDER,
2405
2496
  operation: "startSession",
2406
- issue: `Codex runtime returned epoch '${started.runtimeSessionId}' for requested epoch '${runtimeSessionId}'.`
2497
+ issue: runtimeExited ? "Codex runtime exited while the session was starting." : `Codex runtime returned epoch '${started.runtimeSessionId}' for requested epoch '${runtimeSessionId}'.`
2407
2498
  });
2408
2499
  }
2409
2500
  sessions.set(input.threadId, {
@@ -2467,13 +2558,21 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
2467
2558
  method,
2468
2559
  detail: `Turn has ${attachments.length} attachments; limit is 8.`
2469
2560
  });
2470
- const resolved = yield* Effect.forEach(attachments, (attachment) => resolveAttachmentForPreflight(attachment, method), { concurrency: 1 });
2561
+ const native = attachments.filter((attachment) => attachment.type === "image");
2562
+ const resolved = yield* Effect.forEach(native, (attachment) => resolveAttachmentForPreflight(attachment, method), { concurrency: 1 });
2471
2563
  const totalBytes = resolved.reduce((total, entry) => total + entry.sizeBytes, 0);
2472
2564
  if (totalBytes > PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES) return yield* new ProviderAdapterRequestError({
2473
2565
  provider: PROVIDER,
2474
2566
  method,
2475
2567
  detail: `Turn attachments total ${totalBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES} bytes.`
2476
2568
  });
2569
+ const pathLineEntries = attachments.filter((attachment) => attachment.type !== "image").map((attachment) => ({
2570
+ attachment,
2571
+ ...attachment.id === void 0 ? {} : { resolvedPath: resolveAttachmentPath({
2572
+ attachmentsDir: serverConfig.attachmentsDir,
2573
+ attachment
2574
+ }) ?? void 0 }
2575
+ }));
2477
2576
  if (resolved.length > 0) {
2478
2577
  yield* Effect.annotateCurrentSpan({
2479
2578
  "provider.attachment_count": resolved.length,
@@ -2490,7 +2589,10 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
2490
2589
  }))
2491
2590
  });
2492
2591
  }
2493
- return resolved;
2592
+ return {
2593
+ native: resolved,
2594
+ pathLines: formatAttachmentPathLines(pathLineEntries)
2595
+ };
2494
2596
  });
2495
2597
  const toCodexAttachment = Effect.fn("toCodexAttachment")(function* (resolved, method) {
2496
2598
  const bytes = yield* fileSystem.readFile(resolved.path).pipe(Effect.mapError((cause) => new ProviderAdapterRequestError({
@@ -2505,13 +2607,13 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
2505
2607
  };
2506
2608
  });
2507
2609
  const sendTurn = Effect.fn("sendTurn")(function* (input) {
2508
- const resolvedAttachments = yield* preflightAttachments(input, "turn/start");
2509
- const codexAttachments = yield* Effect.forEach(resolvedAttachments, (attachment) => toCodexAttachment(attachment, "turn/start"), { concurrency: 1 });
2610
+ const { native, pathLines } = yield* preflightAttachments(input, "turn/start");
2611
+ const codexAttachments = yield* Effect.forEach(native, (attachment) => toCodexAttachment(attachment, "turn/start"), { concurrency: 1 });
2510
2612
  const session = yield* requireSession(input.threadId);
2511
2613
  const reasoningEffort = input.modelSelection?.instanceId === boundInstanceId ? getModelSelectionStringOptionValue(input.modelSelection, "reasoningEffort") : void 0;
2512
2614
  const fastMode = input.modelSelection?.instanceId === boundInstanceId ? getModelSelectionBooleanOptionValue(input.modelSelection, "fastMode") : void 0;
2513
2615
  const formatted = formatSourceControlContextsForAgent(input.sourceControlContexts ?? []);
2514
- const codexInput = formatted ? formatted + "\n\n" + (input.input ?? "") : input.input;
2616
+ const codexInput = appendAttachmentPathLines(formatted ? formatted + "\n\n" + (input.input ?? "") : input.input, pathLines);
2515
2617
  const result = yield* session.runtime.sendTurn({
2516
2618
  ...codexInput !== void 0 ? { input: codexInput } : {},
2517
2619
  ...input.modelSelection?.instanceId === boundInstanceId ? { model: input.modelSelection.model } : {},
@@ -2529,12 +2631,14 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
2529
2631
  return result;
2530
2632
  });
2531
2633
  const steerTurn = Effect.fn("steerTurn")(function* (input) {
2532
- const resolvedAttachments = yield* preflightAttachments(input, "turn/steer");
2533
- const codexAttachments = yield* Effect.forEach(resolvedAttachments, (attachment) => toCodexAttachment(attachment, "turn/steer"), { concurrency: 1 });
2534
- return yield* (yield* requireSession(input.threadId)).runtime.steerTurn({
2634
+ const { native, pathLines } = yield* preflightAttachments(input, "turn/steer");
2635
+ const codexAttachments = yield* Effect.forEach(native, (attachment) => toCodexAttachment(attachment, "turn/steer"), { concurrency: 1 });
2636
+ const session = yield* requireSession(input.threadId);
2637
+ const steerInput = appendAttachmentPathLines(input.input, pathLines);
2638
+ return yield* session.runtime.steerTurn({
2535
2639
  expectedTurnId: input.expectedTurnId,
2536
2640
  messageId: input.messageId,
2537
- ...input.input !== void 0 ? { input: input.input } : {},
2641
+ ...steerInput !== void 0 ? { input: steerInput } : {},
2538
2642
  ...codexAttachments.length > 0 ? { attachments: codexAttachments } : {}
2539
2643
  }).pipe(Effect.mapError((cause) => mapCodexRuntimeError(input.threadId, "turn/steer", cause)));
2540
2644
  });
@@ -2565,6 +2669,64 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
2565
2669
  threadId,
2566
2670
  turns: snapshot.turns
2567
2671
  })));
2672
+ const readThreadHistory = (input) => Effect.gen(function* () {
2673
+ if (!Schema.is(CodexResumeCursorSchema)(input.resumeCursor)) return yield* new ProviderAdapterValidationError({
2674
+ provider: PROVIDER,
2675
+ operation: "readThreadHistory",
2676
+ issue: "Missing Codex thread identity."
2677
+ });
2678
+ const existing = sessions.get(input.threadId);
2679
+ const liveSession = existing && !existing.stopped ? yield* existing.runtime.getSession : void 0;
2680
+ const liveSnapshot = existing && liveSession && (liveSession.status === "ready" || liveSession.status === "running") && Schema.is(CodexResumeCursorSchema)(liveSession.resumeCursor) && liveSession.resumeCursor.threadId === input.resumeCursor.threadId ? yield* existing.runtime.readThread.pipe(Effect.timeoutOption("2 seconds"), Effect.orElseSucceed(() => Option.none())) : Option.none();
2681
+ const snapshot = Option.isSome(liveSnapshot) ? liveSnapshot.value : yield* readStoredCodexThread({
2682
+ binaryPath: codexConfig.binaryPath,
2683
+ cwd: input.cwd ?? process.cwd(),
2684
+ providerThreadId: input.resumeCursor.threadId,
2685
+ ...codexConfig.homePath ? { homePath: codexConfig.homePath } : {},
2686
+ ...options?.environment ? { environment: options.environment } : {}
2687
+ }).pipe(Effect.provideService(ChildProcessSpawner.ChildProcessSpawner, childProcessSpawner), Effect.mapError((cause) => mapCodexRuntimeError(input.threadId, "thread/read", cause)));
2688
+ const messages = [];
2689
+ const items = [];
2690
+ const completedTurnIds = [];
2691
+ const failedTurnIds = [];
2692
+ for (const turn of snapshot.turns) {
2693
+ if (!turn.status || turn.status === "inProgress") continue;
2694
+ completedTurnIds.push(turn.id);
2695
+ if (turn.status === "failed") failedTurnIds.push(turn.id);
2696
+ const createdAt = (/* @__PURE__ */ new Date((turn.startedAt ?? 0) * 1e3)).toISOString();
2697
+ for (const item of turn.items) if (item.type === "agentMessage" || item.type === "userMessage") messages.push({
2698
+ id: MessageId.make(item.type === "agentMessage" ? `assistant:${item.id}` : item.clientId ?? `user:${item.id}`),
2699
+ turnId: turn.id,
2700
+ role: item.type === "agentMessage" ? "assistant" : "user",
2701
+ text: item.type === "agentMessage" ? item.text : item.content.flatMap((part) => part.type === "text" ? [part.text] : []).join("\n"),
2702
+ createdAt
2703
+ });
2704
+ else {
2705
+ const event = mapItemLifecycle({
2706
+ id: EventId.make(`history:${input.threadId}:${snapshot.threadId}:${turn.id}:${item.id}`),
2707
+ provider: PROVIDER,
2708
+ threadId: input.threadId,
2709
+ kind: "notification",
2710
+ method: "item/completed",
2711
+ turnId: turn.id,
2712
+ itemId: ProviderItemId.make(item.id),
2713
+ createdAt,
2714
+ payload: {
2715
+ threadId: snapshot.threadId,
2716
+ turnId: turn.id,
2717
+ item
2718
+ }
2719
+ }, input.threadId, "item.completed");
2720
+ if (event) items.push(event);
2721
+ }
2722
+ }
2723
+ return {
2724
+ messages,
2725
+ items,
2726
+ completedTurnIds,
2727
+ failedTurnIds
2728
+ };
2729
+ });
2568
2730
  const rollbackThread = (threadId, numTurns) => {
2569
2731
  if (!Number.isInteger(numTurns) || numTurns < 1) return Effect.fail(new ProviderAdapterValidationError({
2570
2732
  provider: PROVIDER,
@@ -2576,11 +2738,34 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
2576
2738
  turns: snapshot.turns
2577
2739
  })));
2578
2740
  };
2579
- const setThreadGoal = (threadId, goal) => requireSession(threadId).pipe(Effect.flatMap((session) => session.runtime.setGoal({
2580
- objective: goal.objective,
2581
- status: goal.status,
2582
- tokenBudget: goal.tokenBudget
2583
- })), Effect.asVoid, Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" ? cause : mapCodexRuntimeError(threadId, "thread/goal/set", cause)));
2741
+ const setThreadGoal = (threadId, goal) => requireSession(threadId).pipe(Effect.flatMap((session) => {
2742
+ const fields = goal.synchronization?.fields ?? [
2743
+ "objective",
2744
+ "status",
2745
+ "tokenBudget"
2746
+ ];
2747
+ return session.runtime.setGoal({
2748
+ ...fields.includes("objective") ? { objective: goal.objective } : {},
2749
+ ...fields.includes("status") ? { status: goal.status } : {},
2750
+ ...fields.includes("tokenBudget") ? { tokenBudget: goal.tokenBudget } : {}
2751
+ });
2752
+ }), Effect.flatMap((response) => {
2753
+ const goal = normalizeCodexThreadGoal(response.goal);
2754
+ return goal ? Effect.succeed(goal) : Effect.fail(new ProviderAdapterRequestError({
2755
+ provider: "codex",
2756
+ method: "thread/goal/set",
2757
+ detail: "Codex returned an invalid goal."
2758
+ }));
2759
+ }), Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" || cause._tag === "ProviderAdapterRequestError" ? cause : mapCodexRuntimeError(threadId, "thread/goal/set", cause)));
2760
+ const getThreadGoal = (threadId) => requireSession(threadId).pipe(Effect.flatMap((session) => session.runtime.getGoal), Effect.flatMap((response) => {
2761
+ if (!response.goal) return Effect.succeed(null);
2762
+ const goal = normalizeCodexThreadGoal(response.goal);
2763
+ return goal ? Effect.succeed(goal) : Effect.fail(new ProviderAdapterRequestError({
2764
+ provider: "codex",
2765
+ method: "thread/goal/get",
2766
+ detail: "Codex returned an invalid goal."
2767
+ }));
2768
+ }), Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" || cause._tag === "ProviderAdapterRequestError" ? cause : mapCodexRuntimeError(threadId, "thread/goal/get", cause)));
2584
2769
  const clearThreadGoal = (threadId) => requireSession(threadId).pipe(Effect.flatMap((session) => session.runtime.clearGoal), Effect.asVoid, Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" ? cause : mapCodexRuntimeError(threadId, "thread/goal/clear", cause)));
2585
2770
  const respondToRequest = (threadId, requestId, decision) => requireSession(threadId).pipe(Effect.flatMap((session) => session.runtime.respondToRequest(requestId, decision)), Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" ? cause : mapCodexRuntimeError(threadId, "item/requestApproval/decision", cause)));
2586
2771
  const respondToUserInput = (threadId, requestId, answers) => requireSession(threadId).pipe(Effect.flatMap((session) => session.runtime.respondToUserInput(requestId, answers)), Effect.mapError((cause) => cause._tag === "ProviderAdapterSessionNotFoundError" ? cause : mapCodexRuntimeError(threadId, "item/tool/requestUserInput", cause)));
@@ -2611,8 +2796,10 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
2611
2796
  steerTurn,
2612
2797
  interruptTurn,
2613
2798
  readThread,
2799
+ readThreadHistory,
2614
2800
  rollbackThread,
2615
2801
  setThreadGoal,
2802
+ getThreadGoal,
2616
2803
  clearThreadGoal,
2617
2804
  respondToRequest,
2618
2805
  respondToUserInput,