ryco-cli 0.1.24 → 0.1.26

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 (303) hide show
  1. package/dist/{GrokDriver-DSPEmiwq.mjs → AcpAdapter-BemMQNbj.mjs} +102 -604
  2. package/dist/{GrokDriver-RyyFeh_q.cjs → AcpAdapter-CadxcdZV.cjs} +129 -612
  3. package/dist/AcpNativeLogging-BsbZRRD7.mjs +312 -0
  4. package/dist/AcpNativeLogging-DZPZNoju.cjs +383 -0
  5. package/dist/AcpRegistryDriver-BfCPf8FX.cjs +222 -0
  6. package/dist/AcpRegistryDriver-BpXCjh9I.mjs +221 -0
  7. package/dist/{AzureDevOpsSourceControlProvider-CrvgKNf2.cjs → AzureDevOpsSourceControlProvider-B9N_8NJg.cjs} +14 -14
  8. package/dist/{AzureDevOpsSourceControlProvider-BNGEg1R8.mjs → AzureDevOpsSourceControlProvider-BcQO_CyW.mjs} +3 -3
  9. package/dist/{BitbucketSourceControlProvider-Bt21jw68.mjs → BitbucketSourceControlProvider-BTUY2ZT8.mjs} +3 -3
  10. package/dist/{BitbucketSourceControlProvider-BzhsQwH-.cjs → BitbucketSourceControlProvider-C9WuwvY2.cjs} +14 -14
  11. package/dist/{BunPTY-TbHbSc8S.mjs → BunPTY-DdnqQAdw.mjs} +1 -1
  12. package/dist/{ClaudeDriver-B7mbf51W.cjs → ClaudeDriver-BSTxNNGO.cjs} +162 -126
  13. package/dist/{ClaudeDriver-C4yu7Jit.mjs → ClaudeDriver-Csnp78qR.mjs} +129 -93
  14. package/dist/{CodexDriver-CR0S17Lb.cjs → CodexDriver-BK4HVNV4.cjs} +145 -60
  15. package/dist/{CodexDriver-DnnqkGoY.mjs → CodexDriver-fwcV84hX.mjs} +99 -14
  16. package/dist/{CodexTextGeneration-tlfe1S5W.cjs → CodexTextGeneration-Y2GSS7f1.cjs} +145 -99
  17. package/dist/{CodexTextGeneration-Cw-FZbSS.mjs → CodexTextGeneration-_4aT5BHa.mjs} +141 -95
  18. package/dist/{CopilotDriver-GxKLX5pL.mjs → CopilotDriver-B12ZJ-L_.mjs} +69 -7
  19. package/dist/{CopilotDriver-IBd27Ji2.cjs → CopilotDriver-C7IyIwVW.cjs} +98 -36
  20. package/dist/{CursorDriver-C4Enoe9N.cjs → CursorDriver-BWmCfJ-w.cjs} +38 -32
  21. package/dist/{CursorDriver-CNo9Uzo8.mjs → CursorDriver-C_p0v-ul.mjs} +12 -6
  22. package/dist/{ForgejoSourceControlProvider-Dh6DOoc8.cjs → ForgejoSourceControlProvider-DTRrllIH.cjs} +14 -14
  23. package/dist/{ForgejoSourceControlProvider-BGXysSX6.mjs → ForgejoSourceControlProvider-DmOGJEaJ.mjs} +3 -3
  24. package/dist/{GitHubSourceControlProvider-8hsv_kCE.cjs → GitHubSourceControlProvider-D-YV8WP6.cjs} +16 -17
  25. package/dist/{GitHubSourceControlProvider-CPCYV8Xo.mjs → GitHubSourceControlProvider-sQGcwnr3.mjs} +6 -7
  26. package/dist/{GitLabSourceControlProvider-B0ZbF9Zx.cjs → GitLabSourceControlProvider-kKYYnpER.cjs} +14 -14
  27. package/dist/{GitLabSourceControlProvider-Bvknpaon.mjs → GitLabSourceControlProvider-mIl-K-4F.mjs} +3 -3
  28. package/dist/GrokDriver-BFOniP_K.cjs +567 -0
  29. package/dist/GrokDriver-CDcWkiAi.mjs +552 -0
  30. package/dist/{Metrics-a1h4iBQi.mjs → Metrics-C-3MahDy.mjs} +1 -107
  31. package/dist/{Metrics-Bcb9vCAe.cjs → Metrics-DCKbdeoH.cjs} +0 -168
  32. package/dist/{NodePTY-B_p5tLYO.mjs → NodePTY-DArvQ9bX.mjs} +1 -1
  33. package/dist/{OpenCodeDriver-CDcvPT9v.cjs → OpenCodeDriver-CckbFEQJ.cjs} +459 -141
  34. package/dist/{OpenCodeDriver-0q44rSQX.mjs → OpenCodeDriver-CnWJHyDJ.mjs} +430 -112
  35. package/dist/SideQuestionIsolation-5eGFRW0t.mjs +26 -0
  36. package/dist/SideQuestionIsolation-DvVKZWxi.cjs +37 -0
  37. package/dist/{SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs → SourceControlProviderDiscoveryCatalog-BVvq7liJ.mjs} +2 -1
  38. package/dist/{SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs → SourceControlProviderDiscoveryCatalog-CyUhKJLD.cjs} +6 -5
  39. package/dist/bin.cjs +12772 -3149
  40. package/dist/bin.mjs +10669 -1075
  41. package/dist/client/assets/AccountSettings-DLbcE2w-.js +1 -0
  42. package/dist/client/assets/Adobe-CNS1-UCS2-fO900upv.bcmap +0 -0
  43. package/dist/client/assets/Adobe-GB1-UCS2-BA083yIo.bcmap +0 -0
  44. package/dist/client/assets/Adobe-Japan1-UCS2-BL-4M2vS.bcmap +0 -0
  45. package/dist/client/assets/Adobe-Korea1-UCS2-BEQZuOdo.bcmap +0 -0
  46. package/dist/client/assets/AiFocusSettings-FKvdkl4P.js +1 -0
  47. package/dist/client/assets/{AnimatedHeight-i0YhvlGD.js → AnimatedHeight-CbIEyMLg.js} +1 -1
  48. package/dist/client/assets/AppearanceSettings-B2LsGKmL.js +1 -0
  49. package/dist/client/assets/{BranchToolbar.logic-AgPy06Mx.js → BranchToolbar.logic-BqkvYNPk.js} +1 -1
  50. package/dist/client/assets/{BrowserPanel-BWztlNuL.js → BrowserPanel-C_C4zjrh.js} +1 -1
  51. package/dist/client/assets/ChatRightPanel-ibiQ79jI.js +195 -0
  52. package/dist/client/assets/{ChatThreadRouteView-CWoBLzR_.js → ChatThreadRouteView-c7AXmbSk.js} +1 -1
  53. package/dist/client/assets/CommandPaletteDialog-DdPKN6rv.js +1 -0
  54. package/dist/client/assets/CompositeRoot-DKwS-ADi.js +1 -0
  55. package/dist/client/assets/ComputerUseSettings-DM17BYP5.js +1 -0
  56. package/dist/client/assets/ConnectionsSettings-D6wysIC8.js +7 -0
  57. package/dist/client/assets/ContextHandoffEndpointLabel-CsF_maM_.js +4 -0
  58. package/dist/client/assets/{DiagnosticsSettings-DvnNz2AZ.js → DiagnosticsSettings-Bq2l-C4J.js} +2 -2
  59. package/dist/client/assets/{DialogHandle-8o3kfoiI.js → DialogHandle-DuKTleCw.js} +1 -1
  60. package/dist/client/assets/{DialogPopup-CLw6NCkW.js → DialogPopup-Dt7DzTWv.js} +1 -1
  61. package/dist/client/assets/DialogRoot-DRyawL6l.js +1 -0
  62. package/dist/client/assets/{DialogTitle-DCHX74Tz.js → DialogTitle-BaxfPC6e.js} +1 -1
  63. package/dist/client/assets/DialogTrigger-D0PJ8bRT.js +1 -0
  64. package/dist/client/assets/{DialogViewport-DVDl03yd.js → DialogViewport-C3B2JZWQ.js} +1 -1
  65. package/dist/client/assets/DraftChatThreadRouteView-B8YiD5NP.js +1 -0
  66. package/dist/client/assets/ETHK-B5-H-1MLb5v9x.bcmap +0 -0
  67. package/dist/client/assets/{ExternalIdentityWeb.logic-arHvT6AX.js → ExternalIdentityWeb.logic-CrcNfdHK.js} +1 -1
  68. package/dist/client/assets/FoxitDingbats-BaQLufoW.pfb +0 -0
  69. package/dist/client/assets/FoxitFixed-Dyd5Nipw.pfb +0 -0
  70. package/dist/client/assets/FoxitFixedBold-D5TuYRwj.pfb +0 -0
  71. package/dist/client/assets/FoxitFixedBoldItalic-BqlXQ_Yv.pfb +0 -0
  72. package/dist/client/assets/FoxitFixedItalic-DqjQkmbS.pfb +0 -0
  73. package/dist/client/assets/FoxitSerif-qbgiDIe-.pfb +0 -0
  74. package/dist/client/assets/FoxitSerifBold-DZZ4CclT.pfb +0 -0
  75. package/dist/client/assets/FoxitSerifBoldItalic-DSQtwd_X.pfb +0 -0
  76. package/dist/client/assets/FoxitSerifItalic-CQs5lx9Y.pfb +0 -0
  77. package/dist/client/assets/FoxitSymbol-BVtbc20u.pfb +0 -0
  78. package/dist/client/assets/GBK-EUC-H-CAORqCkf.bcmap +0 -0
  79. package/dist/client/assets/GBK2K-H-Cv55KPk8.bcmap +0 -0
  80. package/dist/client/assets/GBKp-EUC-H-CElrnV5g.bcmap +0 -0
  81. package/dist/client/assets/GBT-EUC-H-BTsQIL1M.bcmap +0 -0
  82. package/dist/client/assets/GBT-H-DL9h-WkS.bcmap +0 -0
  83. package/dist/client/assets/GBTpc-EUC-H-DnIh5WJ3.bcmap +0 -0
  84. package/dist/client/assets/{GlassSurface-GY6owikG.js → GlassSurface-CBIEgwt1.js} +1 -1
  85. package/dist/client/assets/HKscs-B5-H-CXbBbq6g.bcmap +0 -0
  86. package/dist/client/assets/{HostedConnectionControls-COUhSe9x.js → HostedConnectionControls-DOpTlXzE.js} +1 -1
  87. package/dist/client/assets/HostedHubRoot-C1jq8cM6.js +2 -0
  88. package/dist/client/assets/{HostedNativeAuthorizationRoute-DZhYxv--.js → HostedNativeAuthorizationRoute-Clw1DHQW.js} +2 -2
  89. package/dist/client/assets/HostedNodeRenameDialog-Bd_Qu_ek.js +1 -0
  90. package/dist/client/assets/{HostedRelayTrustNotice-Bl6On0Yi.js → HostedRelayTrustNotice-CGcBpT9m.js} +1 -1
  91. package/dist/client/assets/IntegrationsSettingsPanel-J0qODRW-.js +2 -0
  92. package/dist/client/assets/KSC-Johab-H-CGtV3MPT.bcmap +0 -0
  93. package/dist/client/assets/{KeybindingsSettings-CPtXx-W2.js → KeybindingsSettings-CwxIHsFy.js} +1 -1
  94. package/dist/client/assets/{LazyBrowserPanel-SUIBB7B4.js → LazyBrowserPanel-VNAn6AUL.js} +2 -2
  95. package/dist/client/assets/LiberationSans-Bold-BPt4bU5Z.ttf +0 -0
  96. package/dist/client/assets/LiberationSans-BoldItalic-Bj53-jFw.ttf +0 -0
  97. package/dist/client/assets/LiberationSans-Italic-5QhGB3P9.ttf +0 -0
  98. package/dist/client/assets/LiberationSans-Regular-cbskN6YR.ttf +0 -0
  99. package/dist/client/assets/McpServersSettings-1pkIeutq.js +6 -0
  100. package/dist/client/assets/MobileSheet-DddfN8c2.js +1 -0
  101. package/dist/client/assets/{NodeSecuritySettings-BFifrshE.js → NodeSecuritySettings-BOIZeFZo.js} +1 -1
  102. package/dist/client/assets/OpinionatedPluginsSettings-oTIrPtIb.js +1 -0
  103. package/dist/client/assets/PdfAttachmentPreview-BCMO9OHD.js +54 -0
  104. package/dist/client/assets/{PhoneGetAppInterstitial-R0cqI17q.js → PhoneGetAppInterstitial-0EOj-PbW.js} +1 -1
  105. package/dist/client/assets/PhoneHome-Cg7l3b1T.js +1 -0
  106. package/dist/client/assets/PhoneSettingsSurface-BXAUtZ9M.js +2 -0
  107. package/dist/client/assets/ProvidersSettingsPanel-BaJgypXu.js +1 -0
  108. package/dist/client/assets/{QuitShortcutFeedback-CklL3jMd.js → QuitShortcutFeedback-DgJFEd6b.js} +1 -1
  109. package/dist/client/assets/{RedactedSensitiveText-CLPBtvH1.js → RedactedSensitiveText-D1VC2xa7.js} +1 -1
  110. package/dist/client/assets/RootAppShell-D2RjZ9jQ.js +7 -0
  111. package/dist/client/assets/Separator-CeMncdkm.js +1 -0
  112. package/dist/client/assets/SettingsDialog-B2hEb6u8.js +2 -0
  113. package/dist/client/assets/SettingsPanels-DtWLQDne.js +3 -0
  114. package/dist/client/assets/{SettingsPanels.editor-9pSZP875.js → SettingsPanels.editor-DJRckD71.js} +1 -1
  115. package/dist/client/assets/{SourceControlSettings-C1F3Brcn.js → SourceControlSettings-IpoZrjt5.js} +1 -1
  116. package/dist/client/assets/StatisticsPage-CUpE_5Gr.js +1 -0
  117. package/dist/client/assets/StatisticsPanel-CHrAY5AP.js +1 -0
  118. package/dist/client/assets/StatisticsSettingsLink-bGWuxNG3.js +1 -0
  119. package/dist/client/assets/{ThreadTerminalDrawer-CHZ60lPI.js → ThreadTerminalDrawer-BEv83xrk.js} +11 -11
  120. package/dist/client/assets/ThreadWorkspacePanel-BdMdJVHJ.js +2073 -0
  121. package/dist/client/assets/UniCNS-UCS2-H-DWzv8UhH.bcmap +0 -0
  122. package/dist/client/assets/UniCNS-UTF16-H-Bw0JKgCq.bcmap +0 -0
  123. package/dist/client/assets/UniCNS-UTF32-H-IE_GrH2i.bcmap +0 -0
  124. package/dist/client/assets/UniCNS-UTF8-H-BbLcFh6Q.bcmap +0 -0
  125. package/dist/client/assets/UniGB-UCS2-H-D7xzRvZN.bcmap +0 -0
  126. package/dist/client/assets/UniGB-UTF16-H-DKjbEwc0.bcmap +0 -0
  127. package/dist/client/assets/UniGB-UTF32-H-Behfouj5.bcmap +0 -0
  128. package/dist/client/assets/UniGB-UTF8-H-EROft1ro.bcmap +0 -0
  129. package/dist/client/assets/UniJIS-UCS2-H-2DbZ0MaQ.bcmap +0 -0
  130. package/dist/client/assets/UniJIS-UTF16-H-BlDDPdCK.bcmap +0 -0
  131. package/dist/client/assets/UniJIS-UTF32-H-BIQPWkjv.bcmap +0 -0
  132. package/dist/client/assets/UniJIS-UTF8-H-CGusholx.bcmap +0 -0
  133. package/dist/client/assets/UniJIS2004-UTF16-H-KXixH-HI.bcmap +0 -0
  134. package/dist/client/assets/UniJIS2004-UTF32-H-CXrD-9YE.bcmap +0 -0
  135. package/dist/client/assets/UniJIS2004-UTF8-H-BkOctZjn.bcmap +0 -0
  136. package/dist/client/assets/UniJISX0213-UTF32-H-BavAhZjb.bcmap +0 -0
  137. package/dist/client/assets/UniJISX02132004-UTF32-H-DAH-AgUq.bcmap +0 -0
  138. package/dist/client/assets/UniKS-UCS2-H-YeUc7k1L.bcmap +0 -0
  139. package/dist/client/assets/UniKS-UTF16-H-B0dvB-Td.bcmap +0 -0
  140. package/dist/client/assets/UniKS-UTF32-H-olR_LtmR.bcmap +0 -0
  141. package/dist/client/assets/UniKS-UTF8-H-CbpebD-y.bcmap +0 -0
  142. package/dist/client/assets/{activity-BMBx2Fu0.js → activity-BmRcsTyL.js} +1 -1
  143. package/dist/client/assets/{alert-CXnC_RJc.js → alert-C5UiA2xk.js} +1 -1
  144. package/dist/client/assets/{appChrome-BzM66lXM.js → appChrome-CsZ2ylc1.js} +1 -1
  145. package/dist/client/assets/{arrow-left-CymyVbCi.js → arrow-left-CSz-z20j.js} +1 -1
  146. package/dist/client/assets/{arrow-right-9wyq4YVq.js → arrow-right-DEi91hao.js} +1 -1
  147. package/dist/client/assets/{arrow-up-right-mfU38K6p.js → arrow-up-right-D7SpcTV9.js} +1 -1
  148. package/dist/client/assets/authorization-B1YXfej3.js +1 -0
  149. package/dist/client/assets/badge-BjvTY7-E.js +1 -0
  150. package/dist/client/assets/{bot-BR3RyOWP.js → bot-SC4UGZyw.js} +1 -1
  151. package/dist/client/assets/{capabilities-C8sxDbKT.js → capabilities-BCkDNe83.js} +1 -1
  152. package/dist/client/assets/{chart-column-CcRi3pAd.js → chart-column-C08MuLgY.js} +1 -1
  153. package/dist/client/assets/chevron-right-DgB53U1_.js +1 -0
  154. package/dist/client/assets/{clipboard-copy-ezz8rnaT.js → clipboard-copy-D74Wvnon.js} +1 -1
  155. package/dist/client/assets/{data-list-ZLhzdlED.js → data-list-CZ4Utnfl.js} +1 -1
  156. package/dist/client/assets/{desktopWorkspace-P28r2lN2.js → desktopWorkspace-DVfn9ZT_.js} +1 -1
  157. package/dist/client/assets/{download-BA9L9tK9.js → download-Dio40wIJ.js} +1 -1
  158. package/dist/client/assets/editorPreferences-2dG4uloq.js +1 -0
  159. package/dist/client/assets/{empty-3NpXLnAM.js → empty-6LExKYgQ.js} +1 -1
  160. package/dist/client/assets/{group-D5qBdsaB.js → group-D_mu0Kiq.js} +1 -1
  161. package/dist/client/assets/{hostedConnectionCoordinator-CLV-JD1S.js → hostedConnectionCoordinator-YkDLnATK.js} +1 -1
  162. package/dist/client/assets/{hubRoutes-EWJ3Gdod.js → hubRoutes-D3quWvU7.js} +1 -1
  163. package/dist/client/assets/{index-DxCd1PgA.js → index-7MTgf8YI.js} +2 -2
  164. package/dist/client/assets/{input-DrOL1KPS.js → input-CfVJycb1.js} +1 -1
  165. package/dist/client/assets/jbig2-CNFLgX9F.wasm +0 -0
  166. package/dist/client/assets/kbd-uFa_tY-L.js +1 -0
  167. package/dist/client/assets/{key-round-D2DtQ7aS.js → key-round-C-oUSjpF.js} +1 -1
  168. package/dist/client/assets/{layers-DtSJWmwy.js → layers-Co2a5C1k.js} +1 -1
  169. package/dist/client/assets/{log-out-YAp9fsOg.js → log-out-pWFhbvwr.js} +1 -1
  170. package/dist/client/assets/{logging-BuUPX1SP.js → logging-JMrwaeZh.js} +1 -1
  171. package/dist/client/assets/main-BNPtp9Z0.css +2 -0
  172. package/dist/client/assets/main-CGeD6yVE.js +9 -0
  173. package/dist/client/assets/openjpeg-MeY6OQBn.wasm +0 -0
  174. package/dist/client/assets/{palette-D18VboLH.js → palette-B_6C4fD6.js} +1 -1
  175. package/dist/client/assets/pdf.worker.min-Dswkl-cV.mjs +29 -0
  176. package/dist/client/assets/{play-d3KUi4G6.js → play-DFtc9zBy.js} +1 -1
  177. package/dist/client/assets/primary-CNUdEGcv.js +2 -0
  178. package/dist/client/assets/providerDriverMeta-Cg_XLUfo.js +1 -0
  179. package/dist/client/assets/{ProviderModelPicker-dwWhl7Uf.js → providerInstances-JaDrOWPZ.js} +1 -1
  180. package/dist/client/assets/providerModels-5uOq3qPC.js +1 -0
  181. package/dist/client/assets/qcms_bg-3PJi_GXR.wasm +0 -0
  182. package/dist/client/assets/{qr-code-Bk1kdf_k.js → qr-code-BU354aLS.js} +1 -1
  183. package/dist/client/assets/{qr-code-MAZkoKtL.js → qr-code-DaHWf7Oq.js} +1 -1
  184. package/dist/client/assets/quickjs-eval-zJSp5SB4.wasm +0 -0
  185. package/dist/client/assets/radio-group-DKaA1eey.js +2 -0
  186. package/dist/client/assets/{refresh-cw-DY3_Ph-S.js → refresh-cw-CY5BeUEr.js} +1 -1
  187. package/dist/client/assets/runtime-BKneT96Q.js +17 -0
  188. package/dist/client/assets/{save-ugJXuJRM.js → save-DIHMjHXd.js} +1 -1
  189. package/dist/client/assets/{scroll-area-BMnGzd2a.js → scroll-area-Cq4SX9P8.js} +1 -1
  190. package/dist/client/assets/{scrollEdges-QLSFwGSQ.js → scrollEdges-BaWRjrac.js} +1 -1
  191. package/dist/client/assets/{separator-BwUYkCkX.js → separator-BN705fC0.js} +1 -1
  192. package/dist/client/assets/{settingsLayout-C6SUmJVB.js → settingsLayout-DQERzSce.js} +1 -1
  193. package/dist/client/assets/{sheet-DLy4aeVa.js → sheet-CFvRY7T6.js} +1 -1
  194. package/dist/client/assets/{shield-Zq_ygsnJ.js → shield-Zn2kFj5M.js} +1 -1
  195. package/dist/client/assets/{shield-alert-DfUhTI4-.js → shield-alert-DMB5gKiC.js} +1 -1
  196. package/dist/client/assets/{shield-check-CO4SMhAs.js → shield-check-DyNf6Bky.js} +1 -1
  197. package/dist/client/assets/{sidebar-DNnW-a2V.js → sidebar-Bsh64sLK.js} +1 -1
  198. package/dist/client/assets/sidebarProjectFolders-CQbpO9ZI.js +4 -0
  199. package/dist/client/assets/{sidebarStatusText-CawrXnx0.js → sidebarStatusText-DCo-whyK.js} +1 -1
  200. package/dist/client/assets/{skeleton-DRm4_OvB.js → skeleton-DEuowfjY.js} +1 -1
  201. package/dist/client/assets/{smartphone-O2VACDhU.js → smartphone-BLWJ7C9-.js} +1 -1
  202. package/dist/client/assets/{sparkles-isHutYWU.js → sparkles-DAXDXp_s.js} +1 -1
  203. package/dist/client/assets/src-DPpEXU6w.js +14 -0
  204. package/dist/client/assets/{star-7UHEnC3x.js → star-CjQxHYbD.js} +1 -1
  205. package/dist/client/assets/switch-LahPAvrd.js +48 -0
  206. package/dist/client/assets/{toggle-CaKBNe6W.js → toggle-45lsrmyi.js} +1 -1
  207. package/dist/client/assets/{toggle-group-UeFeTI3u.js → toggle-group-D5pl24ED.js} +1 -1
  208. package/dist/client/assets/{tokenModePresentation-DV56ekA4.js → tokenModePresentation-CPUsUGY4.js} +1 -1
  209. package/dist/client/assets/tooltip-B8-izeMo.js +1 -0
  210. package/dist/client/assets/{unplug-DisTpujT.js → unplug-Bjpxv8i0.js} +1 -1
  211. package/dist/client/assets/usage-8vQUo0mr.js +1 -0
  212. package/dist/client/assets/useAppSidebarCollapsed-uwz9Hlgc.js +1 -0
  213. package/dist/client/assets/useBaseUiId-BtuL7q77.js +1 -0
  214. package/dist/client/assets/useLabelableId-N_LsKNbf.js +1 -0
  215. package/dist/client/assets/useNavigate-DADLi29i.js +1 -0
  216. package/dist/client/assets/usePhoneThreadActions-B9_HK7tn.js +1 -0
  217. package/dist/client/assets/usePopupViewport-w8BEny9j.js +1 -0
  218. package/dist/client/assets/useScrollLock-bCmUzTgK.js +1 -0
  219. package/dist/client/assets/useStatistics-DJtONxT0.js +55 -0
  220. package/dist/client/assets/useTriggerFocusGuards-C7JWO2LT.js +1 -0
  221. package/dist/client/assets/useValueChanged-DkoUO9bY.js +1 -0
  222. package/dist/client/assets/{user-round-DctamWV6.js → user-round-DEWIPpNs.js} +1 -1
  223. package/dist/client/assets/{vscode-icons-Dw-LGJAv.js → vscode-icons-DTH-Vj-_.js} +1 -1
  224. package/dist/client/assets/workspaceMetadataProjection-BnpxBe8S.js +1 -0
  225. package/dist/client/assets/{wrench-Ds8eZerZ.js → wrench-36WYdK_a.js} +1 -1
  226. package/dist/client/index.html +1 -1
  227. package/dist/collectUint8StreamText-BAUF-vzz.mjs +37 -0
  228. package/dist/collectUint8StreamText-vagpNUMJ.cjs +42 -0
  229. package/dist/deviceHostWorker-C-BSnmkn.mjs +167 -0
  230. package/dist/deviceHostWorker-CYnrwfrv.cjs +169 -0
  231. package/dist/git-C4iJMbBu.mjs +132 -0
  232. package/dist/git-irmB8_k7.cjs +218 -0
  233. package/dist/{makeManagedServerProvider-GZcpSLrW.mjs → makeManagedServerProvider-BINne1KE.mjs} +3 -38
  234. package/dist/{makeManagedServerProvider-VzxWN-04.cjs → makeManagedServerProvider-DGbd8BhM.cjs} +1 -60
  235. package/dist/resource-monitor/ryco-resource-monitor +0 -0
  236. package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
  237. package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
  238. package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
  239. package/dist/runtimeSession-Bj0OUcNJ.cjs +63 -0
  240. package/dist/runtimeSession-CA6cLWg0.mjs +40 -0
  241. package/dist/schemaJson-CaG1bOvo.mjs +49 -0
  242. package/dist/schemaJson-CuhFxa8p.cjs +66 -0
  243. package/dist/{collectUint8StreamText-DStwNTTK.cjs → src-BlzIcnVG.cjs} +573 -117
  244. package/dist/{collectUint8StreamText-C_VNyArd.mjs → src-DtEOcXdl.mjs} +389 -95
  245. package/package.json +1 -1
  246. package/dist/AcpNativeLogging-COepku4a.cjs +0 -5130
  247. package/dist/AcpNativeLogging-D7e1dn7s.mjs +0 -5015
  248. package/dist/client/assets/AccountSettings-ApnDA1f-.js +0 -1
  249. package/dist/client/assets/AiFocusSettings-CNmGHEcA.js +0 -1
  250. package/dist/client/assets/AppearanceSettings-BG8W4DP0.js +0 -1
  251. package/dist/client/assets/ChatRightPanel-a6UOHNMm.js +0 -194
  252. package/dist/client/assets/CommandPaletteDialog-B2iKWCUi.js +0 -1
  253. package/dist/client/assets/CompositeRoot-C1G-Ejus.js +0 -1
  254. package/dist/client/assets/ComputerUseSettings-CPwWoHWj.js +0 -1
  255. package/dist/client/assets/ConnectionsSettings-CPMkuxza.js +0 -7
  256. package/dist/client/assets/ContextHandoffEndpointLabel-BildLLDY.js +0 -4
  257. package/dist/client/assets/DialogRoot-SKkIuQHA.js +0 -1
  258. package/dist/client/assets/DialogTrigger-Bl_fcIV2.js +0 -1
  259. package/dist/client/assets/DraftChatThreadRouteView-CEDYjbKq.js +0 -1
  260. package/dist/client/assets/HostedHubRoot-BTWc0XoQ.js +0 -2
  261. package/dist/client/assets/IntegrationsSettingsPanel-n9owMZf-.js +0 -2
  262. package/dist/client/assets/McpServersSettings-BWIUud0Z.js +0 -6
  263. package/dist/client/assets/MobileSheet-NTayGHF6.js +0 -1
  264. package/dist/client/assets/OpinionatedPluginsSettings-D7WuuNWZ.js +0 -1
  265. package/dist/client/assets/PhoneHome-FqWvnJP_.js +0 -1
  266. package/dist/client/assets/PhoneSettingsSurface-w5PJnoBc.js +0 -2
  267. package/dist/client/assets/ProvidersSettingsPanel-Ww1ch3xA.js +0 -1
  268. package/dist/client/assets/RootAppShell-BdQCs2XJ.js +0 -7
  269. package/dist/client/assets/Separator-CpYBhf-I.js +0 -1
  270. package/dist/client/assets/SettingsDialog-DeMzEeCP.js +0 -2
  271. package/dist/client/assets/SettingsPanels-ZxNz9ZfL.js +0 -3
  272. package/dist/client/assets/StatisticsPage-C7v-6CTr.js +0 -1
  273. package/dist/client/assets/StatisticsPanel-CeIjiBm8.js +0 -1
  274. package/dist/client/assets/StatisticsSettingsLink-5s_violW.js +0 -1
  275. package/dist/client/assets/ThreadWorkspacePanel-Ct5kMcuY.js +0 -2073
  276. package/dist/client/assets/authorization-CjOFkg7b.js +0 -1
  277. package/dist/client/assets/badge-Dg7mXiOh.js +0 -1
  278. package/dist/client/assets/chevron-right-CuUjBsQV.js +0 -1
  279. package/dist/client/assets/editorPreferences-DeKdSV3s.js +0 -1
  280. package/dist/client/assets/kbd-rWDjJnWX.js +0 -1
  281. package/dist/client/assets/main-BbtLAX7M.js +0 -9
  282. package/dist/client/assets/main-D4CtFNPY.css +0 -2
  283. package/dist/client/assets/monitor-OyD484tI.js +0 -1
  284. package/dist/client/assets/primary-D_D7eLwT.js +0 -2
  285. package/dist/client/assets/providerDriverMeta-DNTocCcU.js +0 -1
  286. package/dist/client/assets/providerModels-bFbEIfL9.js +0 -1
  287. package/dist/client/assets/radio-group-D-VCGinX.js +0 -2
  288. package/dist/client/assets/runtime-Djy96GJd.js +0 -17
  289. package/dist/client/assets/sidebarProjectFolders-ygpaKZM6.js +0 -4
  290. package/dist/client/assets/src-BSuAGqhK.js +0 -14
  291. package/dist/client/assets/switch-DD1qVLgN.js +0 -48
  292. package/dist/client/assets/tooltip-DXvXxL37.js +0 -1
  293. package/dist/client/assets/useAppSidebarCollapsed-CaAsLi1q.js +0 -1
  294. package/dist/client/assets/useBaseUiId-CJN4MvrU.js +0 -1
  295. package/dist/client/assets/useLabelableId-BsDFG9Oj.js +0 -1
  296. package/dist/client/assets/useNavigate-cLfxn_9L.js +0 -1
  297. package/dist/client/assets/usePhoneThreadActions-rekHL1Mi.js +0 -1
  298. package/dist/client/assets/usePopupViewport-kXU31P6l.js +0 -1
  299. package/dist/client/assets/useScrollLock-DjMxrUJe.js +0 -1
  300. package/dist/client/assets/useStatistics-BYP-9CmW.js +0 -55
  301. package/dist/client/assets/useTriggerFocusGuards-DuAm2B8C.js +0 -1
  302. package/dist/client/assets/useValueChanged-DreFjrMK.js +0 -1
  303. package/dist/client/assets/workspaceMetadataProjection-BL4sEIL2.js +0 -1
@@ -0,0 +1,552 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { Nr as GrokSettings, To as ProviderDriverKind, cr as TextGenerationError } from "./src-DtEOcXdl.mjs";
4
+ import "./Metrics-C-3MahDy.mjs";
5
+ import { m as sanitizeFeatureBranchName, p as sanitizeBranchFragment } from "./git-C4iJMbBu.mjs";
6
+ import { $ as buildCommitMessagePrompt, At as providerModelsFromSettings, Dr as normalizeModelSlug, Dt as isCommandMissingCause, Q as buildBranchNamePrompt, Ut as ProviderDriverError, W as AcpSessionRuntime, Z as validateRankInboxThreadsResult, at as buildThreadTitlePrompt, br as createModelCapabilities, ct as sanitizeCommitSubject, et as buildIssueContentPolishPrompt, fr as resolveProviderMaintenanceCapabilitiesEffect, gt as mergeProviderInstanceEnvironment, it as buildThreadPriorityPrompt, jt as spawnAndCollect, k as ProviderEventLoggers, kt as parseGenericCliVersion, lt as sanitizePrTitle, mr as ServerSettingsService, nt as buildPrContentPrompt, or as enrichProviderSnapshotWithVersionAdvisory, ot as extractJsonObject, sr as makeManualOnlyProviderMaintenanceCapabilities, tt as buildIssueContentTitlePrompt, ur as makeStaticProviderMaintenanceResolver, ut as sanitizeThreadTitle, wt as buildServerProvider } from "./bin.mjs";
7
+ import { i as currentAcpModelIdFromSessionSetup, n as makeXAiPromptCompletionRuntime, r as applyAcpModelSelection, t as makeAcpAdapter } from "./AcpAdapter-BemMQNbj.mjs";
8
+ import { t as defaultProviderContinuationIdentity } from "./ProviderDriver-kCV60GKk.mjs";
9
+ import { t as makeManagedServerProvider } from "./makeManagedServerProvider-BINne1KE.mjs";
10
+ import * as Effect from "effect/Effect";
11
+ import * as Layer from "effect/Layer";
12
+ import * as Schema from "effect/Schema";
13
+ import { HttpClient } from "effect/unstable/http";
14
+ import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
15
+ import "effect/Scope";
16
+ import * as Cause from "effect/Cause";
17
+ import * as Exit from "effect/Exit";
18
+ import * as Option from "effect/Option";
19
+ import * as Ref from "effect/Ref";
20
+ import * as Stream from "effect/Stream";
21
+ import * as Duration from "effect/Duration";
22
+ import * as DateTime from "effect/DateTime";
23
+ import "effect/FileSystem";
24
+ import "effect/Path";
25
+ import * as Result from "effect/Result";
26
+ //#region src/provider/acp/GrokAcpSupport.ts
27
+ const GROK_API_KEY_ENV = "XAI_API_KEY";
28
+ const GROK_OAUTH2_REFERRER_ENV = "GROK_OAUTH2_REFERRER";
29
+ const RYCO_OAUTH_REFERRER = "ryco";
30
+ const GROK_AUTH_METHOD_API_KEY = "xai.api_key";
31
+ const GROK_AUTH_METHOD_CACHED_TOKEN = "cached_token";
32
+ const GROK_DRIVER_KIND = ProviderDriverKind.make("grok");
33
+ function buildGrokAcpSpawnInput(grokSettings, cwd, environment) {
34
+ return {
35
+ command: grokSettings?.binaryPath || "grok",
36
+ args: ["agent", "stdio"],
37
+ cwd,
38
+ env: {
39
+ ...environment,
40
+ [GROK_OAUTH2_REFERRER_ENV]: RYCO_OAUTH_REFERRER
41
+ }
42
+ };
43
+ }
44
+ function resolveGrokAuthMethodId(environment) {
45
+ return environment?.[GROK_API_KEY_ENV]?.trim() ? GROK_AUTH_METHOD_API_KEY : GROK_AUTH_METHOD_CACHED_TOKEN;
46
+ }
47
+ const makeGrokAcpRuntime = (input) => Effect.gen(function* () {
48
+ const acpContext = yield* Layer.build(AcpSessionRuntime.layer({
49
+ ...input,
50
+ spawn: buildGrokAcpSpawnInput(input.grokSettings, input.cwd, input.environment),
51
+ authMethodId: resolveGrokAuthMethodId(input.environment)
52
+ }).pipe(Layer.provide(Layer.succeed(ChildProcessSpawner.ChildProcessSpawner, input.childProcessSpawner))));
53
+ const runtime = yield* Effect.service(AcpSessionRuntime).pipe(Effect.provide(acpContext));
54
+ return yield* makeXAiPromptCompletionRuntime(runtime);
55
+ });
56
+ function resolveGrokAcpBaseModelId(model) {
57
+ const trimmed = model?.trim();
58
+ const base = trimmed && trimmed.length > 0 ? trimmed : "grok-build";
59
+ return normalizeModelSlug(base, GROK_DRIVER_KIND) ?? "grok-build";
60
+ }
61
+ //#endregion
62
+ //#region src/textGeneration/GrokTextGeneration.ts
63
+ const GROK_TIMEOUT_MS = 18e4;
64
+ function mapGrokAcpError(operation, detail, cause) {
65
+ return new TextGenerationError({
66
+ operation,
67
+ detail,
68
+ ...cause !== void 0 ? { cause } : {}
69
+ });
70
+ }
71
+ function isTextGenerationError(error) {
72
+ return typeof error === "object" && error !== null && "_tag" in error && error._tag === "TextGenerationError";
73
+ }
74
+ const makeGrokTextGeneration = Effect.fn("makeGrokTextGeneration")(function* (grokSettings, environment = process.env) {
75
+ const commandSpawner = yield* ChildProcessSpawner.ChildProcessSpawner;
76
+ const runGrokJson = ({ operation, cwd, prompt, outputSchemaJson, modelSelection }) => Effect.gen(function* () {
77
+ const resolvedModel = resolveGrokAcpBaseModelId(modelSelection.model);
78
+ const outputRef = yield* Ref.make("");
79
+ const runtime = yield* makeGrokAcpRuntime({
80
+ grokSettings,
81
+ environment,
82
+ childProcessSpawner: commandSpawner,
83
+ cwd,
84
+ clientInfo: {
85
+ name: "ryco-git-text",
86
+ version: "0.0.0"
87
+ }
88
+ });
89
+ yield* runtime.handleSessionUpdate((notification) => {
90
+ const update = notification.update;
91
+ if (update.sessionUpdate !== "agent_message_chunk") return Effect.void;
92
+ const content = update.content;
93
+ if (content.type !== "text") return Effect.void;
94
+ return Ref.update(outputRef, (current) => current + content.text);
95
+ });
96
+ const promptResult = yield* Effect.gen(function* () {
97
+ const started = yield* runtime.start();
98
+ yield* applyAcpModelSelection({
99
+ runtime,
100
+ currentModelId: currentAcpModelIdFromSessionSetup(started.sessionSetupResult),
101
+ requestedModelId: resolvedModel,
102
+ mapError: (cause) => mapGrokAcpError(operation, "Failed to set Grok ACP base model for text generation.", cause)
103
+ });
104
+ return yield* runtime.prompt({ prompt: [{
105
+ type: "text",
106
+ text: prompt
107
+ }] });
108
+ }).pipe(Effect.timeoutOption(GROK_TIMEOUT_MS), Effect.flatMap(Option.match({
109
+ onNone: () => Effect.fail(new TextGenerationError({
110
+ operation,
111
+ detail: "Grok ACP request timed out."
112
+ })),
113
+ onSome: (value) => Effect.succeed(value)
114
+ })), Effect.mapError((cause) => isTextGenerationError(cause) ? cause : mapGrokAcpError(operation, "Grok ACP request failed.", cause)));
115
+ const trimmed = (yield* Ref.get(outputRef)).trim();
116
+ if (!trimmed) return yield* new TextGenerationError({
117
+ operation,
118
+ detail: promptResult.stopReason === "cancelled" ? "Grok ACP request was cancelled." : "Grok Agent returned empty output."
119
+ });
120
+ return yield* Schema.decodeEffect(Schema.fromJsonString(outputSchemaJson))(extractJsonObject(trimmed)).pipe(Effect.catchTag("SchemaError", (cause) => Effect.fail(new TextGenerationError({
121
+ operation,
122
+ detail: "Grok Agent returned invalid structured output.",
123
+ cause
124
+ }))));
125
+ }).pipe(Effect.mapError((cause) => isTextGenerationError(cause) ? cause : mapGrokAcpError(operation, "Grok ACP text generation failed.", cause)), Effect.scoped);
126
+ return {
127
+ generateCommitMessage: Effect.fn("GrokTextGeneration.generateCommitMessage")(function* (input) {
128
+ const { prompt, outputSchema } = buildCommitMessagePrompt({
129
+ branch: input.branch,
130
+ stagedSummary: input.stagedSummary,
131
+ stagedPatch: input.stagedPatch,
132
+ includeBranch: input.includeBranch === true
133
+ });
134
+ const generated = yield* runGrokJson({
135
+ operation: "generateCommitMessage",
136
+ cwd: input.cwd,
137
+ prompt,
138
+ outputSchemaJson: outputSchema,
139
+ modelSelection: input.modelSelection
140
+ });
141
+ return {
142
+ subject: sanitizeCommitSubject(generated.subject),
143
+ body: generated.body.trim(),
144
+ ..."branch" in generated && typeof generated.branch === "string" ? { branch: sanitizeFeatureBranchName(generated.branch) } : {}
145
+ };
146
+ }),
147
+ generatePrContent: Effect.fn("GrokTextGeneration.generatePrContent")(function* (input) {
148
+ const { prompt, outputSchema } = buildPrContentPrompt({
149
+ baseBranch: input.baseBranch,
150
+ headBranch: input.headBranch,
151
+ commitSummary: input.commitSummary,
152
+ diffSummary: input.diffSummary,
153
+ diffPatch: input.diffPatch
154
+ });
155
+ const generated = yield* runGrokJson({
156
+ operation: "generatePrContent",
157
+ cwd: input.cwd,
158
+ prompt,
159
+ outputSchemaJson: outputSchema,
160
+ modelSelection: input.modelSelection
161
+ });
162
+ return {
163
+ title: sanitizePrTitle(generated.title),
164
+ body: generated.body.trim()
165
+ };
166
+ }),
167
+ generateBranchName: Effect.fn("GrokTextGeneration.generateBranchName")(function* (input) {
168
+ const { prompt, outputSchema } = buildBranchNamePrompt({
169
+ message: input.message,
170
+ attachments: input.attachments
171
+ });
172
+ const generated = yield* runGrokJson({
173
+ operation: "generateBranchName",
174
+ cwd: input.cwd,
175
+ prompt,
176
+ outputSchemaJson: outputSchema,
177
+ modelSelection: input.modelSelection
178
+ });
179
+ return { branch: sanitizeBranchFragment(generated.branch) };
180
+ }),
181
+ generateThreadTitle: Effect.fn("GrokTextGeneration.generateThreadTitle")(function* (input) {
182
+ const { prompt, outputSchema } = buildThreadTitlePrompt({
183
+ message: input.message,
184
+ attachments: input.attachments
185
+ });
186
+ const generated = yield* runGrokJson({
187
+ operation: "generateThreadTitle",
188
+ cwd: input.cwd,
189
+ prompt,
190
+ outputSchemaJson: outputSchema,
191
+ modelSelection: input.modelSelection
192
+ });
193
+ return { title: sanitizeThreadTitle(generated.title) };
194
+ }),
195
+ generateIssueContent: Effect.fn("GrokTextGeneration.generateIssueContent")(function* (input) {
196
+ if (input.mode === "polish") {
197
+ const { prompt, outputSchema } = buildIssueContentPolishPrompt({
198
+ rough: input.rough,
199
+ ...input.currentTitle ? { currentTitle: input.currentTitle } : {},
200
+ ...input.customInstructions ? { customInstructions: input.customInstructions } : {}
201
+ });
202
+ const decoded = yield* runGrokJson({
203
+ operation: "generateIssueContent",
204
+ cwd: input.cwd,
205
+ prompt,
206
+ outputSchemaJson: outputSchema,
207
+ modelSelection: input.modelSelection
208
+ });
209
+ return {
210
+ title: decoded.title.trim(),
211
+ body: decoded.body.trim()
212
+ };
213
+ }
214
+ const { prompt, outputSchema } = buildIssueContentTitlePrompt({ body: input.body });
215
+ return { title: (yield* runGrokJson({
216
+ operation: "generateIssueContent",
217
+ cwd: input.cwd,
218
+ prompt,
219
+ outputSchemaJson: outputSchema,
220
+ modelSelection: input.modelSelection
221
+ })).title.trim() };
222
+ }),
223
+ rankInboxThreads: Effect.fn("GrokTextGeneration.rankInboxThreads")(function* (input) {
224
+ const { prompt, outputSchema } = buildThreadPriorityPrompt({ serializedCandidates: input.chunk.serializedCandidates });
225
+ const generated = yield* runGrokJson({
226
+ operation: "rankInboxThreads",
227
+ cwd: input.cwd,
228
+ prompt,
229
+ outputSchemaJson: outputSchema,
230
+ modelSelection: input.modelSelection
231
+ });
232
+ return yield* validateRankInboxThreadsResult(input, generated.rankings);
233
+ }),
234
+ answerSideQuestion: (_input) => Effect.fail(new TextGenerationError({
235
+ operation: "answerSideQuestion",
236
+ detail: "Grok does not provide an enforceable tool-free side question mode. Select Codex, Claude, or GitHub Copilot for side chat."
237
+ }))
238
+ };
239
+ });
240
+ //#endregion
241
+ //#region src/provider/Layers/GrokAdapter.ts
242
+ function makeGrokAdapter(grokSettings, options) {
243
+ return makeAcpAdapter({
244
+ ...options,
245
+ provider: ProviderDriverKind.make("grok"),
246
+ normalizeModel: resolveGrokAcpBaseModelId,
247
+ xaiExtensions: true,
248
+ makeRuntime: (input) => makeGrokAcpRuntime({
249
+ ...input,
250
+ grokSettings,
251
+ ...options?.environment ? { environment: options.environment } : {}
252
+ })
253
+ });
254
+ }
255
+ //#endregion
256
+ //#region src/provider/Layers/GrokProvider.ts
257
+ const GROK_PRESENTATION = {
258
+ displayName: "Grok",
259
+ badgeLabel: "Early Access",
260
+ showInteractionModeToggle: false
261
+ };
262
+ const PROVIDER = ProviderDriverKind.make("grok");
263
+ const EMPTY_CAPABILITIES = createModelCapabilities({ optionDescriptors: [] });
264
+ const VERSION_PROBE_TIMEOUT_MS = 4e3;
265
+ const GROK_ACP_MODEL_DISCOVERY_TIMEOUT_MS = 15e3;
266
+ const GROK_BUILT_IN_MODELS = [{
267
+ slug: "grok-build",
268
+ name: "Grok Build",
269
+ isCustom: false,
270
+ capabilities: EMPTY_CAPABILITIES
271
+ }];
272
+ function buildInitialGrokProviderSnapshot(grokSettings) {
273
+ const checkedAt = (/* @__PURE__ */ new Date()).toISOString();
274
+ const models = grokModelsFromSettings(grokSettings.customModels);
275
+ if (!grokSettings.enabled) return buildServerProvider({
276
+ presentation: GROK_PRESENTATION,
277
+ enabled: false,
278
+ checkedAt,
279
+ models,
280
+ probe: {
281
+ installed: false,
282
+ version: null,
283
+ status: "warning",
284
+ auth: { status: "unknown" },
285
+ message: "Grok is disabled in Ryco settings."
286
+ }
287
+ });
288
+ return buildServerProvider({
289
+ presentation: GROK_PRESENTATION,
290
+ enabled: true,
291
+ checkedAt,
292
+ models,
293
+ probe: {
294
+ installed: true,
295
+ version: null,
296
+ status: "warning",
297
+ auth: { status: "unknown" },
298
+ message: "Checking Grok CLI availability..."
299
+ }
300
+ });
301
+ }
302
+ function grokModelsFromSettings(customModels, builtInModels = GROK_BUILT_IN_MODELS) {
303
+ return providerModelsFromSettings(builtInModels, PROVIDER, customModels ?? [], EMPTY_CAPABILITIES);
304
+ }
305
+ function buildGrokDiscoveredModelsFromSessionModelState(modelState) {
306
+ if (!modelState || modelState.availableModels.length === 0) return [];
307
+ const seen = /* @__PURE__ */ new Set();
308
+ return modelState.availableModels.map((model) => {
309
+ const slug = resolveGrokAcpBaseModelId(model.modelId);
310
+ if (!slug || seen.has(slug)) return;
311
+ seen.add(slug);
312
+ return {
313
+ slug,
314
+ name: model.name.trim() || slug,
315
+ isCustom: false,
316
+ capabilities: EMPTY_CAPABILITIES
317
+ };
318
+ }).filter((model) => model !== void 0);
319
+ }
320
+ const discoverGrokModelsViaAcp = (grokSettings, environment = process.env) => Effect.gen(function* () {
321
+ const childProcessSpawner = yield* ChildProcessSpawner.ChildProcessSpawner;
322
+ return buildGrokDiscoveredModelsFromSessionModelState((yield* (yield* makeGrokAcpRuntime({
323
+ grokSettings,
324
+ environment,
325
+ childProcessSpawner,
326
+ cwd: process.cwd(),
327
+ clientInfo: {
328
+ name: "ryco-provider-probe",
329
+ version: "0.0.0"
330
+ }
331
+ })).start()).sessionSetupResult.models);
332
+ }).pipe(Effect.scoped);
333
+ const runGrokVersionCommand = (grokSettings, environment = process.env) => {
334
+ const command = grokSettings.binaryPath || "grok";
335
+ return spawnAndCollect(command, ChildProcess.make(command, ["--version"], {
336
+ env: environment,
337
+ shell: process.platform === "win32"
338
+ }));
339
+ };
340
+ const checkGrokProviderStatus = Effect.fn("checkGrokProviderStatus")(function* (grokSettings, environment = process.env) {
341
+ const checkedAt = DateTime.formatIso(yield* DateTime.now);
342
+ const fallbackModels = grokModelsFromSettings(grokSettings.customModels);
343
+ if (!grokSettings.enabled) return buildServerProvider({
344
+ presentation: GROK_PRESENTATION,
345
+ enabled: false,
346
+ checkedAt,
347
+ models: fallbackModels,
348
+ probe: {
349
+ installed: false,
350
+ version: null,
351
+ status: "warning",
352
+ auth: { status: "unknown" },
353
+ message: "Grok is disabled in Ryco settings."
354
+ }
355
+ });
356
+ const versionResult = yield* runGrokVersionCommand(grokSettings, environment).pipe(Effect.timeoutOption(VERSION_PROBE_TIMEOUT_MS), Effect.result);
357
+ if (Result.isFailure(versionResult)) {
358
+ const error = versionResult.failure;
359
+ yield* Effect.logWarning("Grok CLI health check failed.", { errorTag: error.name });
360
+ return buildServerProvider({
361
+ presentation: GROK_PRESENTATION,
362
+ enabled: grokSettings.enabled,
363
+ checkedAt,
364
+ models: fallbackModels,
365
+ probe: {
366
+ installed: !isCommandMissingCause(error),
367
+ version: null,
368
+ status: "error",
369
+ auth: { status: "unknown" },
370
+ message: isCommandMissingCause(error) ? "Grok CLI (`grok`) is not installed or not on PATH." : "Failed to execute Grok CLI health check."
371
+ }
372
+ });
373
+ }
374
+ if (Option.isNone(versionResult.success)) return buildServerProvider({
375
+ presentation: GROK_PRESENTATION,
376
+ enabled: grokSettings.enabled,
377
+ checkedAt,
378
+ models: fallbackModels,
379
+ probe: {
380
+ installed: true,
381
+ version: null,
382
+ status: "error",
383
+ auth: { status: "unknown" },
384
+ message: "Grok CLI is installed but timed out while running `grok --version`."
385
+ }
386
+ });
387
+ const versionOutput = versionResult.success.value;
388
+ const version = parseGenericCliVersion(`${versionOutput.stdout}\n${versionOutput.stderr}`);
389
+ if (versionOutput.code !== 0) {
390
+ yield* Effect.logWarning("Grok CLI version probe exited with a non-zero status.", {
391
+ exitCode: versionOutput.code,
392
+ stdoutLength: versionOutput.stdout.length,
393
+ stderrLength: versionOutput.stderr.length
394
+ });
395
+ return buildServerProvider({
396
+ presentation: GROK_PRESENTATION,
397
+ enabled: grokSettings.enabled,
398
+ checkedAt,
399
+ models: fallbackModels,
400
+ probe: {
401
+ installed: true,
402
+ version,
403
+ status: "error",
404
+ auth: { status: "unknown" },
405
+ message: "Grok CLI is installed but failed to run."
406
+ }
407
+ });
408
+ }
409
+ const discoveryExit = yield* discoverGrokModelsViaAcp(grokSettings, environment).pipe(Effect.timeoutOption(GROK_ACP_MODEL_DISCOVERY_TIMEOUT_MS), Effect.exit);
410
+ if (Exit.isFailure(discoveryExit)) {
411
+ yield* Effect.logWarning("Grok ACP model discovery failed", { cause: Cause.pretty(discoveryExit.cause) });
412
+ return buildServerProvider({
413
+ presentation: GROK_PRESENTATION,
414
+ enabled: grokSettings.enabled,
415
+ checkedAt,
416
+ models: fallbackModels,
417
+ probe: {
418
+ installed: true,
419
+ version,
420
+ status: "error",
421
+ auth: { status: "unknown" },
422
+ message: "Grok CLI is installed but ACP startup failed. Check server logs for details."
423
+ }
424
+ });
425
+ }
426
+ if (Option.isNone(discoveryExit.value)) {
427
+ yield* Effect.logWarning(`Grok ACP model discovery timed out after ${GROK_ACP_MODEL_DISCOVERY_TIMEOUT_MS}ms.`);
428
+ return buildServerProvider({
429
+ presentation: GROK_PRESENTATION,
430
+ enabled: grokSettings.enabled,
431
+ checkedAt,
432
+ models: fallbackModels,
433
+ probe: {
434
+ installed: true,
435
+ version,
436
+ status: "error",
437
+ auth: { status: "unknown" },
438
+ message: `Grok CLI is installed but ACP startup timed out after ${GROK_ACP_MODEL_DISCOVERY_TIMEOUT_MS}ms.`
439
+ }
440
+ });
441
+ }
442
+ const discoveredModels = discoveryExit.value.value;
443
+ const models = discoveredModels.length > 0 ? grokModelsFromSettings(grokSettings.customModels, discoveredModels) : fallbackModels;
444
+ return buildServerProvider({
445
+ presentation: GROK_PRESENTATION,
446
+ enabled: grokSettings.enabled,
447
+ checkedAt,
448
+ models,
449
+ probe: {
450
+ installed: true,
451
+ version,
452
+ status: "ready",
453
+ auth: { status: "unknown" }
454
+ }
455
+ });
456
+ });
457
+ const enrichGrokSnapshot = (input) => {
458
+ const { snapshot, publishSnapshot } = input;
459
+ return enrichProviderSnapshotWithVersionAdvisory(snapshot, input.maintenanceCapabilities).pipe(Effect.provideService(HttpClient.HttpClient, input.httpClient), Effect.provideService(ServerSettingsService, input.serverSettings), Effect.flatMap((enrichedSnapshot) => publishSnapshot(enrichedSnapshot)), Effect.catchCause((cause) => Effect.logWarning("Grok version advisory enrichment failed", { cause: Cause.pretty(cause) })), Effect.asVoid);
460
+ };
461
+ //#endregion
462
+ //#region src/provider/Drivers/GrokDriver.ts
463
+ const decodeGrokSettings = Schema.decodeSync(GrokSettings);
464
+ const DRIVER_KIND = ProviderDriverKind.make("grok");
465
+ const SNAPSHOT_REFRESH_INTERVAL = Duration.minutes(5);
466
+ const UPDATE = makeStaticProviderMaintenanceResolver(makeManualOnlyProviderMaintenanceCapabilities({
467
+ provider: DRIVER_KIND,
468
+ packageName: null
469
+ }));
470
+ const withInstanceIdentity = (input) => (snapshot) => ({
471
+ ...snapshot,
472
+ instanceId: input.instanceId,
473
+ driver: DRIVER_KIND,
474
+ ...input.displayName ? { displayName: input.displayName } : {},
475
+ ...input.accentColor ? { accentColor: input.accentColor } : {},
476
+ continuation: { groupKey: input.continuationGroupKey }
477
+ });
478
+ const GrokDriver = {
479
+ driverKind: DRIVER_KIND,
480
+ metadata: {
481
+ displayName: "Grok",
482
+ supportsMultipleInstances: true
483
+ },
484
+ configSchema: GrokSettings,
485
+ defaultConfig: () => decodeGrokSettings({}),
486
+ create: ({ instanceId, displayName, accentColor, environment, enabled, config }) => Effect.gen(function* () {
487
+ const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
488
+ const httpClient = yield* HttpClient.HttpClient;
489
+ const serverSettings = yield* ServerSettingsService;
490
+ const eventLoggers = yield* ProviderEventLoggers;
491
+ const processEnv = mergeProviderInstanceEnvironment(environment);
492
+ const continuationIdentity = defaultProviderContinuationIdentity({
493
+ driverKind: DRIVER_KIND,
494
+ instanceId
495
+ });
496
+ const stampIdentity = withInstanceIdentity({
497
+ instanceId,
498
+ displayName,
499
+ accentColor,
500
+ continuationGroupKey: continuationIdentity.continuationKey
501
+ });
502
+ const effectiveConfig = {
503
+ ...config,
504
+ enabled
505
+ };
506
+ const maintenanceCapabilities = yield* resolveProviderMaintenanceCapabilitiesEffect(UPDATE, {
507
+ binaryPath: effectiveConfig.binaryPath,
508
+ env: processEnv
509
+ });
510
+ const adapter = yield* makeGrokAdapter(effectiveConfig, {
511
+ environment: processEnv,
512
+ ...eventLoggers.native ? { nativeEventLogger: eventLoggers.native } : {},
513
+ instanceId
514
+ });
515
+ const textGeneration = yield* makeGrokTextGeneration(effectiveConfig, processEnv);
516
+ const checkProvider = checkGrokProviderStatus(effectiveConfig, processEnv).pipe(Effect.map(stampIdentity), Effect.provideService(ChildProcessSpawner.ChildProcessSpawner, spawner));
517
+ const snapshot = yield* makeManagedServerProvider({
518
+ maintenanceCapabilities,
519
+ getSettings: Effect.succeed(effectiveConfig),
520
+ streamSettings: Stream.never,
521
+ haveSettingsChanged: () => false,
522
+ initialSnapshot: (settings) => stampIdentity(buildInitialGrokProviderSnapshot(settings)),
523
+ checkProvider,
524
+ enrichSnapshot: ({ snapshot: currentSnapshot, publishSnapshot }) => enrichGrokSnapshot({
525
+ snapshot: currentSnapshot,
526
+ maintenanceCapabilities,
527
+ publishSnapshot,
528
+ httpClient,
529
+ serverSettings
530
+ }),
531
+ refreshInterval: SNAPSHOT_REFRESH_INTERVAL
532
+ }).pipe(Effect.mapError((cause) => new ProviderDriverError({
533
+ driver: DRIVER_KIND,
534
+ instanceId,
535
+ detail: `Failed to build Grok snapshot: ${cause.message ?? String(cause)}`,
536
+ cause
537
+ })));
538
+ return {
539
+ instanceId,
540
+ driverKind: DRIVER_KIND,
541
+ continuationIdentity,
542
+ displayName,
543
+ accentColor,
544
+ enabled,
545
+ snapshot,
546
+ adapter,
547
+ textGeneration
548
+ };
549
+ })
550
+ };
551
+ //#endregion
552
+ export { GrokDriver };
@@ -1,12 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as detectSourceControlProviderFromRemoteUrl } from "./sourceControl-BiEBxN01.mjs";
4
- import * as Effect$1 from "effect/Effect";
5
3
  import { Cause, Context, DateTime, Duration, Effect, Exit, FileSystem, Layer, Metric, Path, Schema } from "effect";
6
4
  import path from "node:path";
7
5
  import { createHash, timingSafeEqual } from "node:crypto";
8
6
  import { dual } from "effect/Function";
9
- import * as Random from "effect/Random";
10
7
  //#region ../../node_modules/.bun/cborg@6.1.2/node_modules/cborg/lib/is.js
11
8
  const objectTypeNames = [
12
9
  "Object",
@@ -2799,109 +2796,6 @@ function normalizeModelMetricLabel(model) {
2799
2796
  if (normalized.includes("gemini")) return "gemini";
2800
2797
  return "other";
2801
2798
  }
2802
- //#endregion
2803
- //#region ../../packages/shared/src/git.ts
2804
- const WORKTREE_BRANCH_PREFIX = "ryco";
2805
- const TEMP_WORKTREE_BRANCH_PATTERN = new RegExp(`^(?:${WORKTREE_BRANCH_PREFIX}|ryco)\\/[0-9a-f]{8}$`);
2806
- /**
2807
- * Sanitize an arbitrary string into a valid, lowercase git refName fragment.
2808
- * Strips quotes, collapses separators, limits to 64 chars.
2809
- */
2810
- function sanitizeBranchFragment(raw) {
2811
- const branchFragment = raw.trim().toLowerCase().replace(/['"`]/g, "").replace(/^[./\s_-]+|[./\s_-]+$/g, "").replace(/[^a-z0-9/_-]+/g, "-").replace(/\/+/g, "/").replace(/-+/g, "-").replace(/^[./_-]+|[./_-]+$/g, "").slice(0, 64).replace(/[./_-]+$/g, "");
2812
- return branchFragment.length > 0 ? branchFragment : "update";
2813
- }
2814
- /**
2815
- * Sanitize a string into a `feature/…` refName name.
2816
- * Preserves an existing `feature/` prefix or slash-separated namespace.
2817
- */
2818
- function sanitizeFeatureBranchName(raw) {
2819
- const sanitized = sanitizeBranchFragment(raw);
2820
- if (sanitized.includes("/")) return sanitized.startsWith("feature/") ? sanitized : `feature/${sanitized}`;
2821
- return `feature/${sanitized}`;
2822
- }
2823
- const AUTO_FEATURE_BRANCH_FALLBACK = "feature/update";
2824
- /**
2825
- * Resolve a unique `feature/…` refName name that doesn't collide with
2826
- * any existing refName. Appends a numeric suffix when needed.
2827
- */
2828
- function resolveAutoFeatureBranchName(existingBranchNames, preferredBranch) {
2829
- const preferred = preferredBranch?.trim();
2830
- const resolvedBase = sanitizeFeatureBranchName(preferred && preferred.length > 0 ? preferred : AUTO_FEATURE_BRANCH_FALLBACK);
2831
- const existingNames = new Set(existingBranchNames.map((refName) => refName.toLowerCase()));
2832
- if (!existingNames.has(resolvedBase)) return resolvedBase;
2833
- let suffix = 2;
2834
- while (existingNames.has(`${resolvedBase}-${suffix}`)) suffix += 1;
2835
- return `${resolvedBase}-${suffix}`;
2836
- }
2837
- /**
2838
- * Strip the remote prefix from a remote ref such as `origin/feature/demo`.
2839
- */
2840
- function deriveLocalBranchNameFromRemoteRef(branchName) {
2841
- const firstSeparatorIndex = branchName.indexOf("/");
2842
- if (firstSeparatorIndex <= 0 || firstSeparatorIndex === branchName.length - 1) return branchName;
2843
- return branchName.slice(firstSeparatorIndex + 1);
2844
- }
2845
- function buildTemporaryWorktreeBranchName() {
2846
- const token = Effect$1.runSync(Random.nextIntBetween(0, 4294967295)).toString(16).padStart(8, "0");
2847
- return `${WORKTREE_BRANCH_PREFIX}/${token}`;
2848
- }
2849
- function isTemporaryWorktreeBranch(refName) {
2850
- return TEMP_WORKTREE_BRANCH_PATTERN.test(refName.trim().toLowerCase());
2851
- }
2852
- /**
2853
- * Normalize a git remote URL into a stable comparison key.
2854
- */
2855
- function normalizeGitRemoteUrl(value) {
2856
- const normalized = value.trim().replace(/\/+$/g, "").replace(/\.git$/i, "").toLowerCase();
2857
- if (/^(?:ssh|https?|git):\/\//i.test(normalized)) try {
2858
- const url = new URL(normalized);
2859
- const repositoryPath = url.pathname.split("/").filter((segment) => segment.length > 0).join("/");
2860
- if (url.hostname && repositoryPath.includes("/")) return `${url.hostname}/${repositoryPath}`;
2861
- } catch {
2862
- return normalized;
2863
- }
2864
- const scpStyleHostAndPath = /^git@([^:/\s]+)[:/]([^/\s]+(?:\/[^/\s]+)+)$/i.exec(normalized);
2865
- if (scpStyleHostAndPath?.[1] && scpStyleHostAndPath[2]) return `${scpStyleHostAndPath[1]}/${scpStyleHostAndPath[2]}`;
2866
- return normalized;
2867
- }
2868
- function deriveLocalBranchNameCandidatesFromRemoteRef(branchName, remoteName) {
2869
- const candidates = /* @__PURE__ */ new Set();
2870
- const firstSlashCandidate = deriveLocalBranchNameFromRemoteRef(branchName);
2871
- if (firstSlashCandidate.length > 0) candidates.add(firstSlashCandidate);
2872
- if (remoteName) {
2873
- const remotePrefix = `${remoteName}/`;
2874
- if (branchName.startsWith(remotePrefix) && branchName.length > remotePrefix.length) candidates.add(branchName.slice(remotePrefix.length));
2875
- }
2876
- return [...candidates];
2877
- }
2878
- /**
2879
- * Hide `origin/*` remote refs when a matching local refName already exists.
2880
- */
2881
- function dedupeRemoteBranchesWithLocalMatches(refs) {
2882
- const localBranchNames = new Set(refs.filter((refName) => !refName.isRemote).map((refName) => refName.name));
2883
- return refs.filter((refName) => {
2884
- if (!refName.isRemote) return true;
2885
- if (refName.remoteName !== "origin") return true;
2886
- return !deriveLocalBranchNameCandidatesFromRemoteRef(refName.name, refName.remoteName).some((candidate) => localBranchNames.has(candidate));
2887
- });
2888
- }
2889
- function detectSourceControlProviderFromGitRemoteUrl(remoteUrl) {
2890
- return detectSourceControlProviderFromRemoteUrl(remoteUrl);
2891
- }
2892
- const EMPTY_GIT_STATUS_REMOTE = {
2893
- hasUpstream: false,
2894
- aheadCount: 0,
2895
- behindCount: 0,
2896
- aheadOfDefaultCount: 0,
2897
- pr: null
2898
- };
2899
- function mergeGitStatusParts(local, remote) {
2900
- return {
2901
- ...local,
2902
- ...remote ?? EMPTY_GIT_STATUS_REMOTE
2903
- };
2904
- }
2905
2799
  const DEFAULT_ROLLING_WINDOW_MS = 3e5;
2906
2800
  var RollingDurationWindow = class {
2907
2801
  maxSamples;
@@ -3112,4 +3006,4 @@ const providerTurnMetricAttributes = (input) => {
3112
3006
  });
3113
3007
  };
3114
3008
  //#endregion
3115
- export { normalizeGitRemoteUrl as $, runtimeQueueBlockedDuration as A, startupCommandGateQueueHighWater as B, providerStartupQueueHighWater as C, decode as Ct, providerTurnsTotal as D, providerTurnMetricAttributes as E, Type as Et, runtimeQueueHighWater as F, LocalDiagnosticsMetrics as G, terminalRestartsTotal as H, runtimeQueueOverflowsTotal as I, buildTemporaryWorktreeBranchName as J, LocalDiagnosticsMetricsLive as K, runtimeQueueRecoveriesTotal as L, runtimeQueueDepth as M, runtimeQueueDequeuesTotal as N, rpcRequestDuration as O, runtimeQueueEnqueuesTotal as P, mergeGitStatusParts as Q, startupCommandGateEnqueuesTotal as R, providerStartupQueueDepth as S, Tokeniser as St, providerTurnDuration as T, rfc8949EncodeOptions as Tt, terminalSessionsTotal as U, startupCommandGateQueueWaitDuration as V, withMetrics as W, detectSourceControlProviderFromGitRemoteUrl as X, dedupeRemoteBranchesWithLocalMatches as Y, isTemporaryWorktreeBranch as Z, providerRuntimeEventsTotal as _, encodeNodeKeyRotationTranscript as _t, contextHandoffsTotal as a, DEFAULT_PORT as at, providerStaleStopTimeoutsTotal as b, formatNodePublicKeyFingerprint as bt, increment as c, deriveServerPaths as ct, orchestrationCommandAckDuration as d, resolveManagedWorktreesRoot as dt, resolveAutoFeatureBranchName as et, orchestrationCommandDuration as f, resolveNodeE2eePolicyConfig as ft, providerMetricAttributes as g, encodeNodeAuthenticationTranscript as gt, providerEventLogRecordsDroppedTotal as h, encodeNativeNodeClaimTranscript as ht, contextHandoffPreparationDuration as i, outcomeFromExit as it, runtimeQueueCoalescedTotal as j, rpcRequestsTotal as k, metricAttributes as l, ensureServerDirectories as lt, orchestrationEventsProcessedTotal as m, canonicalizeHubOrigin as mt, contextHandoffContextEntriesTotal as n, sanitizeFeatureBranchName as nt, gitCommandDuration as o, RuntimeMode as ot, orchestrationCommandsTotal as p, resolveStaticDir as pt, WORKTREE_BRANCH_PREFIX as q, contextHandoffDispatchDuration as r, compactTraceAttributes as rt, gitCommandsTotal as s, ServerConfig as st, contextHandoffContextBytesTotal as t, sanitizeBranchFragment as tt, metricNames as u, resolveHubConnectorConfig as ut, providerRuntimeStaleEventsTotal as v, equalNodeIdentityBytes as vt, providerStartupQueueWaitDuration as w, encode as wt, providerStartupAdmissionTotal as x, normalizeHubNodeName as xt, providerSessionsTotal as y, fingerprintNodePublicKey as yt, startupCommandGateQueueDepth as z };
3009
+ export { ensureServerDirectories as $, runtimeQueueBlockedDuration as A, startupCommandGateQueueHighWater as B, providerStartupQueueHighWater as C, providerTurnsTotal as D, providerTurnMetricAttributes as E, runtimeQueueHighWater as F, LocalDiagnosticsMetrics as G, terminalRestartsTotal as H, runtimeQueueOverflowsTotal as I, outcomeFromExit as J, LocalDiagnosticsMetricsLive as K, runtimeQueueRecoveriesTotal as L, runtimeQueueDepth as M, runtimeQueueDequeuesTotal as N, rpcRequestDuration as O, runtimeQueueEnqueuesTotal as P, deriveServerPaths as Q, startupCommandGateEnqueuesTotal as R, providerStartupQueueDepth as S, providerTurnDuration as T, terminalSessionsTotal as U, startupCommandGateQueueWaitDuration as V, withMetrics as W, RuntimeMode as X, DEFAULT_PORT as Y, ServerConfig as Z, providerRuntimeEventsTotal as _, contextHandoffsTotal as a, encodeNativeNodeClaimTranscript as at, providerStaleStopTimeoutsTotal as b, increment as c, equalNodeIdentityBytes as ct, orchestrationCommandAckDuration as d, normalizeHubNodeName as dt, resolveHubConnectorConfig as et, orchestrationCommandDuration as f, Tokeniser as ft, providerMetricAttributes as g, Type as gt, providerEventLogRecordsDroppedTotal as h, rfc8949EncodeOptions as ht, contextHandoffPreparationDuration as i, canonicalizeHubOrigin as it, runtimeQueueCoalescedTotal as j, rpcRequestsTotal as k, metricAttributes as l, fingerprintNodePublicKey as lt, orchestrationEventsProcessedTotal as m, encode as mt, contextHandoffContextEntriesTotal as n, resolveNodeE2eePolicyConfig as nt, gitCommandDuration as o, encodeNodeAuthenticationTranscript as ot, orchestrationCommandsTotal as p, decode as pt, compactTraceAttributes as q, contextHandoffDispatchDuration as r, resolveStaticDir as rt, gitCommandsTotal as s, encodeNodeKeyRotationTranscript as st, contextHandoffContextBytesTotal as t, resolveManagedWorktreesRoot as tt, metricNames as u, formatNodePublicKeyFingerprint as ut, providerRuntimeStaleEventsTotal as v, providerStartupQueueWaitDuration as w, providerStartupAdmissionTotal as x, providerSessionsTotal as y, startupCommandGateQueueDepth as z };