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,16 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Ha as ProviderInstanceId, Jo as RuntimeItemId, Pn as TextGenerationError, Va as ProviderDriverKind, Vo as EventId, Yo as RuntimeRequestId, Zo as RuntimeSubagentId, ar as OpenCodeSettings, bi as PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES, qo as ProviderItemId, ts as TurnId } from "./collectUint8StreamText-B3klZuIF.mjs";
3
+ import { $a as ProviderInstanceId, Ln as TextGenerationError, Qa as ProviderDriverKind, _s as TurnId, cr as OpenCodeSettings, ds as RuntimeRequestId, ki as PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES, ls as ProviderItemId, ps as RuntimeSubagentId, rs as EventId, us as RuntimeItemId } from "./collectUint8StreamText-C_VNyArd.mjs";
4
4
  import { nt as sanitizeFeatureBranchName, st as ServerConfig, tt as sanitizeBranchFragment } from "./Metrics-BP9YjxZB.mjs";
5
- import { $ as buildServerProvider, A as buildCommitMessagePrompt, B as sanitizeThreadTitle, Bn as resolveProviderMaintenanceCapabilitiesEffect, F as buildThreadTitlePrompt, Hn as ServerSettingsService, I as extractJsonObject, In as makePackageManagedProviderMaintenanceResolver, K as mergeProviderInstanceEnvironment, M as buildIssueContentTitlePrompt, N as buildPrContentPrompt, O as validateRankInboxThreadsResult, P as buildThreadPriorityPrompt, Pn as enrichProviderSnapshotWithVersionAdvisory, R as sanitizeCommitSubject, T as makeEventNdjsonLogger, Un as readPersistedAttachment, Vn as compareCliVersions, Yn as getModelSelectionStringOptionValue, _ as toOpenCodeQuestionAnswers, _t as ProviderAdapterValidationError, at as providerModelsFromSettings, c as OpenCodeRuntime, ct as agentControlHostContext, d as openCodeQuestionId, f as openCodeRuntimeErrorDetail, ft as createProcessDeviceToolBinding, g as toOpenCodePermissionReply, gt as ProviderAdapterSessionNotFoundError, h as toOpenCodeFileParts, ht as ProviderAdapterSessionClosedError, it as parseGenericCliVersion, j as buildIssueContentPolishPrompt, k as buildBranchNamePrompt, l as OpenCodeRuntimeError, m as runOpenCodeSdk, mt as ProviderAdapterRequestError, p as parseOpenCodeModelSlug, pt as ProviderAdapterProcessError, qn as createModelCapabilities, rt as nonEmptyTrimmed, s as MINIMUM_OPENCODE_VERSION, t as makeServerQueueMetrics, u as buildOpenCodePermissionRules, v as verifyOpenCodeServerVersion, vt as ProviderDriverError, w as ProviderEventLoggers, z as sanitizePrTitle, zn as normalizeCommandPath } from "./bin.mjs";
5
+ import { $ as mergeProviderInstanceEnvironment, $n as resolveAttachmentPath, B as buildPrContentPrompt, C as openCodeRuntimeErrorDetail, Ct as ProviderAdapterSessionNotFoundError, D as toOpenCodePermissionReply, E as toOpenCodeFileParts, F as validateRankInboxThreadsResult, G as sanitizeCommitSubject, H as buildThreadTitlePrompt, Hn as enrichProviderSnapshotWithVersionAdvisory, I as buildBranchNamePrompt, Jn as resolveProviderMaintenanceCapabilitiesEffect, K as sanitizePrTitle, L as buildCommitMessagePrompt, M as makeEventNdjsonLogger, O as toOpenCodeQuestionAnswers, Qn as readPersistedAttachment, R as buildIssueContentPolishPrompt, S as openCodeQuestionId, St as ProviderAdapterSessionClosedError, T as runOpenCodeSdk, Tt as ProviderDriverError, U as extractJsonObject, V as buildThreadPriorityPrompt, Wn as makePackageManagedProviderMaintenanceResolver, Xn as ServerSettingsService, Yn as compareCliVersions, _ as MINIMUM_OPENCODE_VERSION, b as buildOpenCodePermissionRules, bt as ProviderAdapterProcessError, dt as parseGenericCliVersion, ft as providerModelsFromSettings, ht as agentControlHostContext, ir as getModelSelectionStringOptionValue, j as ProviderEventLoggers, k as verifyOpenCodeServerVersion, nr as createModelCapabilities, ot as buildServerProvider, q as sanitizeThreadTitle, qn as normalizeCommandPath, t as makeServerQueueMetrics, ut as nonEmptyTrimmed, v as OpenCodeRuntime, w as parseOpenCodeModelSlug, wt as ProviderAdapterValidationError, x as isOpenCodeNativeAttachment, xt as ProviderAdapterRequestError, y as OpenCodeRuntimeError, yt as createProcessDeviceToolBinding, z as buildIssueContentTitlePrompt } 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
- import { n as requireRuntimeSessionId, r as stampRuntimeEvent, t as makeManagedServerProvider } from "./makeManagedServerProvider-CsaYHU8T.mjs";
8
8
  import { t as defaultProviderContinuationIdentity } from "./ProviderDriver-kCV60GKk.mjs";
9
9
  import { Cause, Data, Effect, Exit, Fiber, Queue, Ref, Schema, Scope, Semaphore, Stream } from "effect";
10
10
  import { HttpClient } from "effect/unstable/http";
11
+ import * as NodePath from "node:path";
12
+ import * as NodeOS from "node:os";
13
+ import * as NodeFS from "node:fs/promises";
11
14
  import "effect/unstable/process";
12
15
  import * as Semaphore$1 from "effect/Semaphore";
13
16
  //#region src/provider/OpenCodeServerOwner.ts
@@ -101,14 +104,26 @@ const makeOpenCodeTextGeneration = Effect.fn("makeOpenCodeTextGeneration")(funct
101
104
  operation: input.operation,
102
105
  detail: "OpenCode model selection must use the 'provider/model' format."
103
106
  });
104
- const declaredAttachmentBytes = (input.attachments ?? []).reduce((total, attachment) => total + attachment.sizeBytes, 0);
107
+ const declaredAttachmentBytes = (input.attachments ?? []).reduce((total, attachment) => total + (attachment.sizeBytes ?? 0), 0);
105
108
  if (declaredAttachmentBytes > 52428800) return yield* new TextGenerationError({
106
109
  operation: input.operation,
107
110
  detail: `Attachments total ${declaredAttachmentBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES} bytes.`
108
111
  });
109
112
  const attachmentUrlById = /* @__PURE__ */ new Map();
110
113
  let attachmentTotalBytes = 0;
114
+ const pathLineEntries = [];
111
115
  for (const attachment of input.attachments ?? []) {
116
+ if (!isOpenCodeNativeAttachment(attachment)) {
117
+ pathLineEntries.push({
118
+ attachment,
119
+ ...attachment.id === void 0 ? {} : { resolvedPath: resolveAttachmentPath({
120
+ attachmentsDir: serverConfig.attachmentsDir,
121
+ attachment
122
+ }) ?? void 0 }
123
+ });
124
+ continue;
125
+ }
126
+ if (attachment.id === void 0) continue;
112
127
  const persisted = readPersistedAttachment({
113
128
  attachmentsDir: serverConfig.attachmentsDir,
114
129
  attachment
@@ -126,8 +141,9 @@ const makeOpenCodeTextGeneration = Effect.fn("makeOpenCodeTextGeneration")(funct
126
141
  }
127
142
  const fileParts = toOpenCodeFileParts({
128
143
  attachments: input.attachments,
129
- resolveAttachmentUrl: (attachment) => attachmentUrlById.get(attachment.id) ?? null
144
+ resolveAttachmentUrl: (attachment) => attachment.id === void 0 ? null : attachmentUrlById.get(attachment.id) ?? null
130
145
  });
146
+ const finalPrompt = appendAttachmentPathLines(input.prompt, formatAttachmentPathLines(pathLineEntries)) ?? input.prompt;
131
147
  const runAgainstServer = (server) => Effect.gen(function* () {
132
148
  const client = yield* openCodeRuntime.createOpenCodeSdkClient({
133
149
  baseUrl: server.url,
@@ -163,7 +179,7 @@ const makeOpenCodeTextGeneration = Effect.fn("makeOpenCodeTextGeneration")(funct
163
179
  ...selectedVariant ? { variant: selectedVariant } : {},
164
180
  parts: [{
165
181
  type: "text",
166
- text: input.prompt
182
+ text: finalPrompt
167
183
  }, ...fileParts]
168
184
  });
169
185
  const info = result.data?.info;
@@ -461,6 +477,44 @@ function mapPermissionDecision(reply) {
461
477
  default: return "decline";
462
478
  }
463
479
  }
480
+ /**
481
+ * Maps an OpenCode assistant message's token snapshot into the shared usage
482
+ * shape. OpenCode reports no context window here, so `usedTokens` is the full
483
+ * bucket sum (input incl. cache + output + reasoning) — the same estimate
484
+ * other apps derive by summing buckets when the server reports no total.
485
+ * Reads defensively: older servers and partial event payloads may omit fields.
486
+ */
487
+ function threadTokenUsageFromOpenCodeTokens(tokens) {
488
+ if (typeof tokens !== "object" || tokens === null) return;
489
+ const record = tokens;
490
+ const nonNegative = (value) => typeof value === "number" && Number.isFinite(value) && value > 0 ? value : 0;
491
+ const inputTokens = nonNegative(record.input) + nonNegative(record.cache?.read) + nonNegative(record.cache?.write);
492
+ const outputTokens = nonNegative(record.output);
493
+ const reasoningTokens = nonNegative(record.reasoning);
494
+ const usedTokens = inputTokens + outputTokens + reasoningTokens;
495
+ if (usedTokens <= 0) return;
496
+ return {
497
+ usedTokens,
498
+ lastUsedTokens: usedTokens,
499
+ ...inputTokens > 0 ? { inputTokens } : {},
500
+ ...nonNegative(record.cache?.read) > 0 ? { cachedInputTokens: nonNegative(record.cache?.read) } : {},
501
+ ...outputTokens > 0 ? { outputTokens } : {},
502
+ ...reasoningTokens > 0 ? { reasoningOutputTokens: reasoningTokens } : {}
503
+ };
504
+ }
505
+ function planStepsFromOpenCodeTodos(todos) {
506
+ const steps = [];
507
+ for (const todo of todos) {
508
+ if (todo.status === "cancelled") continue;
509
+ const step = typeof todo.content === "string" ? todo.content.trim() : "";
510
+ if (!step) continue;
511
+ steps.push({
512
+ step,
513
+ status: todo.status === "completed" ? "completed" : todo.status === "in_progress" ? "inProgress" : "pending"
514
+ });
515
+ }
516
+ return steps;
517
+ }
464
518
  function resolveTurnSnapshot(context, turnId) {
465
519
  const existing = context.turns.find((turn) => turn.id === turnId);
466
520
  if (existing) return existing;
@@ -951,11 +1005,43 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
951
1005
  case "session.created":
952
1006
  yield* registerOpenCodeChildSession(context, event.properties.info, event);
953
1007
  break;
1008
+ case "todo.updated": {
1009
+ if (event.properties.sessionID !== context.openCodeSessionId) break;
1010
+ const plan = planStepsFromOpenCodeTodos(event.properties.todos);
1011
+ if (plan.length === 0) break;
1012
+ const fingerprint = JSON.stringify(plan);
1013
+ if (context.lastPlanFingerprint === fingerprint) break;
1014
+ context.lastPlanFingerprint = fingerprint;
1015
+ yield* emitForContext(context, {
1016
+ ...yield* buildEventBase({
1017
+ threadId: context.session.threadId,
1018
+ turnId,
1019
+ raw: event
1020
+ }),
1021
+ type: "turn.plan.updated",
1022
+ payload: { plan }
1023
+ });
1024
+ break;
1025
+ }
954
1026
  case "message.updated":
955
1027
  context.messageRoleById.set(scopedOpenCodeId(event.properties.sessionID, event.properties.info.id), event.properties.info.role);
956
- if (event.properties.info.role === "assistant") for (const part of context.partById.values()) {
957
- if (part.sessionID !== event.properties.sessionID || part.messageID !== event.properties.info.id) continue;
958
- yield* emitAssistantTextDelta(context, part, turnId, event);
1028
+ if (event.properties.info.role === "assistant") {
1029
+ if (event.properties.sessionID === context.openCodeSessionId) {
1030
+ const usage = threadTokenUsageFromOpenCodeTokens(event.properties.info.tokens);
1031
+ if (usage) yield* emitForContext(context, {
1032
+ ...yield* buildEventBase({
1033
+ threadId: context.session.threadId,
1034
+ turnId,
1035
+ raw: event
1036
+ }),
1037
+ type: "thread.token-usage.updated",
1038
+ payload: { usage }
1039
+ });
1040
+ }
1041
+ for (const part of context.partById.values()) {
1042
+ if (part.sessionID !== event.properties.sessionID || part.messageID !== event.properties.info.id) continue;
1043
+ yield* emitAssistantTextDelta(context, part, turnId, event);
1044
+ }
959
1045
  }
960
1046
  break;
961
1047
  case "message.removed":
@@ -1020,18 +1106,16 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
1020
1106
  const title = part.state.status === "running" ? part.state.title ?? part.tool : part.tool;
1021
1107
  const detail = detailFromToolPart(part);
1022
1108
  const childSubagent = context.subagentBySessionId.get(part.sessionID);
1023
- if (childSubagent) {
1024
- yield* emitOpenCodeSubagentUpdated(context, {
1025
- subagent: childSubagent,
1026
- status: statusFromOpenCodeSubagentState("running"),
1027
- summary: title,
1028
- detail,
1029
- raw: event
1030
- });
1031
- break;
1032
- }
1109
+ if (childSubagent) yield* emitOpenCodeSubagentUpdated(context, {
1110
+ subagent: childSubagent,
1111
+ status: statusFromOpenCodeSubagentState("running"),
1112
+ summary: title,
1113
+ detail,
1114
+ raw: event
1115
+ });
1033
1116
  const payload = {
1034
1117
  itemType,
1118
+ ...childSubagent ? { agentId: String(childSubagent.subagentId) } : {},
1035
1119
  ...part.state.status === "error" ? { status: "failed" } : part.state.status === "completed" ? { status: "completed" } : { status: "inProgress" },
1036
1120
  ...title ? { title } : {},
1037
1121
  ...detail ? { detail } : {},
@@ -1051,7 +1135,7 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
1051
1135
  type: part.state.status === "pending" ? "item.started" : part.state.status === "completed" || part.state.status === "error" ? "item.completed" : "item.updated",
1052
1136
  payload
1053
1137
  };
1054
- appendTurnItem(context, turnId, part);
1138
+ if (!childSubagent) appendTurnItem(context, turnId, part);
1055
1139
  yield* emitForContext(context, runtimeEvent);
1056
1140
  }
1057
1141
  break;
@@ -1074,7 +1158,8 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
1074
1158
  }
1075
1159
  });
1076
1160
  break;
1077
- case "permission.replied":
1161
+ case "permission.replied": {
1162
+ const permissionRequest = context.pendingPermissions.get(event.properties.requestID);
1078
1163
  context.resolvedRequestIds.add(event.properties.requestID);
1079
1164
  context.pendingPermissions.delete(event.properties.requestID);
1080
1165
  yield* emitForContext(context, {
@@ -1086,11 +1171,12 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
1086
1171
  }),
1087
1172
  type: "request.resolved",
1088
1173
  payload: {
1089
- requestType: "unknown",
1174
+ requestType: permissionRequest ? mapPermissionToRequestType(permissionRequest.permission) : "unknown",
1090
1175
  decision: mapPermissionDecision(event.properties.reply)
1091
1176
  }
1092
1177
  });
1093
1178
  break;
1179
+ }
1094
1180
  case "question.asked":
1095
1181
  if (context.resolvedRequestIds.has(event.properties.id) || context.pendingQuestions.has(event.properties.id)) break;
1096
1182
  context.pendingQuestions.set(event.properties.id, event.properties);
@@ -1155,26 +1241,34 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
1155
1241
  });
1156
1242
  break;
1157
1243
  }
1158
- if (event.properties.status.type === "busy") updateProviderSession(context, {
1159
- status: "running",
1160
- activeTurnId: turnId
1161
- });
1162
- if (event.properties.status.type === "retry") {
1163
- yield* emitForContext(context, {
1164
- ...yield* buildEventBase({
1165
- threadId: context.session.threadId,
1166
- turnId,
1167
- raw: event
1168
- }),
1169
- type: "runtime.warning",
1170
- payload: {
1171
- message: event.properties.status.message,
1172
- detail: event.properties.status
1173
- }
1244
+ if (event.properties.status.type === "busy") {
1245
+ context.lastRetryKey = void 0;
1246
+ updateProviderSession(context, {
1247
+ status: "running",
1248
+ activeTurnId: turnId
1174
1249
  });
1250
+ }
1251
+ if (event.properties.status.type === "retry") {
1252
+ const retryKey = `${event.properties.status.attempt}:${event.properties.status.message}`;
1253
+ if (context.lastRetryKey !== retryKey) {
1254
+ context.lastRetryKey = retryKey;
1255
+ yield* emitForContext(context, {
1256
+ ...yield* buildEventBase({
1257
+ threadId: context.session.threadId,
1258
+ turnId,
1259
+ raw: event
1260
+ }),
1261
+ type: "runtime.warning",
1262
+ payload: {
1263
+ message: event.properties.status.message,
1264
+ detail: event.properties.status
1265
+ }
1266
+ });
1267
+ }
1175
1268
  break;
1176
1269
  }
1177
1270
  if (event.properties.status.type === "idle" && turnId) {
1271
+ context.lastRetryKey = void 0;
1178
1272
  if (context.pendingPrompt?.turnId === turnId) {
1179
1273
  context.pendingPrompt.idleEvent = event;
1180
1274
  break;
@@ -1410,6 +1504,8 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
1410
1504
  activeTurnId: void 0,
1411
1505
  activeAgent: void 0,
1412
1506
  activeVariant: void 0,
1507
+ lastPlanFingerprint: void 0,
1508
+ lastRetryKey: void 0,
1413
1509
  promptSemaphore: yield* Semaphore.make(1),
1414
1510
  pendingPrompt: void 0,
1415
1511
  promptGeneration: 0,
@@ -1462,14 +1558,25 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
1462
1558
  const formatted = formatSourceControlContextsForAgent(input.sourceControlContexts ?? []);
1463
1559
  let text = formatted ? formatted + "\n\n" + (input.input?.trim() ?? "") : input.input?.trim();
1464
1560
  const attachmentUrlById = /* @__PURE__ */ new Map();
1465
- const declaredAttachmentBytes = (input.attachments ?? []).reduce((total, attachment) => total + attachment.sizeBytes, 0);
1561
+ const declaredAttachmentBytes = (input.attachments ?? []).reduce((total, attachment) => total + (attachment.sizeBytes ?? 0), 0);
1466
1562
  if (declaredAttachmentBytes > 52428800) return yield* new ProviderAdapterRequestError({
1467
1563
  provider: PROVIDER$1,
1468
1564
  method: "session.prompt",
1469
1565
  detail: `Attachments total ${declaredAttachmentBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES} bytes.`
1470
1566
  });
1471
1567
  let attachmentTotalBytes = 0;
1568
+ const pathLineEntries = [];
1472
1569
  for (const attachment of input.attachments ?? []) {
1570
+ if (!isOpenCodeNativeAttachment(attachment)) {
1571
+ pathLineEntries.push({
1572
+ attachment,
1573
+ ...attachment.id === void 0 ? {} : { resolvedPath: resolveAttachmentPath({
1574
+ attachmentsDir: serverConfig.attachmentsDir,
1575
+ attachment
1576
+ }) ?? void 0 }
1577
+ });
1578
+ continue;
1579
+ }
1473
1580
  const persisted = readPersistedAttachment({
1474
1581
  attachmentsDir: serverConfig.attachmentsDir,
1475
1582
  attachment
@@ -1487,9 +1594,10 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
1487
1594
  detail: `Attachments total ${attachmentTotalBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES} bytes.`
1488
1595
  });
1489
1596
  }
1597
+ text = appendAttachmentPathLines(text, formatAttachmentPathLines(pathLineEntries));
1490
1598
  const fileParts = toOpenCodeFileParts({
1491
1599
  attachments: input.attachments,
1492
- resolveAttachmentUrl: (attachment) => attachmentUrlById.get(attachment.id) ?? null
1600
+ resolveAttachmentUrl: (attachment) => attachment.id === void 0 ? null : attachmentUrlById.get(attachment.id) ?? null
1493
1601
  });
1494
1602
  if ((!text || text.length === 0) && fileParts.length === 0) return yield* new ProviderAdapterValidationError({
1495
1603
  provider: PROVIDER$1,
@@ -1719,6 +1827,91 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
1719
1827
  });
1720
1828
  }
1721
1829
  //#endregion
1830
+ //#region src/provider/Layers/OpenCodeGoUsage.ts
1831
+ /**
1832
+ * OpenCodeGoUsage — probes OpenCode Go subscription usage limits.
1833
+ *
1834
+ * Mirrors `ClaudeUsage.ts`: reads the OpenCode CLI's credential store
1835
+ * (`<data dir>/auth.json`), calls the Go usage API with the stored
1836
+ * `opencode-go` API key, and maps the response onto the shared
1837
+ * `ServerProviderRateLimits` contract (rolling → primary, weekly →
1838
+ * secondary, monthly → tertiary).
1839
+ *
1840
+ * Every failure path degrades to `undefined` — a missing Go key or an
1841
+ * unreachable API must never make the provider snapshot probe fail.
1842
+ *
1843
+ * @module provider/Layers/OpenCodeGoUsage
1844
+ */
1845
+ const OPENCODE_GO_USAGE_API = "https://opencode.ai/zen/go/v1/usage";
1846
+ const OPENCODE_GO_USAGE_TIMEOUT_MS = 5e3;
1847
+ const ROLLING_WINDOW_DURATION_MINS = 300;
1848
+ const WEEKLY_WINDOW_DURATION_MINS = 10080;
1849
+ const MONTHLY_WINDOW_DURATION_MINS = 43200;
1850
+ function resolveOpenCodeDataDirPath(environment = process.env) {
1851
+ const xdgDataHome = environment.XDG_DATA_HOME?.trim();
1852
+ const home = environment.HOME?.trim() || NodeOS.homedir();
1853
+ const base = xdgDataHome && xdgDataHome.length > 0 ? xdgDataHome : NodePath.join(home, ".local", "share");
1854
+ return NodePath.join(base, "opencode");
1855
+ }
1856
+ async function readOpenCodeGoApiKey(environment) {
1857
+ try {
1858
+ const authPath = NodePath.join(resolveOpenCodeDataDirPath(environment), "auth.json");
1859
+ const key = JSON.parse(await NodeFS.readFile(authPath, "utf8"))["opencode-go"]?.key;
1860
+ if (typeof key !== "string" || key.trim().length === 0) return;
1861
+ return key.trim();
1862
+ } catch {
1863
+ return;
1864
+ }
1865
+ }
1866
+ function parseOpenCodeGoUsageRateLimits(data) {
1867
+ const windows = data?.usage;
1868
+ if (!windows || typeof windows !== "object") return;
1869
+ const buildWindow = (raw, windowDurationMins) => {
1870
+ if (!raw || typeof raw !== "object" || typeof raw.percent !== "number") return;
1871
+ if (!Number.isFinite(raw.percent)) return;
1872
+ const resetsAt = typeof raw.resetsAt === "string" ? Date.parse(raw.resetsAt) : NaN;
1873
+ return {
1874
+ usedPercent: raw.percent,
1875
+ windowDurationMins,
1876
+ ...Number.isFinite(resetsAt) ? { resetsAt: Math.floor(resetsAt / 1e3) } : {}
1877
+ };
1878
+ };
1879
+ const primary = buildWindow(windows.rolling, ROLLING_WINDOW_DURATION_MINS);
1880
+ const secondary = buildWindow(windows.weekly, WEEKLY_WINDOW_DURATION_MINS);
1881
+ const tertiary = buildWindow(windows.monthly, MONTHLY_WINDOW_DURATION_MINS);
1882
+ if (!primary && !secondary && !tertiary) return;
1883
+ return {
1884
+ limitId: "opencode-go",
1885
+ limitName: "OpenCode Go",
1886
+ planType: "go",
1887
+ ...primary ? { primary } : {},
1888
+ ...secondary ? { secondary } : {},
1889
+ ...tertiary ? { tertiary } : {}
1890
+ };
1891
+ }
1892
+ async function fetchOpenCodeGoUsageRateLimits(input) {
1893
+ const apiKey = await readOpenCodeGoApiKey(input.environment);
1894
+ if (!apiKey) return;
1895
+ const response = await input.fetchImpl(OPENCODE_GO_USAGE_API, {
1896
+ headers: {
1897
+ Authorization: `Bearer ${apiKey}`,
1898
+ Accept: "application/json"
1899
+ },
1900
+ signal: AbortSignal.timeout(OPENCODE_GO_USAGE_TIMEOUT_MS)
1901
+ });
1902
+ if (!response.ok) return;
1903
+ return parseOpenCodeGoUsageRateLimits(await response.json());
1904
+ }
1905
+ const probeOpenCodeGoUsageRateLimits = Effect.fn("probeOpenCodeGoUsageRateLimits")(function* (environment = process.env, fetchImpl = fetch) {
1906
+ return yield* Effect.tryPromise({
1907
+ try: () => fetchOpenCodeGoUsageRateLimits({
1908
+ environment,
1909
+ fetchImpl
1910
+ }),
1911
+ catch: () => void 0
1912
+ }).pipe(Effect.orElseSucceed(() => void 0));
1913
+ });
1914
+ //#endregion
1722
1915
  //#region src/provider/Layers/OpenCodeProvider.ts
1723
1916
  const PROVIDER = ProviderDriverKind.make("opencode");
1724
1917
  const OPENCODE_PRESENTATION = {
@@ -1829,6 +2022,7 @@ function flattenOpenCodeModels(input) {
1829
2022
  if (!modelId || !name) continue;
1830
2023
  const subProvider = nonEmptyTrimmed(provider.name);
1831
2024
  const shortName = subProvider ? deriveShortNameByStrippingPrefix(name, subProvider) : void 0;
2025
+ const maxContextTokens = model.limit?.context;
1832
2026
  const slug = `${provider.id}/${modelId}`;
1833
2027
  if (models.has(slug)) continue;
1834
2028
  models.set(slug, {
@@ -1836,6 +2030,7 @@ function flattenOpenCodeModels(input) {
1836
2030
  name,
1837
2031
  ...subProvider ? { subProvider } : {},
1838
2032
  ...shortName ? { shortName } : {},
2033
+ ...typeof maxContextTokens === "number" && Number.isFinite(maxContextTokens) && maxContextTokens > 0 ? { maxContextTokens: Math.floor(maxContextTokens) } : {},
1839
2034
  isCustom: false,
1840
2035
  capabilities: openCodeCapabilitiesForModel({
1841
2036
  providerID: provider.id,
@@ -1889,7 +2084,7 @@ const makePendingOpenCodeProvider = (openCodeSettings) => {
1889
2084
  }
1890
2085
  });
1891
2086
  };
1892
- const checkOpenCodeProviderStatus = Effect.fn("checkOpenCodeProviderStatus")(function* (openCodeSettings, cwd, environment = process.env) {
2087
+ const checkOpenCodeProviderStatus = Effect.fn("checkOpenCodeProviderStatus")(function* (openCodeSettings, cwd, environment = process.env, probeUsage = probeOpenCodeGoUsageRateLimits) {
1893
2088
  const openCodeRuntime = yield* OpenCodeRuntime;
1894
2089
  const checkedAt = (/* @__PURE__ */ new Date()).toISOString();
1895
2090
  const customModels = openCodeSettings.customModels;
@@ -1988,11 +2183,13 @@ const checkOpenCodeProviderStatus = Effect.fn("checkOpenCodeProviderStatus")(fun
1988
2183
  version = inventoryExit.value.serverVersion;
1989
2184
  const models = providerModelsFromSettings(flattenOpenCodeModels(inventoryExit.value.inventory), PROVIDER, customModels, DEFAULT_OPENCODE_MODEL_CAPABILITIES);
1990
2185
  const connectedCount = new Set(inventoryExit.value.inventory.providerList.connected).size;
2186
+ const rateLimits = yield* probeUsage(environment).pipe(Effect.orElseSucceed(() => void 0));
1991
2187
  return buildServerProvider({
1992
2188
  presentation: OPENCODE_PRESENTATION,
1993
2189
  enabled: true,
1994
2190
  checkedAt,
1995
2191
  models,
2192
+ ...rateLimits ? { rateLimits } : {},
1996
2193
  probe: {
1997
2194
  installed: true,
1998
2195
  version,
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Aa as VcsProcessTimeoutError, Da as VcsOutputDecodeError, Oa as VcsProcessExitError, ka as VcsProcessSpawnError, t as collectUint8StreamText } from "./collectUint8StreamText-B3klZuIF.mjs";
3
+ import { Ba as VcsProcessSpawnError, Ra as VcsOutputDecodeError, Va as VcsProcessTimeoutError, t as collectUint8StreamText, za as VcsProcessExitError } from "./collectUint8StreamText-C_VNyArd.mjs";
4
4
  import { Context, Duration, Effect, Layer, Option, Schema, Sink, Stream } from "effect";
5
5
  import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
6
6
  //#region src/vcs/VcsProcess.ts
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_collectUint8StreamText = require("./collectUint8StreamText-CDu-bszH.cjs");
3
+ const require_collectUint8StreamText = require("./collectUint8StreamText-DStwNTTK.cjs");
4
4
  let effect = require("effect");
5
5
  let effect_unstable_process = require("effect/unstable/process");
6
6
  //#region src/vcs/VcsProcess.ts