ryco-cli 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/dist/{AzureDevOpsSourceControlProvider-X7_C5qAM.cjs → AzureDevOpsSourceControlProvider-BEDcpXP2.cjs} +29 -19
  2. package/dist/{AzureDevOpsSourceControlProvider-CwvdH4Ll.mjs → AzureDevOpsSourceControlProvider-CajSnvPV.mjs} +14 -4
  3. package/dist/{BitbucketSourceControlProvider-3IhNThuu.cjs → BitbucketSourceControlProvider-Ca-sxPgI.cjs} +29 -19
  4. package/dist/{BitbucketSourceControlProvider-Y3LxnPYV.mjs → BitbucketSourceControlProvider-Ryxef3zA.mjs} +14 -4
  5. package/dist/{BunPTY-6EA-iDZJ.mjs → BunPTY-B_vjRZN4.mjs} +2 -4
  6. package/dist/{BunPTY-CyqsuAMZ.cjs → BunPTY-BclzAOxp.cjs} +2 -4
  7. package/dist/{ClaudeDriver-CiWSk1E1.cjs → ClaudeDriver-CxOmXtj3.cjs} +196 -185
  8. package/dist/{ClaudeDriver-Cmqo9lqD.mjs → ClaudeDriver-oGrpXzWa.mjs} +166 -156
  9. package/dist/{CodexDriver-D73klBUb.cjs → CodexDriver-C1I8AGHl.cjs} +114 -50
  10. package/dist/{CodexDriver-BRsJm8XU.mjs → CodexDriver-DbICyzcH.mjs} +83 -20
  11. package/dist/{CodexTextGeneration-jbe9qfEM.cjs → CodexTextGeneration-Cr97QFv_.cjs} +18 -18
  12. package/dist/{CodexTextGeneration-Bg0r8k7C.mjs → CodexTextGeneration-DV3LOkTX.mjs} +6 -6
  13. package/dist/{CopilotDriver-DvDa-7-c.mjs → CopilotDriver-Dt6azZQI.mjs} +13 -19
  14. package/dist/{CopilotDriver-tZdF91om.cjs → CopilotDriver-GUpzG61v.cjs} +31 -37
  15. package/dist/{CursorDriver-C6dq_Wr6.mjs → CursorDriver-C3gFClL-.mjs} +195 -273
  16. package/dist/{CursorDriver-BVJV7yyE.cjs → CursorDriver-lhvplGt8.cjs} +239 -316
  17. package/dist/{ForgejoSourceControlProvider-DYtCJSSP.cjs → ForgejoSourceControlProvider-2PTEgbVl.cjs} +29 -19
  18. package/dist/{ForgejoSourceControlProvider-C9T3-pOt.mjs → ForgejoSourceControlProvider-DTVWs_CM.mjs} +14 -4
  19. package/dist/{GitHubSourceControlProvider-BmSffLFQ.mjs → GitHubSourceControlProvider-BJmqP2K1.mjs} +40 -8
  20. package/dist/{GitHubSourceControlProvider-DIbRPFFf.cjs → GitHubSourceControlProvider-Beu-58zB.cjs} +54 -22
  21. package/dist/{GitLabSourceControlProvider-BdLuuH3g.cjs → GitLabSourceControlProvider-CCHBNnen.cjs} +29 -19
  22. package/dist/{GitLabSourceControlProvider-DTZ_rx8U.mjs → GitLabSourceControlProvider-CWnF37fR.mjs} +14 -4
  23. package/dist/Metrics-BCOc3Ml2.mjs +356 -0
  24. package/dist/Metrics-DNOriWhP.cjs +634 -0
  25. package/dist/{NodePTY-Dg0g4rID.mjs → NodePTY-_u3kQLvd.mjs} +2 -4
  26. package/dist/{NodePTY-U7qcu5qQ.cjs → NodePTY-keGvFYk9.cjs} +2 -4
  27. package/dist/{NodeSqliteClient-CPd53X2R.mjs → NodeSqliteClient-BXy61fAd.mjs} +2 -4
  28. package/dist/{NodeSqliteClient-UlhLLRBA.cjs → NodeSqliteClient-homCO8-6.cjs} +16 -18
  29. package/dist/{OpenCodeDriver-DN5bRb9Z.mjs → OpenCodeDriver-Cja8fkzJ.mjs} +10 -13
  30. package/dist/{OpenCodeDriver-D79_QFoB.cjs → OpenCodeDriver-i2DXhUaw.cjs} +32 -34
  31. package/dist/{ProjectCustomSystemPrompt-9Bf13ScV.cjs → ProjectCustomSystemPrompt-B8SUlNGa.cjs} +11 -13
  32. package/dist/{ProjectCustomSystemPrompt-QmzOdzXf.mjs → ProjectCustomSystemPrompt-CS1nulhL.mjs} +1 -2
  33. package/dist/{ProviderDriver-DJK4EOeA.cjs → ProviderDriver--rNeAi3B.cjs} +6 -8
  34. package/dist/{ProviderDriver-CkHnmP8q.mjs → ProviderDriver-kCV60GKk.mjs} +1 -2
  35. package/dist/SourceControlProviderDiscoveryCatalog-DoDSpZoa.mjs +569 -0
  36. package/dist/SourceControlProviderDiscoveryCatalog-DyPSXqm_.cjs +676 -0
  37. package/dist/bin.cjs +2254 -8987
  38. package/dist/bin.d.cts +2 -0
  39. package/dist/bin.d.mts +2 -0
  40. package/dist/bin.mjs +1430 -8099
  41. package/dist/chunk-jM1PLTSZ.cjs +30 -0
  42. package/dist/client/assets/AnimatedHeight-DCd3-Wey.js +1 -0
  43. package/dist/client/assets/AppearanceSettings-pPltzbuu.js +1 -0
  44. package/dist/client/assets/BranchToolbar.logic-BUrYeNec.js +1 -0
  45. package/dist/client/assets/ChatRightPanel-Cy2c02Dt.js +188 -0
  46. package/dist/client/assets/ChatThreadRouteView-C93RPP7s.js +1 -0
  47. package/dist/client/assets/CommandPaletteDialog-D6t0Mkkl.js +1 -0
  48. package/dist/client/assets/CompositeRoot-C5GNdZws.js +1 -0
  49. package/dist/client/assets/ConnectionsSettings-qYzLbX7_.js +1 -0
  50. package/dist/client/assets/DialogHandle-C1Oxda1b.js +1 -0
  51. package/dist/client/assets/DialogRoot-BCS_qKVO.js +1 -0
  52. package/dist/client/assets/DialogTitle-R_4ZQbHx.js +1 -0
  53. package/dist/client/assets/DialogTrigger-ChuIKLi7.js +1 -0
  54. package/dist/client/assets/DialogViewport-Dq_9hdYC.js +1 -0
  55. package/dist/client/assets/DraftChatThreadRouteView-BwDNEWLP.js +1 -0
  56. package/dist/client/assets/JetBrainsIcons-CZi1rQn9.js +1 -0
  57. package/dist/client/assets/KeybindingsSettings-CEqFMcaP.js +7 -0
  58. package/dist/client/assets/McpServersSettings-Co1o7_0g.js +6 -0
  59. package/dist/client/assets/NoActiveThreadState-5VSVCJBv.js +1 -0
  60. package/dist/client/assets/OpinionatedPluginsSettings-BnDPa2E2.js +1 -0
  61. package/dist/client/assets/ProjectFavicon-CtqYuFQF.js +1 -0
  62. package/dist/client/assets/ProviderUpdateLaunchNotification.logic-Dqh8LlGG.js +1 -0
  63. package/dist/client/assets/ProvidersSettingsPanel-BwDIEOF4.js +1 -0
  64. package/dist/client/assets/QueryClientProvider-B5z3RyQ9.js +1 -0
  65. package/dist/client/assets/RedactedSensitiveText-Ddxd4ZX9.js +1 -0
  66. package/dist/client/assets/RootAppShell-CThrOBqP.js +12 -0
  67. package/dist/client/assets/SettingsDialog-C-vm2P1q.js +2 -0
  68. package/dist/client/assets/SourceControlSettings-oK-xLUFA.js +1 -0
  69. package/dist/client/assets/ThreadStatusIndicators-6ASnD4_d.js +1 -0
  70. package/dist/client/assets/ThreadTerminalDrawer-BrP-ENHg.css +1 -0
  71. package/dist/client/assets/ThreadTerminalDrawer-BxuSy2xD.js +38 -0
  72. package/dist/client/assets/ThreadWorkspacePanel-C3S7Fjib.js +166 -0
  73. package/dist/client/assets/alert-dialog-BwCq7-J2.js +1 -0
  74. package/dist/client/assets/{angular-html-s8mFfHxJ.js → angular-html-BjMPwewj.js} +1 -1
  75. package/dist/client/assets/{angular-ts-qPgEQREa.js → angular-ts-DueL15Nu.js} +1 -1
  76. package/dist/client/assets/{apl-Bk41I3U1.js → apl-BgVy_tIs.js} +1 -1
  77. package/dist/client/assets/arrow-up-DUD3DBES.js +1 -0
  78. package/dist/client/assets/{astro-ClwGnYhy.js → astro-CWd6v_kU.js} +1 -1
  79. package/dist/client/assets/{blade-D8d2x7Cj.js → blade-C1itW3Xj.js} +1 -1
  80. package/dist/client/assets/{bsl-DJJjEj3G.js → bsl-BkkzgIyY.js} +1 -1
  81. package/dist/client/assets/{c-C7LLcxwo.js → c-BerOGYIx.js} +1 -1
  82. package/dist/client/assets/{cairo-D0DvaGhb.js → cairo-DLTphjLi.js} +1 -1
  83. package/dist/client/assets/chatThreadActions-DHwgLZQX.js +1 -0
  84. package/dist/client/assets/clamp-Bj3CMoU0.js +1 -0
  85. package/dist/client/assets/{cobol-BFmBEDT2.js → cobol-C_rkq165.js} +1 -1
  86. package/dist/client/assets/codexUsageLimits-Mjd2rHmE.js +1 -0
  87. package/dist/client/assets/{coffee-C6xKBntv.js → coffee-DX2eriSb.js} +1 -1
  88. package/dist/client/assets/commandPaletteStore-oFMPKPmp.js +1 -0
  89. package/dist/client/assets/{compiler-runtime-BF315rzL.js → compiler-runtime-BNrXlsa1.js} +1 -1
  90. package/dist/client/assets/composerDraftStore-DTMZbmmF.js +21 -0
  91. package/dist/client/assets/{cpp-CVDdGIJL.js → cpp-DN_S3YzL.js} +1 -1
  92. package/dist/client/assets/{crystal-C8hrz-Ed.js → crystal-DX_yIzv-.js} +1 -1
  93. package/dist/client/assets/{css-Bq4IaKl1.js → css-CcrQR6FS.js} +1 -1
  94. package/dist/client/assets/desktopUpdateReactQuery-DdRc1zr8.js +2 -0
  95. package/dist/client/assets/download-DchCbuiJ.js +1 -0
  96. package/dist/client/assets/draft-input-Byd_iP54.js +1 -0
  97. package/dist/client/assets/{edge-M0lvKmK0.js → edge-D6QhZ796.js} +1 -1
  98. package/dist/client/assets/{elixir-Z_A63tjC.js → elixir-DMd9329w.js} +1 -1
  99. package/dist/client/assets/{elm-CSUyuYJg.js → elm-ClOR9TU8.js} +1 -1
  100. package/dist/client/assets/empty-CFWSIvUd.js +1 -0
  101. package/dist/client/assets/environmentApi-4U60qRO5.js +1 -0
  102. package/dist/client/assets/{erb-DrEx0jBQ.js → erb-HraKpeAP.js} +1 -1
  103. package/dist/client/assets/{erlang-CJBKhF6J.js → erlang-Cphh6RMH.js} +1 -1
  104. package/dist/client/assets/folder-open-CuS_UI1W.js +1 -0
  105. package/dist/client/assets/{fortran-fixed-form-BKSuIOW4.js → fortran-fixed-form-DEKoE2YW.js} +1 -1
  106. package/dist/client/assets/{fsharp-U9gZ5YOh.js → fsharp-D13ZGOAj.js} +1 -1
  107. package/dist/client/assets/{gdresource-DoBd66sG.js → gdresource-C0sCabJj.js} +1 -1
  108. package/dist/client/assets/{git-commit-Db7dtED7.js → git-commit-BSykSTBG.js} +1 -1
  109. package/dist/client/assets/{git-rebase-QypkBr98.js → git-rebase-7x6VaRfM.js} +1 -1
  110. package/dist/client/assets/{glimmer-js-NOqtI1Rk.js → glimmer-js-Bs66SSVv.js} +1 -1
  111. package/dist/client/assets/{glimmer-ts-BeU4NlYB.js → glimmer-ts-C-1005ee.js} +1 -1
  112. package/dist/client/assets/{glsl-BkDxwNg4.js → glsl-ClknhvHk.js} +1 -1
  113. package/dist/client/assets/{graphql-BuqaMepw.js → graphql-BJK35HL6.js} +1 -1
  114. package/dist/client/assets/group-BlyMND_M.js +1 -0
  115. package/dist/client/assets/{hack-C01X66u7.js → hack-DTKnRaIz.js} +1 -1
  116. package/dist/client/assets/{haml-6AVURMsW.js → haml-v1Ae09NK.js} +1 -1
  117. package/dist/client/assets/{handlebars-CQt0otqg.js → handlebars-DvtPw9yK.js} +1 -1
  118. package/dist/client/assets/hostedPairing-DAdvNuk3.js +1 -0
  119. package/dist/client/assets/{html-B9GCfMM1.js → html-Ckes0w7-.js} +1 -1
  120. package/dist/client/assets/{html-derivative-Choar9BD.js → html-derivative-CjYqXu8c.js} +1 -1
  121. package/dist/client/assets/{http-DvFNkpiH.js → http-DgyAR01B.js} +1 -1
  122. package/dist/client/assets/{hurl-BSVy9O8n.js → hurl-BSy4XrZM.js} +1 -1
  123. package/dist/client/assets/{hxml-BcCIYlZp.js → hxml-B0Qn7Nwc.js} +1 -1
  124. package/dist/client/assets/{index-B215HMv1.js → index-R0mA-hZk.js} +2 -2
  125. package/dist/client/assets/input-BQQgfZzY.js +1 -0
  126. package/dist/client/assets/{java-DYU2LKAe.js → java-BRs8BbUU.js} +1 -1
  127. package/dist/client/assets/{javascript-CqMUgcTv.js → javascript-CCh9h5HS.js} +1 -1
  128. package/dist/client/assets/{jinja-DZIBHWGb.js → jinja-D1OtL_yO.js} +1 -1
  129. package/dist/client/assets/{jison-1dZyCIA-.js → jison-D_fWb18i.js} +1 -1
  130. package/dist/client/assets/{json-By08Hh8g.js → json-Bs_SRPeT.js} +1 -1
  131. package/dist/client/assets/{jsx-D-zBxh5E.js → jsx-Btew4WFJ.js} +1 -1
  132. package/dist/client/assets/{julia-D4DyCD9m.js → julia-BKIxRKg2.js} +1 -1
  133. package/dist/client/assets/{just-t1DYRM-F.js → just-CSkhc6Nt.js} +1 -1
  134. package/dist/client/assets/kbd-Dgp27U1W.js +1 -0
  135. package/dist/client/assets/keybindings-BIa18Wmf.js +1 -0
  136. package/dist/client/assets/keyboard-BQYTddoX.js +1 -0
  137. package/dist/client/assets/{latex-WQQP2pth.js → latex-DrurJw6z.js} +1 -1
  138. package/dist/client/assets/{liquid-D0Ghr7un.js → liquid-DLZ2kGK1.js} +1 -1
  139. package/dist/client/assets/{lua-r3xGOG0a.js → lua-BNdhJiqB.js} +1 -1
  140. package/dist/client/assets/main-Da7Z4Ig1.css +2 -0
  141. package/dist/client/assets/main-YXLWCEbb.js +9 -0
  142. package/dist/client/assets/{marko-wk9TVjCS.js → marko-B3eJkbnP.js} +1 -1
  143. package/dist/client/assets/{mdc-BRMVGNjb.js → mdc-Dz2y1zK2.js} +1 -1
  144. package/dist/client/assets/modelPickerOpenState-BJxsqvdg.js +1 -0
  145. package/dist/client/assets/mutation-B8SILYi_.js +1 -0
  146. package/dist/client/assets/{nextflow-D0nv53RF.js → nextflow-Bbiyy34d.js} +1 -1
  147. package/dist/client/assets/{nginx-D968CCNX.js → nginx-BazusZwe.js} +1 -1
  148. package/dist/client/assets/{nim-CRCwl258.js → nim-jwqEnSmK.js} +1 -1
  149. package/dist/client/assets/{perl-29yJp9Uu.js → perl-BwoWHrup.js} +1 -1
  150. package/dist/client/assets/{php-Cemz192H.js → php-DmODFjdr.js} +1 -1
  151. package/dist/client/assets/plus-F__wNuW-.js +1 -0
  152. package/dist/client/assets/primary-CSkhdakK.js +1 -0
  153. package/dist/client/assets/providerDriverMeta-BIPPb2w0.js +1 -0
  154. package/dist/client/assets/providerIconUtils-C54pAs0t.js +46 -0
  155. package/dist/client/assets/{pug-B2ZE7aeX.js → pug-JR1tLpbP.js} +1 -1
  156. package/dist/client/assets/{qml-jG3DrKD9.js → qml-CrcLSvXM.js} +1 -1
  157. package/dist/client/assets/{r-D3sEfBW5.js → r-B4G19rTw.js} +1 -1
  158. package/dist/client/assets/{razor-Beauj9_g.js → razor-Vr7Dkano.js} +1 -1
  159. package/dist/client/assets/react-CjD7iThp.js +16 -0
  160. package/dist/client/assets/react-PSPkXoKo.js +1 -0
  161. package/dist/client/assets/refresh-cw-DFCVsvMH.js +1 -0
  162. package/dist/client/assets/{regexp-DJB-0KGI.js → regexp-mkyOQxyI.js} +1 -1
  163. package/dist/client/assets/resolveAriaLabelledBy-CdSYKkwq.js +1 -0
  164. package/dist/client/assets/rightPanelRouteSearch-DweDTgju.js +1 -0
  165. package/dist/client/assets/{rst-D9Thij-7.js → rst-CMlIIAT6.js} +1 -1
  166. package/dist/client/assets/{ruby-BriTZmlZ.js → ruby-DeHylo3G.js} +1 -1
  167. package/dist/client/assets/{sas-Cp_miaeX.js → sas-DITAP7FM.js} +1 -1
  168. package/dist/client/assets/scroll-area-CZPNMSSG.js +1 -0
  169. package/dist/client/assets/{scss-DpivEdne.js → scss-DPGO9NvD.js} +1 -1
  170. package/dist/client/assets/separator-ZLn_GZKy.js +1 -0
  171. package/dist/client/assets/server-B7ETA5io.js +1 -0
  172. package/dist/client/assets/session-logic-DOD1qizY.js +4 -0
  173. package/dist/client/assets/settingsDialogStore-DJNXaaZ-.js +1 -0
  174. package/dist/client/assets/settingsLayout-BaSDLd6v.js +1 -0
  175. package/dist/client/assets/{shaderlab-DJPIU-BM.js → shaderlab-TOUzSsQk.js} +1 -1
  176. package/dist/client/assets/{shellscript-CM8oTE2e.js → shellscript-Ctrwjmrg.js} +1 -1
  177. package/dist/client/assets/{shellsession-Cbvx0Scr.js → shellsession-CVFkOqvv.js} +1 -1
  178. package/dist/client/assets/sidebar-VWf4R998.js +1 -0
  179. package/dist/client/assets/skeleton-IoKKnfW9.js +1 -0
  180. package/dist/client/assets/{soy-4R-idkhG.js → soy-DGJ8Y2bl.js} +1 -1
  181. package/dist/client/assets/{sparql-Zqzk9CwD.js → sparql-D_iOobhT.js} +1 -1
  182. package/dist/client/assets/{sql-sKjBShS8.js → sql-u97rfsUo.js} +1 -1
  183. package/dist/client/assets/{stata-DLIq7jHS.js → stata-DWI7UlWE.js} +1 -1
  184. package/dist/client/assets/storeSelectors-BL-4Ncd3.js +1 -0
  185. package/dist/client/assets/{surrealql-CRX8IwBN.js → surrealql-BUWsplpt.js} +1 -1
  186. package/dist/client/assets/{svelte-Dvrysi6X.js → svelte-CQXFJOFl.js} +1 -1
  187. package/dist/client/assets/{templ-RcP_-Nu-.js → templ-CA7lFfrq.js} +1 -1
  188. package/dist/client/assets/{tex-B8a5_DIi.js → tex-DAVBEZhF.js} +1 -1
  189. package/dist/client/assets/threadRoutes-a4QytG8s.js +1 -0
  190. package/dist/client/assets/threadSelectionStore-CgsIp6vR.js +1 -0
  191. package/dist/client/assets/toast-L2eWWYjv.js +1 -0
  192. package/dist/client/assets/toggle-group-D7mEwQCR.js +1 -0
  193. package/dist/client/assets/toggle-oOk0T_MY.js +1 -0
  194. package/dist/client/assets/trash-2-D0zhbiNO.js +1 -0
  195. package/dist/client/assets/{ts-tags-BG0VzqyM.js → ts-tags-cqyzSw6V.js} +1 -1
  196. package/dist/client/assets/{tsx-D4f8_1wY.js → tsx-aOZK_XWL.js} +1 -1
  197. package/dist/client/assets/{twig-DxlRBqRW.js → twig-RScZCD0T.js} +1 -1
  198. package/dist/client/assets/{typescript-C32OH5Jk.js → typescript-6eFuNBLU.js} +1 -1
  199. package/dist/client/assets/useHandleNewThread-DVTiX8Lz.js +1 -0
  200. package/dist/client/assets/useLabelableId-yw8wMwvn.js +1 -0
  201. package/dist/client/assets/useNavigate-CvKQXZa7.js +1 -0
  202. package/dist/client/assets/useTheme-C7Ji7x06.js +1 -0
  203. package/dist/client/assets/vscode-icons-C1r6bNpj.js +1 -0
  204. package/dist/client/assets/{vue-5RtgVZcg.js → vue-DVoN9ARa.js} +1 -1
  205. package/dist/client/assets/{vue-html-Dd-LXYnz.js → vue-html-BnZS_Ahq.js} +1 -1
  206. package/dist/client/assets/{vue-vine-BKz6iXyu.js → vue-vine-B0I6Y_6P.js} +1 -1
  207. package/dist/client/assets/{worker-rFBLi4xK.js → worker-B_h_pwVO.js} +5 -5
  208. package/dist/client/assets/wrench-DzrU49ry.js +1 -0
  209. package/dist/client/assets/x-BQzUKGMv.js +1 -0
  210. package/dist/client/assets/{xml-DXQJVDNT.js → xml-Dvs5bvzt.js} +1 -1
  211. package/dist/client/assets/{xsl-ByvM9IQh.js → xsl-CuljSg_9.js} +1 -1
  212. package/dist/client/assets/{yaml-CCq_gfp4.js → yaml-orq9hzxs.js} +1 -1
  213. package/dist/client/index.html +1 -1
  214. package/dist/collectUint8StreamText-CgTEDbi7.cjs +7106 -0
  215. package/dist/collectUint8StreamText-Cgz3T1YG.mjs +6028 -0
  216. package/dist/{makeManagedServerProvider-B3DH-AMf.mjs → makeManagedServerProvider-D43I_B9P.mjs} +7 -10
  217. package/dist/{makeManagedServerProvider-DVrBJ3h3.cjs → makeManagedServerProvider-DRMA8nAp.cjs} +77 -79
  218. package/dist/sourceControl-iWG-m4wE.mjs +207 -0
  219. package/dist/sourceControl-x2t62T8h.cjs +230 -0
  220. package/dist/{sourceControlContextFormatter-CO5cScmF.cjs → sourceControlContextFormatter-BDZqn-4T.cjs} +6 -8
  221. package/dist/{sourceControlContextFormatter-DpXEEmAm.mjs → sourceControlContextFormatter-DEwpnVAH.mjs} +1 -2
  222. package/package.json +5 -3
  223. package/dist/client/assets/ChangedFilesTree-B4W17bLf.js +0 -1
  224. package/dist/client/assets/DiffPanel-C9_pKXWU.js +0 -75
  225. package/dist/client/assets/DiffPanelShell-BmfxFBmp.js +0 -167
  226. package/dist/client/assets/DiffWorkerPoolProvider-B2FLS8eo.js +0 -1
  227. package/dist/client/assets/PreviewPanel-Z0IDMiKg.js +0 -30
  228. package/dist/client/assets/RootAppShell-qLlEOcIH.js +0 -24
  229. package/dist/client/assets/alert-D2R5HNlM.js +0 -1
  230. package/dist/client/assets/composerHandleContext-CkHnb2_F.js +0 -46
  231. package/dist/client/assets/hostedPairing-D299g9iL.js +0 -1
  232. package/dist/client/assets/main-DOCL-gXt.js +0 -66
  233. package/dist/client/assets/main-DhO2tDKo.css +0 -1
  234. package/dist/client/assets/pathEntry-DCmCWUeG.js +0 -1
  235. package/dist/client/assets/primary-BKkx6aqv.js +0 -16
  236. package/dist/client/assets/react-CYzKIDNi.js +0 -1
  237. package/dist/client/assets/refresh-cw-BpZqiP_0.js +0 -1
  238. package/dist/client/assets/runtime-QfzvF0Vn.js +0 -1
  239. package/dist/client/assets/separator-CXZK6vFp.js +0 -4
  240. package/dist/client/assets/text-wrap-CnmG6WhR.js +0 -62
  241. package/dist/client/assets/toggle-BfBpNkCG.js +0 -1
  242. package/dist/client/assets/toggle-group-Dp1gg0mX.js +0 -1
  243. package/dist/client/assets/useSettings-BLDkflD_.js +0 -21
  244. package/dist/client/assets/useTheme-BHTjVtp9.js +0 -1
  245. package/dist/client/assets/useTheme-EFHXLM5e.js +0 -1
  246. package/dist/client/assets/vscode-icons-Ciu6Pjk4.js +0 -1
  247. /package/dist/client/assets/{abap-Vg0cj5d8.js → abap-CLvhMVsD.js} +0 -0
  248. /package/dist/client/assets/{actionscript-3-BV1RXWL1.js → actionscript-3--17pq3dv.js} +0 -0
  249. /package/dist/client/assets/{ada-Ce_Xk3Sp.js → ada-C5qYipkI.js} +0 -0
  250. /package/dist/client/assets/{andromeeda-DJewj201.js → andromeeda-vGVdxbeo.js} +0 -0
  251. /package/dist/client/assets/{apache-BbDgM_LY.js → apache-U0d_L8uA.js} +0 -0
  252. /package/dist/client/assets/{apex-Z4y334SR.js → apex-CGTLDQj6.js} +0 -0
  253. /package/dist/client/assets/{applescript-CLDQZ5Zp.js → applescript-CCn79oCD.js} +0 -0
  254. /package/dist/client/assets/{ara-DwFb8Z32.js → ara-4CJ0cIlV.js} +0 -0
  255. /package/dist/client/assets/{asciidoc-ByVQW3u3.js → asciidoc-DE70LPWp.js} +0 -0
  256. /package/dist/client/assets/{asm-CqqqWovZ.js → asm-Cmm7eHzH.js} +0 -0
  257. /package/dist/client/assets/{aurora-x-B9BHU0bK.js → aurora-x-CDeNXAV0.js} +0 -0
  258. /package/dist/client/assets/{awk-L5v-cuCL.js → awk-BWXHIvNe.js} +0 -0
  259. /package/dist/client/assets/{ayu-dark-YQNfFJx2.js → ayu-dark-DluEY0Gj.js} +0 -0
  260. /package/dist/client/assets/{ayu-light-_9Blof0L.js → ayu-light-C3h-C4tm.js} +0 -0
  261. /package/dist/client/assets/{ayu-mirage-ywKZgCHT.js → ayu-mirage-Bqwy1Gya.js} +0 -0
  262. /package/dist/client/assets/{ballerina-Dgg2a6zg.js → ballerina-B7ZEbQpA.js} +0 -0
  263. /package/dist/client/assets/{bat-wLloRoua.js → bat-Bo4NYOV-.js} +0 -0
  264. /package/dist/client/assets/{beancount-BCSJrVVf.js → beancount-D-usSTwE.js} +0 -0
  265. /package/dist/client/assets/{berry-DJXUHylF.js → berry-DKpUyyne.js} +0 -0
  266. /package/dist/client/assets/{bibtex-C6hGKKRT.js → bibtex-Ci_nEsc7.js} +0 -0
  267. /package/dist/client/assets/{bicep-RsAVk7ms.js → bicep-CUHmPFLl.js} +0 -0
  268. /package/dist/client/assets/{bird2-DTRIpKsA.js → bird2-C2hNVINV.js} +0 -0
  269. /package/dist/client/assets/{c3-DhlmE_oa.js → c3-CnJL0r0V.js} +0 -0
  270. /package/dist/client/assets/{cadence-gm_AXdjh.js → cadence-CQ2zXKGN.js} +0 -0
  271. /package/dist/client/assets/{catppuccin-frappe-CRaK-OXp.js → catppuccin-frappe-3VR1Za6u.js} +0 -0
  272. /package/dist/client/assets/{catppuccin-latte-CekmIWzD.js → catppuccin-latte-DwIHMF0Q.js} +0 -0
  273. /package/dist/client/assets/{catppuccin-macchiato-Pgs1_ylq.js → catppuccin-macchiato-DYnBP6_5.js} +0 -0
  274. /package/dist/client/assets/{catppuccin-mocha-CVFrnEg2.js → catppuccin-mocha-DYhrFGRu.js} +0 -0
  275. /package/dist/client/assets/{clarity-_nV8rm3T.js → clarity-SemFz856.js} +0 -0
  276. /package/dist/client/assets/{clojure-Dsywsvl2.js → clojure-DqKBuwfJ.js} +0 -0
  277. /package/dist/client/assets/{cmake-DoZviRk-.js → cmake-Bj61d0ZC.js} +0 -0
  278. /package/dist/client/assets/{codeowners-LcUICwIC.js → codeowners-C8r90Shi.js} +0 -0
  279. /package/dist/client/assets/{codeql-C0tRiarJ.js → codeql-oeQT6MSM.js} +0 -0
  280. /package/dist/client/assets/{common-lisp-BQXePP3H.js → common-lisp-Cv5bFMCO.js} +0 -0
  281. /package/dist/client/assets/{coq-DWR2ZlCV.js → coq-BrsZFFmf.js} +0 -0
  282. /package/dist/client/assets/{csharp-BpO6pU8h.js → csharp-Ct8U2NOr.js} +0 -0
  283. /package/dist/client/assets/{csv-guZ1Hczt.js → csv-Dx-8-gkx.js} +0 -0
  284. /package/dist/client/assets/{cue-DVp9_WvV.js → cue-CE9AQfxI.js} +0 -0
  285. /package/dist/client/assets/{cypher-3MHH4pYW.js → cypher-ClKdZ_lG.js} +0 -0
  286. /package/dist/client/assets/{d-CIAu_RLS.js → d-qD-0Kul2.js} +0 -0
  287. /package/dist/client/assets/{dark-plus-D6YuWbv0.js → dark-plus-Cs2F2srj.js} +0 -0
  288. /package/dist/client/assets/{dart-DYuQ6kUW.js → dart-DkHntEIa.js} +0 -0
  289. /package/dist/client/assets/{dax-BBIUHzFG.js → dax-BkyTk9wS.js} +0 -0
  290. /package/dist/client/assets/{desktop-i7Pu8H5c.js → desktop-Dlh5hvp9.js} +0 -0
  291. /package/dist/client/assets/{diff-BOMu6KnT.js → diff-woXpYk--.js} +0 -0
  292. /package/dist/client/assets/{docker-Jl7Opeg9.js → docker-IyjqRm3v.js} +0 -0
  293. /package/dist/client/assets/{dotenv-DNMkRfS9.js → dotenv-_5a1GRtc.js} +0 -0
  294. /package/dist/client/assets/{dracula-BRuhgxZx.js → dracula-BHWKrbxM.js} +0 -0
  295. /package/dist/client/assets/{dracula-soft-Bh-3NXEk.js → dracula-soft-5eyTD99u.js} +0 -0
  296. /package/dist/client/assets/{dream-maker-XsE3rknm.js → dream-maker-DW3nJb8Q.js} +0 -0
  297. /package/dist/client/assets/{emacs-lisp-DILRoF5l.js → emacs-lisp-C9PiwqqW.js} +0 -0
  298. /package/dist/client/assets/{everforest-dark-TN28LCtO.js → everforest-dark-sB-x3p7T.js} +0 -0
  299. /package/dist/client/assets/{everforest-light-Bie4zQAp.js → everforest-light-Df2xbC6M.js} +0 -0
  300. /package/dist/client/assets/{fennel-C5HmIS3y.js → fennel-DQxkIbk2.js} +0 -0
  301. /package/dist/client/assets/{fish-BLa94bES.js → fish-BJitypiv.js} +0 -0
  302. /package/dist/client/assets/{fluent-Dz5wDZec.js → fluent-C03EYrpw.js} +0 -0
  303. /package/dist/client/assets/{fortran-free-form-Dhgntk66.js → fortran-free-form-CYNrtFtB.js} +0 -0
  304. /package/dist/client/assets/{gdscript-cU6-22QG.js → gdscript-Cp2uCuqX.js} +0 -0
  305. /package/dist/client/assets/{gdshader-D10o9T_4.js → gdshader-CBce3t8t.js} +0 -0
  306. /package/dist/client/assets/{genie-BxoMb50b.js → genie-CV2tkWYe.js} +0 -0
  307. /package/dist/client/assets/{gherkin-B2lz9HMr.js → gherkin-DExj1W_8.js} +0 -0
  308. /package/dist/client/assets/{github-dark-D5NDXfHf.js → github-dark-C-LZuMrd.js} +0 -0
  309. /package/dist/client/assets/{github-dark-default-Bo_3g1lT.js → github-dark-default-DXG-b-1a.js} +0 -0
  310. /package/dist/client/assets/{github-dark-dimmed-BQUS-1Ln.js → github-dark-dimmed-Bx1FflLF.js} +0 -0
  311. /package/dist/client/assets/{github-dark-high-contrast-DIHLvRoS.js → github-dark-high-contrast-B_tTalzw.js} +0 -0
  312. /package/dist/client/assets/{github-light-Bw4sXpzB.js → github-light-EUqPIrTm.js} +0 -0
  313. /package/dist/client/assets/{github-light-default-B8bmeZPd.js → github-light-default-BXViO-2h.js} +0 -0
  314. /package/dist/client/assets/{github-light-high-contrast-CJI8nAIV.js → github-light-high-contrast-B68TUdTA.js} +0 -0
  315. /package/dist/client/assets/{gleam-9zwoUsHJ.js → gleam-CSRkHgEL.js} +0 -0
  316. /package/dist/client/assets/{gn-DLF2G5Ru.js → gn-ilITqXS6.js} +0 -0
  317. /package/dist/client/assets/{gnuplot-Bcm3DAiA.js → gnuplot-7GGW24-e.js} +0 -0
  318. /package/dist/client/assets/{go-CPlmKKFp.js → go-BJwz_mda.js} +0 -0
  319. /package/dist/client/assets/{groovy-Dg2VIq5p.js → groovy-CacY0gHj.js} +0 -0
  320. /package/dist/client/assets/{gruvbox-dark-hard-BzHG1YMb.js → gruvbox-dark-hard-C820rvS2.js} +0 -0
  321. /package/dist/client/assets/{gruvbox-dark-medium-C9UQOvAR.js → gruvbox-dark-medium-BPjhmG05.js} +0 -0
  322. /package/dist/client/assets/{gruvbox-dark-soft-xgYmK4Rn.js → gruvbox-dark-soft-MrdJrrXF.js} +0 -0
  323. /package/dist/client/assets/{gruvbox-light-hard-DxvMP-zF.js → gruvbox-light-hard-BC_s9l72.js} +0 -0
  324. /package/dist/client/assets/{gruvbox-light-medium-SxCJk4ze.js → gruvbox-light-medium-BAWPOn9u.js} +0 -0
  325. /package/dist/client/assets/{gruvbox-light-soft-B9XTNyng.js → gruvbox-light-soft-BSMLrYjP.js} +0 -0
  326. /package/dist/client/assets/{haskell-Cf52ssWB.js → haskell-D8IpX4py.js} +0 -0
  327. /package/dist/client/assets/{haxe-BiaDi9Ls.js → haxe-OTjmBuCE.js} +0 -0
  328. /package/dist/client/assets/{hcl-Dcb9DqV1.js → hcl-Dh228itO.js} +0 -0
  329. /package/dist/client/assets/{hjson-LjA2UJVG.js → hjson-CxZEssPk.js} +0 -0
  330. /package/dist/client/assets/{hlsl-Bdu4H644.js → hlsl-Cvrh5tZx.js} +0 -0
  331. /package/dist/client/assets/{horizon-DfLB6K3K.js → horizon-CE9ld1lL.js} +0 -0
  332. /package/dist/client/assets/{horizon-bright-BRcOD00n.js → horizon-bright-Br1oVSNq.js} +0 -0
  333. /package/dist/client/assets/{houston-pGeyqiDN.js → houston-CsvMBhTu.js} +0 -0
  334. /package/dist/client/assets/{hy-CAzVaHwm.js → hy-CZbG8q4J.js} +0 -0
  335. /package/dist/client/assets/{imba-CtP12ZBI.js → imba-DsUTQ-LC.js} +0 -0
  336. /package/dist/client/assets/{ini-DyaqLXx3.js → ini-B5eOa1yu.js} +0 -0
  337. /package/dist/client/assets/{json5-pkfxH3eL.js → json5-BR5RXkoi.js} +0 -0
  338. /package/dist/client/assets/{jsonc-D_yIvXTo.js → jsonc-CYpm1nAK.js} +0 -0
  339. /package/dist/client/assets/{jsonl-Cyj0VVep.js → jsonl-CmCQp5Yx.js} +0 -0
  340. /package/dist/client/assets/{jsonnet-CQ7ol0Ju.js → jsonnet-CJTPZ8u_.js} +0 -0
  341. /package/dist/client/assets/{jssm-MbQThoOI.js → jssm-DXw9l8Rf.js} +0 -0
  342. /package/dist/client/assets/{kanagawa-dragon-WzYJN5gB.js → kanagawa-dragon-CXtmUGW6.js} +0 -0
  343. /package/dist/client/assets/{kanagawa-lotus-rRmvCTTT.js → kanagawa-lotus-BN08jTvb.js} +0 -0
  344. /package/dist/client/assets/{kanagawa-wave-DLXZ_HFW.js → kanagawa-wave-CTweb8Dz.js} +0 -0
  345. /package/dist/client/assets/{kdl-MlO6iUnG.js → kdl-CsD5j6eV.js} +0 -0
  346. /package/dist/client/assets/{kotlin-Dugiuyzo.js → kotlin-DhhofPvG.js} +0 -0
  347. /package/dist/client/assets/{kusto-6Zx2e4iM.js → kusto-BUv0MjJC.js} +0 -0
  348. /package/dist/client/assets/{laserwave-Bms40fEM.js → laserwave-C_8bwKvT.js} +0 -0
  349. /package/dist/client/assets/{lean-BeI6HXzS.js → lean-CewbzKMR.js} +0 -0
  350. /package/dist/client/assets/{less-CgPeGWAa.js → less-DVTAwKKz.js} +0 -0
  351. /package/dist/client/assets/{light-plus-j7rlQ_-d.js → light-plus-DVQuIRkW.js} +0 -0
  352. /package/dist/client/assets/{llvm-Dw0AsrHc.js → llvm-Cm23YOpf.js} +0 -0
  353. /package/dist/client/assets/{log-9mP7MLA7.js → log-BNLmms1o.js} +0 -0
  354. /package/dist/client/assets/{logo-CEB74EGf.js → logo-Cluzi2Zq.js} +0 -0
  355. /package/dist/client/assets/{luau-C4m3ZsP4.js → luau-CNKltnaQ.js} +0 -0
  356. /package/dist/client/assets/{make-D05QTRNX.js → make-Dixweg8N.js} +0 -0
  357. /package/dist/client/assets/{markdown-UoFBNZst.js → markdown-BYOwaDjH.js} +0 -0
  358. /package/dist/client/assets/{material-theme-BLisqalJ.js → material-theme-Bm3Qr25_.js} +0 -0
  359. /package/dist/client/assets/{material-theme-darker-CMDfuiQ2.js → material-theme-darker-2IIEA8gg.js} +0 -0
  360. /package/dist/client/assets/{material-theme-lighter-CxAafT95.js → material-theme-lighter-uhdI0v04.js} +0 -0
  361. /package/dist/client/assets/{material-theme-ocean-B4-TfnzS.js → material-theme-ocean-CHQ94UKr.js} +0 -0
  362. /package/dist/client/assets/{material-theme-palenight-BiO5TPm2.js → material-theme-palenight-B5W6OYN7.js} +0 -0
  363. /package/dist/client/assets/{matlab-B1JUCa3X.js → matlab-D7qyCx1q.js} +0 -0
  364. /package/dist/client/assets/{mdx-5iivKtUB.js → mdx-DQZ5AkYe.js} +0 -0
  365. /package/dist/client/assets/{mermaid-e-18nCBH.js → mermaid-Bk4SNUv9.js} +0 -0
  366. /package/dist/client/assets/{min-dark-CwF0fYNT.js → min-dark-BSWPekZh.js} +0 -0
  367. /package/dist/client/assets/{min-light-DbuMCP1T.js → min-light-DDpmG2fV.js} +0 -0
  368. /package/dist/client/assets/{mipsasm-DcTRWKSO.js → mipsasm-BMqwQI7S.js} +0 -0
  369. /package/dist/client/assets/{mojo-DTlMyvmX.js → mojo-BgCJLMeH.js} +0 -0
  370. /package/dist/client/assets/{monokai-ShOh_SLr.js → monokai-CdkpiU2Y.js} +0 -0
  371. /package/dist/client/assets/{moonbit-Clq4Da-i.js → moonbit-CaWjb8XO.js} +0 -0
  372. /package/dist/client/assets/{move-Bl5q_pwm.js → move-B1IS1UjX.js} +0 -0
  373. /package/dist/client/assets/{narrat-CBsmOEAI.js → narrat-_X_XdTYD.js} +0 -0
  374. /package/dist/client/assets/{nextflow-groovy-aMR1iPI_.js → nextflow-groovy-Dc_ddanL.js} +0 -0
  375. /package/dist/client/assets/{night-owl-yTEb_Wwb.js → night-owl-DhmEMT88.js} +0 -0
  376. /package/dist/client/assets/{night-owl-light-huKGrUNo.js → night-owl-light-eJ-hLW7d.js} +0 -0
  377. /package/dist/client/assets/{nix-Cp796_WQ.js → nix-IvuFDN5E.js} +0 -0
  378. /package/dist/client/assets/{nord-DcX-wPJc.js → nord-Cb4Vim4T.js} +0 -0
  379. /package/dist/client/assets/{nushell-BfyhU0X_.js → nushell-DcLAeLz5.js} +0 -0
  380. /package/dist/client/assets/{objective-c-B4uJcreS.js → objective-c-D1A_Heim.js} +0 -0
  381. /package/dist/client/assets/{objective-cpp-jpQjhWST.js → objective-cpp-BsSzOQcm.js} +0 -0
  382. /package/dist/client/assets/{ocaml-Bd4ZvQW_.js → ocaml-O90oeIOV.js} +0 -0
  383. /package/dist/client/assets/{odin-CrrB9RSu.js → odin-B1RWQWA5.js} +0 -0
  384. /package/dist/client/assets/{one-dark-pro-CkQTfcfR.js → one-dark-pro-CLwyXe_n.js} +0 -0
  385. /package/dist/client/assets/{one-light-DThLWCfa.js → one-light-D7Lr4KcI.js} +0 -0
  386. /package/dist/client/assets/{openscad-D3TTqx3L.js → openscad-BUDT5pXO.js} +0 -0
  387. /package/dist/client/assets/{pairingUrl-BDy1QCMe.js → pairingUrl-rQM9kSGT.js} +0 -0
  388. /package/dist/client/assets/{pascal-DWfvzseC.js → pascal-4ZHwLPI5.js} +0 -0
  389. /package/dist/client/assets/{pierre-dark-DvfVJVsW.js → pierre-dark-PhHPzmGe.js} +0 -0
  390. /package/dist/client/assets/{pierre-light-B0eN5zia.js → pierre-light-DN22GkGi.js} +0 -0
  391. /package/dist/client/assets/{pkl-DdTB5XmH.js → pkl-ot-7Btpt.js} +0 -0
  392. /package/dist/client/assets/{plastic-B7VrxlmD.js → plastic-DQwYfKfQ.js} +0 -0
  393. /package/dist/client/assets/{plsql-BqXKIIPU.js → plsql-DGHpHOYJ.js} +0 -0
  394. /package/dist/client/assets/{po-C5lHU9KQ.js → po-BiJDBrnU.js} +0 -0
  395. /package/dist/client/assets/{poimandres-3PFzcj5x.js → poimandres-DRFjx7u4.js} +0 -0
  396. /package/dist/client/assets/{polar-C6NB-8j6.js → polar-C7UOKdEL.js} +0 -0
  397. /package/dist/client/assets/{postcss-vtVbFW0L.js → postcss-BXeXVLqQ.js} +0 -0
  398. /package/dist/client/assets/{powerquery-hquWt5c6.js → powerquery-DNMTfnFr.js} +0 -0
  399. /package/dist/client/assets/{powershell-CQ330hRP.js → powershell-DshXNtvi.js} +0 -0
  400. /package/dist/client/assets/{prisma-BQON8_gf.js → prisma-BsRQq5mF.js} +0 -0
  401. /package/dist/client/assets/{prolog-0b9P4dbF.js → prolog-iXnhIJG7.js} +0 -0
  402. /package/dist/client/assets/{proto-CLvr77Vf.js → proto-DB4EqR-F.js} +0 -0
  403. /package/dist/client/assets/{puppet-BT0t2Kuu.js → puppet-CDv2pdJW.js} +0 -0
  404. /package/dist/client/assets/{purescript-DkMvIExr.js → purescript-9MfHhQsQ.js} +0 -0
  405. /package/dist/client/assets/{python-wd06zWQV.js → python-gzcpVVnB.js} +0 -0
  406. /package/dist/client/assets/{qmldir-llhyId5r.js → qmldir-DCQb3MpD.js} +0 -0
  407. /package/dist/client/assets/{qss-CVMsEoHp.js → qss-Fe1Jh2GI.js} +0 -0
  408. /package/dist/client/assets/{racket-DBMp3jda.js → racket-DcIDlBhZ.js} +0 -0
  409. /package/dist/client/assets/{raku-BRxsLZ2S.js → raku-B3gFvitq.js} +0 -0
  410. /package/dist/client/assets/{red-qaVQBZPK.js → red-CJ3rzSJv.js} +0 -0
  411. /package/dist/client/assets/{reg-BDyfNUUq.js → reg-CRGYupPL.js} +0 -0
  412. /package/dist/client/assets/{rel-DdGqSVEp.js → rel-BtDbiS_P.js} +0 -0
  413. /package/dist/client/assets/{riscv-DV28q7Fg.js → riscv-Ckw8ddFX.js} +0 -0
  414. /package/dist/client/assets/{ron-CY4nyhYH.js → ron-VUp2lXgN.js} +0 -0
  415. /package/dist/client/assets/{rose-pine-CxNAz5gp.js → rose-pine-BthvhNj6.js} +0 -0
  416. /package/dist/client/assets/{rose-pine-dawn-xFu_N-rV.js → rose-pine-dawn-Dg85fqjY.js} +0 -0
  417. /package/dist/client/assets/{rose-pine-moon-DK-HvE6Y.js → rose-pine-moon-hon4tzzS.js} +0 -0
  418. /package/dist/client/assets/{rosmsg-K2kzuYs8.js → rosmsg-CAekHB0j.js} +0 -0
  419. /package/dist/client/assets/{rust-DZfNSAHN.js → rust-Cfkwpbl8.js} +0 -0
  420. /package/dist/client/assets/{sass-DIGpNETF.js → sass-DXrisJhu.js} +0 -0
  421. /package/dist/client/assets/{scala-Dm4xFcTl.js → scala-DKOlJaKm.js} +0 -0
  422. /package/dist/client/assets/{scheme-Dyo1jQfP.js → scheme-DQCgrYNe.js} +0 -0
  423. /package/dist/client/assets/{sdbl-C0HF5Szh.js → sdbl-bTVj8UrX.js} +0 -0
  424. /package/dist/client/assets/{slack-dark-jzjOs3ob.js → slack-dark-DnToyrRv.js} +0 -0
  425. /package/dist/client/assets/{slack-ochin-CrJIbU0m.js → slack-ochin-B2OO5cIa.js} +0 -0
  426. /package/dist/client/assets/{smalltalk-DD30vTCS.js → smalltalk-B16xEiuN.js} +0 -0
  427. /package/dist/client/assets/{snazzy-light-DWAW_zRS.js → snazzy-light-4G7pJPwS.js} +0 -0
  428. /package/dist/client/assets/{solarized-dark-QfOoX52e.js → solarized-dark-DV17i1UV.js} +0 -0
  429. /package/dist/client/assets/{solarized-light-3Q8bP0PY.js → solarized-light-DSh2HLQt.js} +0 -0
  430. /package/dist/client/assets/{solidity-DEXV1iYf.js → solidity-CKzVLygQ.js} +0 -0
  431. /package/dist/client/assets/{splunk-D3yrvsJB.js → splunk-BC2Px7Mm.js} +0 -0
  432. /package/dist/client/assets/{ssh-config-DJbT8CNv.js → ssh-config-BgfXC-Er.js} +0 -0
  433. /package/dist/client/assets/{stylus-D7yuZo8M.js → stylus-B6D30XZt.js} +0 -0
  434. /package/dist/client/assets/{swift-Dcka7tnA.js → swift-DonLKvLd.js} +0 -0
  435. /package/dist/client/assets/{synthwave-84-Cp0uE3e0.js → synthwave-84-nFMaYfgc.js} +0 -0
  436. /package/dist/client/assets/{system-verilog-0hmR2xuR.js → system-verilog-DJ5XKQeo.js} +0 -0
  437. /package/dist/client/assets/{systemd-JaNPzh8j.js → systemd-BxMlprV5.js} +0 -0
  438. /package/dist/client/assets/{talonscript-BPHMb4jr.js → talonscript-CohzipZa.js} +0 -0
  439. /package/dist/client/assets/{tasl-D07ubp53.js → tasl-DMoTqEGO.js} +0 -0
  440. /package/dist/client/assets/{tcl-DRL4sBMb.js → tcl-CZd0xW_V.js} +0 -0
  441. /package/dist/client/assets/{terraform-C8KioG9C.js → terraform-DswuEJGm.js} +0 -0
  442. /package/dist/client/assets/{tokyo-night-sVj4Hc0t.js → tokyo-night-oM2G3aXe.js} +0 -0
  443. /package/dist/client/assets/{toml-DOSf8MYV.js → toml-CcmNWLt0.js} +0 -0
  444. /package/dist/client/assets/{tsv-BpjyUJlf.js → tsv-sltzmVWM.js} +0 -0
  445. /package/dist/client/assets/{turtle-x_g5g_iY.js → turtle-ByJddavk.js} +0 -0
  446. /package/dist/client/assets/{typespec-Dfd73-vI.js → typespec-B88KGewJ.js} +0 -0
  447. /package/dist/client/assets/{typst-Dlb0aZU4.js → typst-DI99ib-x.js} +0 -0
  448. /package/dist/client/assets/{v-v-fvjFiX.js → v-DETTlOr0.js} +0 -0
  449. /package/dist/client/assets/{vala-D9-xQ00Z.js → vala-zf12oZj6.js} +0 -0
  450. /package/dist/client/assets/{vb-BReSiWNQ.js → vb-Djn5o6TS.js} +0 -0
  451. /package/dist/client/assets/{verilog-DfyNqRJD.js → verilog-CiiDBU1e.js} +0 -0
  452. /package/dist/client/assets/{vesper-Bv60RWju.js → vesper-D5bVUKB1.js} +0 -0
  453. /package/dist/client/assets/{vhdl-DbQyuq9g.js → vhdl-BroJfC0k.js} +0 -0
  454. /package/dist/client/assets/{viml-DhThL36t.js → viml-DvXPmvsu.js} +0 -0
  455. /package/dist/client/assets/{vitesse-black-CThrVPkw.js → vitesse-black-fwtXNY1n.js} +0 -0
  456. /package/dist/client/assets/{vitesse-dark-BrahNcrX.js → vitesse-dark-BZCL-v6S.js} +0 -0
  457. /package/dist/client/assets/{vitesse-light-BCKYomrh.js → vitesse-light-VbXTXTou.js} +0 -0
  458. /package/dist/client/assets/{vyper-e4AwrcSk.js → vyper-CgoNMtux.js} +0 -0
  459. /package/dist/client/assets/{wasm-Cia-w-S9.js → wasm-BnjxR4X6.js} +0 -0
  460. /package/dist/client/assets/{wasm-B1MrEdvT.js → wasm-ByWQv1Qj.js} +0 -0
  461. /package/dist/client/assets/{wenyan-CrxLlNlW.js → wenyan-C8pVoKbM.js} +0 -0
  462. /package/dist/client/assets/{wgsl-BpsXvExJ.js → wgsl-BsKzXJz4.js} +0 -0
  463. /package/dist/client/assets/{wikitext-C6XIgJ_Z.js → wikitext-ClFFjSW2.js} +0 -0
  464. /package/dist/client/assets/{wit-DkjXKZxQ.js → wit-DdvCle-K.js} +0 -0
  465. /package/dist/client/assets/{wolfram--3zV4S15.js → wolfram-DLL8P-h_.js} +0 -0
  466. /package/dist/client/assets/{zenscript-BLGtygmo.js → zenscript-BnlCZFoB.js} +0 -0
  467. /package/dist/client/assets/{zig-CaWWBKRf.js → zig-CMLA9XwU.js} +0 -0
@@ -1,16 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_bin = require('./bin.cjs');
4
- const require_makeManagedServerProvider = require('./makeManagedServerProvider-DVrBJ3h3.cjs');
5
- const require_sourceControlContextFormatter = require('./sourceControlContextFormatter-CO5cScmF.cjs');
6
- const require_ProjectCustomSystemPrompt = require('./ProjectCustomSystemPrompt-9Bf13ScV.cjs');
7
- const require_CodexTextGeneration = require('./CodexTextGeneration-jbe9qfEM.cjs');
3
+ const require_chunk = require("./chunk-jM1PLTSZ.cjs");
4
+ const require_collectUint8StreamText = require("./collectUint8StreamText-CgTEDbi7.cjs");
5
+ const require_Metrics = require("./Metrics-DNOriWhP.cjs");
6
+ const require_bin = require("./bin.cjs");
7
+ const require_makeManagedServerProvider = require("./makeManagedServerProvider-DRMA8nAp.cjs");
8
+ const require_sourceControlContextFormatter = require("./sourceControlContextFormatter-BDZqn-4T.cjs");
9
+ const require_ProjectCustomSystemPrompt = require("./ProjectCustomSystemPrompt-B8SUlNGa.cjs");
10
+ const require_CodexTextGeneration = require("./CodexTextGeneration-Cr97QFv_.cjs");
8
11
  let effect = require("effect");
9
12
  let effect_unstable_http = require("effect/unstable/http");
10
13
  let effect_unstable_process = require("effect/unstable/process");
11
14
  let effect_SchemaIssue = require("effect/SchemaIssue");
12
- effect_SchemaIssue = require_bin.__toESM(effect_SchemaIssue);
13
-
15
+ effect_SchemaIssue = require_chunk.__toESM(effect_SchemaIssue, 1);
14
16
  //#region src/provider/CodexDeveloperInstructions.ts
15
17
  const CODEX_PLAN_MODE_DEVELOPER_INSTRUCTIONS = `<collaboration_mode># Plan Mode (Conversational)
16
18
 
@@ -145,12 +147,10 @@ The \`request_user_input\` tool is unavailable in Default mode. If you call it w
145
147
 
146
148
  In Default mode, strongly prefer making reasonable assumptions and executing the user's request rather than stopping to ask questions. If you absolutely must ask a question because the answer cannot be discovered from local context and a reasonable assumption would be risky, ask the user directly with a concise plain-text question. Never write a multiple choice question as a textual assistant message.
147
149
  </collaboration_mode>`;
148
-
149
150
  //#endregion
150
151
  //#region src/provider/Layers/CodexSessionRuntime.ts
151
- const PROVIDER$1 = require_bin.ProviderDriverKind.make("codex");
152
- const ANSI_ESCAPE_CHAR = String.fromCharCode(27);
153
- const ANSI_ESCAPE_REGEX = new RegExp(`${ANSI_ESCAPE_CHAR}\\[[0-9;]*m`, "g");
152
+ const PROVIDER$1 = require_collectUint8StreamText.ProviderDriverKind.make("codex");
153
+ const ANSI_ESCAPE_REGEX = new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`, "g");
154
154
  const CODEX_STDERR_LOG_REGEX = /^\d{4}-\d{2}-\d{2}T\S+\s+(TRACE|DEBUG|INFO|WARN|ERROR)\s+\S+:\s+(.*)$/;
155
155
  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"];
156
156
  const RECOVERABLE_THREAD_RESUME_ERROR_SNIPPETS = [
@@ -234,7 +234,7 @@ function runtimeModeToTurnSandboxPolicy(input) {
234
234
  }
235
235
  function buildCodexCollaborationMode(input) {
236
236
  if (input.interactionMode === void 0) return;
237
- const model = normalizeCodexModelSlug(input.model) ?? require_bin.DEFAULT_MODEL;
237
+ const model = normalizeCodexModelSlug(input.model) ?? "gpt-5.4";
238
238
  const developerInstructions = require_ProjectCustomSystemPrompt.appendProjectCustomSystemPrompt(require_ProjectCustomSystemPrompt.appendProjectCustomSystemPrompt(input.interactionMode === "plan" ? CODEX_PLAN_MODE_DEVELOPER_INSTRUCTIONS : CODEX_DEFAULT_MODE_DEVELOPER_INSTRUCTIONS, input.tokenReductionInstructions), input.customSystemPrompt);
239
239
  return {
240
240
  mode: input.interactionMode,
@@ -359,16 +359,16 @@ function readRouteFields(notification) {
359
359
  };
360
360
  case "turn/started":
361
361
  case "turn/completed": return {
362
- turnId: require_bin.TurnId.make(notification.params.turn.id),
362
+ turnId: require_collectUint8StreamText.TurnId.make(notification.params.turn.id),
363
363
  itemId: void 0
364
364
  };
365
365
  case "error": return {
366
- turnId: require_bin.TurnId.make(notification.params.turnId),
366
+ turnId: require_collectUint8StreamText.TurnId.make(notification.params.turnId),
367
367
  itemId: void 0
368
368
  };
369
369
  case "turn/diff/updated":
370
370
  case "turn/plan/updated": return {
371
- turnId: require_bin.TurnId.make(notification.params.turnId),
371
+ turnId: require_collectUint8StreamText.TurnId.make(notification.params.turnId),
372
372
  itemId: void 0
373
373
  };
374
374
  case "serverRequest/resolved": return {
@@ -377,8 +377,8 @@ function readRouteFields(notification) {
377
377
  };
378
378
  case "item/started":
379
379
  case "item/completed": return {
380
- turnId: require_bin.TurnId.make(notification.params.turnId),
381
- itemId: require_bin.ProviderItemId.make(notification.params.item.id)
380
+ turnId: require_collectUint8StreamText.TurnId.make(notification.params.turnId),
381
+ itemId: require_collectUint8StreamText.ProviderItemId.make(notification.params.item.id)
382
382
  };
383
383
  case "item/agentMessage/delta":
384
384
  case "item/plan/delta":
@@ -389,8 +389,8 @@ function readRouteFields(notification) {
389
389
  case "item/reasoning/summaryTextDelta":
390
390
  case "item/reasoning/summaryPartAdded":
391
391
  case "item/reasoning/textDelta": return {
392
- turnId: require_bin.TurnId.make(notification.params.turnId),
393
- itemId: require_bin.ProviderItemId.make(notification.params.itemId)
392
+ turnId: require_collectUint8StreamText.TurnId.make(notification.params.turnId),
393
+ itemId: require_collectUint8StreamText.ProviderItemId.make(notification.params.itemId)
394
394
  };
395
395
  default: return {
396
396
  turnId: void 0,
@@ -439,7 +439,7 @@ function parseThreadSnapshot(response) {
439
439
  return {
440
440
  threadId: response.thread.id,
441
441
  turns: response.thread.turns.map((turn) => ({
442
- id: require_bin.TurnId.make(turn.id),
442
+ id: require_collectUint8StreamText.TurnId.make(turn.id),
443
443
  items: turn.items
444
444
  }))
445
445
  };
@@ -485,7 +485,7 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
485
485
  const sessionRef = yield* effect.Ref.make(initialSession);
486
486
  const offerEvent = (event) => effect.Queue.offer(events, event).pipe(effect.Effect.asVoid);
487
487
  const emitEvent = (event) => effect.Effect.flatMap(effect.Random.nextUUIDv4, (id) => offerEvent({
488
- id: require_bin.EventId.make(id),
488
+ id: require_collectUint8StreamText.EventId.make(id),
489
489
  provider: PROVIDER$1,
490
490
  ...options.providerInstanceId ? { providerInstanceId: options.providerInstanceId } : {},
491
491
  createdAt: (/* @__PURE__ */ new Date()).toISOString(),
@@ -553,7 +553,7 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
553
553
  if (providerThreadId && payload.threadId !== providerThreadId) return effect.Effect.void;
554
554
  return updateSession(sessionRef, {
555
555
  status: "running",
556
- activeTurnId: require_bin.TurnId.make(payload.turn.id)
556
+ activeTurnId: require_collectUint8StreamText.TurnId.make(payload.turn.id)
557
557
  });
558
558
  })));
559
559
  yield* client.handleServerNotification("turn/completed", (payload) => currentSessionProviderThreadId.pipe(effect.Effect.flatMap((providerThreadId) => {
@@ -576,9 +576,9 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
576
576
  });
577
577
  })));
578
578
  yield* client.handleServerRequest("item/commandExecution/requestApproval", (payload) => effect.Effect.gen(function* () {
579
- const requestId = require_bin.ApprovalRequestId.make(yield* effect.Random.nextUUIDv4);
580
- const turnId = require_bin.TurnId.make(payload.turnId);
581
- const itemId = require_bin.ProviderItemId.make(payload.itemId);
579
+ const requestId = require_collectUint8StreamText.ApprovalRequestId.make(yield* effect.Random.nextUUIDv4);
580
+ const turnId = require_collectUint8StreamText.TurnId.make(payload.turnId);
581
+ const itemId = require_collectUint8StreamText.ProviderItemId.make(payload.itemId);
582
582
  const decision = yield* effect.Deferred.make();
583
583
  yield* effect.Ref.update(pendingApprovalsRef, (current) => {
584
584
  const next = new Map(current);
@@ -619,9 +619,9 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
619
619
  }))) };
620
620
  }));
621
621
  yield* client.handleServerRequest("item/fileChange/requestApproval", (payload) => effect.Effect.gen(function* () {
622
- const requestId = require_bin.ApprovalRequestId.make(yield* effect.Random.nextUUIDv4);
623
- const turnId = require_bin.TurnId.make(payload.turnId);
624
- const itemId = require_bin.ProviderItemId.make(payload.itemId);
622
+ const requestId = require_collectUint8StreamText.ApprovalRequestId.make(yield* effect.Random.nextUUIDv4);
623
+ const turnId = require_collectUint8StreamText.TurnId.make(payload.turnId);
624
+ const itemId = require_collectUint8StreamText.ProviderItemId.make(payload.itemId);
625
625
  const decision = yield* effect.Deferred.make();
626
626
  yield* effect.Ref.update(pendingApprovalsRef, (current) => {
627
627
  const next = new Map(current);
@@ -662,9 +662,9 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
662
662
  }))) };
663
663
  }));
664
664
  yield* client.handleServerRequest("item/tool/requestUserInput", (payload) => effect.Effect.gen(function* () {
665
- const requestId = require_bin.ApprovalRequestId.make(yield* effect.Random.nextUUIDv4);
666
- const turnId = require_bin.TurnId.make(payload.turnId);
667
- const itemId = require_bin.ProviderItemId.make(payload.itemId);
665
+ const requestId = require_collectUint8StreamText.ApprovalRequestId.make(yield* effect.Random.nextUUIDv4);
666
+ const turnId = require_collectUint8StreamText.TurnId.make(payload.turnId);
667
+ const itemId = require_collectUint8StreamText.ProviderItemId.make(payload.itemId);
668
668
  const answers = yield* effect.Deferred.make();
669
669
  yield* effect.Ref.update(pendingUserInputsRef, (current) => {
670
670
  const next = new Map(current);
@@ -785,7 +785,7 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
785
785
  });
786
786
  const rawResponse = yield* client.raw.request("turn/start", params);
787
787
  const response = yield* effect.Schema.decodeUnknownEffect(require_bin.V2TurnStartResponse)(rawResponse).pipe(effect.Effect.mapError((error) => toProtocolParseError("Invalid turn/start response payload", error)));
788
- const turnId = require_bin.TurnId.make(response.turn.id);
788
+ const turnId = require_collectUint8StreamText.TurnId.make(response.turn.id);
789
789
  yield* updateSession(sessionRef, {
790
790
  status: "running",
791
791
  activeTurnId: turnId,
@@ -875,7 +875,6 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
875
875
  close
876
876
  };
877
877
  });
878
-
879
878
  //#endregion
880
879
  //#region src/provider/Layers/CodexAdapter.ts
881
880
  /**
@@ -887,7 +886,8 @@ const makeCodexSessionRuntime = (options) => effect.Effect.gen(function* () {
887
886
  *
888
887
  * @module CodexAdapterLive
889
888
  */
890
- const PROVIDER = require_bin.ProviderDriverKind.make("codex");
889
+ const PROVIDER = require_collectUint8StreamText.ProviderDriverKind.make("codex");
890
+ const PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES = 8 * require_collectUint8StreamText.PROVIDER_SEND_TURN_MAX_IMAGE_BYTES;
891
891
  function formatCodexRuntimeErrorDetail(error) {
892
892
  if (!(error.message.includes("Expected \"fast\" | \"flex\"") && error.message.includes("[\"serviceTier\"]"))) return error.message;
893
893
  return `${error.message}. This usually means the installed Codex CLI returned a newer service tier name than Ryco's generated app-server schema knows about. Rebuild effect-codex-app-server before rebuilding the server bundle.`;
@@ -910,7 +910,7 @@ function mapCodexRuntimeError(threadId, method, error) {
910
910
  cause: error
911
911
  });
912
912
  }
913
- const ApprovalDecisionPayload = effect.Schema.Struct({ decision: require_bin.ProviderApprovalDecision });
913
+ const ApprovalDecisionPayload = effect.Schema.Struct({ decision: require_collectUint8StreamText.ProviderApprovalDecision });
914
914
  function readPayload(schema, payload) {
915
915
  return effect.Schema.is(schema)(payload) ? payload : void 0;
916
916
  }
@@ -918,6 +918,10 @@ function trimText(value) {
918
918
  const trimmed = value?.trim();
919
919
  return trimmed && trimmed.length > 0 ? trimmed : void 0;
920
920
  }
921
+ function normalizeFileSizeBytes(size) {
922
+ if (typeof size === "bigint") return size > BigInt(Number.MAX_SAFE_INTEGER) ? Number.MAX_SAFE_INTEGER : Number(size);
923
+ return typeof size === "number" && Number.isFinite(size) ? size : 0;
924
+ }
921
925
  const FATAL_CODEX_STDERR_SNIPPETS = ["failed to connect to websocket"];
922
926
  function isFatalCodexProcessStderrMessage(message) {
923
927
  const normalized = message.toLowerCase();
@@ -1087,10 +1091,10 @@ function contentStreamKindFromMethod(method) {
1087
1091
  }
1088
1092
  }
1089
1093
  function asRuntimeItemId(itemId) {
1090
- return require_bin.RuntimeItemId.make(itemId);
1094
+ return require_collectUint8StreamText.RuntimeItemId.make(itemId);
1091
1095
  }
1092
1096
  function asRuntimeRequestId(requestId) {
1093
- return require_bin.RuntimeRequestId.make(requestId);
1097
+ return require_collectUint8StreamText.RuntimeRequestId.make(requestId);
1094
1098
  }
1095
1099
  function eventRawSource(event) {
1096
1100
  return event.kind === "request" ? "codex.app-server.request" : "codex.app-server.notification";
@@ -1653,10 +1657,10 @@ function mapToRuntimeEvents(event, canonicalThreadId) {
1653
1657
  * instances with different `homePath`s cannot step on each other.
1654
1658
  */
1655
1659
  const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexConfig, options) {
1656
- const boundInstanceId = options?.instanceId ?? require_bin.ProviderInstanceId.make("codex");
1660
+ const boundInstanceId = options?.instanceId ?? require_collectUint8StreamText.ProviderInstanceId.make("codex");
1657
1661
  const fileSystem = yield* effect.FileSystem.FileSystem;
1658
1662
  const childProcessSpawner = yield* effect_unstable_process.ChildProcessSpawner.ChildProcessSpawner;
1659
- const serverConfig = yield* effect.Effect.service(require_bin.ServerConfig);
1663
+ const serverConfig = yield* effect.Effect.service(require_Metrics.ServerConfig);
1660
1664
  const nativeEventLogger = options?.nativeEventLogger ?? (options?.nativeEventLogPath !== void 0 ? yield* require_bin.makeEventNdjsonLogger(options.nativeEventLogPath, { stream: "native" }) : void 0);
1661
1665
  const managedNativeEventLogger = options?.nativeEventLogger === void 0 ? nativeEventLogger : void 0;
1662
1666
  const runtimeEventQueue = yield* effect.Queue.unbounded();
@@ -1669,7 +1673,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
1669
1673
  });
1670
1674
  const existing = sessions.get(input.threadId);
1671
1675
  if (existing && !existing.stopped) yield* effect.Effect.suspend(() => stopSessionInternal(existing));
1672
- const tokenMode = input.tokenMode ?? require_bin.DEFAULT_AGENT_TOKEN_MODE;
1676
+ const tokenMode = input.tokenMode ?? "balanced";
1673
1677
  const tokenReductionInstructions = yield* readTokenReductionInstructions(tokenMode);
1674
1678
  const runtimeInput = {
1675
1679
  threadId: input.threadId,
@@ -1724,7 +1728,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
1724
1728
  sessionScopeTransferred = true;
1725
1729
  return started;
1726
1730
  }));
1727
- const resolveAttachment = effect.Effect.fn("resolveAttachment")(function* (input, attachment) {
1731
+ const resolveAttachmentForPreflight = effect.Effect.fn("resolveAttachmentForPreflight")(function* (attachment) {
1728
1732
  const attachmentPath = require_bin.resolveAttachmentPath({
1729
1733
  attachmentsDir: serverConfig.attachmentsDir,
1730
1734
  attachment
@@ -1734,7 +1738,68 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
1734
1738
  method: "turn/start",
1735
1739
  detail: `Invalid attachment id '${attachment.id}'.`
1736
1740
  });
1737
- const bytes = yield* fileSystem.readFile(attachmentPath).pipe(effect.Effect.mapError((cause) => new require_bin.ProviderAdapterRequestError({
1741
+ const fileInfo = yield* fileSystem.stat(attachmentPath).pipe(effect.Effect.mapError((cause) => new require_bin.ProviderAdapterRequestError({
1742
+ provider: PROVIDER,
1743
+ method: "turn/start",
1744
+ detail: `Failed to stat attachment file: ${cause.message}.`,
1745
+ cause
1746
+ })));
1747
+ if (fileInfo.type !== "File") return yield* new require_bin.ProviderAdapterRequestError({
1748
+ provider: PROVIDER,
1749
+ method: "turn/start",
1750
+ detail: `Attachment '${attachment.name}' is not a regular file.`
1751
+ });
1752
+ const sizeBytes = normalizeFileSizeBytes(fileInfo.size);
1753
+ if (sizeBytes <= 0) return yield* new require_bin.ProviderAdapterRequestError({
1754
+ provider: PROVIDER,
1755
+ method: "turn/start",
1756
+ detail: `Attachment '${attachment.name}' is empty.`
1757
+ });
1758
+ if (sizeBytes > 10485760) return yield* new require_bin.ProviderAdapterRequestError({
1759
+ provider: PROVIDER,
1760
+ method: "turn/start",
1761
+ detail: `Attachment '${attachment.name}' is ${sizeBytes} bytes; limit is ${require_collectUint8StreamText.PROVIDER_SEND_TURN_MAX_IMAGE_BYTES} bytes.`
1762
+ });
1763
+ return {
1764
+ attachment,
1765
+ path: attachmentPath,
1766
+ sizeBytes
1767
+ };
1768
+ });
1769
+ const preflightAttachments = effect.Effect.fn("preflightAttachments")(function* (input) {
1770
+ const attachments = input.attachments ?? [];
1771
+ if (attachments.length > 8) return yield* new require_bin.ProviderAdapterRequestError({
1772
+ provider: PROVIDER,
1773
+ method: "turn/start",
1774
+ detail: `Turn has ${attachments.length} attachments; limit is 8.`
1775
+ });
1776
+ const resolved = yield* effect.Effect.forEach(attachments, resolveAttachmentForPreflight, { concurrency: 1 });
1777
+ const totalBytes = resolved.reduce((total, entry) => total + entry.sizeBytes, 0);
1778
+ if (totalBytes > PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES) return yield* new require_bin.ProviderAdapterRequestError({
1779
+ provider: PROVIDER,
1780
+ method: "turn/start",
1781
+ detail: `Turn attachments total ${totalBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES} bytes.`
1782
+ });
1783
+ if (resolved.length > 0) {
1784
+ yield* effect.Effect.annotateCurrentSpan({
1785
+ "provider.attachment_count": resolved.length,
1786
+ "provider.attachment_total_bytes": totalBytes
1787
+ });
1788
+ yield* effect.Effect.logDebug("resolved Codex turn attachments", {
1789
+ threadId: input.threadId,
1790
+ attachmentCount: resolved.length,
1791
+ attachmentTotalBytes: totalBytes,
1792
+ attachmentBytes: resolved.map((entry) => ({
1793
+ id: entry.attachment.id,
1794
+ name: entry.attachment.name,
1795
+ sizeBytes: entry.sizeBytes
1796
+ }))
1797
+ });
1798
+ }
1799
+ return resolved;
1800
+ });
1801
+ const toCodexAttachment = effect.Effect.fn("toCodexAttachment")(function* (resolved) {
1802
+ const bytes = yield* fileSystem.readFile(resolved.path).pipe(effect.Effect.mapError((cause) => new require_bin.ProviderAdapterRequestError({
1738
1803
  provider: PROVIDER,
1739
1804
  method: "turn/start",
1740
1805
  detail: `Failed to read attachment file: ${cause.message}.`,
@@ -1742,11 +1807,12 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
1742
1807
  })));
1743
1808
  return {
1744
1809
  type: "image",
1745
- url: `data:${attachment.mimeType};base64,${Buffer.from(bytes).toString("base64")}`
1810
+ url: `data:${resolved.attachment.mimeType};base64,${Buffer.from(bytes).toString("base64")}`
1746
1811
  };
1747
1812
  });
1748
1813
  const sendTurn = effect.Effect.fn("sendTurn")(function* (input) {
1749
- const codexAttachments = yield* effect.Effect.forEach(input.attachments ?? [], (attachment) => resolveAttachment(input, attachment), { concurrency: 1 });
1814
+ const resolvedAttachments = yield* preflightAttachments(input);
1815
+ const codexAttachments = yield* effect.Effect.forEach(resolvedAttachments, toCodexAttachment, { concurrency: 1 });
1750
1816
  const session = yield* requireSession(input.threadId);
1751
1817
  const reasoningEffort = input.modelSelection?.instanceId === boundInstanceId ? require_bin.getModelSelectionStringOptionValue(input.modelSelection, "reasoningEffort") : void 0;
1752
1818
  const fastMode = input.modelSelection?.instanceId === boundInstanceId ? require_bin.getModelSelectionBooleanOptionValue(input.modelSelection, "fastMode") : void 0;
@@ -1831,7 +1897,6 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
1831
1897
  }
1832
1898
  };
1833
1899
  });
1834
-
1835
1900
  //#endregion
1836
1901
  //#region src/provider/Drivers/CodexDriver.ts
1837
1902
  /**
@@ -1857,7 +1922,7 @@ const makeCodexAdapter = effect.Effect.fn("makeCodexAdapter")(function* (codexCo
1857
1922
  *
1858
1923
  * @module provider/Drivers/CodexDriver
1859
1924
  */
1860
- const DRIVER_KIND = require_bin.ProviderDriverKind.make("codex");
1925
+ const DRIVER_KIND = require_collectUint8StreamText.ProviderDriverKind.make("codex");
1861
1926
  const UPDATE = require_bin.makePackageManagedProviderMaintenanceResolver({
1862
1927
  provider: DRIVER_KIND,
1863
1928
  npmPackageName: "@openai/codex",
@@ -1884,8 +1949,8 @@ const CodexDriver = {
1884
1949
  displayName: "Codex",
1885
1950
  supportsMultipleInstances: true
1886
1951
  },
1887
- configSchema: require_bin.CodexSettings,
1888
- defaultConfig: () => effect.Schema.decodeSync(require_bin.CodexSettings)({}),
1952
+ configSchema: require_collectUint8StreamText.CodexSettings,
1953
+ defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.CodexSettings)({}),
1889
1954
  create: ({ instanceId, displayName, accentColor, environment, enabled, config }) => effect.Effect.gen(function* () {
1890
1955
  const spawner = yield* effect_unstable_process.ChildProcessSpawner.ChildProcessSpawner;
1891
1956
  const httpClient = yield* effect_unstable_http.HttpClient.HttpClient;
@@ -1948,6 +2013,5 @@ const CodexDriver = {
1948
2013
  };
1949
2014
  })
1950
2015
  };
1951
-
1952
2016
  //#endregion
1953
- exports.CodexDriver = CodexDriver;
2017
+ exports.CodexDriver = CodexDriver;
@@ -1,15 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { $t as V2ThreadStatusChangedNotification, At as V2AccountUpdatedNotification, B as buildTokenReductionInstructions, Bn as ProviderDriverKind, Bt as V2McpToolCallProgressNotification, Ct as ServerRequest__DynamicToolCallParams, Dt as ToolRequestUserInputParams, Et as ServerRequest__ToolRequestUserInputParams, Ft as V2ErrorNotification, G as makePendingCodexProvider, Gn as RuntimeItemId, Gt as V2ServerRequestResolvedNotification, H as mergeProviderInstanceEnvironment, Hn as ApprovalRequestId, Ht as V2PlanDeltaNotification, It as V2FileChangeOutputDeltaNotification, Jt as V2ThreadRealtimeErrorNotification, Kn as RuntimeRequestId, Kt as V2ThreadNameUpdatedNotification, Lt as V2ItemCompletedNotification, M as enrichProviderSnapshotWithVersionAdvisory, Mn as DEFAULT_AGENT_TOKEN_MODE, Mt as V2CommandExecutionOutputDeltaNotification, Nn as ProviderApprovalDecision, Nt as V2ConfigWarningNotification, On as CodexSettings, Ot as ToolRequestUserInputResponse, P as makePackageManagedProviderMaintenanceResolver, Pt as V2DeprecationNoticeNotification, Qt as V2ThreadStartedNotification, R as resolveProviderMaintenanceCapabilitiesEffect, Rt as V2ItemStartedNotification, St as ServerRequest__CommandExecutionRequestApprovalParams, Tt as ServerRequest__FileChangeRequestApprovalParams, U as buildCodexInitializeParams, Un as EventId, Ut as V2ReasoningSummaryTextDeltaNotification, V as checkRtkAvailability, Vn as ProviderInstanceId, Vt as V2ModelReroutedNotification, W as checkCodexProviderStatus, Wn as ProviderItemId, Wt as V2ReasoningTextDeltaNotification, Xt as V2ThreadRealtimeOutputAudioDeltaNotification, Yn as TurnId, Yt as V2ThreadRealtimeItemAddedNotification, Zt as V2ThreadRealtimeStartedNotification, _t as CodexAppServerRequestError, an as V2TurnStartParams__CollaborationMode, at as ProviderAdapterSessionClosedError, bt as SERVER_NOTIFICATION_METHODS, cn as V2WindowsWorldWritableWarningNotification, ct as ProviderDriverError, dt as resolveCodexHomeLayout, en as V2ThreadTokenUsageUpdatedNotification, ft as expandHomePath, gt as CodexAppServerProtocolParseError, hn as ServerConfig, ht as CodexAppServerProcessExitedError, in as V2TurnStartParams, it as ProviderAdapterRequestError, jt as V2AgentMessageDeltaNotification, kt as V2AccountRateLimitsUpdatedNotification, lt as codexContinuationIdentity, m as makeEventNdjsonLogger, mt as layerChildProcess, nn as V2TurnDiffUpdatedNotification, on as V2TurnStartResponse, ot as ProviderAdapterSessionNotFoundError, p as ProviderEventLoggers, pn as resolveAttachmentPath, pt as CodexAppServerClient, qt as V2ThreadRealtimeClosedNotification, rn as V2TurnPlanUpdatedNotification, rt as ProviderAdapterProcessError, sn as V2WindowsSandboxSetupCompletedNotification, st as ProviderAdapterValidationError, tn as V2TurnCompletedNotification, ut as materializeCodexShadowHome, vn as getModelSelectionBooleanOptionValue, vt as CodexAppServerSpawnError, wn as normalizeModelSlug, wt as ServerRequest__ExecCommandApprovalParams, xt as ServerRequest__ApplyPatchApprovalParams, yn as getModelSelectionStringOptionValue, yt as CodexAppServerTransportError, zn as DEFAULT_MODEL, zt as V2McpServerOauthLoginCompletedNotification } from "./bin.mjs";
4
- import { t as makeManagedServerProvider } from "./makeManagedServerProvider-B3DH-AMf.mjs";
5
- import { t as formatSourceControlContextsForAgent } from "./sourceControlContextFormatter-DpXEEmAm.mjs";
6
- import { t as appendProjectCustomSystemPrompt } from "./ProjectCustomSystemPrompt-QmzOdzXf.mjs";
7
- import { t as makeCodexTextGeneration } from "./CodexTextGeneration-Bg0r8k7C.mjs";
8
- import { Deferred, Effect, Exit, Fiber, FileSystem, Layer, Path, Queue, Random, Ref, Schema, Scope, Stream } from "effect";
3
+ import { Fn as ProviderDriverKind, Gt as ProviderApprovalDecision, In as ProviderInstanceId, It as PROVIDER_SEND_TURN_MAX_IMAGE_BYTES, L as CodexSettings, Qn as ApprovalRequestId, _r as TurnId, ar as EventId, dr as ProviderItemId, fr as RuntimeItemId, pr as RuntimeRequestId } from "./collectUint8StreamText-Cgz3T1YG.mjs";
4
+ import { U as ServerConfig } from "./Metrics-BCOc3Ml2.mjs";
5
+ import { $ as ProviderAdapterSessionClosedError, $t as V2TurnStartParams__CollaborationMode, At as V2FileChangeOutputDeltaNotification, Bt as V2ThreadNameUpdatedNotification, Ct as V2AccountRateLimitsUpdatedNotification, Dt as V2ConfigWarningNotification, E as enrichProviderSnapshotWithVersionAdvisory, Et as V2CommandExecutionOutputDeltaNotification, F as checkRtkAvailability, Ft as V2ModelReroutedNotification, Gt as V2ThreadRealtimeStartedNotification, Ht as V2ThreadRealtimeErrorNotification, I as mergeProviderInstanceEnvironment, It as V2PlanDeltaNotification, Jt as V2ThreadTokenUsageUpdatedNotification, Kt as V2ThreadStartedNotification, L as buildCodexInitializeParams, Lt as V2ReasoningSummaryTextDeltaNotification, M as resolveProviderMaintenanceCapabilitiesEffect, Mt as V2ItemStartedNotification, Nt as V2McpServerOauthLoginCompletedNotification, O as makePackageManagedProviderMaintenanceResolver, Ot as V2DeprecationNoticeNotification, P as buildTokenReductionInstructions, Pt as V2McpToolCallProgressNotification, Q as ProviderAdapterRequestError, Qt as V2TurnStartParams, R as checkCodexProviderStatus, Rt as V2ReasoningTextDeltaNotification, St as ToolRequestUserInputResponse, Tt as V2AgentMessageDeltaNotification, Ut as V2ThreadRealtimeItemAddedNotification, Vt as V2ThreadRealtimeClosedNotification, Wt as V2ThreadRealtimeOutputAudioDeltaNotification, Xt as V2TurnDiffUpdatedNotification, Yt as V2TurnCompletedNotification, Z as ProviderAdapterProcessError, Zt as V2TurnPlanUpdatedNotification, _t as ServerRequest__DynamicToolCallParams, at as resolveCodexHomeLayout, bt as ServerRequest__ToolRequestUserInputParams, cn as getModelSelectionStringOptionValue, ct as layerChildProcess, dt as CodexAppServerRequestError, en as V2TurnStartResponse, et as ProviderAdapterSessionNotFoundError, ft as CodexAppServerSpawnError, gt as ServerRequest__CommandExecutionRequestApprovalParams, h as makeEventNdjsonLogger, ht as ServerRequest__ApplyPatchApprovalParams, it as materializeCodexShadowHome, jt as V2ItemCompletedNotification, kt as V2ErrorNotification, lt as CodexAppServerProcessExitedError, m as ProviderEventLoggers, mt as SERVER_NOTIFICATION_METHODS, nn as V2WindowsWorldWritableWarningNotification, nt as ProviderDriverError, ot as expandHomePath, pn as normalizeModelSlug, pt as CodexAppServerTransportError, qt as V2ThreadStatusChangedNotification, rn as resolveAttachmentPath, rt as codexContinuationIdentity, sn as getModelSelectionBooleanOptionValue, st as CodexAppServerClient, tn as V2WindowsSandboxSetupCompletedNotification, tt as ProviderAdapterValidationError, ut as CodexAppServerProtocolParseError, vt as ServerRequest__ExecCommandApprovalParams, wt as V2AccountUpdatedNotification, xt as ToolRequestUserInputParams, yt as ServerRequest__FileChangeRequestApprovalParams, z as makePendingCodexProvider, zt as V2ServerRequestResolvedNotification } from "./bin.mjs";
6
+ import { t as makeManagedServerProvider } from "./makeManagedServerProvider-D43I_B9P.mjs";
7
+ import { t as formatSourceControlContextsForAgent } from "./sourceControlContextFormatter-DEwpnVAH.mjs";
8
+ import { t as appendProjectCustomSystemPrompt } from "./ProjectCustomSystemPrompt-CS1nulhL.mjs";
9
+ import { t as makeCodexTextGeneration } from "./CodexTextGeneration-DV3LOkTX.mjs";
10
+ import { Deferred, Effect, Exit, Fiber, FileSystem, Layer, Queue, Random, Ref, Schema, Scope, Stream } from "effect";
9
11
  import { HttpClient } from "effect/unstable/http";
10
12
  import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
11
13
  import * as SchemaIssue$1 from "effect/SchemaIssue";
12
-
13
14
  //#region src/provider/CodexDeveloperInstructions.ts
14
15
  const CODEX_PLAN_MODE_DEVELOPER_INSTRUCTIONS = `<collaboration_mode># Plan Mode (Conversational)
15
16
 
@@ -144,12 +145,10 @@ The \`request_user_input\` tool is unavailable in Default mode. If you call it w
144
145
 
145
146
  In Default mode, strongly prefer making reasonable assumptions and executing the user's request rather than stopping to ask questions. If you absolutely must ask a question because the answer cannot be discovered from local context and a reasonable assumption would be risky, ask the user directly with a concise plain-text question. Never write a multiple choice question as a textual assistant message.
146
147
  </collaboration_mode>`;
147
-
148
148
  //#endregion
149
149
  //#region src/provider/Layers/CodexSessionRuntime.ts
150
150
  const PROVIDER$1 = ProviderDriverKind.make("codex");
151
- const ANSI_ESCAPE_CHAR = String.fromCharCode(27);
152
- const ANSI_ESCAPE_REGEX = new RegExp(`${ANSI_ESCAPE_CHAR}\\[[0-9;]*m`, "g");
151
+ const ANSI_ESCAPE_REGEX = new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`, "g");
153
152
  const CODEX_STDERR_LOG_REGEX = /^\d{4}-\d{2}-\d{2}T\S+\s+(TRACE|DEBUG|INFO|WARN|ERROR)\s+\S+:\s+(.*)$/;
154
153
  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"];
155
154
  const RECOVERABLE_THREAD_RESUME_ERROR_SNIPPETS = [
@@ -233,7 +232,7 @@ function runtimeModeToTurnSandboxPolicy(input) {
233
232
  }
234
233
  function buildCodexCollaborationMode(input) {
235
234
  if (input.interactionMode === void 0) return;
236
- const model = normalizeCodexModelSlug(input.model) ?? DEFAULT_MODEL;
235
+ const model = normalizeCodexModelSlug(input.model) ?? "gpt-5.4";
237
236
  const developerInstructions = appendProjectCustomSystemPrompt(appendProjectCustomSystemPrompt(input.interactionMode === "plan" ? CODEX_PLAN_MODE_DEVELOPER_INSTRUCTIONS : CODEX_DEFAULT_MODE_DEVELOPER_INSTRUCTIONS, input.tokenReductionInstructions), input.customSystemPrompt);
238
237
  return {
239
238
  mode: input.interactionMode,
@@ -874,7 +873,6 @@ const makeCodexSessionRuntime = (options) => Effect.gen(function* () {
874
873
  close
875
874
  };
876
875
  });
877
-
878
876
  //#endregion
879
877
  //#region src/provider/Layers/CodexAdapter.ts
880
878
  /**
@@ -887,6 +885,7 @@ const makeCodexSessionRuntime = (options) => Effect.gen(function* () {
887
885
  * @module CodexAdapterLive
888
886
  */
889
887
  const PROVIDER = ProviderDriverKind.make("codex");
888
+ const PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES = 8 * PROVIDER_SEND_TURN_MAX_IMAGE_BYTES;
890
889
  function formatCodexRuntimeErrorDetail(error) {
891
890
  if (!(error.message.includes("Expected \"fast\" | \"flex\"") && error.message.includes("[\"serviceTier\"]"))) return error.message;
892
891
  return `${error.message}. This usually means the installed Codex CLI returned a newer service tier name than Ryco's generated app-server schema knows about. Rebuild effect-codex-app-server before rebuilding the server bundle.`;
@@ -917,6 +916,10 @@ function trimText(value) {
917
916
  const trimmed = value?.trim();
918
917
  return trimmed && trimmed.length > 0 ? trimmed : void 0;
919
918
  }
919
+ function normalizeFileSizeBytes(size) {
920
+ if (typeof size === "bigint") return size > BigInt(Number.MAX_SAFE_INTEGER) ? Number.MAX_SAFE_INTEGER : Number(size);
921
+ return typeof size === "number" && Number.isFinite(size) ? size : 0;
922
+ }
920
923
  const FATAL_CODEX_STDERR_SNIPPETS = ["failed to connect to websocket"];
921
924
  function isFatalCodexProcessStderrMessage(message) {
922
925
  const normalized = message.toLowerCase();
@@ -1668,7 +1671,7 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
1668
1671
  });
1669
1672
  const existing = sessions.get(input.threadId);
1670
1673
  if (existing && !existing.stopped) yield* Effect.suspend(() => stopSessionInternal(existing));
1671
- const tokenMode = input.tokenMode ?? DEFAULT_AGENT_TOKEN_MODE;
1674
+ const tokenMode = input.tokenMode ?? "balanced";
1672
1675
  const tokenReductionInstructions = yield* readTokenReductionInstructions(tokenMode);
1673
1676
  const runtimeInput = {
1674
1677
  threadId: input.threadId,
@@ -1723,7 +1726,7 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
1723
1726
  sessionScopeTransferred = true;
1724
1727
  return started;
1725
1728
  }));
1726
- const resolveAttachment = Effect.fn("resolveAttachment")(function* (input, attachment) {
1729
+ const resolveAttachmentForPreflight = Effect.fn("resolveAttachmentForPreflight")(function* (attachment) {
1727
1730
  const attachmentPath = resolveAttachmentPath({
1728
1731
  attachmentsDir: serverConfig.attachmentsDir,
1729
1732
  attachment
@@ -1733,7 +1736,68 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
1733
1736
  method: "turn/start",
1734
1737
  detail: `Invalid attachment id '${attachment.id}'.`
1735
1738
  });
1736
- const bytes = yield* fileSystem.readFile(attachmentPath).pipe(Effect.mapError((cause) => new ProviderAdapterRequestError({
1739
+ const fileInfo = yield* fileSystem.stat(attachmentPath).pipe(Effect.mapError((cause) => new ProviderAdapterRequestError({
1740
+ provider: PROVIDER,
1741
+ method: "turn/start",
1742
+ detail: `Failed to stat attachment file: ${cause.message}.`,
1743
+ cause
1744
+ })));
1745
+ if (fileInfo.type !== "File") return yield* new ProviderAdapterRequestError({
1746
+ provider: PROVIDER,
1747
+ method: "turn/start",
1748
+ detail: `Attachment '${attachment.name}' is not a regular file.`
1749
+ });
1750
+ const sizeBytes = normalizeFileSizeBytes(fileInfo.size);
1751
+ if (sizeBytes <= 0) return yield* new ProviderAdapterRequestError({
1752
+ provider: PROVIDER,
1753
+ method: "turn/start",
1754
+ detail: `Attachment '${attachment.name}' is empty.`
1755
+ });
1756
+ if (sizeBytes > 10485760) return yield* new ProviderAdapterRequestError({
1757
+ provider: PROVIDER,
1758
+ method: "turn/start",
1759
+ detail: `Attachment '${attachment.name}' is ${sizeBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_IMAGE_BYTES} bytes.`
1760
+ });
1761
+ return {
1762
+ attachment,
1763
+ path: attachmentPath,
1764
+ sizeBytes
1765
+ };
1766
+ });
1767
+ const preflightAttachments = Effect.fn("preflightAttachments")(function* (input) {
1768
+ const attachments = input.attachments ?? [];
1769
+ if (attachments.length > 8) return yield* new ProviderAdapterRequestError({
1770
+ provider: PROVIDER,
1771
+ method: "turn/start",
1772
+ detail: `Turn has ${attachments.length} attachments; limit is 8.`
1773
+ });
1774
+ const resolved = yield* Effect.forEach(attachments, resolveAttachmentForPreflight, { concurrency: 1 });
1775
+ const totalBytes = resolved.reduce((total, entry) => total + entry.sizeBytes, 0);
1776
+ if (totalBytes > PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES) return yield* new ProviderAdapterRequestError({
1777
+ provider: PROVIDER,
1778
+ method: "turn/start",
1779
+ detail: `Turn attachments total ${totalBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES} bytes.`
1780
+ });
1781
+ if (resolved.length > 0) {
1782
+ yield* Effect.annotateCurrentSpan({
1783
+ "provider.attachment_count": resolved.length,
1784
+ "provider.attachment_total_bytes": totalBytes
1785
+ });
1786
+ yield* Effect.logDebug("resolved Codex turn attachments", {
1787
+ threadId: input.threadId,
1788
+ attachmentCount: resolved.length,
1789
+ attachmentTotalBytes: totalBytes,
1790
+ attachmentBytes: resolved.map((entry) => ({
1791
+ id: entry.attachment.id,
1792
+ name: entry.attachment.name,
1793
+ sizeBytes: entry.sizeBytes
1794
+ }))
1795
+ });
1796
+ }
1797
+ return resolved;
1798
+ });
1799
+ const toCodexAttachment = Effect.fn("toCodexAttachment")(function* (resolved) {
1800
+ const bytes = yield* fileSystem.readFile(resolved.path).pipe(Effect.mapError((cause) => new ProviderAdapterRequestError({
1737
1801
  provider: PROVIDER,
1738
1802
  method: "turn/start",
1739
1803
  detail: `Failed to read attachment file: ${cause.message}.`,
@@ -1741,11 +1805,12 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
1741
1805
  })));
1742
1806
  return {
1743
1807
  type: "image",
1744
- url: `data:${attachment.mimeType};base64,${Buffer.from(bytes).toString("base64")}`
1808
+ url: `data:${resolved.attachment.mimeType};base64,${Buffer.from(bytes).toString("base64")}`
1745
1809
  };
1746
1810
  });
1747
1811
  const sendTurn = Effect.fn("sendTurn")(function* (input) {
1748
- const codexAttachments = yield* Effect.forEach(input.attachments ?? [], (attachment) => resolveAttachment(input, attachment), { concurrency: 1 });
1812
+ const resolvedAttachments = yield* preflightAttachments(input);
1813
+ const codexAttachments = yield* Effect.forEach(resolvedAttachments, toCodexAttachment, { concurrency: 1 });
1749
1814
  const session = yield* requireSession(input.threadId);
1750
1815
  const reasoningEffort = input.modelSelection?.instanceId === boundInstanceId ? getModelSelectionStringOptionValue(input.modelSelection, "reasoningEffort") : void 0;
1751
1816
  const fastMode = input.modelSelection?.instanceId === boundInstanceId ? getModelSelectionBooleanOptionValue(input.modelSelection, "fastMode") : void 0;
@@ -1830,7 +1895,6 @@ const makeCodexAdapter = Effect.fn("makeCodexAdapter")(function* (codexConfig, o
1830
1895
  }
1831
1896
  };
1832
1897
  });
1833
-
1834
1898
  //#endregion
1835
1899
  //#region src/provider/Drivers/CodexDriver.ts
1836
1900
  /**
@@ -1947,6 +2011,5 @@ const CodexDriver = {
1947
2011
  };
1948
2012
  })
1949
2013
  };
1950
-
1951
2014
  //#endregion
1952
- export { CodexDriver };
2015
+ export { CodexDriver };