ryco-cli 0.1.21 → 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-D54V5cIY.cjs → AcpNativeLogging-COepku4a.cjs} +78 -7
  2. package/dist/{AcpNativeLogging-Ch-s9nA8.mjs → AcpNativeLogging-D7e1dn7s.mjs} +74 -9
  3. package/dist/{AzureDevOpsSourceControlProvider-DTOlXGyd.mjs → AzureDevOpsSourceControlProvider-BNGEg1R8.mjs} +3 -3
  4. package/dist/{AzureDevOpsSourceControlProvider-BzB5-N9m.cjs → AzureDevOpsSourceControlProvider-CrvgKNf2.cjs} +2 -2
  5. package/dist/{BitbucketSourceControlProvider-DGd4IPx5.mjs → BitbucketSourceControlProvider-Bt21jw68.mjs} +3 -3
  6. package/dist/{BitbucketSourceControlProvider-D-8PWXO3.cjs → BitbucketSourceControlProvider-BzhsQwH-.cjs} +2 -2
  7. package/dist/{BunPTY-CNvWSzEJ.mjs → BunPTY-TbHbSc8S.mjs} +1 -1
  8. package/dist/{ClaudeDriver-DxowtK6I.mjs → ClaudeDriver-D65SPdHR.mjs} +44 -119
  9. package/dist/{ClaudeDriver-HEbUzW34.cjs → ClaudeDriver-D7NatUx6.cjs} +52 -127
  10. package/dist/{CodexDriver-CccSWoP3.mjs → CodexDriver-D4z5-wUD.mjs} +237 -50
  11. package/dist/{CodexDriver-YG4IwzLm.cjs → CodexDriver-DWGtHt9r.cjs} +235 -48
  12. package/dist/{CodexTextGeneration-CBJHkgOz.cjs → CodexTextGeneration-B4tJTUDo.cjs} +1 -1
  13. package/dist/{CodexTextGeneration-BfGt7ZUe.mjs → CodexTextGeneration-BikHow8k.mjs} +2 -2
  14. package/dist/{CopilotDriver-Bm4OZMkm.cjs → CopilotDriver-DJvYncGI.cjs} +122 -23
  15. package/dist/{CopilotDriver-DZAW-7yV.mjs → CopilotDriver-ZvvsAIkd.mjs} +123 -24
  16. package/dist/{CursorDriver-B4jb4rWd.mjs → CursorDriver-B1QSBzuH.mjs} +34 -74
  17. package/dist/{CursorDriver-CYcKAkUY.cjs → CursorDriver-D3I4KULs.cjs} +33 -73
  18. package/dist/{ForgejoSourceControlProvider-Dfi8KH7I.mjs → ForgejoSourceControlProvider-BGXysSX6.mjs} +3 -3
  19. package/dist/{ForgejoSourceControlProvider-CXUevO6C.cjs → ForgejoSourceControlProvider-Dh6DOoc8.cjs} +2 -2
  20. package/dist/{GitHubSourceControlProvider-DOs1ouvp.cjs → GitHubSourceControlProvider-8hsv_kCE.cjs} +2 -2
  21. package/dist/{GitHubSourceControlProvider-BH97aNa0.mjs → GitHubSourceControlProvider-CPCYV8Xo.mjs} +3 -3
  22. package/dist/{GitLabSourceControlProvider-CfbE6GYD.cjs → GitLabSourceControlProvider-B0ZbF9Zx.cjs} +2 -2
  23. package/dist/{GitLabSourceControlProvider-nIzcy9AJ.mjs → GitLabSourceControlProvider-Bvknpaon.mjs} +3 -3
  24. package/dist/{GrokDriver-CENrrqQc.mjs → GrokDriver-DgQe3pKz.mjs} +30 -10
  25. package/dist/{GrokDriver-C35gWEiw.cjs → GrokDriver-_puXDTU3.cjs} +31 -11
  26. package/dist/{NodePTY-lO8PwZLk.mjs → NodePTY-B_p5tLYO.mjs} +1 -1
  27. package/dist/{OpenCodeDriver-CHuQ6Xhc.cjs → OpenCodeDriver-401RexI0.cjs} +137 -19
  28. package/dist/{OpenCodeDriver-BIxSPI9J.mjs → OpenCodeDriver-DNUlF8M-.mjs} +135 -20
  29. package/dist/{SourceControlProviderDiscoveryCatalog-DaRgCE5d.mjs → SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs} +1 -1
  30. package/dist/{SourceControlProviderDiscoveryCatalog-DCmYsPEa.cjs → SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs} +1 -1
  31. package/dist/bin.cjs +4508 -613
  32. package/dist/bin.mjs +4499 -615
  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-TXvkTDG8.js → ExternalIdentityWeb.logic-CGJKCFPo.js} +1 -1
  56. package/dist/client/assets/{GlassSurface-k7VAG7Dp.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-Cpzyop0g.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-BWOy8LJG.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-ro03rSMk.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-CBbr_lPX.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-DUe5V2Mj.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-BdUaa4U1.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-CQJvt69U.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-DCgzArdM.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-B7pkMeOn.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-B1VrUJXw.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-C7IGaRXO.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-WiaEF1ae.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-Bxew8m4Q.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-Cgjn5Y-7.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-BPNtoDXL.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-BQkcb-1_.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-D8TBiBWk.mjs → collectUint8StreamText-C_VNyArd.mjs} +614 -20
  254. package/dist/{collectUint8StreamText-C5fop6Zf.cjs → collectUint8StreamText-DStwNTTK.cjs} +679 -19
  255. package/dist/{makeManagedServerProvider-DRlNwlhe.mjs → makeManagedServerProvider-GZcpSLrW.mjs} +22 -3
  256. package/dist/{makeManagedServerProvider-BytnBN6b.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--RGb4Xyh.js +0 -1
  274. package/dist/client/assets/AiFocusSettings-BnGcbAMj.js +0 -1
  275. package/dist/client/assets/AnimatedHeight-xBldRJT_.js +0 -1
  276. package/dist/client/assets/AppearanceSettings-BZRfC5N0.js +0 -1
  277. package/dist/client/assets/BranchToolbar.logic-CGpYXkLE.js +0 -1
  278. package/dist/client/assets/ChatRightPanel-BlooofmF.js +0 -27
  279. package/dist/client/assets/ChatThreadRouteView-B28bv4Zt.js +0 -1
  280. package/dist/client/assets/CommandPaletteDialog-hNEraTe2.js +0 -1
  281. package/dist/client/assets/CompositeItem-CKY4wPzb.js +0 -1
  282. package/dist/client/assets/CompositeRoot-Ds7U4w5S.js +0 -1
  283. package/dist/client/assets/ConnectionsSettings-C4VqR67L.js +0 -7
  284. package/dist/client/assets/DiagnosticsSettings-ByZ42-mW.js +0 -2
  285. package/dist/client/assets/DialogHandle-BdmgCiER.js +0 -1
  286. package/dist/client/assets/DialogPopup-D6m8w7-0.js +0 -1
  287. package/dist/client/assets/DialogRoot-BnE2_J9j.js +0 -1
  288. package/dist/client/assets/DialogTitle-DFkPQ5wa.js +0 -1
  289. package/dist/client/assets/DialogTrigger-CTCt2xVs.js +0 -1
  290. package/dist/client/assets/DialogViewport-OqbNjTEg.js +0 -1
  291. package/dist/client/assets/DraftChatThreadRouteView-B_4VVh8J.js +0 -1
  292. package/dist/client/assets/HostedConnectionControls-D0YyFVVm.js +0 -1
  293. package/dist/client/assets/HostedHubRoot-gr9o6h-w.js +0 -1
  294. package/dist/client/assets/HostedNativeAuthorizationRoute-DQy7gPHg.js +0 -1
  295. package/dist/client/assets/HostedRelayTrustNotice-DtiCe1oF.js +0 -1
  296. package/dist/client/assets/Icons-BHigZ6eO.js +0 -1
  297. package/dist/client/assets/IntegrationsSettingsPanel-RgmTIo_4.js +0 -1
  298. package/dist/client/assets/KeybindingsSettings-2J94301x.js +0 -7
  299. package/dist/client/assets/MobileSheet-5RNq1fWV.js +0 -1
  300. package/dist/client/assets/NewWorktreeDialog-BE_53fbt.js +0 -4
  301. package/dist/client/assets/NoActiveThreadState-Cpar0wiW.js +0 -1
  302. package/dist/client/assets/NodeSecuritySettings-BpZYwf5z.js +0 -1
  303. package/dist/client/assets/OpinionatedPluginsSettings-CLbbw_K_.js +0 -1
  304. package/dist/client/assets/PhoneGetAppInterstitial-G1mx30Rm.js +0 -1
  305. package/dist/client/assets/PhoneGetAppInterstitialBackdrop-nfP93au3.js +0 -1
  306. package/dist/client/assets/PhoneHome-D24dskaK.js +0 -1
  307. package/dist/client/assets/PhoneSettingsSurface-DU6QcRMa.js +0 -1
  308. package/dist/client/assets/ProjectFavicon-DiAvCEOv.js +0 -1
  309. package/dist/client/assets/ProviderModelPicker-KKoDIb0I.js +0 -1
  310. package/dist/client/assets/ProvidersSettingsPanel-Cotp9jkx.js +0 -1
  311. package/dist/client/assets/RedactedSensitiveText-Bijn-7t0.js +0 -1
  312. package/dist/client/assets/RootAppShell-BPFAVRor.js +0 -6
  313. package/dist/client/assets/RycoLetterMark-DDqdXSCR.js +0 -1
  314. package/dist/client/assets/SettingsDialog-C1pQqIpt.js +0 -1
  315. package/dist/client/assets/SettingsPanels-_z4Xw8vV.js +0 -3
  316. package/dist/client/assets/SettingsPanels.editor-CFrJ6eJl.js +0 -1
  317. package/dist/client/assets/SourceControlSettings-aZXtdyQJ.js +0 -1
  318. package/dist/client/assets/StatisticsPage-DLxnsLkl.js +0 -1
  319. package/dist/client/assets/StatisticsPanel-CZng52aF.js +0 -1
  320. package/dist/client/assets/StatisticsSettingsLink-BswiD6v1.js +0 -1
  321. package/dist/client/assets/ThreadStatusIndicators-Dg7ByO0t.js +0 -0
  322. package/dist/client/assets/ThreadWorkspacePanel-j_muuK0U.js +0 -2009
  323. package/dist/client/assets/ToolbarRootContext-gBA5VTsh.js +0 -1
  324. package/dist/client/assets/alert-DM55UBFJ.js +0 -1
  325. package/dist/client/assets/alert-dialog-t0tth9lg.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-jiPI8hG1.js +0 -1
  329. package/dist/client/assets/branding-31Bj-8ZC.js +0 -1
  330. package/dist/client/assets/capabilities-DQDkV1US.js +0 -1
  331. package/dist/client/assets/chatThreadActions-3VwZmcuQ.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-BmAgbTeN.js +0 -1
  336. package/dist/client/assets/command-8YtR6jmS.js +0 -1
  337. package/dist/client/assets/composerDraftStore-Bz5WIZBE.js +0 -11
  338. package/dist/client/assets/data-list-D7UF_rKC.js +0 -1
  339. package/dist/client/assets/desktopUpdateAtoms-D_GMRE2r.js +0 -1
  340. package/dist/client/assets/desktopWorkspace-Dg6EeBlb.js +0 -1
  341. package/dist/client/assets/device-DlExHdp_.js +0 -168
  342. package/dist/client/assets/dialog-B0sUgnpe.js +0 -1
  343. package/dist/client/assets/draft-input-CljKajxE.js +0 -1
  344. package/dist/client/assets/editorPreferences-B3qgjPa6.js +0 -1
  345. package/dist/client/assets/empty-D5W-VFFg.js +0 -1
  346. package/dist/client/assets/env-3rzMJf1D.js +0 -1
  347. package/dist/client/assets/folder-open-GqwNTbSV.js +0 -1
  348. package/dist/client/assets/getPseudoElementBounds-BAmGtfzA.js +0 -1
  349. package/dist/client/assets/group-BQB2fHcw.js +0 -1
  350. package/dist/client/assets/input-5Gxk32uP.js +0 -1
  351. package/dist/client/assets/kbd-B4HCyWpi.js +0 -1
  352. package/dist/client/assets/label-CaZNWVUA.js +0 -1
  353. package/dist/client/assets/loader-circle-CrtHFAvM.js +0 -1
  354. package/dist/client/assets/main-BPfnkW0F.js +0 -9
  355. package/dist/client/assets/main-DspUYA0Y.css +0 -2
  356. package/dist/client/assets/menu-C9Z3D_7l.js +0 -1
  357. package/dist/client/assets/plus-B2h-VEqh.js +0 -1
  358. package/dist/client/assets/popover-CCz2VJor.js +0 -1
  359. package/dist/client/assets/primary-BMsRfh2b.js +0 -2
  360. package/dist/client/assets/providerDriverMeta-CgWTJ9AV.js +0 -1
  361. package/dist/client/assets/providerIconUtils-DKIWQBl_.js +0 -1
  362. package/dist/client/assets/providerInstances-DTwJD7w4.js +0 -1
  363. package/dist/client/assets/providerModels-DTwJD7w4.js +0 -1
  364. package/dist/client/assets/qr-code-BPTdK_Fr.js +0 -1
  365. package/dist/client/assets/radio-group-2REtGBUc.js +0 -2
  366. package/dist/client/assets/resolveAriaLabelledBy-CPzaFh9Q.js +0 -1
  367. package/dist/client/assets/rightPanelRouteSearch-Cv7sQjf8.js +0 -1
  368. package/dist/client/assets/runtime-DAfYpzw4.js +0 -1
  369. package/dist/client/assets/scroll-area-BsYcpnWD.js +0 -1
  370. package/dist/client/assets/scrollEdges-CUJFIJBP.js +0 -1
  371. package/dist/client/assets/search-BGQsenCM.js +0 -1
  372. package/dist/client/assets/select-zInJ5G5C.js +0 -1
  373. package/dist/client/assets/separator-CsdeZPxC.js +0 -1
  374. package/dist/client/assets/session-logic-CjEpVbpM.js +0 -6
  375. package/dist/client/assets/settingsDialogStore-B7yUTgbo.js +0 -1
  376. package/dist/client/assets/settingsLayout-7JR7nC6x.js +0 -1
  377. package/dist/client/assets/settingsSections.logic-F8RXVmAq.js +0 -1
  378. package/dist/client/assets/sheet-CLd8wqAA.js +0 -1
  379. package/dist/client/assets/sidebar-BliCAaUG.js +0 -1
  380. package/dist/client/assets/sidebarProjectFolders-ScxWbdTn.js +0 -4
  381. package/dist/client/assets/skeleton-B_qDqbso.js +0 -1
  382. package/dist/client/assets/spinner-BlCG_0jN.js +0 -1
  383. package/dist/client/assets/src-Chx4ffXH.js +0 -14
  384. package/dist/client/assets/storeSelectors-Of4FM0vM.js +0 -1
  385. package/dist/client/assets/switch-DUT5lUyk.js +0 -1
  386. package/dist/client/assets/terminal-C_CyIsDD.js +0 -1
  387. package/dist/client/assets/textarea-C5eyaBI3.js +0 -1
  388. package/dist/client/assets/threadPinning-B8un4fjx.js +0 -1
  389. package/dist/client/assets/toast-X_O6OBAx.js +0 -1
  390. package/dist/client/assets/toggle-P-wZyQFO.js +0 -1
  391. package/dist/client/assets/toggle-group-Du7zfd4_.js +0 -1
  392. package/dist/client/assets/tooltip-D_i-87PL.js +0 -1
  393. package/dist/client/assets/types-Of4FM0vM.js +0 -1
  394. package/dist/client/assets/uiStateStore-UUXKrPLz.js +0 -1
  395. package/dist/client/assets/useButton-D8BjCVb-.js +0 -1
  396. package/dist/client/assets/useCompositeListItem-BHuxHR8U.js +0 -1
  397. package/dist/client/assets/useDebouncedValue-D2-9M4Tq.js +0 -1
  398. package/dist/client/assets/useFloatingRootContext-CTdmlYcf.js +0 -1
  399. package/dist/client/assets/useHandleNewThread-YGjWitl4.js +0 -1
  400. package/dist/client/assets/useLabelableId-LInf_Egz.js +0 -1
  401. package/dist/client/assets/useLocation-3zGT25DO.js +0 -1
  402. package/dist/client/assets/useOpenInteractionType-BPthQeg6.js +0 -1
  403. package/dist/client/assets/usePhoneThreadActions-D_Z29f6p.js +0 -1
  404. package/dist/client/assets/usePopupViewport-BErrsN0k.js +0 -1
  405. package/dist/client/assets/useRenderElement-DchFnsR8.js +0 -1
  406. package/dist/client/assets/useScrollLock-CLyJPg7p.js +0 -1
  407. package/dist/client/assets/useSwipeDismiss-DjMT1XiU.js +0 -1
  408. package/dist/client/assets/useThreadActions-ISbVGkmx.js +0 -2
  409. package/dist/client/assets/useTriggerFocusGuards-DwOHWbrB.js +0 -1
  410. package/dist/client/assets/useValueChanged-Bq39JB8D.js +0 -1
  411. package/dist/client/assets/user-round-Cpzx8pSw.js +0 -1
  412. package/dist/client/assets/utils-BFbDkTQq.js +0 -1
  413. package/dist/client/assets/visibilityPolling-BwzZdaSN.js +0 -1
  414. package/dist/client/assets/x-C1Cemsov.js +0 -1
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  const require_rolldown_runtime = require("./rolldown-runtime-LGfotAqq.cjs");
4
- const require_collectUint8StreamText = require("./collectUint8StreamText-C5fop6Zf.cjs");
4
+ const require_collectUint8StreamText = require("./collectUint8StreamText-DStwNTTK.cjs");
5
5
  const require_bin = require("./bin.cjs");
6
6
  let effect_Effect = require("effect/Effect");
7
7
  effect_Effect = require_rolldown_runtime.__toESM(effect_Effect, 1);
@@ -4120,10 +4120,11 @@ function hasExplicitSubagentType(data) {
4120
4120
  return typeof subagentType === "string" && subagentType.trim().length > 0;
4121
4121
  }
4122
4122
  function isAcpSubagentToolCall(input) {
4123
- if (containsSubagentKeyword(input.kind) || containsSubagentKeyword(input.title) || containsSubagentKeyword(input.command) || containsSubagentKeyword(input.detail)) return true;
4124
4123
  if (hasExplicitSubagentType(input.data)) return true;
4124
+ if (input.kind && input.kind !== "other" && !containsSubagentKeyword(input.kind)) return false;
4125
4125
  const rawInput = isRecord(input.data?.rawInput) ? input.data.rawInput : void 0;
4126
- return containsSubagentKeyword(typeof rawInput?.tool === "string" ? rawInput.tool : void 0) || containsSubagentKeyword(typeof rawInput?.name === "string" ? rawInput.name : void 0);
4126
+ const namedDelegation = (value) => typeof value === "string" && /^(?:sub[-_ ]?agent|subtask|delegate|delegation|spawn_agent|delegate_task)$/i.test(value.trim());
4127
+ return namedDelegation(input.kind) || namedDelegation(rawInput?.tool) || namedDelegation(rawInput?.name) || input.title !== void 0 && /^(?:(?:launch|spawn|run|start)\s+)?(?:sub[-\s]?agent|subtask|delegate|delegation)(?:$|[:\s])/i.test(input.title);
4127
4128
  }
4128
4129
  function canonicalItemTypeFromAcpTool(input) {
4129
4130
  if (isAcpSubagentToolCall(input)) return "collab_agent_tool_call";
@@ -4162,6 +4163,9 @@ function makeAcpSubagentSummaryState(input) {
4162
4163
  ["command", input.command]
4163
4164
  ].filter(([, value]) => value !== void 0));
4164
4165
  const status = acpSubagentStatusFromToolStatus(input.status);
4166
+ const output = require_bin.extractToolResultText(input.data?.rawOutput) ?? require_bin.extractToolContentText(input.data?.content);
4167
+ const model = rawInputStringField(input.data, "model");
4168
+ const role = rawInputStringField(input.data, "subagent_type");
4165
4169
  return {
4166
4170
  subagent: {
4167
4171
  subagentId: require_collectUint8StreamText.RuntimeSubagentId.make(input.toolCallId),
@@ -4170,10 +4174,14 @@ function makeAcpSubagentSummaryState(input) {
4170
4174
  label,
4171
4175
  ...detail ? { description: detail } : {},
4172
4176
  parentProviderItemId: require_collectUint8StreamText.ProviderItemId.make(input.toolCallId),
4173
- metadata
4177
+ ...model ? { model } : {},
4178
+ metadata: {
4179
+ ...metadata,
4180
+ ...role ? { role } : {}
4181
+ }
4174
4182
  },
4175
4183
  ...status ? { status } : {},
4176
- summary: label,
4184
+ summary: (status === "completed" || status === "failed") && output ? output : label,
4177
4185
  ...detail ? { detail } : {}
4178
4186
  };
4179
4187
  }
@@ -4348,12 +4356,12 @@ function parseSessionUpdateEvent(params) {
4348
4356
  rawPayload: params
4349
4357
  });
4350
4358
  break;
4351
- case "usage_update": if (upd.used > 0) events.push({
4359
+ case "usage_update": if (Number.isSafeInteger(upd.used) && upd.used >= 0) events.push({
4352
4360
  _tag: "UsageUpdated",
4353
4361
  usage: {
4354
4362
  usedTokens: upd.used,
4355
4363
  lastUsedTokens: upd.used,
4356
- ...upd.size > 0 ? { maxTokens: upd.size } : {}
4364
+ ...Number.isSafeInteger(upd.size) && upd.size > 0 ? { maxTokens: upd.size } : {}
4357
4365
  },
4358
4366
  rawPayload: params
4359
4367
  });
@@ -4718,6 +4726,63 @@ const closeActiveAssistantSegment = ({ queue, assistantSegmentRef }) => effect.R
4718
4726
  }, { nextSegmentIndex: current.nextSegmentIndex }];
4719
4727
  }).pipe(effect.Effect.flatMap((event) => event ? effect.Queue.offer(queue, event) : effect.Effect.void));
4720
4728
  //#endregion
4729
+ //#region src/provider/acp/AcpSubagentRuntimeEvents.ts
4730
+ /** One lifecycle per ACP tool id, shared by every ACP adapter. Scoped to a session. */
4731
+ function makeAcpSubagentRuntimeEvents() {
4732
+ const started = /* @__PURE__ */ new Set();
4733
+ const completed = /* @__PURE__ */ new Set();
4734
+ return effect.Effect.fn("makeAcpSubagentRuntimeEvents")(function* (input) {
4735
+ const state = input.state;
4736
+ if (!state) return [];
4737
+ const id = String(state.subagent.subagentId);
4738
+ if (completed.has(id)) return [];
4739
+ const base = {
4740
+ provider: input.provider,
4741
+ threadId: input.threadId,
4742
+ ...input.turnId ? { turnId: input.turnId } : {},
4743
+ raw: {
4744
+ source: "acp.jsonrpc",
4745
+ method: "session/update",
4746
+ payload: input.rawPayload
4747
+ }
4748
+ };
4749
+ const events = [];
4750
+ if (!started.has(id)) {
4751
+ started.add(id);
4752
+ events.push({
4753
+ ...base,
4754
+ ...yield* input.makeStamp(),
4755
+ type: "subagent.started",
4756
+ payload: { subagent: state.subagent }
4757
+ });
4758
+ }
4759
+ if (state.status === "completed" || state.status === "failed" || state.status === "stopped") {
4760
+ completed.add(id);
4761
+ events.push({
4762
+ ...base,
4763
+ ...yield* input.makeStamp(),
4764
+ type: "subagent.completed",
4765
+ payload: {
4766
+ subagent: state.subagent,
4767
+ status: state.status,
4768
+ ...state.summary ? { summary: state.summary } : {}
4769
+ }
4770
+ });
4771
+ } else events.push({
4772
+ ...base,
4773
+ ...yield* input.makeStamp(),
4774
+ type: "subagent.updated",
4775
+ payload: {
4776
+ subagent: state.subagent,
4777
+ ...state.status ? { status: state.status } : {},
4778
+ ...state.summary ? { summary: state.summary } : {},
4779
+ ...state.detail ? { detail: state.detail } : {}
4780
+ }
4781
+ });
4782
+ return events;
4783
+ });
4784
+ }
4785
+ //#endregion
4721
4786
  //#region src/provider/acp/AcpAdapterSupport.ts
4722
4787
  function mapAcpToAdapterError(provider, threadId, method, error) {
4723
4788
  if (effect.Schema.is(AcpProcessExitedError)(error)) return new require_bin.ProviderAdapterSessionClosedError({
@@ -5027,6 +5092,12 @@ Object.defineProperty(exports, "makeAcpRequestResolvedEvent", {
5027
5092
  return makeAcpRequestResolvedEvent;
5028
5093
  }
5029
5094
  });
5095
+ Object.defineProperty(exports, "makeAcpSubagentRuntimeEvents", {
5096
+ enumerable: true,
5097
+ get: function() {
5098
+ return makeAcpSubagentRuntimeEvents;
5099
+ }
5100
+ });
5030
5101
  Object.defineProperty(exports, "makeAcpThoughtDeltaEvent", {
5031
5102
  enumerable: true,
5032
5103
  get: function() {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { $o as RuntimeItemId, Qo as ProviderItemId, ns as RuntimeSubagentId } from "./collectUint8StreamText-D8TBiBWk.mjs";
4
- import { dt as redactAgentControlSecrets, ht as ProviderAdapterSessionClosedError, mt as ProviderAdapterRequestError } from "./bin.mjs";
3
+ import { ls as ProviderItemId, ps as RuntimeSubagentId, us as RuntimeItemId } from "./collectUint8StreamText-C_VNyArd.mjs";
4
+ import { St as ProviderAdapterSessionClosedError, f as extractToolContentText, p as extractToolResultText, vt as redactAgentControlSecrets, xt as ProviderAdapterRequestError } from "./bin.mjs";
5
5
  import * as Effect$1 from "effect/Effect";
6
6
  import * as Layer$1 from "effect/Layer";
7
7
  import { Cause, Context, Deferred, Effect, Exit, Layer, Queue, Ref, Schema, Scope, Stream } from "effect";
@@ -4100,10 +4100,11 @@ function hasExplicitSubagentType(data) {
4100
4100
  return typeof subagentType === "string" && subagentType.trim().length > 0;
4101
4101
  }
4102
4102
  function isAcpSubagentToolCall(input) {
4103
- if (containsSubagentKeyword(input.kind) || containsSubagentKeyword(input.title) || containsSubagentKeyword(input.command) || containsSubagentKeyword(input.detail)) return true;
4104
4103
  if (hasExplicitSubagentType(input.data)) return true;
4104
+ if (input.kind && input.kind !== "other" && !containsSubagentKeyword(input.kind)) return false;
4105
4105
  const rawInput = isRecord(input.data?.rawInput) ? input.data.rawInput : void 0;
4106
- return containsSubagentKeyword(typeof rawInput?.tool === "string" ? rawInput.tool : void 0) || containsSubagentKeyword(typeof rawInput?.name === "string" ? rawInput.name : void 0);
4106
+ const namedDelegation = (value) => typeof value === "string" && /^(?:sub[-_ ]?agent|subtask|delegate|delegation|spawn_agent|delegate_task)$/i.test(value.trim());
4107
+ return namedDelegation(input.kind) || namedDelegation(rawInput?.tool) || namedDelegation(rawInput?.name) || input.title !== void 0 && /^(?:(?:launch|spawn|run|start)\s+)?(?:sub[-\s]?agent|subtask|delegate|delegation)(?:$|[:\s])/i.test(input.title);
4107
4108
  }
4108
4109
  function canonicalItemTypeFromAcpTool(input) {
4109
4110
  if (isAcpSubagentToolCall(input)) return "collab_agent_tool_call";
@@ -4142,6 +4143,9 @@ function makeAcpSubagentSummaryState(input) {
4142
4143
  ["command", input.command]
4143
4144
  ].filter(([, value]) => value !== void 0));
4144
4145
  const status = acpSubagentStatusFromToolStatus(input.status);
4146
+ const output = extractToolResultText(input.data?.rawOutput) ?? extractToolContentText(input.data?.content);
4147
+ const model = rawInputStringField(input.data, "model");
4148
+ const role = rawInputStringField(input.data, "subagent_type");
4145
4149
  return {
4146
4150
  subagent: {
4147
4151
  subagentId: RuntimeSubagentId.make(input.toolCallId),
@@ -4150,10 +4154,14 @@ function makeAcpSubagentSummaryState(input) {
4150
4154
  label,
4151
4155
  ...detail ? { description: detail } : {},
4152
4156
  parentProviderItemId: ProviderItemId.make(input.toolCallId),
4153
- metadata
4157
+ ...model ? { model } : {},
4158
+ metadata: {
4159
+ ...metadata,
4160
+ ...role ? { role } : {}
4161
+ }
4154
4162
  },
4155
4163
  ...status ? { status } : {},
4156
- summary: label,
4164
+ summary: (status === "completed" || status === "failed") && output ? output : label,
4157
4165
  ...detail ? { detail } : {}
4158
4166
  };
4159
4167
  }
@@ -4328,12 +4336,12 @@ function parseSessionUpdateEvent(params) {
4328
4336
  rawPayload: params
4329
4337
  });
4330
4338
  break;
4331
- case "usage_update": if (upd.used > 0) events.push({
4339
+ case "usage_update": if (Number.isSafeInteger(upd.used) && upd.used >= 0) events.push({
4332
4340
  _tag: "UsageUpdated",
4333
4341
  usage: {
4334
4342
  usedTokens: upd.used,
4335
4343
  lastUsedTokens: upd.used,
4336
- ...upd.size > 0 ? { maxTokens: upd.size } : {}
4344
+ ...Number.isSafeInteger(upd.size) && upd.size > 0 ? { maxTokens: upd.size } : {}
4337
4345
  },
4338
4346
  rawPayload: params
4339
4347
  });
@@ -4698,6 +4706,63 @@ const closeActiveAssistantSegment = ({ queue, assistantSegmentRef }) => Ref.modi
4698
4706
  }, { nextSegmentIndex: current.nextSegmentIndex }];
4699
4707
  }).pipe(Effect.flatMap((event) => event ? Queue.offer(queue, event) : Effect.void));
4700
4708
  //#endregion
4709
+ //#region src/provider/acp/AcpSubagentRuntimeEvents.ts
4710
+ /** One lifecycle per ACP tool id, shared by every ACP adapter. Scoped to a session. */
4711
+ function makeAcpSubagentRuntimeEvents() {
4712
+ const started = /* @__PURE__ */ new Set();
4713
+ const completed = /* @__PURE__ */ new Set();
4714
+ return Effect.fn("makeAcpSubagentRuntimeEvents")(function* (input) {
4715
+ const state = input.state;
4716
+ if (!state) return [];
4717
+ const id = String(state.subagent.subagentId);
4718
+ if (completed.has(id)) return [];
4719
+ const base = {
4720
+ provider: input.provider,
4721
+ threadId: input.threadId,
4722
+ ...input.turnId ? { turnId: input.turnId } : {},
4723
+ raw: {
4724
+ source: "acp.jsonrpc",
4725
+ method: "session/update",
4726
+ payload: input.rawPayload
4727
+ }
4728
+ };
4729
+ const events = [];
4730
+ if (!started.has(id)) {
4731
+ started.add(id);
4732
+ events.push({
4733
+ ...base,
4734
+ ...yield* input.makeStamp(),
4735
+ type: "subagent.started",
4736
+ payload: { subagent: state.subagent }
4737
+ });
4738
+ }
4739
+ if (state.status === "completed" || state.status === "failed" || state.status === "stopped") {
4740
+ completed.add(id);
4741
+ events.push({
4742
+ ...base,
4743
+ ...yield* input.makeStamp(),
4744
+ type: "subagent.completed",
4745
+ payload: {
4746
+ subagent: state.subagent,
4747
+ status: state.status,
4748
+ ...state.summary ? { summary: state.summary } : {}
4749
+ }
4750
+ });
4751
+ } else events.push({
4752
+ ...base,
4753
+ ...yield* input.makeStamp(),
4754
+ type: "subagent.updated",
4755
+ payload: {
4756
+ subagent: state.subagent,
4757
+ ...state.status ? { status: state.status } : {},
4758
+ ...state.summary ? { summary: state.summary } : {},
4759
+ ...state.detail ? { detail: state.detail } : {}
4760
+ }
4761
+ });
4762
+ return events;
4763
+ });
4764
+ }
4765
+ //#endregion
4701
4766
  //#region src/provider/acp/AcpAdapterSupport.ts
4702
4767
  function mapAcpToAdapterError(provider, threadId, method, error) {
4703
4768
  if (Schema.is(AcpProcessExitedError)(error)) return new ProviderAdapterSessionClosedError({
@@ -4947,4 +5012,4 @@ function makeAcpNativeLoggers(input) {
4947
5012
  };
4948
5013
  }
4949
5014
  //#endregion
4950
- export { makeAcpRequestOpenedEvent as a, makeAcpTokenUsageEvent as c, mapAcpToAdapterError as d, AcpSessionRuntime as f, SessionConfigOption as h, makeAcpPlanUpdatedEvent as i, makeAcpToolCallEvent as l, AcpTransportError as m, makeAcpAssistantItemEvent as n, makeAcpRequestResolvedEvent as o, parsePermissionRequest as p, makeAcpContentDeltaEvent as r, makeAcpThoughtDeltaEvent as s, makeAcpNativeLoggers as t, acpPermissionOutcome as u };
5015
+ export { makeAcpRequestOpenedEvent as a, makeAcpTokenUsageEvent as c, mapAcpToAdapterError as d, makeAcpSubagentRuntimeEvents as f, SessionConfigOption as g, AcpTransportError as h, makeAcpPlanUpdatedEvent as i, makeAcpToolCallEvent as l, parsePermissionRequest as m, makeAcpAssistantItemEvent as n, makeAcpRequestResolvedEvent as o, AcpSessionRuntime as p, makeAcpContentDeltaEvent as r, makeAcpThoughtDeltaEvent as s, makeAcpNativeLoggers as t, acpPermissionOutcome as u };
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Ca as SourceControlProviderError, Ta as truncateSourceControlDetailContent } from "./collectUint8StreamText-D8TBiBWk.mjs";
4
- import { l as sourceControlRefFromInput, o as SourceControlProvider, t as azureDevOpsDiscovery } from "./SourceControlProviderDiscoveryCatalog-DaRgCE5d.mjs";
5
- import { Nn as AzureDevOpsCli } from "./bin.mjs";
3
+ import { Ia as truncateSourceControlDetailContent, Pa as SourceControlProviderError } from "./collectUint8StreamText-C_VNyArd.mjs";
4
+ import { l as sourceControlRefFromInput, o as SourceControlProvider, t as azureDevOpsDiscovery } from "./SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs";
5
+ import { Vn as AzureDevOpsCli } from "./bin.mjs";
6
6
  import { DateTime, Effect, Layer, Option } from "effect";
7
7
  //#region src/sourceControl/AzureDevOpsSourceControlProvider.ts
8
8
  function providerError(operation, cause) {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_collectUint8StreamText = require("./collectUint8StreamText-C5fop6Zf.cjs");
4
- const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-DCmYsPEa.cjs");
3
+ const require_collectUint8StreamText = require("./collectUint8StreamText-DStwNTTK.cjs");
4
+ const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs");
5
5
  const require_bin = require("./bin.cjs");
6
6
  let effect = require("effect");
7
7
  //#region src/sourceControl/AzureDevOpsSourceControlProvider.ts
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Ca as SourceControlProviderError, Ta as truncateSourceControlDetailContent } from "./collectUint8StreamText-D8TBiBWk.mjs";
4
- import { i as makeBitbucketDiscovery, l as sourceControlRefFromInput, o as SourceControlProvider } from "./SourceControlProviderDiscoveryCatalog-DaRgCE5d.mjs";
5
- import { Mn as BitbucketApi } from "./bin.mjs";
3
+ import { Ia as truncateSourceControlDetailContent, Pa as SourceControlProviderError } from "./collectUint8StreamText-C_VNyArd.mjs";
4
+ import { i as makeBitbucketDiscovery, l as sourceControlRefFromInput, o as SourceControlProvider } from "./SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs";
5
+ import { Bn as BitbucketApi } from "./bin.mjs";
6
6
  import { DateTime, Effect, Layer, Option } from "effect";
7
7
  //#region src/sourceControl/BitbucketSourceControlProvider.ts
8
8
  function providerError(operation, cause) {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_collectUint8StreamText = require("./collectUint8StreamText-C5fop6Zf.cjs");
4
- const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-DCmYsPEa.cjs");
3
+ const require_collectUint8StreamText = require("./collectUint8StreamText-DStwNTTK.cjs");
4
+ const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs");
5
5
  const require_bin = require("./bin.cjs");
6
6
  let effect = require("effect");
7
7
  //#region src/sourceControl/BitbucketSourceControlProvider.ts
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { a as PtyAdapter } from "./bin.mjs";
3
+ import { h as PtyAdapter } from "./bin.mjs";
4
4
  import { Effect, Layer } from "effect";
5
5
  //#region src/terminal/Layers/BunPTY.ts
6
6
  var BunPtyProcess = class {
@@ -1,121 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { $n as ClaudeSettings, $o as RuntimeItemId, Ha as ProviderInstanceId, Ko as EventId, Pn as TextGenerationError, Qo as ProviderItemId, Ro as ApprovalRequestId, Va as ProviderDriverKind, es as RuntimeRequestId, is as ThreadId, ns as RuntimeSubagentId, os as TurnId, rs as RuntimeTaskId } from "./collectUint8StreamText-D8TBiBWk.mjs";
3
+ import { $a as ProviderInstanceId, Ln as TextGenerationError, Qa as ProviderDriverKind, Yo as ApprovalRequestId, _s as TurnId, ds as RuntimeRequestId, hs as ThreadId, ls as ProviderItemId, ms as RuntimeTaskId, nr as ClaudeSettings, 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, C as decodeClaudeProfileAdapter, D as checkRtkAvailability, E as buildTokenReductionInstructions, F as buildThreadTitlePrompt, G as resolveClaudeHomePath, H as makeClaudeCapabilitiesCacheKey, Hn as ServerSettingsService, In as makePackageManagedProviderMaintenanceResolver, Jn as getModelSelectionBooleanOptionValue, K as mergeProviderInstanceEnvironment, Kn as applyClaudePromptEffortPrefix, L as normalizeCliError, M as buildIssueContentTitlePrompt, N as buildPrContentPrompt, O as validateRankInboxThreadsResult, P as buildThreadPriorityPrompt, Pn as enrichProviderSnapshotWithVersionAdvisory, Qn as getProviderOptionDescriptors, R as sanitizeCommitSubject, S as decodeClaudeModelAdapter, T as makeEventNdjsonLogger, U as makeClaudeContinuationGroupKey, V as toJsonSchemaObject, Vn as compareCliVersions, W as makeClaudeEnvironment, Wn as resolveAttachmentPath, X as DEFAULT_TIMEOUT_MS, Yn as getModelSelectionStringOptionValue, Zn as getProviderOptionCurrentValue, _t as ProviderAdapterValidationError, at as providerModelsFromSettings, b as ModelManifest, ct as agentControlHostContext, dt as redactAgentControlSecrets, ft as createProcessDeviceToolBinding, gt as ProviderAdapterSessionNotFoundError, ht as ProviderAdapterSessionClosedError, i as classifyTaskAgentKind, it as parseGenericCliVersion, j as buildIssueContentPolishPrompt, k as buildBranchNamePrompt, mt as ProviderAdapterRequestError, n as AgentControlSessionRegistry, nt as isCommandMissingCause, ot as spawnAndCollect, pt as ProviderAdapterProcessError, qn as createModelCapabilities, st as AGENT_CONTROL_INTERNAL_SERVER_NAME, t as makeServerQueueMetrics, tr as resolvePromptInjectedEffort, tt as detailFromResult, ut as installAgentControlNativeHttp, vt as ProviderDriverError, w as ProviderEventLoggers, x as resolveProviderCatalog, y as BUNDLED_MODEL_MANIFEST, z as sanitizePrTitle, zn as normalizeCommandPath } from "./bin.mjs";
5
+ import { $ as mergeProviderInstanceEnvironment, $n as resolveAttachmentPath, A as ModelManifest, B as buildPrContentPrompt, Ct as ProviderAdapterSessionNotFoundError, F as validateRankInboxThreadsResult, G as sanitizeCommitSubject, H as buildThreadTitlePrompt, Hn as enrichProviderSnapshotWithVersionAdvisory, I as buildBranchNamePrompt, J as toJsonSchemaObject, Jn as resolveProviderMaintenanceCapabilitiesEffect, K as sanitizePrTitle, L as buildCommitMessagePrompt, M as makeEventNdjsonLogger, N as buildTokenReductionInstructions, P as checkRtkAvailability, Q as resolveClaudeHomePath, R as buildIssueContentPolishPrompt, St as ProviderAdapterSessionClosedError, Tt as ProviderDriverError, V as buildThreadPriorityPrompt, W as normalizeCliError, Wn as makePackageManagedProviderMaintenanceResolver, X as makeClaudeContinuationGroupKey, Xn as ServerSettingsService, Y as makeClaudeCapabilitiesCacheKey, Z as makeClaudeEnvironment, Zn as isPersistableChatAttachment, _t as installAgentControlNativeHttp, a as getActiveClaudeModelCatalog, bt as ProviderAdapterProcessError, c as resolveClaudeCatalogApiModelId, ct as detailFromResult, d as setActiveClaudeModelCatalog, dt as parseGenericCliVersion, ft as providerModelsFromSettings, ht as agentControlHostContext, i as formatClaudeVersionUpgradeMessage, ir as getModelSelectionStringOptionValue, j as ProviderEventLoggers, l as resolveClaudeModelCatalog, lt as isCommandMissingCause, m as classifyTaskAgentKind, mt as AGENT_CONTROL_INTERNAL_SERVER_NAME, n as AgentControlSessionRegistry, nr as createModelCapabilities, o as getClaudeCatalogModelCapabilities, or as getProviderOptionCurrentValue, ot as buildServerProvider, pt as spawnAndCollect, q as sanitizeThreadTitle, qn as normalizeCommandPath, rr as getModelSelectionBooleanOptionValue, rt as DEFAULT_TIMEOUT_MS, s as normalizeClaudeCatalogEffort, sr as getProviderOptionDescriptors, t as makeServerQueueMetrics, tr as applyClaudePromptEffortPrefix, u as resolveClaudeModelsForVersion, ur as resolvePromptInjectedEffort, vt as redactAgentControlSecrets, wt as ProviderAdapterValidationError, xt as ProviderAdapterRequestError, 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
8
  import { n as formatProjectCustomSystemPrompt } from "./ProjectCustomSystemPrompt-CS1nulhL.mjs";
8
- import { n as requireRuntimeSessionId, r as stampRuntimeEvent, t as makeManagedServerProvider } from "./makeManagedServerProvider-DRlNwlhe.mjs";
9
9
  import { t as defaultProviderContinuationIdentity } from "./ProviderDriver-kCV60GKk.mjs";
10
10
  import { Cache, Cause, DateTime, Deferred, Duration, Effect, Exit, Fiber, FileSystem, Option, Path, Queue, Ref, Result, Schema, Stream } from "effect";
11
11
  import { HttpClient } from "effect/unstable/http";
12
12
  import * as NodePath from "node:path";
13
13
  import { execFile } from "node:child_process";
14
- import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
15
14
  import * as NodeFS from "node:fs/promises";
15
+ import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
16
16
  import { query } from "@anthropic-ai/claude-agent-sdk";
17
- //#region src/provider/ClaudeModelCatalog.ts
18
- /**
19
- * ClaudeModelCatalog — Claude model metadata resolved from the model
20
- * manifest (bundled or remote), replacing the hard-coded `BUILT_IN_MODELS`
21
- * catalog that previously lived in `ClaudeProvider.ts`.
22
- *
23
- * All resolvers are pure and take the catalog as an argument. The one
24
- * exception is the module-level "active" catalog at the bottom: adapter and
25
- * text-generation call sites predate the manifest and resolve capabilities
26
- * synchronously without a service handle, so provider checks publish the
27
- * catalog they resolved and those call sites read it back. See
28
- * `setActiveClaudeModelCatalog` for the contract.
29
- *
30
- * Ported from pingdotgg/t3code (PR #9084), adapted to Ryco's CLI-version
31
- * helpers and call-site shape.
32
- */
33
- const CLAUDE = ProviderDriverKind.make("claudeAgent");
34
- const EMPTY_CAPABILITIES = { optionDescriptors: [] };
35
- function tryResolveClaudeModelCatalog(manifest) {
36
- const resolved = resolveProviderCatalog(manifest, CLAUDE);
37
- if (!resolved) return null;
38
- const models = [];
39
- for (const entry of resolved.models) {
40
- const profile = decodeClaudeProfileAdapter(entry.profileAdapter ?? {});
41
- const adapter = decodeClaudeModelAdapter(entry.adapter ?? {});
42
- if (Option.isNone(profile) || Option.isNone(adapter)) return null;
43
- models.push({
44
- model: entry.model,
45
- runtime: profile.value.claudeCode ?? {},
46
- compatibility: adapter.value.claudeCode ?? {}
47
- });
48
- }
49
- return { models };
50
- }
51
- function resolveClaudeModelCatalog(manifest) {
52
- return tryResolveClaudeModelCatalog(manifest) ?? tryResolveClaudeModelCatalog(BUNDLED_MODEL_MANIFEST) ?? { models: [] };
53
- }
54
- const BUNDLED_CLAUDE_MODEL_CATALOG = resolveClaudeModelCatalog(BUNDLED_MODEL_MANIFEST);
55
- function resolveClaudeCatalogModel(catalog, slugOrAlias) {
56
- const value = slugOrAlias?.trim();
57
- if (!value) return void 0;
58
- return catalog.models.find((entry) => entry.model.slug === value) ?? catalog.models.find((entry) => entry.model.aliases?.some((alias) => alias.toLowerCase() === value.toLowerCase()));
59
- }
60
- function getClaudeCatalogModelCapabilities(catalog, slugOrAlias) {
61
- return resolveClaudeCatalogModel(catalog, slugOrAlias)?.model.capabilities ?? EMPTY_CAPABILITIES;
62
- }
63
- function isVersionSupported(compatibility, version) {
64
- if (!compatibility.minVersion && !compatibility.maxVersionExclusive) return true;
65
- if (!version) return false;
66
- if (compatibility.minVersion && compareCliVersions(version, compatibility.minVersion) < 0) return false;
67
- return !(compatibility.maxVersionExclusive && compareCliVersions(version, compatibility.maxVersionExclusive) >= 0);
68
- }
69
- function resolveClaudeModelsForVersion(catalog, version) {
70
- return catalog.models.filter((entry) => isVersionSupported(entry.compatibility, version)).map((entry) => entry.model);
71
- }
72
- /**
73
- * Upgrade nudge for CLIs too old for one or more catalog models. Names the
74
- * model with the lowest unmet minimum, so the message always describes the
75
- * smallest upgrade that unlocks something.
76
- */
77
- function formatClaudeVersionUpgradeMessage(catalog, version) {
78
- const unavailable = catalog.models.filter((entry) => entry.compatibility.minVersion && (!version || compareCliVersions(version, entry.compatibility.minVersion) < 0)).toSorted((left, right) => compareCliVersions(left.compatibility.minVersion, right.compatibility.minVersion))[0];
79
- if (!unavailable?.compatibility.minVersion) return void 0;
80
- return `Claude Code ${version ? `v${version}` : "the installed version"} is too old for ${unavailable.model.name}. Upgrade to v${unavailable.compatibility.minVersion} or newer to access it.`;
81
- }
82
- /**
83
- * Normalize a resolved effort value into one suitable for the Claude CLI's
84
- * `--effort` flag, using the catalog's per-model `effortMap`.
85
- *
86
- * `ultrathink` is always dropped (prompt-prefix mode, not a CLI flag), and
87
- * `ultracode` never reaches the CLI raw: models that support it map it (to
88
- * `xhigh`) via their effort map, and for anything else it is dropped rather
89
- * than passed through.
90
- */
91
- function normalizeClaudeCatalogEffort(catalog, effort, model) {
92
- if (!effort || effort === "ultrathink") return void 0;
93
- const effortMap = resolveClaudeCatalogModel(catalog, model)?.runtime.effortMap;
94
- if (effortMap && Object.hasOwn(effortMap, effort)) return effortMap[effort] ?? void 0;
95
- if (effort === "ultracode") return void 0;
96
- return effort;
97
- }
98
- function resolveClaudeCatalogApiModelId(catalog, modelSelection) {
99
- const entry = resolveClaudeCatalogModel(catalog, modelSelection.model);
100
- const slug = entry?.model.slug ?? modelSelection.model;
101
- const descriptors = getProviderOptionDescriptors({
102
- caps: entry?.model.capabilities ?? EMPTY_CAPABILITIES,
103
- selections: modelSelection.options
104
- });
105
- for (const [optionId, suffixes] of Object.entries(entry?.runtime.modelSuffixes ?? {})) {
106
- const value = getProviderOptionCurrentValue(descriptors.find((descriptor) => descriptor.id === optionId));
107
- if (typeof value === "string" && suffixes[value]) return `${slug}${suffixes[value]}`;
108
- }
109
- return slug;
110
- }
111
- let activeClaudeModelCatalog = BUNDLED_CLAUDE_MODEL_CATALOG;
112
- function getActiveClaudeModelCatalog() {
113
- return activeClaudeModelCatalog;
114
- }
115
- function setActiveClaudeModelCatalog(catalog) {
116
- activeClaudeModelCatalog = catalog;
117
- }
118
- //#endregion
119
17
  //#region src/provider/Layers/ClaudeProvider.ts
120
18
  const DEFAULT_CLAUDE_MODEL_CAPABILITIES = createModelCapabilities({ optionDescriptors: [] });
121
19
  const PROVIDER$1 = ProviderDriverKind.make("claudeAgent");
@@ -1220,6 +1118,7 @@ const SUPPORTED_CLAUDE_IMAGE_MIME_TYPES = /* @__PURE__ */ new Set([
1220
1118
  "image/png",
1221
1119
  "image/webp"
1222
1120
  ]);
1121
+ const CLAUDE_PDF_MIME_TYPE = "application/pdf";
1223
1122
  const CLAUDE_SETTING_SOURCES = [
1224
1123
  "user",
1225
1124
  "project",
@@ -1253,20 +1152,36 @@ function buildClaudeImageContentBlock(input) {
1253
1152
  }
1254
1153
  };
1255
1154
  }
1155
+ function buildClaudeDocumentContentBlock(input) {
1156
+ return {
1157
+ type: "document",
1158
+ source: {
1159
+ type: "base64",
1160
+ media_type: CLAUDE_PDF_MIME_TYPE,
1161
+ data: Buffer.from(input.bytes).toString("base64")
1162
+ },
1163
+ title: input.title
1164
+ };
1165
+ }
1166
+ function isClaudeNativeAttachment(attachment) {
1167
+ if (attachment.type === "image") return SUPPORTED_CLAUDE_IMAGE_MIME_TYPES.has(attachment.mimeType);
1168
+ return attachment.mimeType === CLAUDE_PDF_MIME_TYPE && attachment.sizeBytes <= 25e6;
1169
+ }
1256
1170
  const buildUserMessageEffect = Effect.fn("buildUserMessageEffect")(function* (input, dependencies) {
1257
- const text = buildPromptText(input, dependencies.boundInstanceId);
1258
- const sdkContent = [];
1259
- if (text.length > 0) sdkContent.push({
1260
- type: "text",
1261
- text
1262
- });
1171
+ const promptText = buildPromptText(input, dependencies.boundInstanceId);
1172
+ const nativeBlocks = [];
1173
+ const pathLineEntries = [];
1263
1174
  for (const attachment of input.attachments ?? []) {
1264
- if (attachment.type !== "image") continue;
1265
- if (!SUPPORTED_CLAUDE_IMAGE_MIME_TYPES.has(attachment.mimeType)) return yield* new ProviderAdapterRequestError({
1266
- provider: PROVIDER,
1267
- method: "turn/start",
1268
- detail: `Unsupported Claude image attachment type '${attachment.mimeType}'.`
1269
- });
1175
+ if (!isPersistableChatAttachment(attachment) || !isClaudeNativeAttachment(attachment)) {
1176
+ pathLineEntries.push({
1177
+ attachment,
1178
+ ...attachment.id === void 0 ? {} : { resolvedPath: resolveAttachmentPath({
1179
+ attachmentsDir: dependencies.attachmentsDir,
1180
+ attachment
1181
+ }) ?? void 0 }
1182
+ });
1183
+ continue;
1184
+ }
1270
1185
  const attachmentPath = resolveAttachmentPath({
1271
1186
  attachmentsDir: dependencies.attachmentsDir,
1272
1187
  attachment
@@ -1282,11 +1197,21 @@ const buildUserMessageEffect = Effect.fn("buildUserMessageEffect")(function* (in
1282
1197
  detail: toMessage(cause, "Failed to read attachment file."),
1283
1198
  cause
1284
1199
  })));
1285
- sdkContent.push(buildClaudeImageContentBlock({
1200
+ nativeBlocks.push(attachment.type === "image" ? buildClaudeImageContentBlock({
1286
1201
  mimeType: attachment.mimeType,
1287
1202
  bytes
1203
+ }) : buildClaudeDocumentContentBlock({
1204
+ bytes,
1205
+ title: attachment.name
1288
1206
  }));
1289
1207
  }
1208
+ const text = appendAttachmentPathLines(promptText, formatAttachmentPathLines(pathLineEntries));
1209
+ const sdkContent = [];
1210
+ if (text !== void 0 && text.length > 0) sdkContent.push({
1211
+ type: "text",
1212
+ text
1213
+ });
1214
+ for (const block of nativeBlocks) sdkContent.push(block);
1290
1215
  return buildUserMessage({ sdkContent });
1291
1216
  });
1292
1217
  function turnStatusFromResult(result) {