ryco-cli 0.1.20 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/dist/{AcpNativeLogging-Bh7MX3rC.cjs → AcpNativeLogging-COepku4a.cjs} +264 -7
  2. package/dist/{AcpNativeLogging-CLM3p9JD.mjs → AcpNativeLogging-D7e1dn7s.mjs} +254 -9
  3. package/dist/{AzureDevOpsSourceControlProvider-jQm1WPMS.mjs → AzureDevOpsSourceControlProvider-BNGEg1R8.mjs} +3 -3
  4. package/dist/{AzureDevOpsSourceControlProvider-D9QXGi1h.cjs → AzureDevOpsSourceControlProvider-CrvgKNf2.cjs} +2 -2
  5. package/dist/{BitbucketSourceControlProvider-j95Cro_2.mjs → BitbucketSourceControlProvider-Bt21jw68.mjs} +3 -3
  6. package/dist/{BitbucketSourceControlProvider-C3VDp9qR.cjs → BitbucketSourceControlProvider-BzhsQwH-.cjs} +2 -2
  7. package/dist/{BunPTY-CNvWSzEJ.mjs → BunPTY-TbHbSc8S.mjs} +1 -1
  8. package/dist/{ClaudeDriver-CT89QDP8.mjs → ClaudeDriver-D65SPdHR.mjs} +44 -119
  9. package/dist/{ClaudeDriver-DiRhQM2K.cjs → ClaudeDriver-D7NatUx6.cjs} +52 -127
  10. package/dist/{CodexDriver-CBYfPl_X.mjs → CodexDriver-D4z5-wUD.mjs} +237 -50
  11. package/dist/{CodexDriver-BmKoU7w_.cjs → CodexDriver-DWGtHt9r.cjs} +235 -48
  12. package/dist/{CodexTextGeneration-CuXvtfAi.cjs → CodexTextGeneration-B4tJTUDo.cjs} +1 -1
  13. package/dist/{CodexTextGeneration-B7GPyLo2.mjs → CodexTextGeneration-BikHow8k.mjs} +2 -2
  14. package/dist/{CopilotDriver-XX5zmGVK.cjs → CopilotDriver-DJvYncGI.cjs} +122 -23
  15. package/dist/{CopilotDriver-BJ1P_bHz.mjs → CopilotDriver-ZvvsAIkd.mjs} +123 -24
  16. package/dist/{CursorDriver-BH6yAijk.mjs → CursorDriver-B1QSBzuH.mjs} +45 -74
  17. package/dist/{CursorDriver-CYMXQKec.cjs → CursorDriver-D3I4KULs.cjs} +44 -73
  18. package/dist/{ForgejoSourceControlProvider-ZfU3SBzW.mjs → ForgejoSourceControlProvider-BGXysSX6.mjs} +3 -3
  19. package/dist/{ForgejoSourceControlProvider-Dzg-BJY_.cjs → ForgejoSourceControlProvider-Dh6DOoc8.cjs} +2 -2
  20. package/dist/{GitHubSourceControlProvider-BpyIi23Q.cjs → GitHubSourceControlProvider-8hsv_kCE.cjs} +2 -2
  21. package/dist/{GitHubSourceControlProvider-Bx5_H3zb.mjs → GitHubSourceControlProvider-CPCYV8Xo.mjs} +3 -3
  22. package/dist/{GitLabSourceControlProvider-QccSsOnx.cjs → GitLabSourceControlProvider-B0ZbF9Zx.cjs} +2 -2
  23. package/dist/{GitLabSourceControlProvider-DjvGD1WZ.mjs → GitLabSourceControlProvider-Bvknpaon.mjs} +3 -3
  24. package/dist/{GrokDriver-BPIUrqkN.mjs → GrokDriver-DgQe3pKz.mjs} +41 -10
  25. package/dist/{GrokDriver-jE4az7JZ.cjs → GrokDriver-_puXDTU3.cjs} +42 -11
  26. package/dist/{NodePTY-lO8PwZLk.mjs → NodePTY-B_p5tLYO.mjs} +1 -1
  27. package/dist/{OpenCodeDriver-IbZqAzYW.cjs → OpenCodeDriver-401RexI0.cjs} +240 -40
  28. package/dist/{OpenCodeDriver-_hUfFwH4.mjs → OpenCodeDriver-DNUlF8M-.mjs} +238 -41
  29. package/dist/{SourceControlProviderDiscoveryCatalog-CHxCP6Ng.mjs → SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs} +1 -1
  30. package/dist/{SourceControlProviderDiscoveryCatalog-CnkV-oKD.cjs → SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs} +1 -1
  31. package/dist/bin.cjs +10690 -5679
  32. package/dist/bin.mjs +10674 -5674
  33. package/dist/client/assets/AccountSettings-CypheYqM.js +1 -0
  34. package/dist/client/assets/AiFocusSettings-BlX0ED1t.js +1 -0
  35. package/dist/client/assets/AnimatedHeight-DKCe4x_Q.js +1 -0
  36. package/dist/client/assets/AppearanceSettings-BSyn6NXf.js +1 -0
  37. package/dist/client/assets/BranchToolbar.logic-fpBz8Ajj.js +1 -0
  38. package/dist/client/assets/BrowserPanel-BWch19QH.js +1 -0
  39. package/dist/client/assets/ChatRightPanel-B7yrq-hS.js +27 -0
  40. package/dist/client/assets/ChatThreadRouteView-Cg0d_EHs.js +1 -0
  41. package/dist/client/assets/CommandPaletteDialog-DImCuPaX.js +1 -0
  42. package/dist/client/assets/CompositeItem-BYnHWRNf.js +1 -0
  43. package/dist/client/assets/CompositeRoot-B28uivk7.js +1 -0
  44. package/dist/client/assets/ComputerUseSettings-CosW7jaG.js +1 -0
  45. package/dist/client/assets/ConnectionsSettings-Bk6vI3G-.js +7 -0
  46. package/dist/client/assets/ContextHandoffEndpointLabel-BR6ygaub.js +4 -0
  47. package/dist/client/assets/DiagnosticsSettings-Dp_tCNLw.js +2 -0
  48. package/dist/client/assets/DialogHandle-BN-QB-sO.js +1 -0
  49. package/dist/client/assets/DialogPopup-BuJs5WUt.js +1 -0
  50. package/dist/client/assets/DialogRoot-PxEcoecQ.js +1 -0
  51. package/dist/client/assets/DialogTitle-4nxQsra4.js +1 -0
  52. package/dist/client/assets/DialogTrigger-D_0canul.js +1 -0
  53. package/dist/client/assets/DialogViewport-DSo-2hyf.js +1 -0
  54. package/dist/client/assets/DraftChatThreadRouteView-C94kpMx4.js +1 -0
  55. package/dist/client/assets/{ExternalIdentityWeb.logic-TlJdh82R.js → ExternalIdentityWeb.logic-CGJKCFPo.js} +1 -1
  56. package/dist/client/assets/{GlassSurface-BWk2twKc.js → GlassSurface-CyOTUS7E.js} +1 -1
  57. package/dist/client/assets/HostedConnectionControls-CL0Ws4ca.js +1 -0
  58. package/dist/client/assets/HostedHubRoot-LUINZl4r.js +1 -0
  59. package/dist/client/assets/HostedNativeAuthorizationRoute-CgYVBE6N.js +1 -0
  60. package/dist/client/assets/HostedRelayTrustNotice-DgdeZh52.js +1 -0
  61. package/dist/client/assets/Icons-BIUbIFr7.js +1 -0
  62. package/dist/client/assets/IntegrationsSettingsPanel-B7tXTaa3.js +1 -0
  63. package/dist/client/assets/KeybindingsSettings-HMlRcGQ4.js +7 -0
  64. package/dist/client/assets/LazyBrowserPanel-CKfmuM9U.js +1 -0
  65. package/dist/client/assets/{McpServersSettings-Cbq-uHU3.js → McpServersSettings-Bq-HyhvC.js} +4 -4
  66. package/dist/client/assets/MobileSheet-acDRH9aa.js +1 -0
  67. package/dist/client/assets/NoActiveThreadState-7rym7bV7.js +1 -0
  68. package/dist/client/assets/NodeSecuritySettings-D8qjh4Dc.js +1 -0
  69. package/dist/client/assets/OpinionatedPluginsSettings-D7Uks5yR.js +1 -0
  70. package/dist/client/assets/PhoneGetAppInterstitial-BQXUSufH.js +1 -0
  71. package/dist/client/assets/PhoneGetAppInterstitialBackdrop-BbUvwGmI.js +1 -0
  72. package/dist/client/assets/PhoneHome-DvgdMTkh.js +1 -0
  73. package/dist/client/assets/PhoneSettingsSurface-DncJ540i.js +1 -0
  74. package/dist/client/assets/ProjectFavicon-BY5Vyyk6.js +1 -0
  75. package/dist/client/assets/ProviderInstanceIcon-CZe1TbeC.js +1 -0
  76. package/dist/client/assets/ProviderModelPicker-DHAY1n_1.js +1 -0
  77. package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-D3qYdp40.js → ProviderUpdateLaunchNotification.logic-DQJVrUIo.js} +1 -1
  78. package/dist/client/assets/ProvidersSettingsPanel-BylxZs4S.js +1 -0
  79. package/dist/client/assets/RedactedSensitiveText-D-enj1h5.js +1 -0
  80. package/dist/client/assets/RootAppShell-DBK0WW2b.js +6 -0
  81. package/dist/client/assets/RycoLetterMark-PnGm6TQY.js +1 -0
  82. package/dist/client/assets/{Separator-DiMB6Prz.js → Separator-BWKYMFqt.js} +1 -1
  83. package/dist/client/assets/SettingsDialog-N25hIv-a.js +1 -0
  84. package/dist/client/assets/SettingsPanels-D9YXmUPP.js +3 -0
  85. package/dist/client/assets/SettingsPanels.editor-Cn18k74l.js +1 -0
  86. package/dist/client/assets/SourceControlSettings-BAzSpMfR.js +1 -0
  87. package/dist/client/assets/StatisticsPage-CLKpfsQ8.js +1 -0
  88. package/dist/client/assets/StatisticsPanel-DxHUFn64.js +1 -0
  89. package/dist/client/assets/StatisticsSettingsLink-B3HIQYFh.js +1 -0
  90. package/dist/client/assets/ThreadStatusIndicators-CQZ_OgY8.js +0 -0
  91. package/dist/client/assets/{ThreadTerminalDrawer-DvadlVXV.js → ThreadTerminalDrawer-D1SPewXR.js} +3 -3
  92. package/dist/client/assets/ThreadWorkspacePanel-DVF6oZsV.js +2009 -0
  93. package/dist/client/assets/ToolbarRootContext-Dt8G5aCw.js +1 -0
  94. package/dist/client/assets/{WorkItemsTab-CI6hTQ_k.js → WorkItemsTab-BoE-TcXJ.js} +8 -8
  95. package/dist/client/assets/{activity-1CkdQG5u.js → activity-DfFM6I8A.js} +1 -1
  96. package/dist/client/assets/alert-DE5SkZhr.js +1 -0
  97. package/dist/client/assets/alert-dialog-BqPnPhb6.js +1 -0
  98. package/dist/client/assets/appChrome-CJauXpqv.js +1 -0
  99. package/dist/client/assets/{archive-BL1hojl3.js → archive-BFV4YQ7D.js} +1 -1
  100. package/dist/client/assets/arrow-left-CCmICk1t.js +1 -0
  101. package/dist/client/assets/arrow-right-Z3Eay6Fd.js +1 -0
  102. package/dist/client/assets/{arrow-up-CTcWIlqV.js → arrow-up-caak6P06.js} +1 -1
  103. package/dist/client/assets/arrow-up-right-BwC-fCE4.js +1 -0
  104. package/dist/client/assets/authorization-bHsGYIT0.js +1 -0
  105. package/dist/client/assets/{badge-Cil0isYQ.js → badge-m9kM3P07.js} +1 -1
  106. package/dist/client/assets/{bot-DJp0cuhK.js → bot-Cv7a7Ksf.js} +1 -1
  107. package/dist/client/assets/{button-CBqaO2Ub.js → button-B6xQZNKz.js} +1 -1
  108. package/dist/client/assets/capabilities-D6bsjqkj.js +1 -0
  109. package/dist/client/assets/{chart-column-Dw6ACmXM.js → chart-column-DgGlY4sD.js} +1 -1
  110. package/dist/client/assets/chatThreadActions-BXaNbPbp.js +1 -0
  111. package/dist/client/assets/check-BfnWUGBT.js +1 -0
  112. package/dist/client/assets/{chevron-down-B7C6FKzM.js → chevron-down-B_FKCRVh.js} +1 -1
  113. package/dist/client/assets/chevron-right-B6CKNGh4.js +1 -0
  114. package/dist/client/assets/{circle-alert-BWvs6IOn.js → circle-alert-BV3vJE-c.js} +1 -1
  115. package/dist/client/assets/circle-check-D2Vx39x-.js +1 -0
  116. package/dist/client/assets/{external-link-fbvzDWM7.js → circle-dashed-khcA8K3Y.js} +1 -1
  117. package/dist/client/assets/circle-question-mark-DEuLdOiy.js +1 -0
  118. package/dist/client/assets/circle-x-DqfM_2wS.js +1 -0
  119. package/dist/client/assets/clamp-D0kAXd-u.js +1 -0
  120. package/dist/client/assets/{clipboard-copy-C4VV20QR.js → clipboard-copy-CiD4tBsh.js} +1 -1
  121. package/dist/client/assets/clock--4M7moiV.js +1 -0
  122. package/dist/client/assets/clock-3-NbnQqtcd.js +1 -0
  123. package/dist/client/assets/collapsible-BECg-ssO.js +1 -0
  124. package/dist/client/assets/command-DvbA3O0J.js +1 -0
  125. package/dist/client/assets/{copy-UQjKGt7t.js → copy-CkPe1c-r.js} +1 -1
  126. package/dist/client/assets/data-list-7TiaqfZU.js +1 -0
  127. package/dist/client/assets/desktopUpdateAtoms-6j0d8vfy.js +1 -0
  128. package/dist/client/assets/desktopWorkspace-8s8rm3zL.js +1 -0
  129. package/dist/client/assets/device-CGaJ6fwD.js +168 -0
  130. package/dist/client/assets/dialog-C9v8Zl6e.js +1 -0
  131. package/dist/client/assets/{download-CQZ-m4zW.js → download-DPjzVxTa.js} +1 -1
  132. package/dist/client/assets/draft-input-BRSLIjV6.js +1 -0
  133. package/dist/client/assets/editorPreferences-D-9SDgRM.js +1 -0
  134. package/dist/client/assets/empty-CuQ57p2u.js +1 -0
  135. package/dist/client/assets/external-link-CF9EzT-A.js +1 -0
  136. package/dist/client/assets/{eye-CUSPj-gd.js → eye-C2Puut9B.js} +1 -1
  137. package/dist/client/assets/{folder-DtsQoI9_.js → folder-BKTxLq18.js} +1 -1
  138. package/dist/client/assets/{folder-closed-CsvKfC6X.js → folder-closed-D2cwiusg.js} +1 -1
  139. package/dist/client/assets/getPseudoElementBounds-DdH76YK5.js +1 -0
  140. package/dist/client/assets/{git-branch-BKr-Ij4u.js → git-branch-Dauy2SWC.js} +1 -1
  141. package/dist/client/assets/{git-pull-request-DIYyPsg5.js → git-pull-request-DsK1gBtK.js} +1 -1
  142. package/dist/client/assets/globe-dS40wBdE.js +1 -0
  143. package/dist/client/assets/group-DBXm8riE.js +1 -0
  144. package/dist/client/assets/hostedConnectionCoordinator-DSMW2Ldh.js +1 -0
  145. package/dist/client/assets/{index-QY6vcnCY.js → index-DRY8Hgrj.js} +2 -2
  146. package/dist/client/assets/input-Dn_zesdZ.js +1 -0
  147. package/dist/client/assets/kbd-BF2-WlxQ.js +1 -0
  148. package/dist/client/assets/{key-round-CacMputS.js → key-round-BjaaL9Df.js} +1 -1
  149. package/dist/client/assets/{keybindings-Bj6xWIbQ.js → keybindings-FSJY3Tht.js} +1 -1
  150. package/dist/client/assets/{keyboard-BqeRMHfL.js → keyboard-AkUFPD_e.js} +1 -1
  151. package/dist/client/assets/label-BKjVY2A9.js +1 -0
  152. package/dist/client/assets/{layers-BYi0v17h.js → layers-tzRiuxSx.js} +1 -1
  153. package/dist/client/assets/{lib-B6XyeqaU.js → lib-D5cyGc84.js} +1 -1
  154. package/dist/client/assets/{loader-zHASMrUy.js → loader-BrbWRz3I.js} +1 -1
  155. package/dist/client/assets/loader-circle-DRKbHQst.js +1 -0
  156. package/dist/client/assets/{log-out-tMJm0Gk6.js → log-out-BEihaal1.js} +1 -1
  157. package/dist/client/assets/{logging-1BfRrhxL.js → logging-Y73f240E.js} +1 -1
  158. package/dist/client/assets/main-BiIQEybS.js +9 -0
  159. package/dist/client/assets/main-tZWU6iqX.css +2 -0
  160. package/dist/client/assets/menu-BxtB33Up.js +1 -0
  161. package/dist/client/assets/{messages-square-DiMgWzoq.js → messages-square-e0Zg750i.js} +1 -1
  162. package/dist/client/assets/{minimize-2-C33mL7LT.js → minimize-2-DC9gMgGl.js} +1 -1
  163. package/dist/client/assets/monitor-Dj0JFj4_.js +1 -0
  164. package/dist/client/assets/{palette-BSD_aJZg.js → palette-0qvNt1CR.js} +1 -1
  165. package/dist/client/assets/{pencil-B69ERoVM.js → pencil-CA0DGufX.js} +1 -1
  166. package/dist/client/assets/{play-DYDxlTKo.js → play-wIyvqd_g.js} +1 -1
  167. package/dist/client/assets/plus-5kH13lqq.js +1 -0
  168. package/dist/client/assets/popover-CwhgX3HA.js +1 -0
  169. package/dist/client/assets/primary-BqnEJHWx.js +2 -0
  170. package/dist/client/assets/{projectPaths-BFTUsvWs.js → projectPaths-45WPhgoj.js} +1 -1
  171. package/dist/client/assets/providerDriverMeta-Cc60r9Rb.js +1 -0
  172. package/dist/client/assets/providerInstances-Cr8JmFCe.js +1 -0
  173. package/dist/client/assets/providerModels-Cr8JmFCe.js +1 -0
  174. package/dist/client/assets/qr-code-BKrwYZ2s.js +1 -0
  175. package/dist/client/assets/{qr-code-ScYULAuR.js → qr-code-DDmpRnPp.js} +1 -1
  176. package/dist/client/assets/radio-group-DZCo21CF.js +2 -0
  177. package/dist/client/assets/{refresh-cw-DopCMrtR.js → refresh-cw-DiuiLTny.js} +1 -1
  178. package/dist/client/assets/resolveAriaLabelledBy-927ShlEO.js +1 -0
  179. package/dist/client/assets/rightPanelRouteSearch-CExl-IaQ.js +1 -0
  180. package/dist/client/assets/rotate-ccw-XOYBPtyK.js +1 -0
  181. package/dist/client/assets/rotate-cw-D32Z4Sdd.js +1 -0
  182. package/dist/client/assets/runtime-CA2W9mZ-.js +17 -0
  183. package/dist/client/assets/{save-Bh36JIv6.js → save-DjlqeVG_.js} +1 -1
  184. package/dist/client/assets/scroll-area-CylKYQms.js +1 -0
  185. package/dist/client/assets/scrollEdges-D7RQhYjX.js +1 -0
  186. package/dist/client/assets/search-B2nLj573.js +1 -0
  187. package/dist/client/assets/select-qTezUK8F.js +1 -0
  188. package/dist/client/assets/separator-D77goPy-.js +1 -0
  189. package/dist/client/assets/{server-JApJpgLa.js → server-y8Wq0Qwv.js} +1 -1
  190. package/dist/client/assets/session-logic-xfW418Rx.js +1 -0
  191. package/dist/client/assets/{settings-2-CZQg_KUQ.js → settings-2-DpwBKj3m.js} +1 -1
  192. package/dist/client/assets/settingsLayout-BuaXzjIe.js +1 -0
  193. package/dist/client/assets/settingsSections.logic-CR4aytUI.js +1 -0
  194. package/dist/client/assets/sheet-z3AEiSN4.js +1 -0
  195. package/dist/client/assets/{shield-IZEIJ8r7.js → shield-BuXuMVtb.js} +1 -1
  196. package/dist/client/assets/{shield-alert-DY9uVP5G.js → shield-alert-Dfk--o-I.js} +1 -1
  197. package/dist/client/assets/{shield-check-dQ-4cMKk.js → shield-check-BHi57iF1.js} +1 -1
  198. package/dist/client/assets/sidebar-Dst9O2OR.js +1 -0
  199. package/dist/client/assets/sidebarProjectFolders-DR1NBLLz.js +4 -0
  200. package/dist/client/assets/{sidebarStatusText-q88Acn3r.js → sidebarStatusText-7jo1n9E1.js} +1 -1
  201. package/dist/client/assets/skeleton-D_kbMg21.js +1 -0
  202. package/dist/client/assets/{smartphone-gNe1ynB8.js → smartphone-DcUQ17YT.js} +1 -1
  203. package/dist/client/assets/{sparkles-CAf3oJ5S.js → sparkles-nVLLtdqb.js} +1 -1
  204. package/dist/client/assets/spinner-CkXSwhuf.js +1 -0
  205. package/dist/client/assets/{square-pen-Bj3p_Q8E.js → square-pen-dcArpda7.js} +1 -1
  206. package/dist/client/assets/src-I4s4HU8f.js +14 -0
  207. package/dist/client/assets/star-CdUOqzzZ.js +1 -0
  208. package/dist/client/assets/storeSelectors-Cr8JmFCe.js +1 -0
  209. package/dist/client/assets/switch-BMeRsIbg.js +1 -0
  210. package/dist/client/assets/{tabSwitchInstrumentation-CLDM7g1_.js → tabSwitchInstrumentation-BuxWNdCV.js} +1 -1
  211. package/dist/client/assets/terminal-DupJfYRW.js +1 -0
  212. package/dist/client/assets/{terminal-links-BJzH2Ipe.js → terminal-links-Bf4neyyn.js} +1 -1
  213. package/dist/client/assets/textarea-Bu_OTJYe.js +1 -0
  214. package/dist/client/assets/threadPinning-DhnkssEa.js +1 -0
  215. package/dist/client/assets/{threadPriorityRefreshRuntime-D-OkS27H.js → threadPriorityRefreshRuntime-DJjlyX7f.js} +1 -1
  216. package/dist/client/assets/toast-CIjfIWUw.js +1 -0
  217. package/dist/client/assets/toggle-BA4mJ5v9.js +1 -0
  218. package/dist/client/assets/toggle-group-ChGfILTR.js +1 -0
  219. package/dist/client/assets/{tokenModePresentation-lVM0-Wi3.js → tokenModePresentation-B64s_OK3.js} +1 -1
  220. package/dist/client/assets/tooltip-C2VVqN6U.js +1 -0
  221. package/dist/client/assets/{trash-2-CM1zXPGb.js → trash-2-Dqgxd0nF.js} +1 -1
  222. package/dist/client/assets/{triangle-alert-RL_T3KLo.js → triangle-alert-D4cCh6sB.js} +1 -1
  223. package/dist/client/assets/types-Cr8JmFCe.js +1 -0
  224. package/dist/client/assets/{undo-2-x37tfI3V.js → undo-2-C8EQVSSD.js} +1 -1
  225. package/dist/client/assets/{unplug-Cw8iawyX.js → unplug-Dt3Sy2op.js} +1 -1
  226. package/dist/client/assets/useAppSidebarCollapsed-w0th-164.js +1 -0
  227. package/dist/client/assets/{useAtlassian-Bpvpm41l.js → useAtlassian-j7ex3bVN.js} +0 -0
  228. package/dist/client/assets/useButton-Dx5k1uZG.js +1 -0
  229. package/dist/client/assets/useCompositeListItem-BqkyY0oT.js +1 -0
  230. package/dist/client/assets/{clamp-CgH0Dl6R.js → useControlled-HocCF1v9.js} +1 -1
  231. package/dist/client/assets/useDebouncedValue-BevbEbPO.js +1 -0
  232. package/dist/client/assets/useFloatingRootContext-j6TgzEFa.js +1 -0
  233. package/dist/client/assets/useHandleNewThread-gVYty_Bg.js +1 -0
  234. package/dist/client/assets/useLabelableId-CcYPzJvj.js +1 -0
  235. package/dist/client/assets/useLocation-CZ3osOgz.js +1 -0
  236. package/dist/client/assets/useOpenInteractionType-apbY9ZEK.js +1 -0
  237. package/dist/client/assets/usePhoneThreadActions-CnDlicSp.js +1 -0
  238. package/dist/client/assets/usePopupViewport-0k75uXo1.js +1 -0
  239. package/dist/client/assets/useRenderElement-5DRNLBaU.js +1 -0
  240. package/dist/client/assets/useScrollLock-C5WLWXcc.js +1 -0
  241. package/dist/client/assets/{useStatistics-B4vW9Enx.js → useStatistics-GOFXPHO0.js} +2 -2
  242. package/dist/client/assets/useSwipeDismiss-BNHPBucH.js +1 -0
  243. package/dist/client/assets/useThreadActions-B4Xy2soQ.js +2 -0
  244. package/dist/client/assets/useTriggerFocusGuards-C3geWFzt.js +1 -0
  245. package/dist/client/assets/useValueChanged-FVqPwcY_.js +1 -0
  246. package/dist/client/assets/user-round-KsVtJgon.js +1 -0
  247. package/dist/client/assets/utils-B5qahmRn.js +1 -0
  248. package/dist/client/assets/visuallyHidden-j2WbVEv-.js +1 -0
  249. package/dist/client/assets/workspaceMetadataProjection-D3vqw40g.js +1 -0
  250. package/dist/client/assets/{wrench-D0IetWa1.js → wrench-BnpoYEZm.js} +1 -1
  251. package/dist/client/assets/x-BXHT1Zj1.js +1 -0
  252. package/dist/client/index.html +1 -1
  253. package/dist/{collectUint8StreamText-B3klZuIF.mjs → collectUint8StreamText-C_VNyArd.mjs} +1027 -162
  254. package/dist/{collectUint8StreamText-CDu-bszH.cjs → collectUint8StreamText-DStwNTTK.cjs} +1122 -161
  255. package/dist/{makeManagedServerProvider-CsaYHU8T.mjs → makeManagedServerProvider-GZcpSLrW.mjs} +22 -3
  256. package/dist/{makeManagedServerProvider-DeEmDbiq.cjs → makeManagedServerProvider-VzxWN-04.cjs} +32 -1
  257. package/dist/resource-monitor/LICENSE +21 -0
  258. package/dist/resource-monitor/darwin-arm64/LICENSE +21 -0
  259. package/dist/resource-monitor/darwin-arm64/ryco-resource-monitor +0 -0
  260. package/dist/resource-monitor/darwin-x64/LICENSE +21 -0
  261. package/dist/resource-monitor/darwin-x64/ryco-resource-monitor +0 -0
  262. package/dist/resource-monitor/linux-arm64/LICENSE +21 -0
  263. package/dist/resource-monitor/linux-arm64/ryco-resource-monitor +0 -0
  264. package/dist/resource-monitor/linux-x64/LICENSE +21 -0
  265. package/dist/resource-monitor/linux-x64/ryco-resource-monitor +0 -0
  266. package/dist/resource-monitor/ryco-resource-monitor +0 -0
  267. package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
  268. package/dist/resource-monitor/win32-arm64/LICENSE +21 -0
  269. package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
  270. package/dist/resource-monitor/win32-x64/LICENSE +21 -0
  271. package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
  272. package/package.json +1 -1
  273. package/dist/client/assets/AccountSettings-CvD49Uja.js +0 -1
  274. package/dist/client/assets/AiFocusSettings-CYIp0JOV.js +0 -1
  275. package/dist/client/assets/AnimatedHeight-CM_Eh6tz.js +0 -1
  276. package/dist/client/assets/AppearanceSettings-BwUAv5oz.js +0 -1
  277. package/dist/client/assets/BranchToolbar.logic-CKKpnCfs.js +0 -1
  278. package/dist/client/assets/ChatRightPanel-DYXZNh1m.js +0 -27
  279. package/dist/client/assets/ChatThreadRouteView-B0kj0wFr.js +0 -1
  280. package/dist/client/assets/CommandPaletteDialog-CJKvYVxh.js +0 -1
  281. package/dist/client/assets/CompositeItem-B4ITmHni.js +0 -1
  282. package/dist/client/assets/CompositeRoot-C5I2Yh5e.js +0 -1
  283. package/dist/client/assets/ConnectionsSettings-4l-DXYo6.js +0 -7
  284. package/dist/client/assets/DiagnosticsSettings-B6IUUiYM.js +0 -2
  285. package/dist/client/assets/DialogHandle-Bs7TUuxl.js +0 -1
  286. package/dist/client/assets/DialogPopup-BAK5J3da.js +0 -1
  287. package/dist/client/assets/DialogRoot-DMnQO_iQ.js +0 -1
  288. package/dist/client/assets/DialogTitle-B1m3rLO-.js +0 -1
  289. package/dist/client/assets/DialogTrigger-VXV8wYO4.js +0 -1
  290. package/dist/client/assets/DialogViewport-yUeHNu43.js +0 -1
  291. package/dist/client/assets/DraftChatThreadRouteView-C39ZNgWr.js +0 -1
  292. package/dist/client/assets/HostedConnectionControls-DO5uPfav.js +0 -1
  293. package/dist/client/assets/HostedHubRoot-DkHX6TkK.js +0 -1
  294. package/dist/client/assets/HostedNativeAuthorizationRoute-C1VRYU0-.js +0 -1
  295. package/dist/client/assets/HostedRelayTrustNotice-Cl7lRwRJ.js +0 -1
  296. package/dist/client/assets/Icons-uMh1k5C0.js +0 -1
  297. package/dist/client/assets/IntegrationsSettingsPanel-Mx-1xSUL.js +0 -1
  298. package/dist/client/assets/KeybindingsSettings-Bv3H18VO.js +0 -7
  299. package/dist/client/assets/MobileSheet-DS7_soKu.js +0 -1
  300. package/dist/client/assets/NewWorktreeDialog-CLm1JR27.js +0 -4
  301. package/dist/client/assets/NoActiveThreadState-CFxNrhs_.js +0 -1
  302. package/dist/client/assets/NodeSecuritySettings-B3uURyma.js +0 -1
  303. package/dist/client/assets/OpinionatedPluginsSettings-B7gZOBCs.js +0 -1
  304. package/dist/client/assets/PhoneGetAppInterstitial-DQdUrqs1.js +0 -1
  305. package/dist/client/assets/PhoneGetAppInterstitialBackdrop-DbRPU11Z.js +0 -1
  306. package/dist/client/assets/PhoneHome-BbZKBYb8.js +0 -1
  307. package/dist/client/assets/PhoneSettingsSurface-BJ8jDucY.js +0 -1
  308. package/dist/client/assets/ProjectFavicon-DHnstN4J.js +0 -1
  309. package/dist/client/assets/ProviderModelPicker-Ch69G0-0.js +0 -1
  310. package/dist/client/assets/ProvidersSettingsPanel-Dz-1od7X.js +0 -1
  311. package/dist/client/assets/RedactedSensitiveText-BORE69Ig.js +0 -1
  312. package/dist/client/assets/RootAppShell-DnesFYfo.js +0 -6
  313. package/dist/client/assets/RycoLetterMark-DDx_gBX-.js +0 -1
  314. package/dist/client/assets/SettingsDialog-CWK_H1sI.js +0 -1
  315. package/dist/client/assets/SettingsPanels-DxMEuovz.js +0 -3
  316. package/dist/client/assets/SettingsPanels.editor-D2gxvDPy.js +0 -1
  317. package/dist/client/assets/SourceControlSettings-CB2SdaRk.js +0 -1
  318. package/dist/client/assets/StatisticsPage-MhMDuSSQ.js +0 -1
  319. package/dist/client/assets/StatisticsPanel-D3d0bJgk.js +0 -1
  320. package/dist/client/assets/StatisticsSettingsLink-DlnQpfyr.js +0 -1
  321. package/dist/client/assets/ThreadStatusIndicators-CPpIFcAC.js +0 -0
  322. package/dist/client/assets/ThreadWorkspacePanel-Ct9EINsa.js +0 -2009
  323. package/dist/client/assets/ToolbarRootContext-DtUqN8i6.js +0 -1
  324. package/dist/client/assets/alert-DQjuri3D.js +0 -1
  325. package/dist/client/assets/alert-dialog-Cb2TnXzy.js +0 -1
  326. package/dist/client/assets/arrow-left-Dtj9PfsA.js +0 -1
  327. package/dist/client/assets/arrow-up-right-DGeet8e6.js +0 -1
  328. package/dist/client/assets/authorization-BrGZruGo.js +0 -1
  329. package/dist/client/assets/branding-BEx1jrAA.js +0 -1
  330. package/dist/client/assets/capabilities-Cj8jXZOW.js +0 -1
  331. package/dist/client/assets/chatThreadActions-kwD_yAEt.js +0 -1
  332. package/dist/client/assets/chevron-right-BWYGybX9.js +0 -1
  333. package/dist/client/assets/clock-3-r12DkpRj.js +0 -1
  334. package/dist/client/assets/clock-nNA05brA.js +0 -1
  335. package/dist/client/assets/collapsible-DBPd--L7.js +0 -1
  336. package/dist/client/assets/command-DuPvkUAz.js +0 -1
  337. package/dist/client/assets/composerDraftStore-czbuHgbM.js +0 -11
  338. package/dist/client/assets/data-list-BNy2Nwkd.js +0 -1
  339. package/dist/client/assets/desktopUpdateAtoms-Dz4zQu-C.js +0 -1
  340. package/dist/client/assets/desktopWorkspace-wrPRMcOi.js +0 -1
  341. package/dist/client/assets/device-DbMaLmeM.js +0 -168
  342. package/dist/client/assets/dialog-Csp7hsmq.js +0 -1
  343. package/dist/client/assets/draft-input-COB-ymgx.js +0 -1
  344. package/dist/client/assets/editorPreferences-lQ3Fm4yA.js +0 -1
  345. package/dist/client/assets/empty-BcTA7vWq.js +0 -1
  346. package/dist/client/assets/env-BZZxbmon.js +0 -1
  347. package/dist/client/assets/folder-open-GqwNTbSV.js +0 -1
  348. package/dist/client/assets/getPseudoElementBounds-BaLrkv_J.js +0 -1
  349. package/dist/client/assets/group-CCjhaP2K.js +0 -1
  350. package/dist/client/assets/input-pu0UXdN_.js +0 -1
  351. package/dist/client/assets/kbd-xUvRCeUS.js +0 -1
  352. package/dist/client/assets/label-BzDE8wjR.js +0 -1
  353. package/dist/client/assets/loader-circle-CrtHFAvM.js +0 -1
  354. package/dist/client/assets/main-CZzCxtM-.css +0 -2
  355. package/dist/client/assets/main-stppnsiU.js +0 -9
  356. package/dist/client/assets/menu-g3Hcm2JF.js +0 -1
  357. package/dist/client/assets/plus-B2h-VEqh.js +0 -1
  358. package/dist/client/assets/popover-z5hURYff.js +0 -1
  359. package/dist/client/assets/primary-AnB-Zuft.js +0 -2
  360. package/dist/client/assets/providerDriverMeta-C9M8tUrj.js +0 -1
  361. package/dist/client/assets/providerIconUtils-BXecnJ0v.js +0 -1
  362. package/dist/client/assets/providerInstances-CMy-5cGE.js +0 -1
  363. package/dist/client/assets/providerModels-CMy-5cGE.js +0 -1
  364. package/dist/client/assets/qr-code-B6lBPRxy.js +0 -1
  365. package/dist/client/assets/radio-group-DQahlnSi.js +0 -2
  366. package/dist/client/assets/resolveAriaLabelledBy-CUqcBhyS.js +0 -1
  367. package/dist/client/assets/rightPanelRouteSearch-uEySicf2.js +0 -1
  368. package/dist/client/assets/runtime-DRPzstwF.js +0 -1
  369. package/dist/client/assets/scroll-area-CzUrMo2h.js +0 -1
  370. package/dist/client/assets/scrollEdges-C5VxoJIp.js +0 -1
  371. package/dist/client/assets/search-BGQsenCM.js +0 -1
  372. package/dist/client/assets/select-_C7bRT7k.js +0 -1
  373. package/dist/client/assets/separator-CFUmZFfK.js +0 -1
  374. package/dist/client/assets/session-logic-C5moG_sv.js +0 -4
  375. package/dist/client/assets/settingsDialogStore-DnU14tMG.js +0 -1
  376. package/dist/client/assets/settingsLayout-zwP6p5aD.js +0 -1
  377. package/dist/client/assets/settingsSections.logic-F8RXVmAq.js +0 -1
  378. package/dist/client/assets/sheet-BoROLwxR.js +0 -1
  379. package/dist/client/assets/sidebar-5T3qKIfp.js +0 -1
  380. package/dist/client/assets/sidebarProjectFolders-Bzdw3xc6.js +0 -4
  381. package/dist/client/assets/skeleton-C2GDOvXd.js +0 -1
  382. package/dist/client/assets/spinner-Dlyh0j_K.js +0 -1
  383. package/dist/client/assets/src-Blzsn4sO.js +0 -14
  384. package/dist/client/assets/storeSelectors-BJw1h5Ih.js +0 -1
  385. package/dist/client/assets/switch-CIMwetO3.js +0 -1
  386. package/dist/client/assets/terminal-C_CyIsDD.js +0 -1
  387. package/dist/client/assets/textarea-C0_BLJbT.js +0 -1
  388. package/dist/client/assets/threadPinning-DQrBoIxu.js +0 -1
  389. package/dist/client/assets/toast-D7IDKuLa.js +0 -1
  390. package/dist/client/assets/toggle-DjmkdNns.js +0 -1
  391. package/dist/client/assets/toggle-group-q7LGJy7u.js +0 -1
  392. package/dist/client/assets/tooltip-c9oahm_e.js +0 -1
  393. package/dist/client/assets/types-BJw1h5Ih.js +0 -1
  394. package/dist/client/assets/uiStateStore-C48VlkZ2.js +0 -1
  395. package/dist/client/assets/useButton-CbjUY1n3.js +0 -1
  396. package/dist/client/assets/useCompositeListItem-Mh9CnfjW.js +0 -1
  397. package/dist/client/assets/useDebouncedValue-fMFxXx4-.js +0 -1
  398. package/dist/client/assets/useFloatingRootContext-P6J9bP_1.js +0 -1
  399. package/dist/client/assets/useHandleNewThread-C1VSk4Ji.js +0 -1
  400. package/dist/client/assets/useLabelableId-ve_G1Djw.js +0 -1
  401. package/dist/client/assets/useLocation-LUorHj6V.js +0 -1
  402. package/dist/client/assets/useOpenInteractionType-BcwkVFGu.js +0 -1
  403. package/dist/client/assets/usePhoneThreadActions--SRv1Gdm.js +0 -1
  404. package/dist/client/assets/usePopupViewport-DyXMbxzY.js +0 -1
  405. package/dist/client/assets/useRenderElement-DchFnsR8.js +0 -1
  406. package/dist/client/assets/useScrollLock-DvPB4gyu.js +0 -1
  407. package/dist/client/assets/useSwipeDismiss-8zZC4ynu.js +0 -1
  408. package/dist/client/assets/useThreadActions-wbcN8Mp3.js +0 -2
  409. package/dist/client/assets/useTriggerFocusGuards-DI2oAYh0.js +0 -1
  410. package/dist/client/assets/useValueChanged-DeYQvzxH.js +0 -1
  411. package/dist/client/assets/user-round-Cpzx8pSw.js +0 -1
  412. package/dist/client/assets/utils-Dz7wQZDk.js +0 -1
  413. package/dist/client/assets/visibilityPolling-BwzZdaSN.js +0 -1
  414. package/dist/client/assets/x-C1Cemsov.js +0 -1
@@ -1 +0,0 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{n as r}from"./env-BZZxbmon.js";import{P as i,Zn as a}from"./runtime-DRPzstwF.js";import{D as o,E as s,N as c,O as l,P as u,S as d,_ as f,b as p,c as m,d as h,f as g,l as _,m as v,s as y,v as b,x,y as S}from"./primary-AnB-Zuft.js";import{It as C}from"./composerDraftStore-czbuHgbM.js";import{n as ee,t as te}from"./visibilityPolling-BwzZdaSN.js";import{jt as w}from"./authorization-BrGZruGo.js";import{t as ne}from"./copy-UQjKGt7t.js";import{t as T}from"./qr-code-ScYULAuR.js";import{t as re}from"./refresh-cw-DopCMrtR.js";import{t as ie}from"./triangle-alert-RL_T3KLo.js";import{t as ae}from"./switch-CIMwetO3.js";import{t as oe}from"./input-pu0UXdN_.js";import{t as E}from"./button-CBqaO2Ub.js";import{t as se}from"./useCopyToClipboard-BTpWxumf.js";import{i as ce,r as le,t as ue}from"./alert-DQjuri3D.js";import{a as de,c as fe,i as pe,n as me,o as he,r as ge,s as _e,t as ve}from"./dialog-Csp7hsmq.js";import{a as ye,i as be,n as xe,o as Se,r as Ce,s as we,t as Te}from"./alert-dialog-Cb2TnXzy.js";import{t as D}from"./badge-Cil0isYQ.js";import{i as O,n as Ee,r as k}from"./settingsLayout-zwP6p5aD.js";import{a as A,i as j,n as M,o as N,s as P,t as F}from"./HostedRelayTrustNotice-Cl7lRwRJ.js";import{t as De}from"./qr-code-B6lBPRxy.js";var I=e(t(),1),L=n();function Oe(e){return e?`hosted`:`local`}function ke(e,t){return e===`local`?{headline:`Direct to a node on this machine`,body:`This window talks to a Ryco node running here, on this machine. No Ryco Hub sits between them and nothing you send leaves this machine on its way to the node.`}:{headline:t===null?`Through the Ryco Hub`:t.shortLabel,body:`This browser reaches a node through the Ryco Hub relay. What that channel is worth is stated with the channel itself, below.`}}function Ae(e){return e===`local`?{available:!0,unavailableBody:``}:{available:!1,unavailableBody:"Your node's client list, live sessions, admission policy, prekey and fallback counters are held on the node and read over its own local interface, which the relay does not carry. Open Ryco on that machine to see them, or run `ryco e2ee` there."}}function je(e){return e===`local`?{kind:`available`}:{kind:`blocked`,reason:"This one can only be changed from the node itself. It admits approved native client keys and closes browser and legacy access — including this browser, which is how you are reading this — so turning it on from here would end this session and leave no way back in through it. Run `ryco e2ee policy set --require-approved-client-e2ee` on the machine running the node, where you can still reach it if the result is not what you wanted."}}var Me="This build cannot change whether the node admits only approved native client keys. Run `ryco e2ee policy set --require-approved-client-e2ee` on the machine running the node.";function Ne(e,t){if(e===`hosted`&&t.requireApprovedClientE2EE!==void 0){let t=je(e);return{allowed:!1,refusal:t.kind===`blocked`?t.reason:Me}}return{allowed:!0,proposal:t}}function R(e){let t=e.split(w.separator);if(t.length!==w.groups)return[];for(let e of t){if(e.length!==w.digitsPerGroup)return[];for(let t of e)if(t<`0`||t>`9`)return[]}return t}var z=`${w.digits} digits, in ${w.groups} groups of ${w.digitsPerGroup}. The length and the grouping are the only check there is, so read all ${w.digits} in order.`,B=`Compare this with the number the device itself shows, on the device, before approving it. They match only for this key pair under this Hub account — the same device under a different account reads differently. Approve nothing whose number you have not read off the other screen yourself.`;function Pe(e){let t=R(e);return t.length===0?null:{groups:t,display:t.join(w.separator),caption:z,advisory:B}}var V=`No comparison number is readable for this record, so there is nothing here to check against the device.`;function Fe(e){return e===null?{available:!1,fingerprint:null,caption:"This node's identity fingerprint is shown here only while an enrollment is waiting for approval. At other times, read it from the node with `ryco hub status` on the machine running it."}:{available:!0,fingerprint:e,caption:`This node's identity fingerprint, from the enrollment now waiting for approval. Compare it character for character wherever you are asked to confirm this machine.`}}var H=`unknown`;function U(e){if(e===void 0)return`never`;let t=new Date(e);return Number.isNaN(t.getTime())?H:t.toLocaleString()}function Ie(e){return e===null?[{label:`Agreement prekey`,value:H}]:e.present?[{label:`Prekey`,value:e.prekeyId??H,mono:!0},{label:`Fingerprint`,value:e.fingerprint??H,mono:!0},{label:`Validity`,value:e.validity??H},{label:`Created`,value:U(e.createdAt)},{label:`Expires`,value:U(e.expiresAt)}]:[{label:`Agreement prekey`,value:`none held`}]}function Le(e){return e===null?null:e.present?e.remedy??null:`This node holds no agreement prekey for its Hub origin. It re-signs one at startup; rotate to issue one now.`}function Re(e){return e===null?[{label:`Continuity`,value:H}]:e.status===`unavailable`?[{label:`Continuity`,value:`unresolvable`},{label:`Reason`,value:e.reason??H}]:[{label:`Continuity`,value:`advertisable`},{label:`Lineage`,value:e.continuityId??H,mono:!0},{label:`Rotation generation`,value:String(e.generation??0)},{label:`Retained chain length`,value:String(e.chainLength??0)},...e.repair===void 0?[]:[{label:`Startup repair`,value:e.repair}],...e.lastBreakReason===void 0?[]:[{label:`Last break`,value:`${e.lastBreakReason} at ${U(e.lastBreakAt)}`}]]}function ze(e){return e?.remedy??null}function W(e){switch(e){case`pending`:return`warning`;case`approved`:return`success`;case`revoked`:return`error`}}function G(e){let t=e.displayLabel?.trim()??``;return t===``?`Client key …${e.fingerprint.slice(-8)}`:t}function K(e){return[{label:`Fingerprint`,value:e.fingerprint,mono:!0},{label:`Hub origin`,value:e.hubOrigin},{label:`Account`,value:e.accountId},{label:`Maximum role`,value:e.maxRole===``?`none granted`:e.maxRole},{label:`Capabilities`,value:e.capabilitySet.length===0?`none`:e.capabilitySet.join(`, `)},{label:`Created`,value:U(e.createdAt)},...e.approvedAt===void 0?[]:[{label:`Approved`,value:U(e.approvedAt)}],...e.revokedAt===void 0?[]:[{label:`Revoked`,value:U(e.revokedAt)}],{label:`Last seen`,value:U(e.lastSeenAt)},...e.pairingReserved?[{label:`Pairing reservation`,value:`held`}]:[]]}function Be(e){if(e===null)return[];let t=[];return(e.pendingGlobalSaturated||e.saturatedAccounts.length>0)&&t.push(`Pending pairing is saturated, so a new device may not be able to introduce itself. Purge a pending record, or read the fingerprint off the device and open a pairing window naming it.`),e.refusedPairingAttempts>0&&t.push(`${e.refusedPairingAttempts} pairing attempt(s) were refused because the pending list was full. Clear the count once you have dealt with them, or later readings will be dominated by history.`),t}function Ve(e){if(e===null)return[{label:`Pairing window`,value:H}];let t=e.pairingWindow;return t===void 0?[{label:`Pairing window`,value:`closed`}]:[{label:`Pairing window`,value:`open`},{label:`Only this fingerprint`,value:t.fingerprint,mono:!0},{label:`Expires`,value:U(t.expiresAt)},{label:`Reservation`,value:t.spent?`spent`:`unspent`}]}function He(e){return e===null?`How many pairing attempts this node refused because the pending list was full has not been read here.`:`${e.refusedPairingAttempts} attempt(s) refused because the pending list was full.`}var Ue=`A window lets exactly one device introduce itself, and only the one whose fingerprint you name.`;function We(e){return[{label:`Tier`,value:e.tier===`native`?`native (IK)`:`browser (NX)`},{label:`Suite`,value:String(e.suite)},{label:`Established`,value:U(e.establishedAt)}]}var Ge=`Native sessions have no per-session code. Compare this device's long-term number on its record above instead.`,Ke=`Compare this code with the one that browser is showing for this session, on that screen. A match catches accidental wrong-node routing and some network interposition — anyone standing in for this node who is not also serving that browser its page — while the code that browser loaded is honest; it cannot protect against whoever served that page, and a match does not rule out someone sitting in the middle.`,qe=`No session code reached this listing for that channel, so there is nothing here to compare against the browser holding it.`;function Je(e){let t=j(e,`inline`);return t===null?null:{groups:t.groups,display:t.display,advisory:Ke,more:null}}var Ye=`A browser channel this node has open. Its per-session code is below.`;function Xe(e){return e===null?[{label:`Admission policy`,value:H}]:[{label:`requireE2EE`,value:String(e.requireE2EE),mono:!0},{label:`requireApprovedClientE2EE`,value:String(e.requireApprovedClientE2EE),mono:!0},{label:`Effective requireE2EE`,value:String(e.effectiveRequireE2EE),mono:!0},{label:`Admitted patterns`,value:e.admittedPatterns.join(`, `)||`none`},{label:`Suite registry`,value:e.suiteRegistry.join(`, `)||`none`},{label:`Policy generation`,value:String(e.generation)}]}function Ze(e,t,n){let r=[];t.requireApprovedClientE2EE===!0&&r.push(`requireApprovedClientE2EE closes browser and legacy access entirely. Only approved native client keys reach application payload after this, and losing every approved key strands remote access to this node until someone recovers it at the machine — which never relaxes admission policy.`);for(let e of Qe(t,n))r.push(e);return e.withdrawal&&r.push(`This narrows what the node admits, so it closes live channels. Roughly matching now: ${e.counts.legacy} legacy, ${e.counts.nxE2ee} browser, ${e.counts.suiteWithdrawn} on a withdrawn suite, and ${e.counts.abortedHandshakes} handshake(s) in flight. These move while you read them.`),e.changed||r.push(`This changes nothing: the node already admits exactly this.`),r.length===0&&r.push(q),r}function Qe(e,t){let n=[];return e.requireE2EE===!1&&t?.requireE2EE!==!1&&n.push(`Turning this off re-admits plaintext. The node goes back to accepting relay payload it has not encrypted, for browsers and for legacy clients, and the Hub carries that in a form it can read. It closes nothing now — what changes is what the node accepts next.`),e.requireApprovedClientE2EE===!1&&t?.requireApprovedClientE2EE!==!1&&n.push(`Clearing this re-admits the browser and legacy tiers. Client keys this node has not approved reach it again on their next connection, under whatever the remaining policy allows.`),n}var q=`The node reports that this closes no channel it has open now. That is a statement about the live channels and not about what the node will admit afterwards.`;function $e(e,t,n){return e.withdrawal||Qe(t,n).length>0}function et(e){return[e.changed?`Policy committed.`:`Policy unchanged.`,`Closed ${e.counts.legacy} legacy channel(s), ${e.counts.nxE2ee} browser channel(s), ${e.counts.suiteWithdrawn} suite-withdrawn channel(s); aborted ${e.counts.abortedHandshakes} handshake(s) in flight.`].join(` `)}var J=`This advances the policy generation past every value this node may already have advertised, and the jump is deliberate. Clients accept only a higher generation than the one they remember, so nothing below the new value can be advertised again. If a restore rolled the record back, recovery does not restore the old values: it commits the fail-closed policy, which admits only approved native client keys and so closes browser and legacy access entirely, including every remote browser session open now. There is no way to tell from here which of the two this will be. Widening it back is a separate, explicit policy change, and if this node's only remaining access was a browser it has to be made at the machine.`;function tt(e){if(e===null)return null;let t=e.peerLegacy.ringOverflows>0||e.advertisementUnavailable.ringOverflows>0;return{windowStarted:U(e.windowStartedAt),classes:[{label:`Peer spoke legacy`,meaning:`The other end did not take the encrypted channel, so this one carried readable payload.`,occurrences:e.peerLegacy.occurrences,lastOccurrence:U(e.peerLegacy.lastOccurrenceAt),ringOverflows:e.peerLegacy.ringOverflows},{label:`No advertisement`,meaning:`This node could not offer an encrypted channel, or the offer did not survive the path. It cannot tell which.`,occurrences:e.advertisementUnavailable.occurrences,lastOccurrence:U(e.advertisementUnavailable.lastOccurrenceAt),ringOverflows:e.advertisementUnavailable.ringOverflows}],entries:[...e.ring].toSorted((e,t)=>e.occurredAt-t.occurredAt).map((e,t)=>({ordinal:t,at:U(e.occurredAt),reason:e.reason})),overflowNotice:t?`The retained list overflowed, so it is an incomplete account of this window. The shape of what is left is not evidence in either direction.`:null,undersizedNotice:e.undersizedConnection===void 0?null:`This connection asserts a maximum chunk of ${e.undersizedConnection.assertedMaxDataChunkBytes} bytes, below the ${e.undersizedConnection.advertisementMinChunkBytes} bytes an offer needs. Nothing that fits can carry one, so this node offers nothing on this connection.`,quiet:e.peerLegacy.occurrences===0&&e.advertisementUnavailable.occurrences===0&&e.ring.length===0}}var nt=`Nothing has fallen back in this window. This counts what happened, not what could — a quiet window is not a statement about the next one.`,Y={approve:{title:`Approve this client key?`,body:`The device holding this key may then reach this node, up to the role and capabilities you grant here. Compare its number against the device first. It takes effect on its next connection, not on anything open now.`,confirmLabel:`Approve key`,destructive:!1},narrow:{title:`Reduce what this client may do?`,body:`Anything this device has open under the wider authority closes immediately — the node will not confirm the change until those channels are shut. The device reconnects with the smaller role ceiling. Its capability grant is left exactly as it is; only the ceiling drops, and changing the capabilities is a separate command on the node.`,confirmLabel:`Reduce authority`,destructive:!0},revoke:{title:`Revoke this client key?`,body:`The device loses access now: every channel it has open closes before this is confirmed, and it cannot reconnect until you approve it again. The record stays, so you can see it was revoked.`,confirmLabel:`Revoke key`,destructive:!0},purge:{title:`Delete this client record?`,body:`The same immediate disconnection as revoking, and the record goes with it — there will be nothing left showing this device was ever here. If it connects again it arrives as a stranger and pairs from scratch.`,confirmLabel:`Delete record`,destructive:!0},"open-window":{title:`Open a pairing window for this fingerprint?`,body:`For a short time this node will accept one introduction, and only from the key whose fingerprint you name. Read that fingerprint off the device itself — a window naming the wrong one lets the wrong device in.`,confirmLabel:`Open window`,destructive:!1},"close-window":{title:`Close the pairing window?`,body:`No new device can introduce itself until you open another. Anything already introduced keeps its record.`,confirmLabel:`Close window`,destructive:!1},"clear-refusals":{title:`Clear the refused-attempt count?`,body:`The count goes back to zero. Do this once you have dealt with what caused it, so the next reading is about the next thing rather than about history.`,confirmLabel:`Clear count`,destructive:!1},"rotate-prekey":{title:`Issue a new agreement prekey?`,body:`The node makes a fresh key pair and certificate immediately. Clients pick the new one up on their next connection; nothing already open is disturbed.`,confirmLabel:`Rotate prekey`,destructive:!1},"recover-policy":{title:`Advance the policy generation?`,body:J,confirmLabel:`Advance generation`,destructive:!0},"reset-fallback":{title:`Reset the fallback counters?`,body:`Both counts and the retained list go back to empty and a new observation window starts. What was recorded is gone; nothing else changes.`,confirmLabel:`Reset counters`,destructive:!1},"remint-continuity":{title:`Break continuity and mint a fresh lineage?`,body:`Every device that has paired with this node has to go through the whole pairing ceremony again, in person, before it can reconnect. Do this when you believe the lineage is wrong, not to tidy it up.`,confirmLabel:`Mint fresh lineage`,destructive:!0},"break-continuity":{title:`Break the continuity chain?`,body:`The lineage keeps its name, but every device that pinned this node has to go through the pairing ceremony again before it can reconnect.`,confirmLabel:`Break chain`,destructive:!0}};function rt(e){return Y[e]}var it=`It applies to the key below and to no other. Check the fingerprint against the device you meant: two devices paired under one account are told apart by nothing else here.`;function X(e){return[{label:`Fingerprint`,value:e.fingerprint,mono:!0},{label:`Account`,value:e.accountId},{label:`Hub origin`,value:e.hubOrigin}]}function at(e,t){let n=Y[e];return{...n,body:`${n.body} ${it}`,facts:X(t)}}function ot(e){let t=Y[`open-window`];return{...t,body:`${t.body} Read the value below off the device now, before confirming.`,facts:[{label:`Only this fingerprint`,value:e,mono:!0}]}}var Z=[`viewer`,`operator`,`owner`],st={viewer:`read what is there`,operator:`edit files and run terminals`,owner:`also change credentials and server policy`},ct=[`ryco.rpc`];function lt(e,t){let n=Y.approve,r=ct.join(`, `);return{title:`Approve this client key as ${e}?`,body:`${n.body} At most it will be able to ${st[e]}. It is granted the one capability a relay channel carries, ${r} — a key approved with none is admitted by nothing and could not connect at all. `+`${t===void 0?``:it}`.trimEnd(),confirmLabel:`Approve as ${e}`,destructive:!1,...t===void 0?{}:{facts:X(t)}}}Object.keys(Y);var ut=`What this node will admit, and which client keys it has on file.`,dt=`Require an encrypted channel`,ft=`Refuse plaintext, including for browsers.`,pt=`Only approved native client keys`,mt=`Closes browser and legacy access entirely. Only approved native client keys reach application payload.`,ht=`Recover a generation that a restore rolled back.`,gt=`Its current value on the node has not been read here, so nothing on this row states what it is.`,_t=`No device has introduced itself to this node yet.`,vt=`Nothing is connected right now.`,Q=C(),yt=5e3,bt=6e4,xt={clients:null,sessions:null,policy:null,prekey:null,continuity:null,fallback:null,enrollmentFingerprint:null};function $(e){let t=(0,L.c)(4),{rows:n}=e,r;t[0]===n?r=t[1]:(r=n.map(St),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(`dl`,{className:`grid gap-x-4 gap-y-1.5 sm:grid-cols-[12rem_minmax(0,1fr)]`,children:r}),t[2]=r,t[3]=i),i}function St(e){return(0,Q.jsxs)(`div`,{className:`contents`,children:[(0,Q.jsx)(`dt`,{className:`text-[11px] text-muted-foreground`,children:e.label}),(0,Q.jsx)(`dd`,{className:e.mono?`min-w-0 font-mono text-[12px] break-all text-foreground`:`min-w-0 text-[12px] text-foreground`,children:e.value})]},e.label)}function Ct(e){let t=(0,L.c)(14),{value:n}=e,r;t[0]===n?r=t[1]:(r=Pe(n),t[0]=n,t[1]=r);let i=r;if(!i){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(`p`,{"data-testid":`node-safety-number`,"data-value":`absent`,className:`text-[11px] text-muted-foreground`,children:V}),t[2]=e):e=t[2],e}let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(`p`,{className:`text-[11px] font-medium`,children:`Comparison number`}),t[3]=a):a=t[3];let o;t[4]===i.display?o=t[5]:(o=(0,Q.jsx)(`p`,{"data-testid":`node-safety-number-value`,className:`font-mono text-[13px] leading-relaxed font-semibold tracking-[0.08em] select-all`,children:i.display}),t[4]=i.display,t[5]=o);let s;t[6]===i.caption?s=t[7]:(s=(0,Q.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:i.caption}),t[6]=i.caption,t[7]=s);let c;t[8]===i.advisory?c=t[9]:(c=(0,Q.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:i.advisory}),t[8]=i.advisory,t[9]=c);let l;return t[10]!==o||t[11]!==s||t[12]!==c?(l=(0,Q.jsxs)(`div`,{"data-testid":`node-safety-number`,"data-value":`present`,className:`space-y-1.5`,children:[a,o,s,c]}),t[10]=o,t[11]=s,t[12]=c,t[13]=l):l=t[13],l}function wt(e){let t=(0,L.c)(15),{view:n,unavailable:r,testId:i}=e;if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,Q.jsx)(`p`,{"data-testid":i,"data-code":`absent`,className:`text-[11px] text-muted-foreground`,children:r}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let a=`${i}-value`,o;t[3]!==a||t[4]!==n.display?(o=(0,Q.jsx)(`p`,{"data-testid":a,className:`font-mono text-sm leading-none font-semibold tracking-[0.2em] whitespace-nowrap select-all`,children:n.display}),t[3]=a,t[4]=n.display,t[5]=o):o=t[5];let s;t[6]===n.advisory?s=t[7]:(s=(0,Q.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:n.advisory}),t[6]=n.advisory,t[7]=s);let c;t[8]===n.more?c=t[9]:(c=n.more===null?null:(0,Q.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:n.more}),t[8]=n.more,t[9]=c);let l;return t[10]!==o||t[11]!==s||t[12]!==c||t[13]!==i?(l=(0,Q.jsxs)(`div`,{"data-testid":i,"data-code":`present`,className:`space-y-1.5`,children:[o,s,c]}),t[10]=o,t[11]=s,t[12]=c,t[13]=i,t[14]=l):l=t[14],l}function Tt(e){let t=(0,L.c)(4),{code:n}=e,r;t[0]===n?r=t[1]:(r=j(n,`settings`),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(wt,{view:r,unavailable:M,testId:`node-session-code`}),t[2]=r,t[3]=i),i}function Et(e){let t=(0,L.c)(4),{code:n}=e,r;t[0]===n?r=t[1]:(r=Je(n),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(wt,{view:r,unavailable:qe,testId:`node-session-code`}),t[2]=r,t[3]=i),i}function Dt(){let e=(0,L.c)(21),t=A(),n=N(),r=i(jt),a=i(At),o=i(kt),s=i(Ot),c,l;e[0]!==r||e[1]!==t||e[2]!==o||e[3]!==a||e[4]!==s?(c=P({browserStatus:r,sessionStatus:a,selectionStatus:o,transportStatus:s,e2eeStatus:t}),l=ke(`hosted`,c),e[0]=r,e[1]=t,e[2]=o,e[3]=a,e[4]=s,e[5]=c,e[6]=l):(c=e[5],l=e[6]);let u=l,d=c.guarantee===`e2ee`?`success`:c.guarantee===`web`?`info`:c.guarantee===`legacy`?`warning`:`outline`,f;e[7]!==c.shortLabel||e[8]!==d?(f=(0,Q.jsx)(D,{size:`sm`,variant:d,"data-testid":`node-connection-claim`,children:c.shortLabel}),e[7]=c.shortLabel,e[8]=d,e[9]=f):f=e[9];let p;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(F,{}),e[10]=p):p=e[10];let m;e[11]!==t||e[12]!==n?(m=t===`web-unsigned`?(0,Q.jsx)(Tt,{code:n}):null,e[11]=t,e[12]=n,e[13]=m):m=e[13];let h;e[14]===m?h=e[15]:(h=(0,Q.jsxs)(`div`,{className:`space-y-3 pb-3.5`,children:[p,m]}),e[14]=m,e[15]=h);let g;return e[16]!==u.body||e[17]!==u.headline||e[18]!==f||e[19]!==h?(g=(0,Q.jsx)(O,{title:`This connection`,children:(0,Q.jsx)(k,{title:u.headline,description:u.body,status:f,children:h})}),e[16]=u.body,e[17]=u.headline,e[18]=f,e[19]=h,e[20]=g):g=e[20],g}function Ot(e){return e.transportStatus}function kt(e){return e.selectionStatus}function At(e){return e.sessionStatus}function jt(e){return e.browserStatus}function Mt(){let e=Oe(r()),t=Ae(e),n=je(e),[i,a]=(0,I.useState)(xt),[l,C]=(0,I.useState)(null),[w,T]=(0,I.useState)(!1),[ae,D]=(0,I.useState)(null),[A,j]=(0,I.useState)(null),[M,N]=(0,I.useState)(null),[P,F]=(0,I.useState)(null),[L,Me]=(0,I.useState)(``),R=(0,I.useRef)(!0),z=(0,I.useRef)(0),B=(0,I.useRef)(null),{copyToClipboard:Pe}=se();(0,I.useEffect)(()=>(R.current=!0,()=>{R.current=!1}),[]);let V=(0,I.useCallback)(async()=>{if(t.available)try{let[e,t,n,r,i,o]=await Promise.all([f(),d(),p(),x(),b(),S()]),s=await v().catch(()=>null);if(!R.current)return;z.current=0,a({clients:e,sessions:t,policy:n,prekey:r,continuity:i,fallback:o,enrollmentFingerprint:s?.fingerprint??null}),C(null)}catch(e){if(!R.current)return;z.current+=1,C(e instanceof Error?e.message:`Unable to read the node's security state.`)}},[t.available]);(0,I.useEffect)(()=>{if(!t.available)return;let e=te({lifecycle:ee,run:V,resolveDelayMs:()=>Math.min(yt*2**Math.max(0,z.current-1),bt),jitterRatio:.1});return B.current=e,()=>{B.current===e&&(B.current=null),e.stop()}},[t.available,V]);let H=(0,I.useCallback)(()=>B.current?.refresh()??V(),[V]),U=(0,I.useCallback)(async(e,t)=>{T(!0),C(null),D(null);try{let n=await e();R.current&&D(typeof n==`string`?n:t),await H()}catch(e){if(!R.current)return;C(e instanceof Error?e.message:`That didn't work.`)}finally{R.current&&T(!1)}},[H]),W=(0,I.useCallback)((e,t,n)=>{N({copy:rt(e),run:()=>U(t,n)})},[U]),G=(0,I.useCallback)((e,t,n)=>{N({copy:e,run:()=>U(t,n)})},[U]),K=(0,I.useCallback)(async t=>{let n=Ne(e,t);if(!n.allowed){C(n.refusal);return}T(!0),C(null),D(null);try{let e=await s(n.proposal);if(!R.current)return;j({proposal:n.proposal,warnings:Ze(e,n.proposal,i.policy),destructive:$e(e,n.proposal,i.policy)})}catch(e){if(!R.current)return;C(e instanceof Error?e.message:`Unable to preview that change.`)}finally{R.current&&T(!1)}},[e,i.policy]),Ke=(0,I.useCallback)(async()=>{if(A===null)return;let t=Ne(e,A.proposal);if(!t.allowed){C(t.refusal),j(null);return}let n=t.proposal;j(null),await U(async()=>et(await _(n)),`Policy applied.`)},[e,A,U]),qe=(0,I.useCallback)((e,t,n)=>{let r={fingerprint:e.fingerprint,accountId:e.accountId,hubOrigin:e.hubOrigin};G(at(t,r),()=>y(e),n)},[G]),Je=(0,I.useCallback)((e,t)=>{N({copy:lt(t,{fingerprint:e.fingerprint,accountId:e.accountId,hubOrigin:e.hubOrigin}),run:()=>U(async()=>{await y(e);try{let n=await g({hubOrigin:e.hubOrigin,accountId:e.accountId,fingerprint:e.fingerprint});return R.current&&F({approval:n,label:e.fingerprint}),`Client approved as ${t}. Scan the code on the new device.`}catch{return`Client approved as ${t}. The QR code was not created; use Show phone QR to retry.`}},`Client approved as ${t}.`)})},[U]),Qe=(0,I.useCallback)(async e=>{T(!0),C(null);try{let t=await g({hubOrigin:e.hubOrigin,accountId:e.accountId,fingerprint:e.fingerprint});R.current&&F({approval:t,label:e.displayLabel??e.fingerprint})}catch(e){R.current&&C(e instanceof Error?e.message:`Unable to create the phone QR code.`)}finally{R.current&&T(!1)}},[]),q=Fe(i.enrollmentFingerprint),J=(0,I.useMemo)(()=>tt(i.fallback),[i.fallback]),Y=Be(i.clients),it=Le(i.prekey),X=ze(i.continuity),Z=M?.copy??null,st=typeof window<`u`&&window.isSecureContext&&navigator.clipboard?.writeText!=null;return(0,Q.jsxs)(Ee,{children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(`h1`,{className:`text-base font-semibold`,children:`Security`}),(0,Q.jsx)(`p`,{className:`mt-1 text-muted-foreground text-xs`,children:ut})]}),t.available?(0,Q.jsxs)(E,{size:`xs`,variant:`outline`,disabled:w,onClick:()=>void H(),children:[(0,Q.jsx)(re,{className:`size-3.5`}),`Refresh`]}):null]}),l===null?null:(0,Q.jsxs)(ue,{variant:`error`,children:[(0,Q.jsx)(ie,{}),(0,Q.jsx)(ce,{children:`That didn't work`}),(0,Q.jsx)(le,{children:l})]}),ae?(0,Q.jsxs)(ue,{variant:`info`,children:[(0,Q.jsx)(ce,{children:`Done`}),(0,Q.jsx)(le,{children:ae})]}):null,e===`hosted`?(0,Q.jsx)(Dt,{}):null,t.available?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(O,{title:`This node's identity`,children:[(0,Q.jsx)(k,{title:`Enrollment fingerprint`,description:q.caption,control:q.fingerprint!==null&&st?(0,Q.jsxs)(E,{size:`xs`,variant:`outline`,onClick:()=>Pe(q.fingerprint),children:[(0,Q.jsx)(ne,{className:`size-3.5`}),`Copy`]}):null,children:q.fingerprint===null?null:(0,Q.jsx)(`p`,{"data-testid":`node-enrollment-fingerprint`,className:`pb-3.5 font-mono text-[13px] break-all select-all`,children:q.fingerprint})}),(0,Q.jsx)(k,{title:`Agreement prekey`,description:it??`The key this node offers for new channels.`,control:(0,Q.jsx)(E,{size:`xs`,variant:`outline`,disabled:w,onClick:()=>W(`rotate-prekey`,c,`Prekey rotated.`),children:`Rotate`}),children:(0,Q.jsx)(`div`,{className:`pb-3.5`,children:(0,Q.jsx)($,{rows:Ie(i.prekey)})})}),(0,Q.jsx)(k,{title:`Continuity`,description:X??`The lineage paired clients remember this node by.`,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:w,onClick:()=>W(`break-continuity`,()=>m({action:`break`}),`Continuity chain broken.`),children:`Break chain`}),(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:w,onClick:()=>W(`remint-continuity`,()=>m({action:`remint`}),`Fresh lineage minted.`),children:`Mint fresh`})]}),children:(0,Q.jsx)(`div`,{className:`pb-3.5`,children:(0,Q.jsx)($,{rows:Re(i.continuity)})})})]}),(0,Q.jsxs)(O,{title:`Authorized clients`,children:[Y.map(e=>(0,Q.jsx)(k,{title:`Pairing`,description:e},e)),(0,Q.jsx)(k,{title:`Pairing window`,description:Ue,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(oe,{value:L,disabled:w,placeholder:`SHA256:…`,"aria-label":`Pairing window fingerprint`,className:`w-56 font-mono text-xs`,onChange:e=>Me(e.currentTarget.value)}),(0,Q.jsx)(E,{size:`xs`,variant:`outline`,disabled:w||L.trim()===``,onClick:()=>G(ot(L.trim()),()=>u({action:`open`,fingerprint:L.trim()}),`Pairing window opened.`),children:`Open`}),(0,Q.jsx)(E,{size:`xs`,variant:`outline`,disabled:w||i.clients?.pairingWindow===void 0,onClick:()=>W(`close-window`,()=>u({action:`close`}),`Pairing window closed.`),children:`Close`})]}),children:(0,Q.jsx)(`div`,{className:`pb-3.5`,children:(0,Q.jsx)($,{rows:Ve(i.clients)})})}),(0,Q.jsx)(k,{title:`Refused attempts`,description:He(i.clients),control:(0,Q.jsx)(E,{size:`xs`,variant:`outline`,disabled:w||(i.clients?.refusedPairingAttempts??0)===0,onClick:()=>W(`clear-refusals`,h,`Refusal count cleared.`),children:`Clear`})}),(i.clients?.records??[]).map(e=>(0,Q.jsx)(Lt,{record:e,busy:w,onAuthorize:qe,onApprove:Je,onShowApprovalQr:Qe},`${e.hubOrigin}\u0000${e.accountId}\u0000${e.fingerprint}`)),i.clients!==null&&i.clients.records.length===0?(0,Q.jsx)(k,{title:`No client keys on file`,description:_t}):null]}),(0,Q.jsxs)(O,{title:`Live sessions`,children:[(i.sessions?.sessions??[]).map(e=>(0,Q.jsx)(k,{title:`Session ${e.sessionIndex}`,description:e.tier===`native`?Ge:Ye,children:(0,Q.jsxs)(`div`,{className:`space-y-3 pb-3.5`,children:[(0,Q.jsx)($,{rows:We(e)}),e.tier===`web`?(0,Q.jsx)(Et,{code:e.verificationCode??null}):null]})},e.sessionIndex)),i.sessions!==null&&i.sessions.sessions.length===0?(0,Q.jsx)(k,{title:`No sessions`,description:vt}):null]}),(0,Q.jsxs)(O,{title:`Admission policy`,children:[(0,Q.jsx)(Ft,{title:dt,description:ft,checked:i.policy===null?null:i.policy.requireE2EE,busy:w,ariaLabel:`Require E2EE`,testId:`require-e2ee`,onChange:e=>void K({requireE2EE:e})}),(0,Q.jsx)(Pt,{disposition:n,checked:i.policy===null?null:i.policy.requireApprovedClientE2EE,busy:w,onChange:e=>void K({requireApprovedClientE2EE:e})}),(0,Q.jsx)(k,{title:`Policy generation`,description:ht,control:(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:w,onClick:()=>W(`recover-policy`,o,`Policy generation advanced.`),children:`Advance`}),children:(0,Q.jsx)(`div`,{className:`pb-3.5`,children:(0,Q.jsx)($,{rows:Xe(i.policy)})})})]}),(0,Q.jsx)(O,{title:`Fallback`,children:J===null?(0,Q.jsx)(k,{title:`Fallback`,description:`Waiting for the node.`}):J.quiet?(0,Q.jsx)(k,{title:`Nothing has fallen back`,description:nt,control:(0,Q.jsx)(It,{busy:w,onConfirm:W})}):(0,Q.jsxs)(Q.Fragment,{children:[J.classes.map(e=>(0,Q.jsx)(k,{title:e.label,description:e.meaning,status:`Last ${e.lastOccurrence}${e.ringOverflows>0?` · ${e.ringOverflows} overflow(s)`:``}`,control:(0,Q.jsx)(`span`,{className:`font-mono text-sm font-semibold`,children:e.occurrences})},e.label)),(0,Q.jsx)(k,{title:`Retained occurrences`,description:J.overflowNotice??`Observation window started ${J.windowStarted}.`,control:(0,Q.jsx)(It,{busy:w,onConfirm:W}),children:(0,Q.jsx)(`ul`,{className:`space-y-1 pb-3.5`,children:J.entries.map(e=>(0,Q.jsxs)(`li`,{className:`font-mono text-[11px] text-muted-foreground`,children:[e.at,` · `,e.reason]},e.ordinal))})}),J.undersizedNotice?(0,Q.jsx)(k,{title:`Undersized connection`,description:J.undersizedNotice}):null]})})]}):(0,Q.jsxs)(O,{title:`This node`,children:[(0,Q.jsx)(k,{title:ke(e,null).headline,description:t.unavailableBody}),(0,Q.jsx)(Pt,{disposition:n,checked:null,busy:w,onChange:e=>void K({requireApprovedClientE2EE:e})})]}),(0,Q.jsx)(Te,{open:A!==null,onOpenChange:e=>!e&&j(null),children:(0,Q.jsxs)(Se,{children:[(0,Q.jsxs)(ye,{children:[(0,Q.jsx)(we,{children:`Apply this policy change?`}),(0,Q.jsx)(Ce,{children:A?.warnings.map(e=>(0,Q.jsx)(`span`,{className:`block pb-2`,children:e},e))})]}),(0,Q.jsxs)(be,{children:[(0,Q.jsx)(xe,{children:`Leave it`}),(0,Q.jsx)(E,{variant:A?.destructive?`destructive`:`default`,"data-testid":`policy-apply`,disabled:w,onClick:()=>void Ke(),children:`Apply`})]})]})}),(0,Q.jsx)(Te,{open:M!==null,onOpenChange:e=>!e&&N(null),children:(0,Q.jsxs)(Se,{children:[(0,Q.jsxs)(ye,{children:[(0,Q.jsx)(we,{children:Z?.title}),(0,Q.jsx)(Ce,{children:Z?.body})]}),Z?.facts?(0,Q.jsx)(`div`,{"data-testid":`node-confirmation-facts`,className:`pb-1`,children:(0,Q.jsx)($,{rows:Z.facts})}):null,(0,Q.jsxs)(be,{children:[(0,Q.jsx)(xe,{children:`Cancel`}),(0,Q.jsx)(E,{variant:Z?.destructive?`destructive`:`default`,"data-testid":`node-confirmation-confirm`,disabled:w,onClick:()=>{let e=M;N(null),e&&e.run()},children:Z?.confirmLabel})]})]})}),(0,Q.jsx)(ve,{open:P!==null,onOpenChange:e=>!e&&F(null),children:(0,Q.jsxs)(_e,{className:`max-w-sm`,children:[(0,Q.jsxs)(de,{children:[(0,Q.jsx)(fe,{children:`Verify this phone`}),(0,Q.jsx)(ge,{children:`On the new phone, open node verification and scan this code. It is bound to that phone's key and expires after five minutes.`})]}),(0,Q.jsxs)(he,{className:`space-y-4`,children:[P?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,Q.jsx)(`div`,{className:`rounded-2xl bg-white p-3`,children:(0,Q.jsx)(De,{value:P.approval.payload,size:240,level:`M`,marginSize:2,title:`Node approval — scan with Ryco on the new phone`})}),(0,Q.jsx)(`p`,{className:`max-w-full break-all text-center font-mono text-[11px] text-muted-foreground`,children:P.label})]}):null,(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:`The code contains no secret and grants no access by itself. Ryco will reconnect and prove both device keys after the scan.`})]}),(0,Q.jsx)(pe,{variant:`bare`,children:(0,Q.jsx)(me,{render:(0,Q.jsx)(E,{variant:`outline`}),children:`Done`})})]})})]})}function Nt(){let e=(0,L.c)(7),t=a();if(t&&!t.primary){let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(ie,{}),e[0]=n):n=e[0];let r;e[1]===t.nodeLabel?r=e[2]:(r=(0,Q.jsxs)(ce,{children:[`Open Security on `,t.nodeLabel]}),e[1]=t.nodeLabel,e[2]=r);let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(le,{children:`Security administration requires that node's direct local operator channel. Ryco has disabled these controls here so an action can never be applied to this Mac by mistake.`}),e[3]=i):i=e[3];let a;return e[4]===r?a=e[5]:(a=(0,Q.jsx)(Ee,{children:(0,Q.jsxs)(ue,{variant:`warning`,children:[n,r,i]})}),e[4]=r,e[5]=a),a}let n;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(Mt,{}),e[6]=n):n=e[6],n}function Pt(e){let t=(0,L.c)(6),{disposition:n,checked:r,busy:i,onChange:a}=e,o=n.kind===`blocked`,s=n.kind===`blocked`?n.reason:mt,c;return t[0]!==o||t[1]!==i||t[2]!==r||t[3]!==a||t[4]!==s?(c=(0,Q.jsx)(Ft,{title:pt,description:s,checked:r,busy:i,blocked:o,ariaLabel:`Require approved client E2EE`,testId:`require-approved-client-e2ee`,onChange:a}),t[0]=o,t[1]=i,t[2]=r,t[3]=a,t[4]=s,t[5]=c):c=t[5],c}function Ft(e){let t=(0,L.c)(11),{title:n,description:r,checked:i,busy:a,blocked:o,ariaLabel:s,testId:c,onChange:l}=e,u=o!==void 0&&o,d=i===null?`${r} ${gt}`:r,f;t[0]!==s||t[1]!==u||t[2]!==a||t[3]!==i||t[4]!==l||t[5]!==c?(f=i===null?(0,Q.jsx)(`span`,{"data-testid":c,"data-policy":`unknown`,"data-blocked":u?`hosted`:void 0,className:`text-[11px] text-muted-foreground`,children:`unknown`}):(0,Q.jsx)(ae,{checked:i,disabled:u||a,"aria-label":s,"data-testid":c,"data-policy":String(i),"data-blocked":u?`hosted`:void 0,onCheckedChange:l}),t[0]=s,t[1]=u,t[2]=a,t[3]=i,t[4]=l,t[5]=c,t[6]=f):f=t[6];let p;return t[7]!==d||t[8]!==f||t[9]!==n?(p=(0,Q.jsx)(k,{title:n,description:d,control:f}),t[7]=d,t[8]=f,t[9]=n,t[10]=p):p=t[10],p}function It(e){let t=(0,L.c)(5),{busy:n,onConfirm:r}=e,i;t[0]===r?i=t[1]:(i=()=>r(`reset-fallback`,l,`Fallback counters reset.`),t[0]=r,t[1]=i);let a;return t[2]!==n||t[3]!==i?(a=(0,Q.jsx)(E,{size:`xs`,variant:`outline`,disabled:n,onClick:i,children:`Reset`}),t[2]=n,t[3]=i,t[4]=a):a=t[4],a}function Lt(e){let t=(0,L.c)(60),{record:n,busy:r,onAuthorize:i,onApprove:a,onShowApprovalQr:o}=e,s,c,l,u,d;if(t[0]!==r||t[1]!==a||t[2]!==n){c={hubOrigin:n.hubOrigin,accountId:n.accountId,fingerprint:n.fingerprint};let e;t[8]===n.status?e=t[9]:(e=W(n.status),t[8]=n.status,t[9]=e);let i=e;s=k;let o;t[10]===n?o=t[11]:(o=G(n),t[10]=n,t[11]=o);let f=i===`success`?`success`:i,p;t[12]!==n.status||t[13]!==f?(p=(0,Q.jsx)(D,{size:`sm`,variant:f,children:n.status}),t[12]=n.status,t[13]=f,t[14]=p):p=t[14],t[15]!==o||t[16]!==p?(u=(0,Q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[o,p]}),t[15]=o,t[16]=p,t[17]=u):u=t[17],d=`${n.accountId} at ${n.hubOrigin}`,l=n.status===`approved`?null:Z.map(e=>(0,Q.jsxs)(E,{size:`xs`,variant:`outline`,disabled:r,onClick:()=>a({...c,action:`approve`,maxRole:e,capabilitySet:ct},e),children:[`Approve as `,e]},e)),t[0]=r,t[1]=a,t[2]=n,t[3]=s,t[4]=c,t[5]=l,t[6]=u,t[7]=d}else s=t[3],c=t[4],l=t[5],u=t[6],d=t[7];let f;t[18]!==r||t[19]!==c||t[20]!==i||t[21]!==n.maxRole||t[22]!==n.status?(f=n.status===`approved`&&n.maxRole!==`viewer`?(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:r,onClick:()=>i({...c,action:`narrow`,maxRole:`viewer`},`narrow`,`Authority reduced.`),children:`Reduce to viewer`}):null,t[18]=r,t[19]=c,t[20]=i,t[21]=n.maxRole,t[22]=n.status,t[23]=f):f=t[23];let p;t[24]!==r||t[25]!==o||t[26]!==n?(p=n.status===`approved`?(0,Q.jsxs)(E,{size:`xs`,variant:`outline`,disabled:r,onClick:()=>o(n),children:[(0,Q.jsx)(T,{className:`size-3.5`}),`Show phone QR`]}):null,t[24]=r,t[25]=o,t[26]=n,t[27]=p):p=t[27];let m;t[28]!==r||t[29]!==c||t[30]!==i||t[31]!==n.status?(m=n.status===`revoked`?null:(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:r,onClick:()=>i({...c,action:`revoke`},`revoke`,`Client revoked.`),children:`Revoke`}),t[28]=r,t[29]=c,t[30]=i,t[31]=n.status,t[32]=m):m=t[32];let h;t[33]!==c||t[34]!==i?(h=()=>i({...c,action:`purge`},`purge`,`Record deleted.`),t[33]=c,t[34]=i,t[35]=h):h=t[35];let g;t[36]!==r||t[37]!==h?(g=(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:r,onClick:h,children:`Delete`}),t[36]=r,t[37]=h,t[38]=g):g=t[38];let _;t[39]!==l||t[40]!==f||t[41]!==p||t[42]!==m||t[43]!==g?(_=(0,Q.jsxs)(Q.Fragment,{children:[l,f,p,m,g]}),t[39]=l,t[40]=f,t[41]=p,t[42]=m,t[43]=g,t[44]=_):_=t[44];let v;t[45]===n?v=t[46]:(v=K(n),t[45]=n,t[46]=v);let y;t[47]===v?y=t[48]:(y=(0,Q.jsx)($,{rows:v}),t[47]=v,t[48]=y);let b;t[49]===n.safetyNumber?b=t[50]:(b=(0,Q.jsx)(Ct,{value:n.safetyNumber}),t[49]=n.safetyNumber,t[50]=b);let x;t[51]!==y||t[52]!==b?(x=(0,Q.jsxs)(`div`,{className:`space-y-3 pb-3.5`,children:[y,b]}),t[51]=y,t[52]=b,t[53]=x):x=t[53];let S;return t[54]!==s||t[55]!==x||t[56]!==u||t[57]!==d||t[58]!==_?(S=(0,Q.jsx)(s,{title:u,description:d,control:_,children:x}),t[54]=s,t[55]=x,t[56]=u,t[57]=d,t[58]=_,t[59]=S):S=t[59],S}export{Nt as NodeSecuritySettings};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import"./src-Blzsn4sO.js";import{Bn as r,Sn as i,Zn as a,gn as o,zn as s}from"./runtime-DRPzstwF.js";import{It as c}from"./composerDraftStore-czbuHgbM.js";import{t as l}from"./circle-alert-BWvs6IOn.js";import{i as u,o as d}from"./toast-D7IDKuLa.js";import{n as f,t as p}from"./external-link-fbvzDWM7.js";import{n as m,t as h}from"./tokenModePresentation-lVM0-Wi3.js";import{t as g}from"./download-CQZ-m4zW.js";import{t as ee}from"./loader-zHASMrUy.js";import{t as _}from"./refresh-cw-DopCMrtR.js";import{t as v}from"./utils-Dz7wQZDk.js";import{i as y,n as te,t as ne}from"./tooltip-c9oahm_e.js";import{t as re}from"./button-CBqaO2Ub.js";import{t as b}from"./toastHelpers-CSQRKo4F.js";import{a as ie,i as x,o as ae,s as oe,t as se}from"./select-_C7bRT7k.js";import{t as S}from"./badge-Cil0isYQ.js";import{i as ce,n as le,r as ue}from"./settingsLayout-zwP6p5aD.js";var de=n(),C=e(t(),1),w=c();function T(e){return`${e.pluginId}:${e.targetKind}:${e.providerInstanceId??`global`}`}function fe(e){switch(e.state){case`installed`:return`Installed`;case`not-installed`:return`Not installed`;case`unsupported`:return`Unsupported`;case`error`:return`Error`}}function E(e){switch(e.state){case`installed`:return`success`;case`not-installed`:return`outline`;case`unsupported`:return`warning`;case`error`:return`error`}}function D(e){switch(e.state){case`installed`:return(0,w.jsx)(d,{className:`size-3.5 text-success-foreground`});case`not-installed`:return(0,w.jsx)(f,{className:`size-3.5 text-muted-foreground`});case`unsupported`:case`error`:return(0,w.jsx)(l,{className:`size-3.5 text-warning-foreground`})}}function pe(e){return e.targetKind===`global`?`System`:e.providerDisplayName??String(e.providerInstanceId??`Provider`)}function me(e){return e.impact===`tool-output`?`Tool output`:`Assistant output`}function he(e){return e.scope===`global`?`Global`:`Provider`}function O(e){switch(e){case`rtk`:return 0;case`caveman`:return 1;case`token-optimizer`:return 2;case`token-savior`:return 3;case`lean-ctx`:return 4}}function k(e){return`${e.targetKind===`global`?`0`:`1`}:${pe(e).toLowerCase()}`}function ge(e){let t=(0,de.c)(36),{status:n,isInstalling:r,onInstall:i}=e,a=n.canInstall&&n.state!==`installed`,o;t[0]===n?o=t[1]:(o=D(n),t[0]=n,t[1]=o);let s;t[2]===n?s=t[3]:(s=pe(n),t[2]=n,t[3]=s);let c;t[4]===s?c=t[5]:(c=(0,w.jsx)(`span`,{className:`truncate text-[13px] font-medium text-foreground`,children:s}),t[4]=s,t[5]=c);let l;t[6]===n?l=t[7]:(l=E(n),t[6]=n,t[7]=l);let u;t[8]===n?u=t[9]:(u=fe(n),t[8]=n,t[9]=u);let d;t[10]!==l||t[11]!==u?(d=(0,w.jsx)(S,{variant:l,size:`sm`,children:u}),t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;t[13]===n.version?f=t[14]:(f=n.version?(0,w.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground/70`,children:n.version}):null,t[13]=n.version,t[14]=f);let p;t[15]!==o||t[16]!==c||t[17]!==d||t[18]!==f?(p=(0,w.jsxs)(`div`,{className:`flex min-h-5 flex-wrap items-center gap-2`,children:[o,c,d,f]}),t[15]=o,t[16]=c,t[17]=d,t[18]=f,t[19]=p):p=t[19];let m;t[20]===n.detail?m=t[21]:(m=n.detail?(0,w.jsx)(`p`,{className:`max-w-2xl text-xs leading-relaxed text-muted-foreground/80`,children:n.detail}):null,t[20]=n.detail,t[21]=m);let h;t[22]===n.manualSteps?h=t[23]:(h=n.manualSteps.length>0?(0,w.jsx)(`div`,{className:`space-y-1 pt-1`,children:n.manualSteps.map(A)}):null,t[22]=n.manualSteps,t[23]=h);let _;t[24]!==h||t[25]!==p||t[26]!==m?(_=(0,w.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[p,m,h]}),t[24]=h,t[25]=p,t[26]=m,t[27]=_):_=t[27];let v;t[28]!==a||t[29]!==r||t[30]!==i||t[31]!==n?(v=a?(0,w.jsxs)(re,{size:`xs`,variant:`outline`,disabled:r,className:`self-start sm:self-auto`,onClick:()=>i(n),children:[r?(0,w.jsx)(ee,{className:`size-3.5 animate-spin`}):(0,w.jsx)(g,{className:`size-3.5`}),`Install`]}):null,t[28]=a,t[29]=r,t[30]=i,t[31]=n,t[32]=v):v=t[32];let y;return t[33]!==_||t[34]!==v?(y=(0,w.jsxs)(`div`,{className:`flex flex-col gap-3 border-t border-border/50 px-4 py-3 first:border-t-0 sm:flex-row sm:items-center sm:justify-between sm:px-5`,children:[_,v]}),t[33]=_,t[34]=v,t[35]=y):y=t[35],y}function A(e){return(0,w.jsx)(`p`,{className:`font-mono text-[11px] leading-relaxed text-muted-foreground`,children:e},e)}function j(){let e=(0,de.c)(56),t=s(),{updateSettings:n}=r(),c=a(),l=t.defaultAgentTokenMode??`balanced`,d=m[l],f=d.icon,g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=[],e[0]=g):g=e[0];let[x,fe]=(0,C.useState)(g),E;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(E=[],e[1]=E):E=e[1];let[D,O]=(0,C.useState)(E),[k,A]=(0,C.useState)(!1),[j,Se]=(0,C.useState)(null),Ee=(0,C.useRef)(!1),M;e[2]===c?M=e[3]:(M=()=>{if(Ee.current)return;Ee.current=!0,A(!0);let e=c?o(c.environmentId)?.server:i().server;if(!e){A(!1),Ee.current=!1;return}Promise.all([e.listOpinionatedPlugins(),e.checkOpinionatedPlugins()]).then(e=>{let[t,n]=e;fe(t.plugins.toSorted(Te)),O(n.statuses)}).catch(we).finally(()=>{Ee.current=!1,A(!1)})},e[2]=c,e[3]=M);let N=M,P,F;e[4]===N?(P=e[5],F=e[6]):(P=()=>{N()},F=[N],e[4]=N,e[5]=P,e[6]=F),(0,C.useEffect)(P,F);let I;if(e[7]!==D){let t=new Map;for(let e of D){let n=t.get(e.pluginId)??[];n.push(e),t.set(e.pluginId,n)}I=new Map;for(let[e,n]of t)I.set(e,n.toSorted(Ce));e[7]=D,e[8]=I}else I=e[8];let L=I,De=xe,R;e[9]!==N||e[10]!==c?(R=e=>{let t=i(),n=c?o(c.environmentId)?.server:t.server;if(!n){u.add(b({type:`error`,title:`Plugin install unavailable`,description:`Node ${c?.nodeLabel??`server`} is not connected.`}));return}let r=pe(e);t.dialogs.confirm(`Install ${e.pluginId===`rtk`?`RTK`:`Caveman`} for ${r}?\n\nThis may run networked CLI installation commands on this machine.`).then(t=>{if(!t)return;let i=T(e);return Se(i),n.installOpinionatedPlugin({pluginId:e.pluginId,...e.providerInstanceId?{providerInstanceId:e.providerInstanceId}:{}}).then(t=>{O(e=>[...e.filter(e=>T(e)!==i),t.status]),u.add({type:`success`,title:`${e.pluginId===`rtk`?`RTK`:`Caveman`} installed`,description:t.commands.length>0?t.commands[t.commands.length-1]:r}),N()}).catch(be).finally(()=>Se(null))}).catch(ye)},e[9]=N,e[10]=c,e[11]=R):R=e[11];let z=R,B;e[12]===n?B=e[13]:(B=e=>n({defaultAgentTokenMode:e}),e[12]=n,e[13]=B);let V;e[14]===f?V=e[15]:(V=(0,w.jsx)(f,{className:`size-4 shrink-0 text-muted-foreground`}),e[14]=f,e[15]=V);let H;e[16]===d.triggerLabel?H=e[17]:(H=(0,w.jsx)(oe,{children:d.triggerLabel}),e[16]=d.triggerLabel,e[17]=H);let U;e[18]!==V||e[19]!==H?(U=(0,w.jsx)(ae,{className:`w-full sm:w-52`,"aria-label":`Default token mode`,children:(0,w.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[V,H]})}),e[18]=V,e[19]=H,e[20]=U):U=e[20];let W;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,w.jsx)(ie,{align:`end`,alignItemWithTrigger:!1,className:`w-60`,children:h.map(ve)}),e[21]=W):W=e[21];let G;e[22]!==l||e[23]!==B||e[24]!==U?(G=(0,w.jsx)(ce,{title:`Token mode`,children:(0,w.jsx)(ue,{title:`Default token mode`,description:`Applied to new threads and draft sessions. Existing threads keep their own mode.`,control:(0,w.jsxs)(se,{value:l,onValueChange:B,children:[U,W]})})}),e[22]=l,e[23]=B,e[24]=U,e[25]=G):G=e[25];let K;e[26]===N?K=e[27]:(K=()=>N(),e[26]=N,e[27]=K);let q;e[28]===k?q=e[29]:(q=k?(0,w.jsx)(ee,{className:`size-3 animate-spin`}):(0,w.jsx)(_,{className:`size-3`}),e[28]=k,e[29]=q);let J;e[30]!==k||e[31]!==K||e[32]!==q?(J=(0,w.jsx)(y,{render:(0,w.jsx)(re,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,disabled:k,onClick:K,"aria-label":`Refresh plugin status`,children:q})}),e[30]=k,e[31]=K,e[32]=q,e[33]=J):J=e[33];let Y;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,w.jsx)(te,{side:`top`,children:`Refresh plugin status`}),e[34]=Y):Y=e[34];let X;e[35]===J?X=e[36]:(X=(0,w.jsxs)(ne,{children:[J,Y]}),e[35]=J,e[36]=X);let Z;e[37]!==k||e[38]!==x.length?(Z=x.length===0&&k?(0,w.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-4 text-xs text-muted-foreground`,children:[(0,w.jsx)(ee,{className:`size-3.5 animate-spin`}),`Loading plugin status`]}):null,e[37]=k,e[38]=x.length,e[39]=Z):Z=e[39];let Q;if(e[40]!==z||e[41]!==j||e[42]!==x||e[43]!==L){let t;e[45]!==z||e[46]!==j||e[47]!==L?(t=e=>{let t=L.get(e.id)??[],n=t.filter(_e).length;return(0,w.jsx)(ue,{title:(0,w.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,w.jsx)(`span`,{className:`truncate`,children:e.name}),(0,w.jsx)(S,{variant:n>0?`success`:`outline`,size:`sm`,children:n>0?`${n} installed`:`Available`})]}),description:e.summary,status:(0,w.jsxs)(`span`,{className:`flex flex-wrap gap-1.5`,children:[(0,w.jsx)(S,{variant:`info`,size:`sm`,children:me(e)}),(0,w.jsx)(S,{variant:`outline`,size:`sm`,children:he(e)})]}),control:(0,w.jsxs)(re,{size:`xs`,variant:`ghost`,onClick:()=>De(e),children:[(0,w.jsx)(p,{className:`size-3.5`}),`Docs`]}),children:(0,w.jsx)(`div`,{className:v(`mt-4 border-t border-border/60`,t.length===0?`px-5 py-4`:``),children:t.length===0?(0,w.jsx)(`p`,{className:`text-xs text-muted-foreground/80`,children:`No compatible provider instances detected.`}):t.map(e=>(0,w.jsx)(ge,{status:e,isInstalling:j===T(e),onInstall:z},T(e)))})},e.id)},e[45]=z,e[46]=j,e[47]=L,e[48]=t):t=e[48],Q=x.map(t),e[40]=z,e[41]=j,e[42]=x,e[43]=L,e[44]=Q}else Q=e[44];let $;e[49]!==X||e[50]!==Z||e[51]!==Q?($=(0,w.jsxs)(ce,{title:`Opinionated plugins`,headerAction:X,children:[Z,Q]}),e[49]=X,e[50]=Z,e[51]=Q,e[52]=$):$=e[52];let Oe;return e[53]!==G||e[54]!==$?(Oe=(0,w.jsxs)(le,{children:[G,$]}),e[53]=G,e[54]=$,e[55]=Oe):Oe=e[55],Oe}function _e(e){return e.state===`installed`}function ve(e){let t=m[e],n=t.icon;return(0,w.jsx)(x,{hideIndicator:!0,value:e,children:(0,w.jsxs)(`div`,{className:`grid min-w-0 gap-0.5`,children:[(0,w.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 font-medium text-foreground`,children:[(0,w.jsx)(n,{className:`size-3.5 shrink-0 text-muted-foreground`}),t.label]}),(0,w.jsx)(`span`,{className:`text-muted-foreground text-xs leading-4`,children:t.description})]})},e)}function ye(e){u.add(b({type:`error`,title:`Install confirmation failed`,description:e instanceof Error?e.message:`An error occurred.`}))}function be(e){u.add(b({type:`error`,title:`Plugin install failed`,description:e instanceof Error?e.message:`An error occurred.`}))}function xe(e){let t=e.docsUrl??e.homepageUrl;i().shell.openExternal(t).catch(Se)}function Se(e){u.add(b({type:`error`,title:`Failed to open plugin docs`,description:e instanceof Error?e.message:`An error occurred.`}))}function Ce(e,t){return k(e).localeCompare(k(t))}function we(e){u.add(b({type:`error`,title:`Failed to load plugins`,description:e instanceof Error?e.message:`An error occurred.`}))}function Te(e,t){return O(e.id)-O(t.id)}export{j as OpinionatedPluginsSettingsPanel};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{It as r}from"./composerDraftStore-czbuHgbM.js";import{r as i}from"./branding-BEx1jrAA.js";import{t as a}from"./react-dom-x9LNwWQc.js";import{t as o}from"./GlassSurface-BWk2twKc.js";import{n as s}from"./PhoneGetAppInterstitialBackdrop-DbRPU11Z.js";var c=e(t(),1),l=n(),u=e(a(),1),d={Beta:`/assets/apple-touch-icon-y36StfcK.png`,Dev:`/assets/apple-touch-icon-BXS8KnIR.png`,Nightly:`/assets/apple-touch-icon-CYqxlbbg.png`}[i]??`/assets/apple-touch-icon-y36StfcK.png`,f=r();function p(e){let t=(0,l.c)(18),{appUrl:n,onDismiss:r}=e,i=(0,c.useRef)(null),a=(0,c.useRef)(null);s();let p,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>{i.current?.focus()},m=[],t[0]=p,t[1]=m):(p=t[0],m=t[1]),(0,c.useEffect)(p,m);let h;t[2]===r?h=t[3]:(h=e=>{if(e.key===`Escape`){e.preventDefault(),r();return}if(e.key!==`Tab`)return;let t=i.current,n=a.current;!t||!n||(e.shiftKey&&document.activeElement===t?(e.preventDefault(),n.focus()):!e.shiftKey&&document.activeElement===n&&(e.preventDefault(),t.focus()))},t[2]=r,t[3]=h);let g;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(g=o(`sheet`),t[4]=g):g=t[4];let _,v,y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,f.jsx)(`img`,{alt:``,className:`size-14 object-contain`,draggable:!1,src:d}),v=(0,f.jsx)(`h1`,{id:`phone-get-app-interstitial-heading`,className:`mt-6 font-heading text-3xl font-semibold tracking-tight`,children:`Ryco is better as an app`}),y=(0,f.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-muted-foreground`,children:`Pick up where you left off with a native experience built for your phone.`}),t[5]=_,t[6]=v,t[7]=y):(_=t[5],v=t[6],y=t[7]);let b;t[8]===n?b=t[9]:(b=(0,f.jsx)(`a`,{ref:i,className:`inline-flex min-h-11 w-full items-center justify-center rounded-xl bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 motion-reduce:transition-none`,href:n,rel:`noreferrer`,target:`_blank`,children:`Get the app`}),t[8]=n,t[9]=b);let x;t[10]===r?x=t[11]:(x=(0,f.jsx)(`button`,{ref:a,className:`inline-flex min-h-11 w-full items-center justify-center rounded-xl px-4 text-sm font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring motion-reduce:transition-none`,type:`button`,onClick:r,children:`Continue in browser`}),t[10]=r,t[11]=x);let S;t[12]!==b||t[13]!==x?(S=(0,f.jsxs)(`section`,{className:`${g} w-full max-w-sm rounded-3xl border border-border/70 p-6 shadow-xl shadow-black/15`,children:[_,v,y,(0,f.jsxs)(`div`,{className:`mt-8 grid gap-3`,children:[b,x]})]}),t[12]=b,t[13]=x,t[14]=S):S=t[14];let C;return t[15]!==S||t[16]!==h?(C=(0,u.createPortal)((0,f.jsx)(`div`,{"aria-labelledby":`phone-get-app-interstitial-heading`,"aria-modal":`true`,className:`fixed inset-0 z-[120] flex items-center justify-center overflow-y-auto bg-background/72 px-[max(1rem,env(safe-area-inset-left),env(safe-area-inset-right))] pt-[max(1.5rem,calc(env(safe-area-inset-top)+1rem))] pb-[max(1.5rem,calc(env(safe-area-inset-bottom)+1rem))] text-popover-foreground backdrop-blur-sm transition-opacity duration-[var(--app-motion-duration-sheet)] motion-reduce:transition-none`,role:`dialog`,onKeyDown:h,children:S}),document.body),t[15]=S,t[16]=h,t[17]=C):C=t[17],C}export{p as PhoneGetAppInterstitial};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{It as r}from"./composerDraftStore-czbuHgbM.js";import{t as i}from"./react-dom-x9LNwWQc.js";var a=n(),o=e(t(),1),s=e(i(),1),c=r();function l(){let e=(0,a.c)(1),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,o.useEffect)(u,t)}function u(){let e=document.getElementById(`root`);return e?.setAttribute(`inert`,``),()=>e?.removeAttribute(`inert`)}function d(){let e=(0,a.c)(1);l();let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,s.createPortal)((0,c.jsx)(`div`,{"aria-hidden":`true`,className:`fixed inset-0 z-[120] bg-background/72 backdrop-blur-sm`,"data-testid":`phone-get-app-interstitial-backdrop`}),document.body),e[0]=t):t=e[0],t}export{l as n,d as t};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{_ as r,g as i,h as a,v as o,y as s}from"./env-BZZxbmon.js";import{Bn as c,Bt as l,C as u,It as d,Rt as f,Ut as p,Yt as m,bn as h,ut as g,xn as _,zn as v}from"./runtime-DRPzstwF.js";import{a as y}from"./primary-AnB-Zuft.js";import{It as b,i as x}from"./composerDraftStore-czbuHgbM.js";import{G as ee,K as te,N as ne,k as re,n as S}from"./useHandleNewThread-C1VSk4Ji.js";import{m as C,n as w,r as ie,t as T}from"./ThreadStatusIndicators-CPpIFcAC.js";import{t as ae}from"./settingsDialogStore-DnU14tMG.js";import{i as E}from"./uiStateStore-C48VlkZ2.js";import{f as D}from"./useRenderElement-DchFnsR8.js";import{t as oe}from"./chevron-down-B7C6FKzM.js";import{t as se}from"./chevron-right-BWYGybX9.js";import{l as ce}from"./WorkItemsTab-CI6hTQ_k.js";import{t as le}from"./folder-DtsQoI9_.js";import{t as O}from"./git-branch-BKr-Ij4u.js";import{n as ue}from"./HostedConnectionControls-DO5uPfav.js";import{g as de}from"./projectPaths-BFTUsvWs.js";import{t as fe}from"./plus-B2h-VEqh.js";import{t as pe}from"./search-BGQsenCM.js";import{S as me,a as k,b as he,c as A,d as j,f as M,i as N,l as ge,n as _e,o as P,r as ve,s as ye,t as F,u as I,x as be,y as xe}from"./sidebarProjectFolders-Bzdw3xc6.js";import{t as Se}from"./shallow-DWZCFNun.js";import{t as L}from"./utils-Dz7wQZDk.js";import{i as R}from"./timestampFormat-8uPXS812.js";import{o as z}from"./sidebar-5T3qKIfp.js";import{a as Ce,i as we,n as Te,o as Ee,s as De,t as Oe}from"./MobileSheet-DS7_soKu.js";import{t as B}from"./GlassSurface-BWk2twKc.js";import{t as V}from"./useLongPress-OGlhYKlH.js";import{i as ke,o as Ae,r as je,t as Me}from"./empty-BcTA7vWq.js";import{n as H,r as Ne,t as U}from"./usePhoneThreadActions--SRv1Gdm.js";var W=D(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),G=e(t(),1),Pe=n(),K=b();function Fe(e){let t=(0,Pe.c)(14),{label:n,actions:r,children:i,className:a}=e,o;t[0]===a?o=t[1]:(o=L(`pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center px-3 pb-[var(--app-dock-inset)] pl-safe pr-safe`,a),t[0]=a,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=L(B(`dock`),`pointer-events-auto flex min-w-0 max-w-full flex-col gap-2 rounded-[22px] border border-border/60 p-[var(--app-dock-padding)] text-foreground shadow-lg/10`),t[2]=s):s=t[2];let c;t[3]===r?c=t[4]:(c=r.map(Ie),t[3]=r,t[4]=c);let l;t[5]!==n||t[6]!==c?(l=(0,K.jsx)(`div`,{role:`group`,"aria-label":n,className:`flex min-w-0 items-center gap-1 overflow-x-auto overscroll-x-contain [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,"data-slot":`mobile-dock-actions`,children:c}),t[5]=n,t[6]=c,t[7]=l):l=t[7];let u;t[8]!==i||t[9]!==l?(u=(0,K.jsxs)(`div`,{className:s,"data-slot":`mobile-dock`,children:[i,l]}),t[8]=i,t[9]=l,t[10]=u):u=t[10];let d;return t[11]!==o||t[12]!==u?(d=(0,K.jsx)(`div`,{className:o,"data-slot":`mobile-dock-layer`,children:u}),t[11]=o,t[12]=u,t[13]=d):d=t[13],d}function Ie(e){return(0,K.jsxs)(`button`,{type:`button`,"aria-label":e.label,"aria-pressed":e.pressed,disabled:e.disabled??!1,className:L(`flex min-h-[var(--app-dock-control-size)] min-w-[var(--app-dock-control-size)] shrink-0 items-center justify-center gap-1 rounded-full px-2 text-[11px] font-medium`,`transition-colors duration-[var(--app-motion-duration-chip)] ease-[var(--app-motion-ease)] motion-reduce:transition-none`,`hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,`disabled:pointer-events-none disabled:text-muted-foreground/60`,e.pressed===!0&&`bg-accent`),"data-slot":`mobile-dock-action`,onClick:e.onSelect,children:[e.icon,(0,K.jsx)(`span`,{className:`truncate`,children:e.shortLabel??e.label})]},e.id)}var q=new Map;function J(){let e=(0,Pe.c)(74),t=m(Se(d)),n=m(Se(f)),r=E(Qe),a=E(Ze),s=E(Xe),c=E(Ye),l=E(Je),p=v(qe),b=v(Ke),x=v(Ge),te=y(),w=h(We),ie=_(Ue),T=ae(He),D=g(Ve),{handleNewThread:ce}=S(),[O,de]=(0,G.useState)(!1),me;e[0]!==r||e[1]!==t?(me=re({items:t,preferredIds:r,getId:u}),e[0]=r,e[1]=t,e[2]=me):me=e[2];let k=me,he;e[3]!==k||e[4]!==x?(he=_e({projects:k,settings:x}),e[3]=k,e[4]=x,e[5]=he):he=e[5];let A=he,j;e[6]!==w||e[7]!==ie?(j=e=>{let t=ie[e],n=w[e];return t?.descriptor?.label??n?.label??null},e[6]=w,e[7]=ie,e[8]=j):j=e[8];let M;e[9]!==k||e[10]!==te||e[11]!==x||e[12]!==j?(M=ve({projects:k,settings:x,primaryEnvironmentId:te,resolveEnvironmentLabel:j}),e[9]=k,e[10]=te,e[11]=x,e[12]=j,e[13]=M):M=e[13];let N=M,ge;e[14]===N?ge=e[15]:(ge=new Map(N.map(Be)),e[14]=N,e[15]=ge);let P=ge,ye;if(e[16]!==A||e[17]!==P||e[18]!==p||e[19]!==N||e[20]!==n){let t=N.map(ze),r;e[22]===A?r=e[23]:(r=e=>{let t=o(i(e.environmentId,e.projectId));return Object.assign({},e,{projectId:A.get(t)??t})},e[22]=A,e[23]=r);let a=n.filter(Re).map(r),s;e[24]===P?s=e[25]:(s=e=>{let t=P.get(e.id);return t?[t]:[]},e[24]=P,e[25]=s),ye=ee(t,a,p).flatMap(s),e[16]=A,e[17]=P,e[18]=p,e[19]=N,e[20]=n,e[21]=ye}else ye=e[21];let I=ye,be;e[26]!==s||e[27]!==a||e[28]!==c||e[29]!==p||e[30]!==I?(be=F({projects:I,projectFoldersById:a,projectFolderOrder:s,projectTreeOrder:c,projectSortOrder:p}),e[26]=s,e[27]=a,e[28]=c,e[29]=p,e[30]=I,e[31]=be):be=e[31];let xe=be,L;e[32]!==b||e[33]!==ce?(L=e=>{let t=e.memberProjects[0];t&&(de(!1),ce(i(t.environmentId,t.id),{envMode:ne({defaultEnvMode:b})}))},e[32]=b,e[33]=ce,e[34]=L):L=e[34];let R=L,B;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,K.jsxs)(`header`,{className:`flex items-center gap-1.5 border-b border-border pr-[calc(env(safe-area-inset-right)+0.5rem)] pb-2 pl-[calc(env(safe-area-inset-left)+0.75rem)] pt-[calc(env(safe-area-inset-top)+0.5rem)]`,children:[(0,K.jsx)(`h1`,{className:`min-w-0 flex-1 truncate text-base font-semibold`,children:`Threads`}),(0,K.jsx)(ue,{})]}),e[35]=B):B=e[35];let V;e[36]!==xe||e[37]!==l?(V=xe.length===0?(0,K.jsx)(Me,{className:`flex-1`,children:(0,K.jsxs)(ke,{children:[(0,K.jsx)(Ae,{className:`text-base`,children:`No projects yet`}),(0,K.jsx)(je,{className:`mt-1 text-sm`,children:`Projects opened on this node appear here with their threads.`})]})}):xe.map(e=>e.kind===`project`?(0,K.jsx)($e,{project:e.project},e.itemId):(0,K.jsxs)(`section`,{"aria-label":e.folder.name,children:[(0,K.jsxs)(`button`,{type:`button`,className:`flex min-h-11 w-full items-center gap-2 px-3 text-left text-sm font-medium text-muted-foreground hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,"aria-expanded":e.folder.expanded,onClick:()=>l(e.folder.id,!e.folder.expanded),children:[e.folder.expanded?(0,K.jsx)(oe,{"aria-hidden":!0,className:`size-4 shrink-0`}):(0,K.jsx)(se,{"aria-hidden":!0,className:`size-4 shrink-0`}),(0,K.jsx)(le,{"aria-hidden":!0,className:`size-4 shrink-0`}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.folder.name})]}),e.folder.expanded?e.projects.map(Le):null]},e.itemId)),e[36]=xe,e[37]=l,e[38]=V):V=e[38];let H;e[39]===V?H=e[40]:(H=(0,K.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[B,(0,K.jsx)(`div`,{"data-testid":`phone-home-list`,className:`app-dock-scroll-clearance flex min-h-0 flex-1 flex-col overflow-y-auto`,children:V})]}),e[39]=V,e[40]=H);let Ne;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,K.jsx)(pe,{"aria-hidden":!0,className:`size-4 shrink-0`}),e[41]=Ne):Ne=e[41];let U;e[42]===D?U=e[43]:(U={id:`search`,label:`Search threads`,shortLabel:`Search`,icon:Ne,onSelect:()=>D(!0)},e[42]=D,e[43]=U);let W;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,K.jsx)(fe,{"aria-hidden":!0,className:`size-4 shrink-0`}),e[44]=W):W=e[44];let Ie=I.length===0,q;e[45]!==I[0]||e[46]!==I.length||e[47]!==R?(q=()=>{if(I.length===1&&I[0]){R(I[0]);return}de(!0)},e[45]=I[0],e[46]=I.length,e[47]=R,e[48]=q):q=e[48];let J;e[49]!==Ie||e[50]!==q?(J={id:`new-thread`,label:`New thread`,icon:W,disabled:Ie,onSelect:q},e[49]=Ie,e[50]=q,e[51]=J):J=e[51];let et;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,K.jsx)(C,{"aria-hidden":!0,className:`size-4 shrink-0`}),e[52]=et):et=e[52];let Y;e[53]===T?Y=e[54]:(Y={id:`settings`,label:`Open settings`,shortLabel:`Settings`,icon:et,onSelect:()=>T()},e[53]=T,e[54]=Y);let X;e[55]!==U||e[56]!==J||e[57]!==Y?(X=(0,K.jsx)(Fe,{label:`Home actions`,actions:[U,J,Y]}),e[55]=U,e[56]=J,e[57]=Y,e[58]=X):X=e[58];let tt;e[59]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,K.jsxs)(we,{children:[(0,K.jsx)(Ee,{children:`New thread`}),(0,K.jsx)(Te,{children:`Choose a project for the new thread.`})]}),e[59]=tt):tt=e[59];let Z;if(e[60]!==I||e[61]!==R){let t;e[63]===R?t=e[64]:(t=e=>(0,K.jsx)(De,{label:e.displayName,onClick:()=>R(e)},e.projectKey),e[63]=R,e[64]=t),Z=I.map(t),e[60]=I,e[61]=R,e[62]=Z}else Z=e[62];let Q;e[65]===Z?Q=e[66]:(Q=(0,K.jsx)(Ce,{children:(0,K.jsx)(`div`,{role:`group`,"aria-label":`Projects`,className:`space-y-0.5`,children:Z})}),e[65]=Z,e[66]=Q);let $;e[67]!==O||e[68]!==Q?($=(0,K.jsxs)(Oe,{open:O,onOpenChange:de,label:`New thread`,children:[tt,Q]}),e[67]=O,e[68]=Q,e[69]=$):$=e[69];let nt;return e[70]!==H||e[71]!==X||e[72]!==$?(nt=(0,K.jsxs)(z,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground`,children:[H,X,$]}),e[70]=H,e[71]=X,e[72]=$,e[73]=nt):nt=e[73],nt}function Le(e){return(0,K.jsx)($e,{project:e,nested:!0},e.projectKey)}function Re(e){return e.archivedAt===null}function ze(e){return Object.assign({},e,{id:e.projectKey})}function Be(e){return[e.projectKey,e]}function Ve(e){return e.setOpen}function He(e){return e.openSettings}function Ue(e){return e.byId}function We(e){return e.byId}function Ge(e){return{sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides}}function Ke(e){return e.defaultThreadEnvMode}function qe(e){return e.sidebarProjectSortOrder}function Je(e){return e.setProjectFolderExpanded}function Ye(e){return e.projectTreeOrder}function Xe(e){return e.projectFolderOrder}function Ze(e){return e.projectFoldersById}function Qe(e){return e.projectOrder}function $e({project:e,nested:t=!1}){let n=m(Se((0,G.useMemo)(()=>t=>l(t,e.memberProjectRefs),[e.memberProjectRefs]))),u=x((0,G.useMemo)(()=>be(e),[e])),d=v(e=>e.sidebarThreadSortOrder),f=E(e=>e.pinnedThreadKeys),h=E(t=>t.projectExpandedById[e.projectKey]??!0),g=E(e=>e.toggleProject),_=(0,G.useMemo)(()=>new Set(Object.entries(f).flatMap(([e,t])=>t?[e]:[])),[f]),y=(0,G.useMemo)(()=>me(n,u).filter(e=>e.archivedAt===null),[u,n]),b=(0,G.useMemo)(()=>te({threads:y,sortOrder:d,pinnedThreadKeys:_,getThreadKey:e=>s(r(e.environmentId,e.id))}),[_,d,y]),ee=(0,G.useMemo)(()=>new Map(b.map(e=>[s(r(e.environmentId,e.id)),e])),[b]),ne=(0,G.useRef)(ee);ne.current=ee;let re=(0,G.useMemo)(()=>new Map(e.memberProjects.map(e=>[o(i(e.environmentId,e.id)),e])),[e.memberProjects]),S=U({sidebarThreadByKeyRef:ne,memberProjectByScopedKey:re,projectCwd:e.cwd??null}),[C,w]=(0,G.useState)(null),T=C?ee.get(C)??null:null,ae=S.renamingThreadKey?ee.get(S.renamingThreadKey)??null:null,D=m(Se((0,G.useMemo)(()=>t=>p(t,e.memberProjectRefs),[e.memberProjectRefs]))),le=(0,G.useMemo)(()=>he({project:e,threads:b,worktrees:D}),[e,b,D]),O=xe({projects:[le.project],threads:le.threads,worktrees:le.worktrees}).projects[0]??null,ue=O&&O.isGitRepo&&O.worktrees.length>1?O.worktrees:null,{updateSettings:de}=c(),fe=v(e=>({sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides})),{copyPathToClipboard:pe}=ce(),[_e,ve]=(0,G.useState)(!1),F=N(),R=k(),z=P({projectGroupingSettings:fe,updateSettings:de}),Ce=(0,G.useMemo)(()=>{let t=new Map(e.memberProjects.map(e=>[e.physicalProjectKey,0]));for(let e of n){let n=re.get(o(i(e.environmentId,e.projectId)));n&&t.set(n.physicalProjectKey,(t.get(n.physicalProjectKey)??0)+1)}return t},[re,e.memberProjects,n]),{openProjectRemoteLink:we,openProjectJiraLink:Te,handleRemoveProject:Ee}=M({memberThreadCountByPhysicalKey:Ce,jiraProjectOpenUrlByProjectKey:q}),De=(0,G.useRef)(!1),Oe=(0,G.useCallback)(()=>{ve(!0)},[]),{openProjectMenu:B}=j({project:e,jiraProjectOpenUrlByProjectKey:q,suppressProjectClickForContextMenuRef:De,onOpenOverview:Oe,openProjectSettingsDialog:F.openProjectSettingsDialog,openProjectRemoteLink:we,openProjectJiraLink:Te,openProjectRenameDialog:R.openProjectRenameDialog,openProjectGroupingDialog:z.openProjectGroupingDialog,copyPathToClipboard:pe,handleRemoveProject:Ee}),ke=V(e=>B(e)),Ae=e=>{let t=s(r(e.environmentId,e.id));return(0,K.jsx)(X,{thread:e,pinned:_.has(t),onOpen:()=>{let t=r(e.environmentId,e.id);if(e.draftId){S.navigateToDraft(e.draftId,t);return}S.navigateToThread(t)},onMenu:()=>w(t)},t)};return(0,K.jsxs)(`section`,{"aria-label":e.displayName,className:L(t&&`pl-3`),children:[(0,K.jsxs)(`div`,{className:`flex items-stretch`,children:[(0,K.jsxs)(`button`,{type:`button`,className:`flex min-h-11 min-w-0 flex-1 items-center gap-2 px-3 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring hover:bg-accent/40`,"aria-expanded":h,onClick:()=>g(e.projectKey),...ke,children:[h?(0,K.jsx)(oe,{"aria-hidden":!0,className:`size-4 shrink-0 text-muted-foreground`}):(0,K.jsx)(se,{"aria-hidden":!0,className:`size-4 shrink-0 text-muted-foreground`}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium`,children:e.displayName}),(0,K.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:b.length})]}),(0,K.jsx)(`button`,{type:`button`,"aria-label":`Project actions for ${e.displayName}`,className:`flex w-11 shrink-0 items-center justify-center text-muted-foreground hover:bg-accent/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,onClick:e=>B({x:e.clientX,y:e.clientY}),children:(0,K.jsx)(W,{"aria-hidden":!0,className:`size-4`})})]}),h?ue?(0,K.jsx)(`div`,{className:`pl-3`,children:ue.map(e=>(0,K.jsx)(et,{worktreeNode:e,renderThreadRow:Ae},e.worktree.worktreeId))}):(0,K.jsx)(`div`,{role:`list`,"aria-label":`Threads in ${e.displayName}`,children:b.length===0?(0,K.jsx)(`p`,{className:`px-3 pb-3 text-sm text-muted-foreground`,children:`No threads yet.`}):b.map(e=>Ae(e))}):null,(0,K.jsx)(H,{open:T!==null,onOpenChange:e=>{e||w(null)},title:T?.title??`Thread`,items:C?S.listThreadMenuActions(C):[],leadingSections:T?(0,K.jsx)(ie,{thread:T}):void 0,onAction:e=>{let t=C?a(C):null;w(null),t&&S.performThreadMenuAction(t,e)}}),(0,K.jsx)(Ne,{renamingThreadKey:S.renamingThreadKey,originalTitle:ae?.title??``,renamingTitle:S.renamingTitle,setRenamingTitle:S.setRenamingTitle,commitRename:S.commitRename,cancelRename:S.cancelRename}),(0,K.jsx)(I,{open:_e,projectName:e.displayName,memberProjects:e.memberProjects,initialTab:`overview`,onOpenChange:ve}),(0,K.jsx)(ge,{open:F.projectSettingsOpen,target:F.projectSettingsTarget,title:F.projectSettingsTitle,customAvatarContentHash:F.projectSettingsCustomAvatarContentHash,projectAvatarUploadUnavailableReason:F.projectAvatarUploadUnavailableReason,preferredRemoteName:F.projectSettingsPreferredRemoteName,workspaceRoot:F.projectSettingsWorkspaceRoot,customSystemPrompt:F.projectSettingsCustomSystemPrompt,defaultModelSelection:F.projectSettingsDefaultModelSelection,saving:F.projectSettingsSaving,onClose:F.closeProjectSettingsDialog,onSave:()=>void F.submitProjectSettings(),onTitleChange:F.setProjectSettingsTitle,onWorkspaceRootChange:F.setProjectSettingsWorkspaceRoot,onCustomSystemPromptChange:F.setProjectSettingsCustomSystemPrompt,onDefaultModelSelectionChange:F.setProjectSettingsDefaultModelSelection,onPreferredRemoteChange:F.setProjectSettingsPreferredRemoteName,onPickWorkspaceRoot:()=>void F.pickProjectSettingsWorkspaceRoot(),onOpenRemote:F.openProjectRemoteByName,onUploadAvatar:F.uploadProjectAvatar,onRemoveAvatar:F.removeProjectAvatar}),(0,K.jsx)(ye,{target:R.projectRenameTarget,title:R.projectRenameTitle,onTitleChange:R.setProjectRenameTitle,onClose:R.closeProjectRenameDialog,onSubmit:()=>void R.submitProjectRename()}),(0,K.jsx)(A,{target:z.projectGroupingTarget,selection:z.projectGroupingSelection,globalGroupingMode:fe.sidebarProjectGroupingMode,onSelectionChange:z.setProjectGroupingSelection,onClose:z.closeProjectGroupingDialog,onSave:z.saveProjectGroupingPreference})]})}function et(e){let t=(0,Pe.c)(23),{worktreeNode:n,renderThreadRow:r}=e,[i,a]=(0,G.useState)(!0),o=n.worktree.title??n.worktree.branch,s=!i,c,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>a(Y),l=e=>{if(e.key===`ArrowLeft`){e.preventDefault(),a(!0);return}e.key===`ArrowRight`&&(e.preventDefault(),a(!1))},t[0]=c,t[1]=l):(c=t[0],l=t[1]);let u;t[2]===i?u=t[3]:(u=i?(0,K.jsx)(se,{"aria-hidden":!0,className:`size-4 shrink-0`}):(0,K.jsx)(oe,{"aria-hidden":!0,className:`size-4 shrink-0`}),t[2]=i,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(O,{"aria-hidden":!0,className:`size-3.5 shrink-0`}),t[4]=d):d=t[4];let f;t[5]===o?f=t[6]:(f=(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:o}),t[5]=o,t[6]=f);let p;t[7]===n.sessions.length?p=t[8]:(p=(0,K.jsx)(`span`,{className:`shrink-0 text-xs`,children:n.sessions.length}),t[7]=n.sessions.length,t[8]=p);let m;t[9]!==s||t[10]!==u||t[11]!==f||t[12]!==p?(m=(0,K.jsxs)(`button`,{type:`button`,"aria-expanded":s,className:`flex min-h-11 w-full items-center gap-2 px-3 text-left text-sm text-muted-foreground hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,onClick:c,onKeyDown:l,children:[u,d,f,p]}),t[9]=s,t[10]=u,t[11]=f,t[12]=p,t[13]=m):m=t[13];let h;t[14]!==i||t[15]!==r||t[16]!==o||t[17]!==n.sessions?(h=i?null:(0,K.jsx)(`div`,{role:`list`,"aria-label":`Sessions in ${o}`,children:n.sessions.length===0?(0,K.jsx)(`p`,{className:`px-3 pb-3 text-sm text-muted-foreground`,children:`No sessions yet.`}):n.sessions.map(e=>r(e))}),t[14]=i,t[15]=r,t[16]=o,t[17]=n.sessions,t[18]=h):h=t[18];let g;return t[19]!==m||t[20]!==h||t[21]!==o?(g=(0,K.jsxs)(`section`,{"aria-label":o,children:[m,h]}),t[19]=m,t[20]=h,t[21]=o,t[22]=g):g=t[22],g}function Y(e){return!e}function X(e){let t=(0,Pe.c)(28),{thread:n,pinned:r,onOpen:i,onMenu:a}=e,o=n.latestTurn?.completedAt??n.latestUserMessageAt??n.createdAt,s;t[0]===a?s=t[1]:(s=()=>a(),t[0]=a,t[1]=s);let c=V(s),l;t[2]===r?l=t[3]:(l=r?(0,K.jsx)(de,{"aria-label":`Pinned`,role:`img`,className:`size-3 shrink-0 text-muted-foreground`}):null,t[2]=r,t[3]=l);let u;t[4]===n.title?u=t[5]:(u=(0,K.jsx)(`span`,{className:`min-w-0 truncate`,children:n.title}),t[4]=n.title,t[5]=u);let d;t[6]!==l||t[7]!==u?(d=(0,K.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-sm`,children:[l,u]}),t[6]=l,t[7]=u,t[8]=d):d=t[8];let f;t[9]===n?f=t[10]:(f=(0,K.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,K.jsx)(T,{thread:n,alwaysShowStatusLabel:!0}),(0,K.jsx)(w,{thread:n})]}),t[9]=n,t[10]=f);let p;t[11]!==d||t[12]!==f?(p=(0,K.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[d,f]}),t[11]=d,t[12]=f,t[13]=p):p=t[13];let m;t[14]===o?m=t[15]:(m=o?(0,K.jsx)(`span`,{className:`shrink-0 pr-1 text-[10px] text-muted-foreground`,children:R(o)}):null,t[14]=o,t[15]=m);let h;t[16]!==c||t[17]!==i||t[18]!==p||t[19]!==m?(h=(0,K.jsxs)(`button`,{type:`button`,className:`flex min-h-11 min-w-0 flex-1 items-center gap-2 py-1 pl-3 text-left hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,onClick:i,...c,children:[p,m]}),t[16]=c,t[17]=i,t[18]=p,t[19]=m,t[20]=h):h=t[20];let g=`Thread actions for ${n.title}`,_;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,K.jsx)(W,{"aria-hidden":!0,className:`size-4`}),t[21]=_):_=t[21];let v;t[22]!==a||t[23]!==g?(v=(0,K.jsx)(`button`,{type:`button`,"aria-label":g,className:`flex w-11 shrink-0 items-center justify-center text-muted-foreground hover:bg-accent/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,onClick:a,children:_}),t[22]=a,t[23]=g,t[24]=v):v=t[24];let y;return t[25]!==v||t[26]!==h?(y=(0,K.jsxs)(`div`,{role:`listitem`,className:`flex items-stretch`,children:[h,v]}),t[25]=v,t[26]=h,t[27]=y):y=t[27],y}export{J as PhoneHome};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./index-QY6vcnCY.js";import{t as r}from"./compiler-runtime-qmuS0Svy.js";import{n as i}from"./env-BZZxbmon.js";import{P as a}from"./runtime-DRPzstwF.js";import{It as o}from"./composerDraftStore-czbuHgbM.js";import{t as s}from"./settingsDialogStore-DnU14tMG.js";import{t as c}from"./activity-1CkdQG5u.js";import{a as l,i as u,n as d,o as f,r as p,t as m}from"./SettingsPanels-DxMEuovz.js";import{t as h}from"./archive-BL1hojl3.js";import{t as g}from"./arrow-left-Dtj9PfsA.js";import{t as _}from"./chart-column-Dw6ACmXM.js";import{n as v}from"./loader-circle-CrtHFAvM.js";import{t as y}from"./chevron-down-B7C6FKzM.js";import{t as b}from"./chevron-right-BWYGybX9.js";import{t as x}from"./git-branch-BKr-Ij4u.js";import{t as S}from"./keyboard-BqeRMHfL.js";import{t as C}from"./palette-BSD_aJZg.js";import{p as w}from"./desktopUpdateAtoms-Dz4zQu-C.js";import{t as T}from"./settings-2-CZQg_KUQ.js";import{t as E}from"./server-JApJpgLa.js";import{t as D}from"./shield-IZEIJ8r7.js";import{t as ee}from"./sparkles-CAf3oJ5S.js";import{t as O}from"./user-round-Cpzx8pSw.js";import{t as k}from"./x-C1Cemsov.js";import{t as A}from"./scroll-area-CzUrMo2h.js";import{t as j}from"./button-CBqaO2Ub.js";import{o as te,t as ne}from"./sheet-BoROLwxR.js";import{a as M,i as N,n as P,o as F,s as I,t as L}from"./MobileSheet-DS7_soKu.js";import{b as re,c as ie,f as R,h as z,m as B,o as V,p as H,r as ae,s as oe,t as U,v as W}from"./appearancePreferences-BhNRCg6W.js";import{n as se,o as ce}from"./settingsSections.logic-F8RXVmAq.js";var G=r(),K=e(t(),1);function le(e){if(typeof window>`u`)return()=>{};let t=t=>{t.key===`ryco:appearance-preferences`&&e()};return window.addEventListener(U,e),window.addEventListener(`storage`,t),()=>{window.removeEventListener(U,e),window.removeEventListener(`storage`,t)}}function ue(e,t){let n=(0,G.c)(3),r=t?.effective??!1,i;n[0]!==r||n[1]!==e?(i=()=>(r?z():B())[e],n[0]=r,n[1]=e,n[2]=i):i=n[2];let a=i;return(0,K.useSyncExternalStore)(le,a,a)}function q(){return(0,K.useSyncExternalStore)(le,W,W)}var J=o(),de=`System reduce transparency is on, showing ${R.find(e=>e.value==="default")?.label??`Solid`}`,Y=[{key:`surfaceTransparency`,label:`Material`,description:`How much of the content behind a surface shows through.`,options:ie,scale:R},{key:`fontSizeBase`,label:`Text size`,description:`The base type size for the whole interface.`,options:V,scale:V},{key:`dockDensity`,label:`Dock density`,description:`How much padding the dock capsule carries around its controls.`,options:ae,scale:ae},{key:`motion`,label:`Motion`,description:`Reduce sheet and stack animation beyond the system setting.`,options:oe,scale:oe}];function fe(e){let t=(0,G.c)(42),{control:n}=e,[r,i]=(0,K.useState)(!1),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={effective:!0},t[0]=a):a=t[0];let o=ue(n.key,a),s=q(),c=n.key===`surfaceTransparency`&&s?de:null,l;t[1]!==n.options||t[2]!==o?(l=n.options.find(e=>e.value===o)??null,t[1]=n.options,t[2]=o,t[3]=l):l=t[3];let u=l,d;t[4]!==n.scale||t[5]!==u||t[6]!==o?(d=u??n.scale.find(e=>e.value===o)??null,t[4]=n.scale,t[5]=u,t[6]=o,t[7]=d):d=t[7];let f=d,p=u!==null,m;t[8]===n.key?m=t[9]:(m=e=>{re(n.key,e),H(),i(!1)},t[8]=n.key,t[9]=m);let h=m,g=c&&f?`${f.label} · ${c}`:f?.label??null,_,y;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,J.jsx)(b,{"aria-hidden":!0,className:`size-4 text-muted-foreground/60`}),y=()=>i(!0),t[10]=_,t[11]=y):(_=t[10],y=t[11]);let x;t[12]!==n.label||t[13]!==g?(x=(0,J.jsx)(I,{label:n.label,secondaryText:g,trailing:_,onClick:y}),t[12]=n.label,t[13]=g,t[14]=x):x=t[14];let S=n.label,C;t[15]===n.label?C=t[16]:(C=(0,J.jsx)(F,{children:n.label}),t[15]=n.label,t[16]=C);let w=!p&&f?` Currently ${f.label}.`:null,T=c?` ${c}.`:null,E;t[17]!==n.description||t[18]!==w||t[19]!==T?(E=(0,J.jsxs)(P,{children:[n.description,w,T]}),t[17]=n.description,t[18]=w,t[19]=T,t[20]=E):E=t[20];let D;t[21]!==C||t[22]!==E?(D=(0,J.jsxs)(N,{children:[C,E]}),t[21]=C,t[22]=E,t[23]=D):D=t[23];let ee=n.label,O;if(t[24]!==n.options||t[25]!==h||t[26]!==o){let e;t[28]!==h||t[29]!==o?(e=e=>(0,J.jsx)(I,{label:e.label,secondaryText:e.description,selected:e.value===o,trailing:e.value===o?(0,J.jsx)(v,{"aria-hidden":!0,className:`size-4`}):null,onClick:()=>h(e.value)},e.value),t[28]=h,t[29]=o,t[30]=e):e=t[30],O=n.options.map(e),t[24]=n.options,t[25]=h,t[26]=o,t[27]=O}else O=t[27];let k;t[31]!==n.label||t[32]!==O?(k=(0,J.jsx)(M,{children:(0,J.jsx)(`div`,{role:`group`,"aria-label":ee,className:`flex flex-col`,children:O})}),t[31]=n.label,t[32]=O,t[33]=k):k=t[33];let A;t[34]!==n.label||t[35]!==r||t[36]!==D||t[37]!==k?(A=(0,J.jsxs)(L,{open:r,onOpenChange:i,label:S,detent:`medium`,children:[D,k]}),t[34]=n.label,t[35]=r,t[36]=D,t[37]=k,t[38]=A):A=t[38];let j;return t[39]!==A||t[40]!==x?(j=(0,J.jsxs)(J.Fragment,{children:[x,A]}),t[39]=A,t[40]=x,t[41]=j):j=t[41],j}function pe(){let e=(0,G.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,J.jsx)(`div`,{role:`group`,"aria-label":`Phone appearance`,className:`flex flex-col`,children:Y.map(me)}),e[0]=t):t=e[0],t}function me(e){return(0,J.jsx)(fe,{control:e},e.key)}var he=[{id:`account`,label:`Account`,icon:O},{id:`general`,label:`General`,icon:T},{id:`inbox`,label:`Inbox`,icon:ee},{id:`providers`,label:`Providers`,icon:f},{id:`opinionated-plugins`,label:`Plugins`,icon:u},{id:`mcp-servers`,label:`MCP Servers`,icon:E},{id:`appearance`,label:`Appearance`,icon:C},{id:`keybindings`,label:`Keybindings`,icon:S},{id:`source-control`,label:`Source Control`,icon:x},{id:`connections`,label:`Connections`,icon:l},{id:`security`,label:`Security`,icon:D},{id:`statistics`,label:`Statistics`,icon:_},{id:`archived`,label:`Archive`,icon:h}],ge=[{id:`diagnostics`,label:`Diagnostics`,icon:c}],_e=[...he,...ge];_e.map(e=>e.id),he.map(e=>e.label);var ve=new Set([`general`,`providers`,`appearance`]),X=`general`,Z=(0,K.lazy)(()=>n(()=>import(`./AccountSettings-CvD49Uja.js`).then(e=>({default:e.AccountSettingsPanel})),[])),ye=(0,K.lazy)(()=>n(()=>import(`./ProvidersSettingsPanel-Dz-1od7X.js`).then(e=>({default:e.ProvidersSettingsPanel})),[])),be=(0,K.lazy)(()=>n(()=>import(`./AiFocusSettings-CYIp0JOV.js`).then(e=>({default:e.AiFocusSettings})),[])),xe=(0,K.lazy)(()=>n(()=>import(`./OpinionatedPluginsSettings-B7gZOBCs.js`).then(e=>({default:e.OpinionatedPluginsSettingsPanel})),[])),Q=(0,K.lazy)(()=>n(()=>import(`./McpServersSettings-Cbq-uHU3.js`).then(e=>({default:e.McpServersSettings})),[])),$=(0,K.lazy)(()=>n(()=>import(`./AppearanceSettings-BwUAv5oz.js`).then(e=>({default:e.AppearanceSettingsPanel})),[])),Se=(0,K.lazy)(()=>n(()=>import(`./KeybindingsSettings-Bv3H18VO.js`).then(e=>({default:e.KeybindingsSettingsPanel})),[])),Ce=(0,K.lazy)(()=>n(()=>import(`./SourceControlSettings-CB2SdaRk.js`).then(e=>({default:e.SourceControlSettingsPanel})),[])),we=(0,K.lazy)(()=>n(()=>import(`./ConnectionsSettings-4l-DXYo6.js`).then(e=>({default:e.ConnectionsSettings})),[])),Te=(0,K.lazy)(()=>n(()=>import(`./NodeSecuritySettings-B3uURyma.js`).then(e=>({default:e.NodeSecuritySettings})),[])),Ee=(0,K.lazy)(()=>n(()=>import(`./DiagnosticsSettings-B6IUUiYM.js`).then(e=>({default:e.DiagnosticsSettings})),[])),De=(0,K.lazy)(()=>n(()=>import(`./StatisticsPanel-D3d0bJgk.js`).then(e=>({default:e.StatisticsPanel})),[]));function Oe(e){let t=(0,G.c)(44),{section:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsx)(`div`,{className:`flex min-h-80 items-center justify-center text-muted-foreground text-sm`,children:`Loading settings...`}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n===`account`?(0,J.jsx)(Z,{}):null,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=n===`general`?(0,J.jsx)(d,{}):null,t[3]=n,t[4]=a);let o;t[5]===n?o=t[6]:(o=n===`inbox`?(0,J.jsx)(be,{}):null,t[5]=n,t[6]=o);let s;t[7]===n?s=t[8]:(s=n===`providers`?(0,J.jsx)(ye,{}):null,t[7]=n,t[8]=s);let c;t[9]===n?c=t[10]:(c=n===`opinionated-plugins`?(0,J.jsx)(xe,{}):null,t[9]=n,t[10]=c);let l;t[11]===n?l=t[12]:(l=n===`mcp-servers`?(0,J.jsx)(Q,{}):null,t[11]=n,t[12]=l);let u;t[13]===n?u=t[14]:(u=n===`appearance`?(0,J.jsx)($,{}):null,t[13]=n,t[14]=u);let f;t[15]===n?f=t[16]:(f=n===`keybindings`?(0,J.jsx)(Se,{}):null,t[15]=n,t[16]=f);let p;t[17]===n?p=t[18]:(p=n===`source-control`?(0,J.jsx)(Ce,{}):null,t[17]=n,t[18]=p);let h;t[19]===n?h=t[20]:(h=n===`connections`?(0,J.jsx)(we,{}):null,t[19]=n,t[20]=h);let g;t[21]===n?g=t[22]:(g=n===`security`?(0,J.jsx)(Te,{}):null,t[21]=n,t[22]=g);let _;t[23]===n?_=t[24]:(_=n===`diagnostics`?(0,J.jsx)(Ee,{presentation:`phone-legacy`}):null,t[23]=n,t[24]=_);let v;t[25]===n?v=t[26]:(v=n===`statistics`?(0,J.jsx)(De,{}):null,t[25]=n,t[26]=v);let y;t[27]===n?y=t[28]:(y=n===`archived`?(0,J.jsx)(m,{}):null,t[27]=n,t[28]=y);let b;return t[29]!==p||t[30]!==h||t[31]!==g||t[32]!==_||t[33]!==v||t[34]!==y||t[35]!==i||t[36]!==a||t[37]!==o||t[38]!==s||t[39]!==c||t[40]!==l||t[41]!==u||t[42]!==f?(b=(0,J.jsxs)(K.Suspense,{fallback:r,children:[i,a,o,s,c,l,u,f,p,h,g,_,v,y]}),t[29]=p,t[30]=h,t[31]=g,t[32]=_,t[33]=v,t[34]=y,t[35]=i,t[36]=a,t[37]=o,t[38]=s,t[39]=c,t[40]=l,t[41]=u,t[42]=f,t[43]=b):b=t[43],b}function ke(e){let t=(0,G.c)(6),{onRestored:n}=e,{changedSettingLabels:r,restoreDefaults:i}=p(n),a=r.length===0,o;t[0]===i?o=t[1]:(o=()=>void i(),t[0]=i,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,J.jsx)(w,{className:`size-3.5`}),t[2]=s):s=t[2];let c;return t[3]!==a||t[4]!==o?(c=(0,J.jsxs)(j,{size:`sm`,variant:`outline`,className:`min-h-11 shrink-0`,disabled:a,onClick:o,children:[s,`Restore defaults`]}),t[3]=a,t[4]=o,t[5]=c):c=t[5],c}var Ae=`w-full min-w-0 max-w-none border-s-0 p-0 pt-safe pl-safe pr-safe pb-[max(env(safe-area-inset-bottom),var(--app-keyboard-inset,0px))] wco:mt-[env(titlebar-area-height)] wco:h-[calc(100%-env(titlebar-area-height))] wco:max-h-[calc(100%-env(titlebar-area-height))]`;function je(){let e=(0,G.c)(39),t=s(Be),n=s(ze),r=s(Re),o=s(Le),c=a(Ie),l=a(Fe),u=a(Pe),d;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=i(),e[0]=d):d=e[0];let f=d,p;e[1]!==l||e[2]!==c||e[3]!==u?(p=se(c,l,u),e[1]=l,e[2]=c,e[3]=u,e[4]=p):p=e[4];let m=p,h;e[5]===m?h=e[6]:(h=e=>ce(e,{hosted:f,role:m}),e[5]=m,e[6]=h);let _=h,v;e[7]===_?v=e[8]:(v=e=>_(e.id),e[7]=_,e[8]=v);let x=he.filter(v),S;e[9]===_?S=e[10]:(S=e=>_(e.id),e[9]=_,e[10]=S);let C=ge.filter(S),[w,T]=(0,K.useState)(null),[E,D]=(0,K.useState)(!1),[ee,O]=(0,K.useState)(!1);t!==ee&&(O(t),t&&(T(n===X?null:n),D(!1)));let M=(0,K.useRef)(n),N,P;e[11]!==t||e[12]!==n?(N=()=>{let e=M.current;M.current=n,t&&n!==e&&T(n)},P=[t,n],e[11]=t,e[12]=n,e[13]=N,e[14]=P):(N=e[13],P=e[14]),(0,K.useEffect)(N,P);let F,I;e[15]!==t||e[16]!==o?(F=()=>{t||s.getState().section!==X&&(o(X),M.current=X)},I=[t,o],e[15]=t,e[16]=o,e[17]=F,e[18]=I):(F=e[17],I=e[18]),(0,K.useEffect)(F,I);let L=(0,K.useRef)(null),re=(0,K.useRef)(new Map),ie=(0,K.useRef)(null),R=(0,K.useRef)(null),z;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>{R.current!==null&&window.cancelAnimationFrame(R.current);let t=0,n=0,r=()=>{R.current=null;let i=e();if(!(!i||!i.isConnected)){if(document.activeElement===i){if(n+=1,n>=2)return}else if(n=0,i.focus(),t+=1,t>=6)return;R.current=window.requestAnimationFrame(r)}};R.current=window.requestAnimationFrame(r)},e[19]=z):z=e[19];let B=z,V,H;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(V=()=>()=>{R.current!==null&&window.cancelAnimationFrame(R.current)},H=[],e[20]=V,e[21]=H):(V=e[20],H=e[21]),(0,K.useEffect)(V,H);let ae=e=>{o(e),T(e),B(()=>L.current)},oe=()=>{let e=ie.current;T(null),M.current=X,o(X),B(()=>e?re.current.get(e)??null:null)},U;e[22]===w?U=e[23]:(U=[w],e[22]=w,e[23]=U),(0,K.useEffect)(()=>{w!==null&&(ie.current=w)},U);let W;e[24]!==t||e[25]!==w?(W=[t,w,B],e[24]=t,e[25]=w,e[26]=W):W=e[26],(0,K.useEffect)(()=>{t&&w!==null&&B(()=>L.current)},W);let[le,ue]=(0,K.useState)(0),q;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(q=()=>{ue(Ne)},e[27]=q):q=e[27];let de=q,Y=w!==null&&_(w)?_e.find(e=>e.id===w)??null:null,fe=e=>{let t=e.icon;return(0,J.jsxs)(`button`,{type:`button`,ref:t=>{t?re.current.set(e.id,t):re.current.delete(e.id)},className:`flex min-h-11 w-full items-center gap-2.5 rounded-md px-2 text-left text-sm hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>ae(e.id),children:[(0,J.jsx)(t,{"aria-hidden":!0,className:`size-4 shrink-0 text-muted-foreground`}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),(0,J.jsx)(b,{"aria-hidden":!0,className:`size-4 shrink-0 text-muted-foreground/60`})]},e.id)},me=ne,Z;e[28]===r?Z=e[29]:(Z=e=>{e||r()},e[28]=r,e[29]=Z);let ye=te,be=Ae,xe=Y?(0,J.jsxs)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-col bg-background`,children:[(0,J.jsxs)(`div`,{className:`flex h-14 shrink-0 items-center gap-1.5 border-b border-border bg-card/40 px-2`,children:[(0,J.jsx)(j,{size:`icon`,variant:`ghost`,"aria-label":`Back to settings`,className:`shrink-0`,onClick:oe,children:(0,J.jsx)(g,{})}),(0,J.jsx)(`h1`,{ref:L,tabIndex:-1,className:`min-w-0 flex-1 truncate text-sm font-medium outline-none`,children:Y.label}),ve.has(Y.id)?(0,J.jsx)(ke,{onRestored:de}):null]}),(0,J.jsx)(A,{className:`min-h-0 min-w-0 flex-1`,children:(0,J.jsx)(`div`,{className:`flex flex-col`,children:(0,J.jsx)(Oe,{section:Y.id})},le)})]}):(0,J.jsxs)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-col bg-background`,children:[(0,J.jsxs)(`div`,{className:`flex h-14 shrink-0 items-center gap-1.5 border-b border-border bg-card/40 px-2`,children:[(0,J.jsx)(`h1`,{className:`min-w-0 flex-1 truncate px-2 text-base font-semibold`,children:`Settings`}),(0,J.jsx)(j,{size:`icon`,variant:`ghost`,"aria-label":`Close settings`,className:`shrink-0`,onClick:r,children:(0,J.jsx)(k,{})})]}),(0,J.jsxs)(`nav`,{"aria-label":`Settings sections`,className:`min-h-0 flex-1 overflow-y-auto p-2`,children:[(0,J.jsx)(`div`,{role:`group`,"aria-label":`Settings sections`,className:`space-y-0.5`,children:x.map(e=>fe(e))}),C.length>0?(0,J.jsxs)(`div`,{className:`mt-2 border-t border-border pt-2`,children:[(0,J.jsxs)(`button`,{type:`button`,"aria-expanded":E,className:`flex min-h-11 w-full items-center gap-2.5 rounded-md px-2 text-left text-sm font-medium text-muted-foreground hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>D(Me),children:[E?(0,J.jsx)(y,{"aria-hidden":!0,className:`size-4 shrink-0`}):(0,J.jsx)(b,{"aria-hidden":!0,className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`Advanced`})]}),E?(0,J.jsx)(`div`,{role:`group`,"aria-label":`Advanced sections`,className:`space-y-0.5`,children:C.map(e=>fe(e))}):null]}):null,(0,J.jsxs)(`div`,{className:`mt-2 border-t border-border pt-2`,children:[(0,J.jsx)(`h2`,{className:`px-2 py-1 font-medium text-muted-foreground text-xs`,children:`Phone appearance`}),(0,J.jsx)(pe,{})]})]})]}),Q;e[30]!==ye||e[31]!==be||e[32]!==xe?(Q=(0,J.jsx)(ye,{side:`right`,showCloseButton:!1,"aria-label":`Settings`,"data-testid":`phone-settings-surface`,className:be,children:xe}),e[30]=ye,e[31]=be,e[32]=xe,e[33]=Q):Q=e[33];let $;return e[34]!==me||e[35]!==t||e[36]!==Z||e[37]!==Q?($=(0,J.jsx)(me,{open:t,onOpenChange:Z,children:Q}),e[34]=me,e[35]=t,e[36]=Z,e[37]=Q,e[38]=$):$=e[38],$}function Me(e){return!e}function Ne(e){return e+1}function Pe(e){return e.transportStatus}function Fe(e){return e.directoryStatus}function Ie(e){return e.effectiveRole}function Le(e){return e.setSection}function Re(e){return e.closeSettings}function ze(e){return e.section}function Be(e){return e.open}export{je as PhoneSettingsSurface};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{n}from"./env-BZZxbmon.js";import{yn as r}from"./runtime-DRPzstwF.js";import{It as i}from"./composerDraftStore-czbuHgbM.js";import{t as a}from"./folder-DtsQoI9_.js";import{t as o}from"./utils-Dz7wQZDk.js";var s=e(t(),1),c=i(),l=new Set;function u(e){let t=(()=>{if(n())return null;try{return e.customAvatarContentHash&&e.projectId?r({environmentId:e.environmentId,pathname:`/api/project-avatar`,searchParams:{projectId:e.projectId,v:e.customAvatarContentHash}}):r({environmentId:e.environmentId,pathname:`/api/project-favicon`,searchParams:{cwd:e.cwd}})}catch{return null}})(),[i,u]=(0,s.useState)(()=>t&&l.has(t)?`loaded`:`loading`),d=e.fillContainer?o(`size-full text-muted-foreground/50`,e.className):o(`size-3.5 shrink-0 text-muted-foreground/50`,e.className);if(!t||i===`error`)return(0,c.jsx)(a,{className:d});let f=e.fillContainer?o(`size-full object-cover`,i===`loaded`?``:`hidden`,e.className):o(`size-3.5 shrink-0 rounded-sm object-contain`,i===`loaded`?``:`hidden`,e.className);return(0,c.jsxs)(c.Fragment,{children:[i===`loaded`?null:(0,c.jsx)(a,{className:d}),(0,c.jsx)(`img`,{src:t,alt:``,className:f,onLoad:()=>{l.add(t),u(`loaded`)},onError:()=>u(`error`)})]})}export{u as t};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{Bn as r,rt as i,zn as a}from"./runtime-DRPzstwF.js";import{It as o,K as s,Pt as c,W as l}from"./composerDraftStore-czbuHgbM.js";import{f as u}from"./useRenderElement-DchFnsR8.js";import{n as d}from"./loader-circle-CrtHFAvM.js";import{t as f}from"./chevron-down-B7C6FKzM.js";import{t as p}from"./kbd-xUvRCeUS.js";import{t as m}from"./clock-3-r12DkpRj.js";import{t as h}from"./search-BGQsenCM.js";import{t as g}from"./sparkles-CAf3oJ5S.js";import{t as _}from"./utils-Dz7wQZDk.js";import{_ as v,g as y,h as b,m as x}from"./keybindings-Bj6xWIbQ.js";import{i as S,n as C,r as w,t as T}from"./tooltip-c9oahm_e.js";import{a as E,c as D,i as O,l as k,n as A,o as j,r as M,s as N,t as P}from"./providerIconUtils-BXecnJ0v.js";import{t as F}from"./scroll-area-CzUrMo2h.js";import{l as I}from"./Icons-uMh1k5C0.js";import{t as ee}from"./button-CBqaO2Ub.js";import{t as te}from"./usePresentationTier-B_SCFvN7.js";import{n as ne,r as re,t as ie}from"./popover-z5hURYff.js";import{a as L,c as ae,i as R,o as z,s as B,t as V}from"./MobileSheet-DS7_soKu.js";var H=u(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),oe=n(),U=e(t(),1),W=o(),se=(0,U.memo)(function(e){let t=(0,oe.c)(40),n=P[e.driverKind]??null,r=e.model.subProvider?`${e.providerDisplayName} · ${e.model.subProvider}`:e.providerDisplayName,i=e.index,a=`${e.instanceId}:${e.model.slug}`,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=_(`w-full cursor-pointer rounded px-3 py-2 transition-colors group`,`data-highlighted:bg-muted data-selected:bg-accent data-selected:text-foreground`),t[0]=o):o=t[0];let s;t[1]===e?s=t[2]:(s=t=>{t.stopPropagation(),e.onToggleFavorite()},t[1]=e,t[2]=s);let c=e.isFavorite?`Remove from favorites`:`Add to favorites`,l=e.isFavorite&&`fill-current text-yellow-500`,u;t[3]===l?u=t[4]:(u=_(`size-4`,l),t[3]=l,t[4]=u);let d;t[5]===u?d=t[6]:(d=(0,W.jsx)(H,{className:u}),t[5]=u,t[6]=d);let f;t[7]!==s||t[8]!==c||t[9]!==d?(f=(0,W.jsx)(S,{render:(0,W.jsx)(`button`,{className:`mt-0.5 shrink-0 cursor-pointer opacity-40 transition-opacity group-hover:opacity-100`,onClick:s,onKeyDown:G,type:`button`,"aria-label":c,children:d})}),t[7]=s,t[8]=c,t[9]=d,t[10]=f):f=t[10];let m=e.isFavorite?`Remove from favorites`:`Add to favorites`,h;t[11]===m?h=t[12]:(h=(0,W.jsx)(C,{side:`top`,align:`center`,children:m}),t[11]=m,t[12]=h);let g;t[13]!==h||t[14]!==f?(g=(0,W.jsxs)(T,{children:[f,h]}),t[13]=h,t[14]=f,t[15]=g):g=t[15];let v;t[16]!==e.model||t[17]!==e.preferShortName||t[18]!==e.useTriggerLabel?(v=e.useTriggerLabel?M(e.model):A(e.model,e.preferShortName?{preferShortName:!0}:void 0),t[16]=e.model,t[17]=e.preferShortName,t[18]=e.useTriggerLabel,t[19]=v):v=t[19];let y;t[20]===v?y=t[21]:(y=(0,W.jsx)(`div`,{className:`text-xs font-medium leading-snug flex items-center gap-2 min-w-0`,children:(0,W.jsx)(`span`,{className:`truncate`,children:v})}),t[20]=v,t[21]=y);let b;t[22]===e.jumpLabel?b=t[23]:(b=e.jumpLabel?(0,W.jsx)(p,{className:`h-4 min-w-0 shrink-0 rounded-sm px-1.5 text-[10px] pointer-coarse:hidden`,children:e.jumpLabel}):null,t[22]=e.jumpLabel,t[23]=b);let x;t[24]!==y||t[25]!==b?(x=(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-2 min-w-0`,children:[y,b]}),t[24]=y,t[25]=b,t[26]=x):x=t[26];let w;t[27]!==n||t[28]!==e.providerAccentColor||t[29]!==e.showProvider||t[30]!==r?(w=e.showProvider&&(0,W.jsxs)(`div`,{className:`flex items-center gap-1 mt-0.5`,children:[n?(0,W.jsx)(n,{className:`size-3 shrink-0`}):null,e.providerAccentColor?(0,W.jsx)(`span`,{className:`size-1.5 shrink-0 rounded-full`,style:{backgroundColor:e.providerAccentColor},"aria-hidden":!0}):null,(0,W.jsx)(`span`,{className:`text-xs font-normal leading-snug text-muted-foreground/70 truncate`,children:r})]}),t[27]=n,t[28]=e.providerAccentColor,t[29]=e.showProvider,t[30]=r,t[31]=w):w=t[31];let E;t[32]!==x||t[33]!==w?(E=(0,W.jsxs)(`div`,{className:`min-w-0 flex-1 text-left`,children:[x,w]}),t[32]=x,t[33]=w,t[34]=E):E=t[34];let O;return t[35]!==e.index||t[36]!==a||t[37]!==g||t[38]!==E?(O=(0,W.jsxs)(D,{hideIndicator:!0,index:i,value:a,contentClassName:`flex w-full items-start gap-2`,className:o,children:[g,E]}),t[35]=e.index,t[36]=a,t[37]=g,t[38]=E,t[39]=O):O=t[39],O});function G(e){e.stopPropagation()}function K(e){let t=e.replace(/[_-]+/g,` `).split(/\s+/u).filter(Boolean);return t.length===0?``:t.length===1?t[0].slice(0,2).toUpperCase():t.slice(0,2).map(e=>e[0]?.toUpperCase()??``).join(``)}var q=(0,U.memo)(function(e){let t=(0,oe.c)(22),n=P[e.driverKind]??null,r;t[0]===e.accentColor?r=t[1]:(r=e.accentColor?{"--provider-accent":e.accentColor}:void 0,t[0]=e.accentColor,t[1]=r);let i=r,a;t[2]===e.className?a=t[3]:(a=_(`relative isolate inline-flex shrink-0 items-center justify-center`,e.className),t[2]=e.className,t[3]=a);let o;t[4]!==n||t[5]!==e.displayName||t[6]!==e.iconClassName?(o=n?(0,W.jsx)(n,{className:_(`size-5 shrink-0`,e.iconClassName),"aria-hidden":!0}):(0,W.jsx)(`span`,{className:_(`text-[10px] font-semibold leading-none`,e.iconClassName),children:K(e.displayName)}),t[4]=n,t[5]=e.displayName,t[6]=e.iconClassName,t[7]=o):o=t[7];let s;t[8]===e.statusDotClassName?s=t[9]:(s=e.statusDotClassName?(0,W.jsx)(`span`,{className:_(`pointer-events-none absolute -left-0.5 -top-0.5 size-2 rounded-full ring-2 ring-background`,e.statusDotClassName),"aria-hidden":!0}):null,t[8]=e.statusDotClassName,t[9]=s);let c;t[10]!==e.accentColor||t[11]!==e.badgeClassName||t[12]!==e.displayName||t[13]!==e.showBadge?(c=e.showBadge?(0,W.jsx)(`span`,{className:_(`pointer-events-none absolute right-0 bottom-0 flex h-3.5 min-w-3.5 items-center justify-center rounded-full border border-background px-0.5 text-[8px] font-semibold leading-none shadow-sm`,e.accentColor?`bg-[var(--provider-accent)] text-white`:`bg-muted text-muted-foreground`,e.badgeClassName),"aria-hidden":!0,children:K(e.displayName)}):null,t[10]=e.accentColor,t[11]=e.badgeClassName,t[12]=e.displayName,t[13]=e.showBadge,t[14]=c):c=t[14];let l;return t[15]!==i||t[16]!==e.accentColor||t[17]!==a||t[18]!==o||t[19]!==s||t[20]!==c?(l=(0,W.jsxs)(`span`,{className:a,style:i,"data-provider-accent-color":e.accentColor,children:[o,s,c]}),t[15]=i,t[16]=e.accentColor,t[17]=a,t[18]=o,t[19]=s,t[20]=c,t[21]=l):l=t[21],l});function J(e){let t=e.displayName;if(e.status===`ready`)return t;let n=e.status===`error`?`Unavailable`:e.status===`warning`?`Limited`:e.status===`disabled`?`Disabled in settings`:`Not ready`,r=e.snapshot.message?.trim();return r?`${t} — ${n}. ${r}`:`${t} — ${n}.`}var ce=`bg-background text-foreground shadow-sm`,le=`pointer-events-none absolute -right-1 top-1/2 z-10 h-5 w-0.5 -translate-y-1/2 rounded-l-full bg-primary`,ue=`pointer-events-none absolute -right-0.5 top-0.5 z-10 flex size-3.5 items-center justify-center rounded-full bg-transparent shadow-sm `,Y=`${ue} text-amber-600 dark:text-amber-300 `,de=`${ue} text-muted-foreground `,fe=`left`,pe=`max-w-64 text-balance font-normal leading-snug`,me=(0,U.memo)(function(e){let t=(0,oe.c)(25),n;t[0]===e?n=t[1]:(n=t=>{e.onSelectInstance(t)},t[0]=e,t[1]=n);let r=n,i=e.showFavorites??!0,a=e.showComingSoon??!0,o;if(t[2]!==e.instanceEntries){o=new Map;for(let t of e.instanceEntries)o.set(t.driverKind,(o.get(t.driverKind)??0)+1);t[2]=e.instanceEntries,t[3]=o}else o=t[3];let s=o,c;t[4]!==r||t[5]!==e.selectedInstanceId||t[6]!==i?(c=i?(0,W.jsx)(`div`,{className:`pb-1 mb-1 border-b`,children:(0,W.jsxs)(`div`,{className:`relative w-full`,children:[e.selectedInstanceId===`favorites`&&(0,W.jsx)(`div`,{className:le}),(0,W.jsxs)(T,{children:[(0,W.jsx)(S,{render:(0,W.jsx)(`button`,{className:_(`relative isolate flex w-full cursor-pointer aspect-square items-center justify-center rounded transition-colors hover:bg-muted`,e.selectedInstanceId===`favorites`&&ce),onClick:()=>r(`favorites`),type:`button`,"data-model-picker-provider":`favorites`,"aria-label":`Favorites`,children:(0,W.jsx)(H,{className:`size-5 fill-current shrink-0`,"aria-hidden":!0})})}),(0,W.jsx)(C,{side:fe,align:`center`,className:pe,children:`Favorites`})]})]})}):null,t[4]=r,t[5]=e.selectedInstanceId,t[6]=i,t[7]=c):c=t[7];let l;if(t[8]!==s||t[9]!==r||t[10]!==e.instanceEntries||t[11]!==e.newBadgeInstanceIds||t[12]!==e.selectedInstanceId){let n;t[14]!==s||t[15]!==r||t[16]!==e.newBadgeInstanceIds||t[17]!==e.selectedInstanceId?(n=t=>{let n=!t.isAvailable||t.status!==`ready`,i=e.selectedInstanceId===t.instanceId,a=e.newBadgeInstanceIds?.has(t.instanceId)??!1,o=!!t.accentColor||(s.get(t.driverKind)??0)>1,c=n?J(t):a?`${t.displayName} — New`:t.displayName,l=(0,W.jsxs)(`button`,{"data-model-picker-provider":t.instanceId,className:_(`relative isolate flex w-full cursor-pointer aspect-square items-center justify-center rounded transition-colors hover:bg-muted`,i&&ce,n&&`opacity-50 cursor-not-allowed hover:bg-transparent`),"data-provider-accent-color":t.accentColor,onClick:()=>!n&&r(t.instanceId),disabled:n,type:`button`,"aria-label":n?c:a?`${t.displayName}, new`:t.displayName,children:[(0,W.jsx)(q,{driverKind:t.driverKind,displayName:t.displayName,accentColor:t.accentColor,showBadge:o,className:`size-6`,iconClassName:`size-5`}),a?(0,W.jsx)(`span`,{className:Y,"aria-hidden":!0,children:(0,W.jsx)(g,{className:`size-2`})}):null]});return(0,W.jsxs)(`div`,{className:`relative w-full`,children:[i&&(0,W.jsx)(`div`,{className:le}),(0,W.jsxs)(T,{children:[(0,W.jsx)(S,{render:n?(0,W.jsx)(`span`,{className:`relative block w-full`,children:l}):l}),(0,W.jsx)(C,{side:fe,align:`center`,className:pe,children:c})]})]},t.instanceId)},t[14]=s,t[15]=r,t[16]=e.newBadgeInstanceIds,t[17]=e.selectedInstanceId,t[18]=n):n=t[18],l=e.instanceEntries.map(n),t[8]=s,t[9]=r,t[10]=e.instanceEntries,t[11]=e.newBadgeInstanceIds,t[12]=e.selectedInstanceId,t[13]=l}else l=t[13];let u;t[19]===a?u=t[20]:(u=a?(0,W.jsx)(W.Fragment,{children:(0,W.jsxs)(T,{children:[(0,W.jsx)(S,{render:(0,W.jsx)(`span`,{className:`relative block w-full`,children:(0,W.jsxs)(`button`,{className:_(`relative isolate flex w-full aspect-square items-center justify-center rounded opacity-50 cursor-not-allowed transition-colors hover:bg-transparent`),disabled:!0,type:`button`,"data-model-picker-provider":`gemini-coming-soon`,"aria-label":`Gemini — coming soon`,children:[(0,W.jsx)(I,{className:`size-5 text-muted-foreground/85`,"aria-hidden":!0}),(0,W.jsx)(`span`,{className:de,"aria-hidden":!0,children:(0,W.jsx)(m,{className:`size-2`})})]})})}),(0,W.jsx)(C,{side:fe,align:`center`,className:pe,children:`Gemini — Coming soon`})]})}):null,t[19]=a,t[20]=u);let d;return t[21]!==c||t[22]!==l||t[23]!==u?(d=(0,W.jsx)(F,{hideScrollbars:!0,scrollFade:!0,className:`w-12 shrink-0 border-r bg-muted/30`,"data-model-picker-sidebar":`true`,children:(0,W.jsxs)(`div`,{className:`flex min-h-full flex-col gap-1 p-1`,children:[c,l,u]})}),t[21]=c,t[22]=l,t[23]=u,t[24]=d):d=t[24],d});function X(e,t){let n=e.trim();return n?t?.trimLeadingPattern?n.replace(t.trimLeadingPattern,``).toLowerCase():n.toLowerCase():``}function he(e,t){if(!t)return 0;let n=0,r=-1,i=-1,a=0;for(let o=0;o<e.length;o+=1)if(e[o]===t[n]&&(r===-1&&(r=o),i!==-1&&(a+=o-i-1),i=o,n+=1,n===t.length)){let n=o-r+1-t.length,i=Math.min(64,e.length-t.length);return r*2+a*3+n+i}return null}function Z(e,t){return Math.min(64,Math.max(0,e.length-t.length))}function ge(e,t,n){let r=null;for(let i of n){let n=e.indexOf(`${i}${t}`);if(n===-1)continue;let a=n+i.length;(r===null||a<r)&&(r=a)}return r}function Q(e){let{value:t,query:n}=e;if(!t||!n)return null;if(t===n)return e.exactBase;if(e.prefixBase!==void 0&&t.startsWith(n))return e.prefixBase+Z(t,n);if(e.boundaryBase!==void 0){let r=ge(t,n,e.boundaryMarkers??[` `,`-`,`_`,`/`]);if(r!==null)return e.boundaryBase+r*2+Z(t,n)}if(e.includesBase!==void 0){let r=t.indexOf(n);if(r!==-1)return e.includesBase+r*2+Z(t,n)}if(e.fuzzyBase!==void 0){let r=he(t,n);if(r!==null)return e.fuzzyBase+r}return null}function _e(e,t){let n=e.score-t.score;return n===0?e.tieBreaker.localeCompare(t.tieBreaker):n}function ve(e,t){let n=0,r=e.length;for(;n<r;){let i=n+Math.floor((r-n)/2),a=e[i];if(!a)break;_e(t,a)<0?r=i:n=i+1}return n}function ye(e,t,n){if(n<=0)return;let r=ve(e,t);if(e.length<n){e.splice(r,0,t);return}r>=n||(e.splice(r,0,t),e.pop())}var be=24;function xe(e){return[X(e.name),...e.shortName?[X(e.shortName)]:[],...e.subProvider?[X(e.subProvider)]:[],X(e.driverKind),X(e.providerDisplayName),Ce(e)]}function Se(e,t,n){return Q({value:e,query:t,exactBase:n,prefixBase:n+2,boundaryBase:n+4,includesBase:n+6,...t.length>=3?{fuzzyBase:n+100}:{}})}function Ce(e){return X([e.name,e.shortName,e.subProvider,e.driverKind,e.providerDisplayName].filter(e=>typeof e==`string`&&e.length>0).join(` `))}function we(e,t){let n=X(t).split(/\s+/u).filter(e=>e.length>0);if(n.length===0)return 0;let r=xe(e),i=0;for(let e of n){let t=r.map((t,n)=>Se(t,e,n*10)).filter(e=>e!==null);if(t.length===0)return null;i+=Math.min(...t)}return e.isFavorite?i-be:i}var Te=new Map;function Ee(e){let t=e.indexOf(`:`);return t===-1?{instanceId:e,slug:``}:{instanceId:e.slice(0,t),slug:e.slice(t+1)}}var De=(0,U.memo)(function(e){let t=(0,oe.c)(140),{keybindings:n,modelOptionsByInstance:i,instanceEntries:o,onInstanceModelChange:u}=e,[d,f]=(0,U.useState)(``),p=(0,U.useRef)(null),m=(0,U.useRef)(null),g=(0,U.useRef)(null),S=a(Oe),C;t[0]!==S.length||t[1]!==e.activeInstanceId||t[2]!==e.lockedProvider?(C=()=>e.lockedProvider===null&&S.length>0?`favorites`:e.activeInstanceId,t[0]=S.length,t[1]=e.activeInstanceId,t[2]=e.lockedProvider,t[3]=C):C=t[3];let[T,D]=(0,U.useState)(C),O;t[4]===n?O=t[5]:(O=n??[],t[4]=n,t[5]=O);let A=O,{updateSettings:M}=r(),F;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(F=()=>{p.current?.focus({preventScroll:!0})},t[6]=F):F=t[6];let I=F,ee;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(ee=e=>{D(e),window.requestAnimationFrame(()=>{I()})},t[7]=ee):ee=t[7];let te=ee,ne,re;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>{I();let e=window.requestAnimationFrame(()=>{I()}),t=window.setTimeout(()=>{I()},0);return()=>{window.cancelAnimationFrame(e),window.clearTimeout(t)}},re=[I],t[8]=ne,t[9]=re):(ne=t[8],re=t[9]),(0,U.useLayoutEffect)(ne,re);let ie;t[10]===S?ie=t[11]:(ie=new Set(S.map(ke)),t[10]=S,t[11]=ie);let L=ie,ae;t[12]===o?ae=t[13]:(ae=new Map(o.map(Ae)),t[12]=o,t[13]=ae);let R=ae,z;t[14]!==e.lockedContinuationGroupKey||t[15]!==e.lockedProvider?(z=t=>e.lockedProvider===null?!0:t.driverKind===e.lockedProvider?!e.lockedContinuationGroupKey||t.continuationGroupKey===e.lockedContinuationGroupKey:!1,t[14]=e.lockedContinuationGroupKey,t[15]=e.lockedProvider,t[16]=z):z=t[16];let B=z,V;if(t[17]!==o){V=new Set;for(let e of o)e.status===`ready`&&V.add(e.instanceId);t[17]=o,t[18]=V}else V=t[18];let H=V,G;if(t[19]!==R||t[20]!==i||t[21]!==H){G=[];for(let[e,t]of i){let n=R.get(e);if(n&&H.has(e))for(let r of t)G.push({slug:r.slug,name:r.name,...r.shortName?{shortName:r.shortName}:{},...r.subProvider?{subProvider:r.subProvider}:{},instanceId:e,driverKind:n.driverKind,instanceDisplayName:n.displayName,...n.accentColor?{instanceAccentColor:n.accentColor}:{},...n.continuationGroupKey?{continuationGroupKey:n.continuationGroupKey}:{}})}t[19]=R,t[20]=i,t[21]=H,t[22]=G}else G=t[22];let K=G,q=e.lockedProvider!==null,J;t[23]===d?J=t[24]:(J=d.trim(),t[23]=d,t[24]=J);let ce=J.length>0,le;t[25]!==o||t[26]!==B||t[27]!==e.lockedProvider?(le=e.lockedProvider?o.filter(e=>B(e)):[],t[25]=o,t[26]=B,t[27]=e.lockedProvider,t[28]=le):le=t[28];let ue=le,Y=q&&ue.length>1,de=!ce&&(!q||Y),fe=Y?ue:o,pe;t[29]===o?pe=t[30]:(pe=o.map(je),t[29]=o,t[30]=pe);let X=pe,he;if(t[31]!==L||t[32]!==K||t[33]!==X||t[34]!==B||t[35]!==e.lockedProvider||t[36]!==d||t[37]!==T||t[38]!==Y){bb0:{let t=K;if(d.trim()){let n=t.map(e=>({model:e,score:we({name:e.name,...e.shortName?{shortName:e.shortName}:{},...e.subProvider?{subProvider:e.subProvider}:{},driverKind:e.driverKind,providerDisplayName:e.instanceDisplayName,isFavorite:L.has(l(e.instanceId,e.slug))},d),isFavorite:L.has(l(e.instanceId,e.slug)),tieBreaker:Ce({name:e.name,...e.shortName?{shortName:e.shortName}:{},...e.subProvider?{subProvider:e.subProvider}:{},driverKind:e.driverKind,providerDisplayName:e.instanceDisplayName})})).filter(Me);if(e.lockedProvider!==null){he=n.filter(e=>B(e.model)).toSorted(Ne).map(Pe);break bb0}he=n.toSorted(Fe).map(Ie);break bb0}e.lockedProvider===null?t=T===`favorites`?t.filter(e=>L.has(l(e.instanceId,e.slug))):t.filter(e=>e.instanceId===T):(t=t.filter(e=>B(e)),Y&&(t=t.filter(e=>e.instanceId===T))),he=s(t,{favoriteModelKeys:L,groupFavorites:T!==`favorites`,instanceOrder:T===`favorites`?X:[]})}t[31]=L,t[32]=K,t[33]=X,t[34]=B,t[35]=e.lockedProvider,t[36]=d,t[37]=T,t[38]=Y,t[39]=he}else he=t[39];let Z=he,ge;t[40]!==R||t[41]!==i||t[42]!==u?(ge=(e,t)=>{let n=i.get(t);if(!n)return;let r=R.get(t);if(!r)return;let a=c(r.driverKind,e,n);a&&u(t,a)},t[40]=R,t[41]=i,t[42]=u,t[43]=ge):ge=t[43];let Q=ge,_e;t[44]!==S||t[45]!==M?(_e=(e,t)=>{let n=[...S],r=n.findIndex(n=>n.provider===e&&n.model===t);r>=0?n.splice(r,1):n.push({provider:e,model:t}),M({favorites:n})},t[44]=S,t[45]=M,t[46]=_e):_e=t[46];let ve=_e,ye=q&&e.lockedProvider?P[e.lockedProvider]:null,be;if(t[47]!==o||t[48]!==q||t[49]!==B||t[50]!==e.activeInstanceId||t[51]!==e.lockedProvider){bb1:{if(!q||!e.lockedProvider){be=null;break bb1}let n;t[53]===B?n=t[54]:(n=e=>B(e),t[53]=B,t[54]=n);let r=o.filter(n);if(r.length===0){be=null;break bb1}let i;t[55]===e.activeInstanceId?i=t[56]:(i=t=>t.instanceId===e.activeInstanceId,t[55]=e.activeInstanceId,t[56]=i),be=(r.find(i)??r[0])?.displayName??null}t[47]=o,t[48]=q,t[49]=B,t[50]=e.activeInstanceId,t[51]=e.lockedProvider,t[52]=be}else be=t[52];let xe=be,Se;if(t[57]!==Z){bb2:{let e=new Map;for(let[t,n]of Z.entries()){let r=x(t);if(!r){Se=e;break bb2}e.set(`${n.instanceId}:${n.slug}`,r)}Se=e}t[57]=Z,t[58]=Se}else Se=t[58];let De=Se,He;t[59]===De?He=t[60]:(He=[...De.keys()],t[59]=De,t[60]=He);let Ue=He,We;t[61]===K?We=t[62]:(We=K.map(Le),t[61]=K,t[62]=We);let Ge=We,Ke;t[63]===Z?Ke=t[64]:(Ke=Z.map(Re),t[63]=Z,t[64]=Ke);let $=Ke,qe;t[65]===Z?qe=t[66]:(qe=new Map(Z.map(ze)),t[65]=Z,t[66]=qe);let Je=qe,Ye;t[67]===e.terminalOpen?Ye=t[68]:(Ye={terminalFocus:!1,terminalOpen:e.terminalOpen,modelPickerOpen:!0},t[67]=e.terminalOpen,t[68]=Ye);let Xe=Ye,Ze;bb3:{if(De.size===0){Ze=Te;break bb3}let e;if(t[69]!==A||t[70]!==De||t[71]!==Xe){let n={platform:navigator.platform,context:Xe};e=new Map;for(let[t,r]of De){let i=v(A,r,n);i&&e.set(t,i)}t[69]=A,t[70]=De,t[71]=Xe,t[72]=e}else e=t[72];Ze=e.size>0?e:Te}let Qe=Ze,$e,et;t[73]!==Q||t[74]!==A||t[75]!==Ue||t[76]!==Xe?($e=()=>{let e=e=>{if(e.defaultPrevented||e.repeat)return;let t=y(e,A,{platform:navigator.platform,context:Xe}),n=b(t??``);if(n===null)return;let r=Ue[n];if(!r)return;let{instanceId:i,slug:a}=Ee(r);e.preventDefault(),e.stopPropagation(),Q(a,i)};return window.addEventListener(`keydown`,e,!0),()=>{window.removeEventListener(`keydown`,e,!0)}},et=[Q,A,Ue,Xe],t[73]=Q,t[74]=A,t[75]=Ue,t[76]=Xe,t[77]=$e,t[78]=et):($e=t[77],et=t[78]),(0,U.useEffect)($e,et);let tt;t[79]===Symbol.for(`react.memo_cache_sentinel`)?(tt=()=>{let e=m.current;if(!e)return;let t=!1,n=0,r=0,i=0,a=()=>{if(t)return;let n=e.querySelector(`[data-slot="scroll-area-viewport"]`);if(!n||n.scrollHeight<=n.clientHeight)return;let r=n.scrollTop,i=n.scrollHeight-n.clientHeight;i<=0||(n.scrollTop=Math.min(r+1,i),n.scrollTop=r)};return queueMicrotask(a),n=window.requestAnimationFrame(()=>{a(),r=window.requestAnimationFrame(a)}),i=window.setTimeout(a,0),()=>{t=!0,window.cancelAnimationFrame(n),window.cancelAnimationFrame(r),window.clearTimeout(i)}},t[79]=tt):tt=t[79];let nt;t[80]===$?nt=t[81]:(nt=[$],t[80]=$,t[81]=nt),(0,U.useLayoutEffect)(tt,nt);let rt=q&&!Y?`flex-col`:`flex-row`,it;t[82]===rt?it=t[83]:(it=_(`selection-glass-surface relative flex h-screen max-h-96 w-screen max-w-100 overflow-hidden rounded-lg border text-popover-foreground`,rt),t[82]=rt,t[83]=it);let at;t[84]!==ye||t[85]!==q||t[86]!==xe||t[87]!==Y?(at=q&&!Y&&ye&&xe&&(0,W.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b`,children:[(0,W.jsx)(ye,{className:`size-5 shrink-0`}),(0,W.jsx)(`span`,{className:`font-medium text-sm`,children:xe})]}),t[84]=ye,t[85]=q,t[86]=xe,t[87]=Y,t[88]=at):at=t[88];let ot;t[89]!==q||t[90]!==T||t[91]!==de||t[92]!==fe?(ot=de&&(0,W.jsx)(me,{selectedInstanceId:T,onSelectInstance:te,instanceEntries:fe,showFavorites:!q,showComingSoon:!q}),t[89]=q,t[90]=T,t[91]=de,t[92]=fe,t[93]=ot):ot=t[93];let st=`${e.activeInstanceId}:${e.model}`,ct;t[94]===Symbol.for(`react.memo_cache_sentinel`)?(ct=e=>{g.current=typeof e==`string`?e:null},t[94]=ct):ct=t[94];let lt;t[95]===Q?lt=t[96]:(lt=e=>{if(typeof e!=`string`)return;let{instanceId:t,slug:n}=Ee(e);Q(n,t)},t[95]=Q,t[96]=lt);let ut=q&&!Y?`min-w-0`:de&&`border-l`,dt;t[97]===ut?dt=t[98]:(dt=_(`flex min-h-0 flex-1 flex-col overflow-hidden`,ut),t[97]=ut,t[98]=dt);let ft;t[99]===Symbol.for(`react.memo_cache_sentinel`)?(ft=(0,W.jsx)(h,{className:`size-4 shrink-0 text-muted-foreground/50`}),t[99]=ft):ft=t[99];let pt;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(pt=e=>f(e.target.value),t[100]=pt):pt=t[100];let mt;t[101]!==Q||t[102]!==e?(mt=t=>{if(t.key===`Escape`){t.preventDefault(),t.stopPropagation(),e.onRequestClose?.();return}if(t.key===`Enter`&&g.current){t.preventBaseUIHandler?.(),t.preventDefault(),t.stopPropagation();let{instanceId:e,slug:n}=Ee(g.current);Q(n,e);return}t.stopPropagation()},t[101]=Q,t[102]=e,t[103]=mt):mt=t[103];let ht;t[104]!==d||t[105]!==mt?(ht=(0,W.jsx)(`div`,{className:`border-b px-3 py-2`,children:(0,W.jsx)(N,{ref:p,className:`[&_input]:font-sans rounded-md`,inputClassName:`border-0 shadow-none ring-0 focus-visible:ring-0`,placeholder:`Search models...`,showTrigger:!1,startAddon:ft,value:d,onChange:pt,onKeyDown:mt,onMouseDown:Be,onTouchStart:Ve,size:`sm`})}),t[104]=d,t[105]=mt,t[106]=ht):ht=t[106];let gt;if(t[107]!==L||t[108]!==Je||t[109]!==$||t[110]!==q||t[111]!==Qe||t[112]!==Y||t[113]!==ve){let e;t[115]!==L||t[116]!==Je||t[117]!==q||t[118]!==Qe||t[119]!==Y||t[120]!==ve?(e=(e,t)=>{let n=Je.get(e);return n?(0,W.jsx)(se,{index:t,model:n,instanceId:n.instanceId,driverKind:n.driverKind,providerDisplayName:n.instanceDisplayName,providerAccentColor:n.instanceAccentColor,isFavorite:L.has(e),showProvider:!q||Y,preferShortName:!q,useTriggerLabel:q&&!Y,jumpLabel:Qe.get(e)??null,onToggleFavorite:()=>ve(n.instanceId,n.slug)},e):null},t[115]=L,t[116]=Je,t[117]=q,t[118]=Qe,t[119]=Y,t[120]=ve,t[121]=e):e=t[121],gt=$.map(e),t[107]=L,t[108]=Je,t[109]=$,t[110]=q,t[111]=Qe,t[112]=Y,t[113]=ve,t[114]=gt}else gt=t[114];let _t;t[122]===gt?_t=t[123]:(_t=(0,W.jsx)(`div`,{ref:m,className:`relative min-h-0 flex-1 before:pointer-events-none before:absolute before:inset-0 before:bg-muted/40`,children:(0,W.jsx)(k,{className:`model-picker-list size-full divide-y px-2 py-1`,children:gt})}),t[122]=gt,t[123]=_t);let vt;t[124]===Symbol.for(`react.memo_cache_sentinel`)?(vt=(0,W.jsx)(j,{className:`not-empty:py-6 empty:h-0 text-xs font-normal leading-snug`,children:`No models found`}),t[124]=vt):vt=t[124];let yt;t[125]!==dt||t[126]!==ht||t[127]!==_t?(yt=(0,W.jsxs)(`div`,{className:dt,children:[ht,_t,vt]}),t[125]=dt,t[126]=ht,t[127]=_t,t[128]=yt):yt=t[128];let bt;t[129]!==Ge||t[130]!==$||t[131]!==st||t[132]!==lt||t[133]!==yt?(bt=(0,W.jsx)(E,{inline:!0,items:Ge,filteredItems:$,filter:null,autoHighlight:!0,open:!0,value:st,onItemHighlighted:ct,onValueChange:lt,children:yt}),t[129]=Ge,t[130]=$,t[131]=st,t[132]=lt,t[133]=yt,t[134]=bt):bt=t[134];let xt;return t[135]!==it||t[136]!==at||t[137]!==ot||t[138]!==bt?(xt=(0,W.jsx)(w,{delay:0,children:(0,W.jsxs)(`div`,{className:it,children:[at,ot,bt]})}),t[135]=it,t[136]=at,t[137]=ot,t[138]=bt,t[139]=xt):xt=t[139],xt});function Oe(e){return e.favorites??[]}function ke(e){return l(e.provider,e.model)}function Ae(e){return[e.instanceId,e]}function je(e){return e.instanceId}function Me(e){return e.score!==null}function Ne(e,t){let n=e.score-t.score;return n===0?e.isFavorite===t.isFavorite?e.tieBreaker.localeCompare(t.tieBreaker):e.isFavorite?-1:1:n}function Pe(e){return e.model}function Fe(e,t){let n=e.score-t.score;return n===0?e.isFavorite===t.isFavorite?e.tieBreaker.localeCompare(t.tieBreaker):e.isFavorite?-1:1:n}function Ie(e){return e.model}function Le(e){return`${e.instanceId}:${e.slug}`}function Re(e){return`${e.instanceId}:${e.slug}`}function ze(e){return[`${e.instanceId}:${e.slug}`,e]}function Be(e){return e.stopPropagation()}function Ve(e){return e.stopPropagation()}function He(e){let t=(0,oe.c)(33),{open:n,onOpenChange:r,label:i,title:a,groups:o,search:s,detent:c,disabled:l,disabledReason:u,emptyText:d,onSelect:f,className:p}=e,m=c===void 0?`medium`:c,g=l!==void 0&&l,v=d===void 0?`No options`:d,[y,b]=(0,U.useState)(m),[x,S]=(0,U.useState)(n);x!==n&&(S(n),n||b(m));let C;t[0]!==g||t[1]!==u?(C=g&&u?ae(u):null,t[0]=g,t[1]=u,t[2]=C):C=t[2];let w=C,T;t[3]===o?T=t[4]:(T=o.some(Ue),t[3]=o,t[4]=T);let E=T,D=a??i,O;t[5]===D?O=t[6]:(O=(0,W.jsx)(R,{children:(0,W.jsx)(z,{children:D})}),t[5]=D,t[6]=O);let k;t[7]===w?k=t[8]:(k=w?(0,W.jsx)(`p`,{className:`shrink-0 px-4 pb-2 text-muted-foreground text-xs`,"data-slot":`mobile-select-sheet-reason`,children:w}):null,t[7]=w,t[8]=k);let A;t[9]!==g||t[10]!==s?(A=s?(0,W.jsx)(`div`,{className:`shrink-0 px-4 pb-2`,"data-slot":`mobile-select-sheet-search`,children:(0,W.jsxs)(`label`,{className:`flex min-h-11 items-center gap-2 rounded-md border bg-background/60 px-3`,children:[(0,W.jsx)(h,{"aria-hidden":!0,className:`size-4 shrink-0 text-muted-foreground/60`}),(0,W.jsx)(`span`,{className:`sr-only`,children:s.placeholder}),(0,W.jsx)(`input`,{type:`search`,className:`min-w-0 flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground/60`,disabled:g,placeholder:s.placeholder,value:s.value,onChange:e=>s.onChange(e.target.value),onFocus:()=>b(`large`)})]})}):null,t[9]=g,t[10]=s,t[11]=A):A=t[11];let j;t[12]!==g||t[13]!==u||t[14]!==v||t[15]!==o||t[16]!==E||t[17]!==f?(j=E?o.map(e=>e.options.length===0?null:(0,W.jsxs)(`div`,{"data-slot":`mobile-select-sheet-group`,children:[e.label?(0,W.jsx)(`div`,{className:`px-2 pt-2 pb-1 font-medium text-muted-foreground text-xs`,"data-slot":`mobile-select-sheet-group-label`,children:e.label}):null,e.options.map(e=>{let t=g||(e.disabled??!1),n=g?u??void 0:e.disabledReason,r=(0,W.jsx)(B,{label:e.label,icon:e.icon,secondaryText:e.secondaryText,trailing:e.trailing,selected:e.selected??!1,disabled:t,disabledReason:n,className:e.action?`min-w-0 flex-1`:void 0,onClick:()=>{g||f(e.id)}});return e.action?(0,W.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[r,(0,W.jsx)(`button`,{type:`button`,"aria-label":e.action.label,"aria-pressed":e.action.pressed,disabled:t,className:_(`flex min-h-11 min-w-11 shrink-0 items-center justify-center rounded-md text-muted-foreground`,`hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,`disabled:pointer-events-none disabled:text-muted-foreground/60`),"data-slot":`mobile-select-sheet-option-action`,onClick:e.action.onSelect,children:e.action.icon})]},e.id):(0,W.jsx)(`div`,{className:`min-w-0`,children:r},e.id)})]},e.id)):(0,W.jsx)(`p`,{className:`px-2 py-6 text-center text-muted-foreground text-sm`,children:v}),t[12]=g,t[13]=u,t[14]=v,t[15]=o,t[16]=E,t[17]=f,t[18]=j):j=t[18];let M;t[19]!==i||t[20]!==j?(M=(0,W.jsx)(L,{children:(0,W.jsx)(`div`,{role:`group`,"aria-label":i,className:`space-y-0.5`,"data-slot":`mobile-select-sheet-list`,children:j})}),t[19]=i,t[20]=j,t[21]=M):M=t[21];let N;return t[22]!==y||t[23]!==p||t[24]!==m||t[25]!==i||t[26]!==r||t[27]!==n||t[28]!==M||t[29]!==O||t[30]!==k||t[31]!==A?(N=(0,W.jsxs)(V,{open:n,onOpenChange:r,label:i,detent:m,activeDetent:y,onDetentChange:b,className:p,children:[O,k,A,M]}),t[22]=y,t[23]=p,t[24]=m,t[25]=i,t[26]=r,t[27]=n,t[28]=M,t[29]=O,t[30]=k,t[31]=A,t[32]=N):N=t[32],N}function Ue(e){return e.options.length>0}var We=`favorites`;function Ge(e,t,n){return t===null?!0:e.driverKind===t?!n||e.continuationGroupKey===n:!1}function Ke(e){let t=new Map(e.instanceEntries.map(e=>[e.instanceId,e])),n=l(e.activeInstanceId,e.model),r=t=>{let r=l(t.instanceId,t.slug);return{key:r,instanceId:t.instanceId,slug:t.slug,label:A(t,{preferShortName:e.lockedProvider===null}),providerLabel:t.subProvider?`${t.providerDisplayName} · ${t.subProvider}`:t.providerDisplayName,isFavorite:e.favoriteKeys.has(r),isSelected:r===n}},i=[];for(let[n,r]of e.modelOptionsByInstance){let a=t.get(n);if(!(!a||a.status!==`ready`)&&Ge(a,e.lockedProvider,e.lockedContinuationGroupKey))for(let e of r)i.push({...e,instanceId:n,driverKind:a.driverKind,providerDisplayName:a.displayName})}let a=e.searchQuery.trim();if(a.length>0){let t=i.map(t=>({model:t,score:we({name:t.name,...t.shortName?{shortName:t.shortName}:{},...t.subProvider?{subProvider:t.subProvider}:{},driverKind:t.driverKind,providerDisplayName:t.providerDisplayName,isFavorite:e.favoriteKeys.has(l(t.instanceId,t.slug))},a),isFavorite:e.favoriteKeys.has(l(t.instanceId,t.slug)),tieBreaker:Ce({name:t.name,...t.shortName?{shortName:t.shortName}:{},...t.subProvider?{subProvider:t.subProvider}:{},driverKind:t.driverKind,providerDisplayName:t.providerDisplayName})})).filter(e=>e.score!==null).toSorted((e,t)=>{let n=e.score-t.score;return n===0?e.isFavorite===t.isFavorite?e.tieBreaker.localeCompare(t.tieBreaker):e.isFavorite?-1:1:n}).map(e=>r(e.model));return t.length===0?[]:[{id:`results`,label:`Results`,items:t}]}let o=[],c=i.filter(t=>e.favoriteKeys.has(l(t.instanceId,t.slug)));c.length>0&&o.push({id:We,label:`Favorites`,items:s(c,{instanceOrder:e.instanceEntries.map(e=>e.instanceId)}).map(r)});for(let t of e.instanceEntries){let n=i.filter(n=>n.instanceId===t.instanceId&&!e.favoriteKeys.has(l(n.instanceId,n.slug)));n.length!==0&&o.push({id:t.instanceId,label:t.displayName,items:n.map(r)})}return o}var $=(0,U.memo)(function(e){let t=(0,oe.c)(38),[n,i]=(0,U.useState)(``),o=a(qe),{updateSettings:s}=r(),c;t[0]===o?c=t[1]:(c=new Set(o.map(Je)),t[0]=o,t[1]=c);let l=c,u;t[2]!==o||t[3]!==s?(u=(e,t)=>{let n=[...o],r=n.findIndex(n=>n.provider===e&&n.model===t);r>=0?n.splice(r,1):n.push({provider:e,model:t}),s({favorites:n})},t[2]=o,t[3]=s,t[4]=u):u=t[4];let f=u,p;t[5]!==l||t[6]!==e.activeInstanceId||t[7]!==e.instanceEntries||t[8]!==e.lockedContinuationGroupKey||t[9]!==e.lockedProvider||t[10]!==e.model||t[11]!==e.modelOptionsByInstance||t[12]!==n?(p=Ke({instanceEntries:e.instanceEntries,modelOptionsByInstance:e.modelOptionsByInstance,favoriteKeys:l,searchQuery:n,lockedProvider:e.lockedProvider,lockedContinuationGroupKey:e.lockedContinuationGroupKey,activeInstanceId:e.activeInstanceId,model:e.model}),t[5]=l,t[6]=e.activeInstanceId,t[7]=e.instanceEntries,t[8]=e.lockedContinuationGroupKey,t[9]=e.lockedProvider,t[10]=e.model,t[11]=e.modelOptionsByInstance,t[12]=n,t[13]=p):p=t[13];let m=p,h;t[14]===m?h=t[15]:(h=new Map(m.flatMap(Xe)),t[14]=m,t[15]=h);let g=h,_;if(t[16]!==m||t[17]!==f){let e;t[19]===f?e=t[20]:(e=e=>({id:e.id,label:e.label,options:e.items.map(e=>({id:e.key,label:e.label,secondaryText:e.providerLabel,selected:e.isSelected,...e.isSelected?{trailing:(0,W.jsx)(d,{"aria-hidden":!0,className:`size-4 shrink-0`})}:{},action:{label:e.isFavorite?`Remove from favorites`:`Add to favorites`,pressed:e.isFavorite,icon:(0,W.jsx)(H,{"aria-hidden":!0,className:e.isFavorite?`size-4 fill-current text-yellow-500`:`size-4`}),onSelect:()=>f(e.instanceId,e.slug)}}))}),t[19]=f,t[20]=e),_=m.map(e),t[16]=m,t[17]=f,t[18]=_}else _=t[18];let v=_,y;t[21]===e?y=t[22]:(y=t=>{t||i(``),e.onOpenChange(t)},t[21]=e,t[22]=y);let b;t[23]===n?b=t[24]:(b={value:n,placeholder:`Search models`,onChange:i},t[23]=n,t[24]=b);let x=e.disabled??!1,S;t[25]===e.disabledReason?S=t[26]:(S=e.disabledReason?{disabledReason:e.disabledReason}:{},t[25]=e.disabledReason,t[26]=S);let C;t[27]!==g||t[28]!==e?(C=t=>{let n=g.get(t);n&&(e.onInstanceModelChange(n.instanceId,n.slug),i(``),e.onOpenChange(!1))},t[27]=g,t[28]=e,t[29]=C):C=t[29];let w;return t[30]!==v||t[31]!==e.open||t[32]!==y||t[33]!==b||t[34]!==x||t[35]!==S||t[36]!==C?(w=(0,W.jsx)(He,{open:e.open,onOpenChange:y,label:`Model`,detent:`medium`,search:b,groups:v,emptyText:`No models found`,disabled:x,...S,onSelect:C}),t[30]=v,t[31]=e.open,t[32]=y,t[33]=b,t[34]=x,t[35]=S,t[36]=C,t[37]=w):w=t[37],w});function qe(e){return e.favorites??[]}function Je(e){return l(e.provider,e.model)}function Ye(e){return[e.key,e]}function Xe(e){return e.items.map(Ye)}var Ze=(0,U.memo)(function(e){let t=(0,oe.c)(128),[n,r]=(0,U.useState)(!1),a=e.open??n,o=te()===`phone`,s=(e.phoneSheet??!1)&&o,c;t[0]!==e.activeInstanceId||t[1]!==e.instanceEntries?(c=e.instanceEntries.find(t=>t.instanceId===e.activeInstanceId)??null,t[0]=e.activeInstanceId,t[1]=e.instanceEntries,t[2]=c):c=t[2];let l=c,u=e.activeInstanceId,d,p,m;if(t[3]!==u||t[4]!==e.model||t[5]!==e.modelOptionsByInstance){let n=e.modelOptionsByInstance.get(u)??[],r=n.find(t=>t.slug===e.model)??n[0];m=r?O(r):e.model,p=r?.isUnavailable?`Unavailable`:r?.subProvider,d=r?M(r):e.model,t[3]=u,t[4]=e.model,t[5]=e.modelOptionsByInstance,t[6]=d,t[7]=p,t[8]=m}else d=t[6],p=t[7],m=t[8];let h=d,g;if(t[9]!==l||t[10]!==e.instanceEntries){let n;t[12]===l?n=t[13]:(n=e=>l!==null&&e.driverKind===l.driverKind,t[12]=l,t[13]=n),g=e.instanceEntries.filter(n),t[9]=l,t[10]=e.instanceEntries,t[11]=g}else g=t[11];let v=g.length,y=!!l?.accentColor||v>1,b;t[14]===e?b=t[15]:(b=t=>{e.onOpenChange?.(t),e.open===void 0&&r(t)},t[14]=e,t[15]=b);let x=b,w,E;t[16]===a?(w=t[17],E=t[18]):(w=()=>(i(a),Qe),E=[a],t[16]=a,t[17]=w,t[18]=E),(0,U.useEffect)(w,E);let D;t[19]!==e||t[20]!==x?(D=(t,n)=>{e.disabled||(e.onInstanceModelChange(t,n),x(!1))},t[19]=e,t[20]=x,t[21]=D):D=t[21];let k=D,A;t[22]!==e.disabled||t[23]!==e.disabledReason?(A=e.disabled&&e.disabledReason?ae(e.disabledReason):void 0,t[22]=e.disabled,t[23]=e.disabledReason,t[24]=A):A=t[24];let j=A,N,P,F;if(t[25]!==l||t[26]!==u||t[27]!==j||t[28]!==k||t[29]!==a||t[30]!==e.activeProviderIconClassName||t[31]!==e.compact||t[32]!==e.disabled||t[33]!==e.disabledReason||t[34]!==e.instanceEntries||t[35]!==e.lockedContinuationGroupKey||t[36]!==e.lockedProvider||t[37]!==e.model||t[38]!==e.modelOptionsByInstance||t[39]!==e.triggerClassName||t[40]!==e.triggerSize||t[41]!==e.triggerVariant||t[42]!==x||t[43]!==y||t[44]!==h||t[45]!==p||t[46]!==m||t[47]!==s){N=Symbol.for(`react.early_return_sentinel`);bb0:{P=_(`min-w-0 justify-start overflow-hidden whitespace-nowrap px-1.5 text-muted-foreground/70 hover:text-foreground/80 [&_svg]:mx-0`,e.compact?`max-w-38 shrink-0 sm:max-w-40`:`max-w-44 shrink sm:max-w-52 sm:px-2`,e.triggerClassName);let n=e.compact?`max-w-34 sm:pl-0.5`:void 0,r;t[51]===n?r=t[52]:(r=_(`flex min-w-0 w-full box-border items-center gap-1.5 overflow-hidden`,n),t[51]=n,t[52]=r);let i;t[53]!==l||t[54]!==e.activeProviderIconClassName||t[55]!==y?(i=l?(0,W.jsx)(q,{driverKind:l.driverKind,displayName:l.displayName,accentColor:l.accentColor,showBadge:y,className:y?`size-5`:`size-4`,iconClassName:_(`size-4`,e.activeProviderIconClassName),badgeClassName:`right-[-0.125rem] bottom-[-0.125rem] h-3 min-w-3 text-[7px]`}):null,t[53]=l,t[54]=e.activeProviderIconClassName,t[55]=y,t[56]=i):i=t[56];let o=p?`grid grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-1`:`truncate`,c;t[57]===o?c=t[58]:(c=_(`min-w-0 flex-1 overflow-hidden`,o),t[57]=o,t[58]=c);let d;t[59]===c?d=t[60]:(d=(0,W.jsx)(`span`,{className:c}),t[59]=c,t[60]=d);let g;t[61]!==p||t[62]!==m?(g=p?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`min-w-0 truncate`,children:p}),(0,W.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-60`,children:`·`}),(0,W.jsx)(`span`,{className:`min-w-0 truncate`,children:m})]}):m,t[61]=p,t[62]=m,t[63]=g):g=t[63];let v;t[64]!==d||t[65]!==g?(v=(0,W.jsx)(S,{render:d,children:g}),t[64]=d,t[65]=g,t[66]=v):v=t[66];let b;t[67]===h?b=t[68]:(b=(0,W.jsx)(C,{side:`top`,children:h}),t[67]=h,t[68]=b);let w;t[69]!==v||t[70]!==b?(w=(0,W.jsxs)(T,{children:[v,b]}),t[69]=v,t[70]=b,t[71]=w):w=t[71];let E;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,W.jsx)(f,{"aria-hidden":`true`,className:`size-3 shrink-0 opacity-60`}),t[72]=E):E=t[72];let D;if(t[73]!==r||t[74]!==i||t[75]!==w?(D=(0,W.jsxs)(`span`,{className:r,children:[i,w,E]}),t[73]=r,t[74]=i,t[75]=w,t[76]=D):D=t[76],F=D,s){let n;t[77]===x?n=t[78]:(n=()=>x(!0),t[77]=x,t[78]=n);let r=(0,W.jsx)(ee,{size:e.triggerSize??`sm`,variant:e.triggerVariant??`ghost`,"data-chat-provider-model-picker":`true`,className:_(P,`min-h-11 min-w-11`),disabled:e.disabled,title:j,onClick:n,children:F}),i=e.lockedContinuationGroupKey??null,o=e.disabled??!1,s;t[79]===e.disabledReason?s=t[80]:(s=e.disabledReason?{disabledReason:e.disabledReason}:{},t[79]=e.disabledReason,t[80]=s);let c;t[81]!==u||t[82]!==k||t[83]!==a||t[84]!==e.instanceEntries||t[85]!==e.lockedProvider||t[86]!==e.model||t[87]!==e.modelOptionsByInstance||t[88]!==x||t[89]!==i||t[90]!==o||t[91]!==s?(c=(0,W.jsx)($,{open:a,onOpenChange:x,activeInstanceId:u,model:e.model,lockedProvider:e.lockedProvider,lockedContinuationGroupKey:i,instanceEntries:e.instanceEntries,modelOptionsByInstance:e.modelOptionsByInstance,disabled:o,...s,onInstanceModelChange:k}),t[81]=u,t[82]=k,t[83]=a,t[84]=e.instanceEntries,t[85]=e.lockedProvider,t[86]=e.model,t[87]=e.modelOptionsByInstance,t[88]=x,t[89]=i,t[90]=o,t[91]=s,t[92]=c):c=t[92];let l;t[93]!==r||t[94]!==c?(l=(0,W.jsxs)(W.Fragment,{children:[r,c]}),t[93]=r,t[94]=c,t[95]=l):l=t[95],N=l;break bb0}}t[25]=l,t[26]=u,t[27]=j,t[28]=k,t[29]=a,t[30]=e.activeProviderIconClassName,t[31]=e.compact,t[32]=e.disabled,t[33]=e.disabledReason,t[34]=e.instanceEntries,t[35]=e.lockedContinuationGroupKey,t[36]=e.lockedProvider,t[37]=e.model,t[38]=e.modelOptionsByInstance,t[39]=e.triggerClassName,t[40]=e.triggerSize,t[41]=e.triggerVariant,t[42]=x,t[43]=y,t[44]=h,t[45]=p,t[46]=m,t[47]=s,t[48]=N,t[49]=P,t[50]=F}else N=t[48],P=t[49],F=t[50];if(N!==Symbol.for(`react.early_return_sentinel`))return N;let I;t[96]!==e.disabled||t[97]!==x?(I=t=>{if(e.disabled){x(!1);return}x(t)},t[96]=e.disabled,t[97]=x,t[98]=I):I=t[98];let L=e.triggerSize??`sm`,R=e.triggerVariant??`ghost`,z;t[99]!==j||t[100]!==e.disabled||t[101]!==L||t[102]!==R||t[103]!==P?(z=(0,W.jsx)(ee,{size:L,variant:R,"data-chat-provider-model-picker":`true`,className:P,disabled:e.disabled,title:j}),t[99]=j,t[100]=e.disabled,t[101]=L,t[102]=R,t[103]=P,t[104]=z):z=t[104];let B;t[105]!==z||t[106]!==F?(B=(0,W.jsx)(re,{render:z,children:F}),t[105]=z,t[106]=F,t[107]=B):B=t[107];let V=e.lockedContinuationGroupKey??null,H;t[108]===e.keybindings?H=t[109]:(H=e.keybindings?{keybindings:e.keybindings}:{},t[108]=e.keybindings,t[109]=H);let se=e.terminalOpen??!1,G;t[110]===x?G=t[111]:(G=()=>x(!1),t[110]=x,t[111]=G);let K;t[112]!==u||t[113]!==k||t[114]!==e.instanceEntries||t[115]!==e.lockedProvider||t[116]!==e.model||t[117]!==e.modelOptionsByInstance||t[118]!==V||t[119]!==H||t[120]!==se||t[121]!==G?(K=(0,W.jsx)(ne,{align:`start`,className:`border-0 bg-transparent p-0 shadow-none before:hidden [--viewport-inline-padding:0] *:data-[slot=popover-viewport]:p-0`,children:(0,W.jsx)(De,{activeInstanceId:u,model:e.model,lockedProvider:e.lockedProvider,lockedContinuationGroupKey:V,instanceEntries:e.instanceEntries,...H,modelOptionsByInstance:e.modelOptionsByInstance,terminalOpen:se,onRequestClose:G,onInstanceModelChange:k})}),t[112]=u,t[113]=k,t[114]=e.instanceEntries,t[115]=e.lockedProvider,t[116]=e.model,t[117]=e.modelOptionsByInstance,t[118]=V,t[119]=H,t[120]=se,t[121]=G,t[122]=K):K=t[122];let J;return t[123]!==a||t[124]!==B||t[125]!==K||t[126]!==I?(J=(0,W.jsxs)(ie,{open:a,onOpenChange:I,children:[B,K]}),t[123]=a,t[124]=B,t[125]=K,t[126]=I,t[127]=J):J=t[127],J});function Qe(){i(!1)}export{q as a,Q as i,ye as n,H as o,X as r,Ze as t};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{Hi as r,T as i,Ui as a,ct as o,ki as s,lt as c,st as l,t as u,ut as d,xl as f}from"./src-Blzsn4sO.js";import{Bn as p,Sn as m,Zn as h,gn as g,qn as _,xn as v,zn as y}from"./runtime-DRPzstwF.js";import{X as b}from"./primary-AnB-Zuft.js";import{Ct as x,G as S,It as C,J as w,U as T,V as E,X as D,jt as ee,q as O}from"./composerDraftStore-czbuHgbM.js";import{f as te}from"./useRenderElement-DchFnsR8.js";import{n as k,t as ne}from"./arrow-up-CTcWIlqV.js";import{n as A}from"./loader-circle-CrtHFAvM.js";import{a as re,i as ie}from"./toast-D7IDKuLa.js";import{t as ae}from"./copy-UQjKGt7t.js";import{t as j}from"./download-CQZ-m4zW.js";import{t as oe}from"./eye-CUSPj-gd.js";import{t as se}from"./loader-zHASMrUy.js";import{t as ce}from"./plus-B2h-VEqh.js";import{t as le}from"./refresh-cw-DopCMrtR.js";import{a as M,o as ue,t as de}from"./ProviderModelPicker-Ch69G0-0.js";import{t as N}from"./trash-2-CM1zXPGb.js";import{t as fe}from"./x-C1Cemsov.js";import{t as P}from"./utils-Dz7wQZDk.js";import{r as F}from"./timestampFormat-8uPXS812.js";import{i as pe,n as me,t as he}from"./tooltip-c9oahm_e.js";import{c as I,d as L,i as ge,l as R,n as z,t as B,u as V}from"./radio-group-DQahlnSi.js";import{t as H}from"./switch-CIMwetO3.js";import{t as _e}from"./input-pu0UXdN_.js";import{l as U,t as ve,y as ye}from"./Icons-uMh1k5C0.js";import{t as W}from"./button-CBqaO2Ub.js";import{t as be}from"./useCopyToClipboard-BTpWxumf.js";import{t as xe}from"./toastHelpers-CSQRKo4F.js";import{t as Se}from"./capabilities-Cj8jXZOW.js";import{a as Ce,c as we,i as Te,r as G,s as Ee,t as De}from"./dialog-Csp7hsmq.js";import{t as K}from"./textarea-C0_BLJbT.js";import{a as Oe,i as ke,n as Ae,o as je,r as Me,s as Ne,t as Pe}from"./alert-dialog-Cb2TnXzy.js";import{n as Fe,r as q,t as Ie}from"./popover-z5hURYff.js";import{t as Le}from"./badge-Cil0isYQ.js";import"./providerInstances-CMy-5cGE.js";import{d as Re,t as ze,u as Be}from"./ProviderUpdateLaunchNotification.logic-D3qYdp40.js";import{a as Ve,i as He,n as Ue,r as We,t as Ge}from"./settingsLayout-zwP6p5aD.js";import{t as J}from"./AnimatedHeight-CM_Eh6tz.js";import{n as Ke,r as qe,t as Y}from"./providerDriverMeta-C9M8tUrj.js";import{t as Je}from"./draft-input-COB-ymgx.js";import{t as X}from"./RedactedSensitiveText-BORE69Ig.js";var Ye=te(`circle-arrow-up`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]]),Xe=te(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Z=e(t(),1),Ze=n(),Q=C();function Qe(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[-_]+/g,` `).replace(/^./,e=>e.toUpperCase())}function $e(e){return a(e)??r(e)}function et(e,t){let n=$e(e)?.[t];return typeof n==`string`?n:void 0}function tt(e){return $e(e)?.providerSettingsForm??{}}function nt(e){return r(e.settingsSchema)?.providerSettingsFormSchema??{}}function rt(e){try{let t=s(e)(void 0);return typeof t==`boolean`?t:void 0}catch{return}}function it(e){let t=nt(e),n=new Map((t.order??[]).map((e,t)=>[e,t])),r=n.size;return Object.keys(e.settingsSchema.fields).map((e,t)=>({key:e,index:t})).toSorted((e,t)=>(n.get(e.key)??r+e.index)-(n.get(t.key)??r+t.index)).flatMap(({key:t})=>{let n=e.settingsSchema.fields[t],r=tt(n);if(r.hidden)return[];let i=et(n,`title`),a=et(n,`description`);return[{key:t,control:r.control??`text`,label:i??Qe(t),...a===void 0?{}:{description:a},...r.placeholder===void 0?{}:{placeholder:r.placeholder},clearWhenEmpty:r.clearWhenEmpty??`omit`,...r.control===`switch`?{defaultBooleanValue:rt(n)}:{}}]})}function at(e,t){if(typeof e!=`object`||!e)return``;let n=e[t];return typeof n==`string`?n:``}function ot(e,t,n=!1){if(typeof e!=`object`||!e)return n;let r=e[t];return typeof r==`boolean`?r:n}function $(e,t,n){let r=typeof e==`object`&&e?{...e}:{};if(typeof n==`boolean`){let e=t.defaultBooleanValue??!1;return t.clearWhenEmpty===`omit`&&n===e?delete r[t.key]:r[t.key]=n,Object.keys(r).length>0?r:void 0}let i=n.trim();return t.clearWhenEmpty===`omit`&&i.length===0?delete r[t.key]:r[t.key]=n,Object.keys(r).length>0?r:void 0}function st(e){let t=(0,Ze.c)(4);if(e.variant===`card`){let n;return t[0]===e.children?n=t[1]:(n=(0,Q.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:e.children}),t[0]=e.children,t[1]=n),n}let n;return t[2]===e.children?n=t[3]:(n=(0,Q.jsx)(`div`,{className:`grid gap-1.5`,children:e.children}),t[2]=e.children,t[3]=n),n}function ct(e){let t=(0,Ze.c)(70),{field:n,value:r,idPrefix:i,variant:a,onChange:o}=e,s=`${i}-${n.key}`,c=a===`card`?`mt-1 block text-xs text-muted-foreground`:`text-[11px] text-muted-foreground`,l;t[0]===n.label?l=t[1]:(l=(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:n.label}),t[0]=n.label,t[1]=l);let u=l,d;t[2]!==c||t[3]!==n.description?(d=n.description?(0,Q.jsx)(`span`,{className:c,children:n.description}):null,t[2]=c,t[3]=n.description,t[4]=d):d=t[4];let f=d;if(n.control===`switch`){let e;t[5]!==f||t[6]!==u?(e=(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[u,f]}),t[5]=f,t[6]=u,t[7]=e):e=t[7];let i;t[8]!==n.defaultBooleanValue||t[9]!==n.key||t[10]!==r?(i=ot(r,n.key,n.defaultBooleanValue),t[8]=n.defaultBooleanValue,t[9]=n.key,t[10]=r,t[11]=i):i=t[11];let s;t[12]!==n||t[13]!==o||t[14]!==r?(s=e=>o($(r,n,!!e)),t[12]=n,t[13]=o,t[14]=r,t[15]=s):s=t[15];let c;t[16]!==n.label||t[17]!==i||t[18]!==s?(c=(0,Q.jsx)(H,{checked:i,onCheckedChange:s,"aria-label":n.label}),t[16]=n.label,t[17]=i,t[18]=s,t[19]=c):c=t[19];let l;t[20]!==e||t[21]!==c?(l=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[e,c]}),t[20]=e,t[21]=c,t[22]=l):l=t[22];let d;return t[23]!==l||t[24]!==a?(d=(0,Q.jsx)(st,{variant:a,children:l}),t[23]=l,t[24]=a,t[25]=d):d=t[25],d}if(n.control===`textarea`){let e=a===`card`&&`block`,i;t[26]===e?i=t[27]:(i=P(e),t[26]=e,t[27]=i);let c=a===`card`&&`mt-1.5`,l;t[28]===c?l=t[29]:(l=P(c),t[28]=c,t[29]=l);let d;t[30]!==n.key||t[31]!==r?(d=at(r,n.key),t[30]=n.key,t[31]=r,t[32]=d):d=t[32];let p;t[33]!==n||t[34]!==o||t[35]!==r?(p=e=>o($(r,n,e.target.value)),t[33]=n,t[34]=o,t[35]=r,t[36]=p):p=t[36];let m;t[37]!==n.placeholder||t[38]!==s||t[39]!==l||t[40]!==d||t[41]!==p?(m=(0,Q.jsx)(K,{id:s,className:l,value:d,onChange:p,placeholder:n.placeholder,spellCheck:!1}),t[37]=n.placeholder,t[38]=s,t[39]=l,t[40]=d,t[41]=p,t[42]=m):m=t[42];let h;t[43]!==f||t[44]!==s||t[45]!==u||t[46]!==i||t[47]!==m?(h=(0,Q.jsxs)(`label`,{htmlFor:s,className:i,children:[u,m,f]}),t[43]=f,t[44]=s,t[45]=u,t[46]=i,t[47]=m,t[48]=h):h=t[48];let g;return t[49]!==h||t[50]!==a?(g=(0,Q.jsx)(st,{variant:a,children:h}),t[49]=h,t[50]=a,t[51]=g):g=t[51],g}let p=n.control===`password`?`password`:void 0,m=a===`card`&&`block`,h;t[52]===m?h=t[53]:(h=P(m),t[52]=m,t[53]=h);let g;t[54]!==n||t[55]!==s||t[56]!==o||t[57]!==p||t[58]!==r||t[59]!==a?(g=a===`card`?(0,Q.jsx)(Je,{id:s,className:`mt-1.5`,type:p,autoComplete:n.control===`password`?`off`:void 0,value:at(r,n.key),onCommit:e=>o($(r,n,e)),placeholder:n.placeholder,spellCheck:!1}):(0,Q.jsx)(_e,{id:s,className:`bg-background`,type:p,autoComplete:n.control===`password`?`off`:void 0,value:at(r,n.key),onChange:e=>o($(r,n,e.target.value)),placeholder:n.placeholder,spellCheck:!1}),t[54]=n,t[55]=s,t[56]=o,t[57]=p,t[58]=r,t[59]=a,t[60]=g):g=t[60];let _;t[61]!==f||t[62]!==s||t[63]!==u||t[64]!==h||t[65]!==g?(_=(0,Q.jsxs)(`label`,{htmlFor:s,className:h,children:[u,g,f]}),t[61]=f,t[62]=s,t[63]=u,t[64]=h,t[65]=g,t[66]=_):_=t[66];let v;return t[67]!==_||t[68]!==a?(v=(0,Q.jsx)(st,{variant:a,children:_}),t[67]=_,t[68]=a,t[69]=v):v=t[69],v}function lt(e){let t=(0,Ze.c)(15),{definition:n,value:r,idPrefix:i,variant:a,onChange:o}=e,s;t[0]===n?s=t[1]:(s=it(n),t[0]=n,t[1]=s);let c=s;if(c.length===0)return null;let l;if(t[2]!==c||t[3]!==i||t[4]!==o||t[5]!==r||t[6]!==a){let e;t[8]!==i||t[9]!==o||t[10]!==r||t[11]!==a?(e=e=>(0,Q.jsx)(ct,{field:e,value:r,idPrefix:i,variant:a,onChange:o},e.key),t[8]=i,t[9]=o,t[10]=r,t[11]=a,t[12]=e):e=t[12],l=c.map(e),t[2]=c,t[3]=i,t[4]=o,t[5]=r,t[6]=a,t[7]=l}else l=t[7];let u;return t[13]===l?u=t[14]:(u=(0,Q.jsx)(Q.Fragment,{children:l}),t[13]=l,t[14]=u),u}var ut=[`#2563eb`,`#16a34a`,`#ea580c`,`#dc2626`,`#7c3aed`,`#0891b2`];function dt(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``).slice(0,48)}function ft(e,t){let n=dt(t);return n?`${e}_${n}`:``}var pt=/^[a-zA-Z][a-zA-Z0-9_-]*$/,mt=l.make(`codex`),ht=Y[0],gt={},_t=[{value:l.make(`gemini`),label:`Gemini`,icon:U},{value:l.make(`acpRegistry`),label:`ACP Registry`,icon:ve},{value:l.make(`piAgent`),label:`Pi Agent`,icon:ye}];function vt(e,t){return e.length===0?`Instance ID is required.`:e.length>64?`Instance ID must be 64 characters or fewer.`:pt.test(e)?t.has(e)?`An instance named '${e}' already exists.`:null:`Instance ID must start with a letter and use only letters, digits, '-', or '_'.`}function yt({open:e,onOpenChange:t,onCreated:n}){let r=y(),{updateSettings:i}=p(),[a,s]=(0,Z.useState)(0),[c,u]=(0,Z.useState)(mt),[d,f]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(``),[g,_]=(0,Z.useState)(``),[v,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)({}),[C,T]=(0,Z.useState)(!1),E=(0,Z.useMemo)(()=>new Set(Object.keys(r.providerInstances??{})),[r.providerInstances]);(0,Z.useEffect)(()=>{e&&(u(mt),f(``),h(``),_(``),s(0),b(!1),S({}),T(!1))},[e]),(0,Z.useEffect)(()=>{v||_(ft(c,d))},[c,d,v]);let D=Ke[c]??ht,ee=(0,Z.useMemo)(()=>it(D),[D]),O=vt(g,E),te=C&&O!==null,k=d.trim()||`${D.label} Workspace`,ne=[`Driver`,`Identity`,`Config`],re=[D.label,k,null],ae=x[c]??gt,j=(0,Z.useCallback)(e=>{S(t=>{let n={...t};return e===void 0||Object.keys(e).length===0?delete n[c]:n[c]=e,n})},[c]),oe=(0,Z.useCallback)(()=>{if(T(!0),O!==null)return;let e=x[c]??{},a=Object.keys(e).length>0,s=w(m),l={driver:c,enabled:!0,...d.trim().length>0?{displayName:d.trim()}:{},...s?{accentColor:s}:{},...a?{config:e}:{}},u=o.make(g),f={...r.providerInstances,[u]:l};try{i({providerInstances:f}),n?.(u),ie.add({type:`success`,title:`Provider instance added`,description:`${D.label} instance '${g}' was added.`}),t(!1)}catch(e){ie.add({type:`error`,title:`Could not add provider instance`,description:e instanceof Error?e.message:`Update failed.`})}},[c,D,x,g,O,d,m,t,n,r.providerInstances,i]);return(0,Q.jsx)(De,{open:e,onOpenChange:t,children:(0,Q.jsx)(Ee,{className:`max-w-xl overflow-hidden`,children:(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-col overflow-hidden border-foreground/10 bg-background shadow-2xl`,children:[(0,Q.jsxs)(Ce,{className:`border-b border-border/70 bg-background`,children:[(0,Q.jsx)(we,{children:`Add provider instance`}),(0,Q.jsx)(G,{children:`Configure an additional provider instance — for example, a second Codex install pointed at a different workspace.`}),(0,Q.jsx)(`div`,{className:`grid grid-cols-3 gap-2`,children:ne.map((e,t)=>(0,Q.jsxs)(`button`,{type:`button`,className:P(`grid min-w-0 grid-cols-[1rem_minmax(0,1fr)] gap-x-2 rounded-lg border px-3 py-2 text-left`,t===a?`border-primary bg-primary/10 ring-1 ring-primary/25`:t<a?`border-border bg-background`:`border-border bg-muted/40`),onClick:()=>s(t),children:[(0,Q.jsx)(`span`,{className:P(`row-span-2 mt-0.5 grid size-4 place-items-center rounded-full border`,t<a?`border-primary bg-primary text-primary-foreground`:t===a?`border-primary bg-background`:`border-muted-foreground/35 bg-background`),"aria-hidden":!0,children:t<a?(0,Q.jsx)(A,{className:`size-3`}):null}),(0,Q.jsxs)(`span`,{className:`text-[10px] font-medium uppercase text-muted-foreground`,children:[`Step `,t+1]}),(0,Q.jsxs)(`span`,{className:`truncate text-xs font-semibold text-foreground`,children:[e,t<a&&re[t]?`: ${re[t]}`:``]})]},e))})]}),(0,Q.jsx)(`div`,{"data-slot":`dialog-panel`,className:`space-y-4 border-b border-border/70 bg-muted/20 px-6 py-5`,children:(0,Q.jsxs)(J,{children:[(0,Q.jsxs)(`div`,{className:P(`grid gap-2`,a!==0&&`hidden`),children:[(0,Q.jsx)(`span`,{id:`add-instance-driver-label`,className:`text-xs font-medium text-foreground`,children:`Driver`}),(0,Q.jsxs)(B,{value:c,onValueChange:e=>u(l.make(e)),"aria-labelledby":`add-instance-driver-label`,className:`grid grid-cols-2 gap-2.5`,children:[Y.map(e=>{let t=e.icon,n=e.value===c;return(0,Q.jsxs)(z,{value:e.value,className:P(`relative flex cursor-pointer items-center gap-3 rounded-lg border px-3 py-3 text-left outline-none transition-[background-color,border-color,box-shadow]`,`focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background`,n?`border-primary bg-background shadow-sm ring-2 ring-primary/35`:`border-border bg-background hover:border-foreground/20 hover:bg-muted/50`),children:[(0,Q.jsx)(t,{className:`size-5 shrink-0`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-foreground`,children:e.label}),e.badgeLabel?(0,Q.jsx)(Le,{variant:`warning`,size:`sm`,children:e.badgeLabel}):null]},e.value)}),_t.map(e=>{let t=e.icon;return(0,Q.jsxs)(z,{value:e.value,disabled:!0,className:P(`relative flex cursor-not-allowed items-center gap-3 rounded-lg border border-border bg-background px-3 py-3 text-left opacity-55 outline-none`),children:[(0,Q.jsx)(t,{className:`size-5 shrink-0 text-muted-foreground`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-foreground`,children:e.label}),(0,Q.jsx)(Le,{variant:`warning`,size:`sm`,children:`Coming Soon`})]},e.value)})]})]}),(0,Q.jsxs)(`label`,{className:P(`grid gap-2`,a!==1&&`hidden`),children:[(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Label`}),(0,Q.jsx)(_e,{className:`bg-background`,placeholder:`e.g. Work`,value:d,onChange:e=>f(e.target.value)}),(0,Q.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Shown in the provider list. Optional.`})]}),(0,Q.jsxs)(`label`,{className:P(`grid gap-2`,a!==1&&`hidden`),children:[(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Instance ID`}),(0,Q.jsx)(_e,{className:`bg-background`,placeholder:`${c}_work`,value:g,onChange:e=>{b(!0),_(e.target.value)},"aria-invalid":te}),te?(0,Q.jsx)(`span`,{className:`text-[11px] text-destructive`,children:O}):(0,Q.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Routing key used by threads and sessions. Letters, digits, '-', or '_'.`})]}),(0,Q.jsxs)(`div`,{className:P(`grid gap-2`,a!==1&&`hidden`),children:[(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Accent color`}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`input`,{type:`color`,value:w(m)??ut[0],onChange:e=>h(e.target.value),"aria-label":`Provider instance accent color`,className:`h-8 w-10 cursor-pointer rounded-xl border border-input bg-background p-0.5`}),(0,Q.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:ut.map(e=>{let t=m.toLowerCase()===e;return(0,Q.jsx)(`button`,{type:`button`,className:P(`size-6 cursor-pointer rounded-full border transition`,t?`scale-110 border-foreground ring-2 ring-ring ring-offset-1 ring-offset-background`:`border-black/10 hover:scale-105 dark:border-white/20`),style:{backgroundColor:e},onClick:()=>h(e),"aria-label":`Use ${e} accent`},e)})}),m?(0,Q.jsx)(W,{type:`button`,size:`sm`,variant:`ghost`,className:`h-7 px-2 text-xs text-muted-foreground`,onClick:()=>h(``),children:`Clear`}):null]}),(0,Q.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Optional marker shown in the picker.`})]}),ee.length>0?(0,Q.jsx)(`div`,{className:P(`grid gap-4`,a!==2&&`hidden`),children:(0,Q.jsx)(lt,{definition:D,value:ae,idPrefix:`add-provider-${c}`,variant:`dialog`,onChange:j})}):a===2?(0,Q.jsx)(`div`,{className:`grid gap-2`,children:(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This driver has no required configuration. You can add the instance now.`})}):null]})}),(0,Q.jsxs)(Te,{className:`border-t bg-background`,children:[(0,Q.jsx)(W,{variant:`outline`,size:`sm`,onClick:()=>{if(a===0){t(!1);return}s(e=>Math.max(0,e-1))},children:a===0?`Cancel`:`Back`}),a<ne.length-1?(0,Q.jsx)(W,{size:`sm`,onClick:()=>s(e=>Math.min(2,e+1)),children:`Next`}):(0,Q.jsx)(W,{size:`sm`,onClick:oe,children:`Add instance`})]})]})})})}var bt={[l.make(`codex`)]:`gpt-6.7-codex-ultra-preview`,[l.make(`claudeAgent`)]:`claude-sonnet-5-0`,[l.make(`cursor`)]:`claude-sonnet-4-6`,[l.make(`grok`)]:`grok-build`,[l.make(`opencode`)]:`openai/gpt-5`};function xt(e){let t=(0,Ze.c)(70),{instanceId:n,driverKind:r,models:i,customModels:a,hiddenModels:o,favoriteModels:s,modelOrder:c,onChange:l,onHiddenModelsChange:u,onFavoriteModelsChange:d,onModelOrderChange:f}=e,[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(null),_=(0,Z.useRef)(null),v;t[0]===o?v=t[1]:(v=new Set(o),t[0]=o,t[1]=v);let y=v,b;t[2]===s?b=t[3]:(b=new Set(s),t[2]=s,t[3]=b);let x=b,C;t[4]!==x||t[5]!==c||t[6]!==i?(C=S(i,{favoriteModels:x,groupFavorites:!0,modelOrder:c}),t[4]=x,t[5]=c,t[6]=i,t[7]=C):C=t[7];let w=C,T;t[8]!==a||t[9]!==r||t[10]!==p||t[11]!==i||t[12]!==l?(T=()=>{let e=r?ee(p,r):p.trim()||null;if(!e){g(`Enter a model slug.`);return}if(i.some(t=>!t.isCustom&&t.slug===e)){g(`That model is already built in.`);return}if(e.length>256){g(`Model slugs must be 256 characters or less.`);return}if(a.includes(e)){g(`That custom model is already saved.`);return}l([...a,e]),m(``),g(null);let t=_.current;if(!t)return;let n=()=>t.scrollTo({top:t.scrollHeight,behavior:`smooth`});requestAnimationFrame(n);let o=new MutationObserver(()=>{n(),o.disconnect()});o.observe(t,{childList:!0,subtree:!0}),setTimeout(()=>o.disconnect(),2e3)},t[8]=a,t[9]=r,t[10]=p,t[11]=i,t[12]=l,t[13]=T):T=t[13];let E=T,D;t[14]!==a||t[15]!==s||t[16]!==c||t[17]!==l||t[18]!==d||t[19]!==f?(D=e=>{l(a.filter(t=>t!==e)),f(c.filter(t=>t!==e)),d(s.filter(t=>t!==e)),g(null)},t[14]=a,t[15]=s,t[16]=c,t[17]=l,t[18]=d,t[19]=f,t[20]=D):D=t[20];let O=D,te;t[21]!==y||t[22]!==o||t[23]!==u?(te=e=>{if(y.has(e)){u(o.filter(t=>t!==e));return}u([...o,e])},t[21]=y,t[22]=o,t[23]=u,t[24]=te):te=t[24];let A=te,ie;t[25]!==x||t[26]!==s||t[27]!==d?(ie=e=>{if(x.has(e)){d(s.filter(t=>t!==e));return}d([...s,e])},t[25]=x,t[26]=s,t[27]=d,t[28]=ie):ie=t[28];let ae=ie,j;t[29]!==f||t[30]!==w?(j=(e,t)=>{let n=w.map(Et),r=n.indexOf(e),i=r+t;if(r<0||i<0||i>=n.length)return;let a=[...n],[o,s]=[a[i],a[r]];a[r]=o,a[i]=s,f(a)},t[29]=f,t[30]=w,t[31]=j):j=t[31];let se=j,le;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,Q.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Models`}),t[32]=le):le=t[32];let M=i.length===1?``:`s`,de;t[33]!==i.length||t[34]!==M?(de=(0,Q.jsxs)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:[i.length,` model`,M,` available.`]}),t[33]=i.length,t[34]=M,t[35]=de):de=t[35];let N;t[36]!==x||t[37]!==se||t[38]!==O||t[39]!==ae||t[40]!==A||t[41]!==y||t[42]!==n||t[43]!==w?(N=w.map((e,t)=>{let r=e.capabilities,i=[],a=!e.isCustom&&y.has(e.slug),o=x.has(e.slug),s=w[t-1],c=w[t+1],l=s!==void 0&&x.has(s.slug)===o,u=c!==void 0&&x.has(c.slug)===o,d=r?.optionDescriptors??[];d.some(Tt)&&i.push(`Fast mode`),d.some(wt)&&i.push(`Thinking`),d.some(Ct)&&i.push(`Reasoning`);let f=i.length>0||e.name!==e.slug;return(0,Q.jsxs)(`div`,{className:P(`grid min-h-7 grid-cols-[minmax(0,1fr)_auto] items-center gap-2 py-1`,a&&`text-muted-foreground`),children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,Q.jsx)(`span`,{className:P(`min-w-0 truncate text-xs`,a?`text-muted-foreground line-through`:`text-foreground/90`),children:e.name}),f?(0,Q.jsxs)(he,{children:[(0,Q.jsx)(pe,{render:(0,Q.jsx)(W,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground/60 hover:text-muted-foreground`,"aria-label":`Details for ${e.name}`}),children:(0,Q.jsx)(re,{className:`size-3`})}),(0,Q.jsx)(me,{side:`top`,className:`max-w-56`,children:(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`code`,{className:`block text-[11px] text-foreground`,children:e.slug}),i.length>0?(0,Q.jsx)(`div`,{className:`flex flex-wrap gap-x-2 gap-y-0.5`,children:i.map(St)}):null]})})]}):null,a?(0,Q.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`hidden`}):null,e.isCustom?(0,Q.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`custom`}):null]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[(0,Q.jsxs)(he,{children:[(0,Q.jsx)(pe,{render:(0,Q.jsx)(W,{size:`icon-xs`,variant:`ghost`,className:P(`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,o&&`text-yellow-500 hover:text-yellow-600`),onClick:()=>ae(e.slug),"aria-label":`${o?`Remove`:`Add`} ${e.name} ${o?`from`:`to`} favorites`}),children:(0,Q.jsx)(ue,{className:P(`size-3`,o&&`fill-current`)})}),(0,Q.jsx)(me,{side:`top`,children:o?`Remove from favorites`:`Add to favorites`})]}),(0,Q.jsxs)(he,{children:[(0,Q.jsx)(pe,{render:(0,Q.jsx)(W,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,disabled:!l,onClick:()=>se(e.slug,-1),"aria-label":`Move ${e.name} up`}),children:(0,Q.jsx)(ne,{className:`size-3`})}),(0,Q.jsx)(me,{side:`top`,children:`Move up`})]}),(0,Q.jsxs)(he,{children:[(0,Q.jsx)(pe,{render:(0,Q.jsx)(W,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,disabled:!u,onClick:()=>se(e.slug,1),"aria-label":`Move ${e.name} down`}),children:(0,Q.jsx)(k,{className:`size-3`})}),(0,Q.jsx)(me,{side:`top`,children:`Move down`})]}),e.isCustom?null:(0,Q.jsxs)(he,{children:[(0,Q.jsx)(pe,{render:(0,Q.jsx)(W,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,onClick:()=>A(e.slug),"aria-label":`${a?`Show`:`Hide`} ${e.name}`}),children:a?(0,Q.jsx)(oe,{className:`size-3`}):(0,Q.jsx)(Xe,{className:`size-3`})}),(0,Q.jsx)(me,{side:`top`,children:a?`Show in picker`:`Hide from picker`})]}),e.isCustom?(0,Q.jsxs)(he,{children:[(0,Q.jsx)(pe,{render:(0,Q.jsx)(W,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,"aria-label":`Remove ${e.slug}`,onClick:()=>O(e.slug)}),children:(0,Q.jsx)(fe,{className:`size-3`})}),(0,Q.jsx)(me,{side:`top`,children:`Remove custom model`})]}):null]})]},`${n}:${e.slug}`)}),t[36]=x,t[37]=se,t[38]=O,t[39]=ae,t[40]=A,t[41]=y,t[42]=n,t[43]=w,t[44]=N):N=t[44];let F;t[45]===N?F=t[46]:(F=(0,Q.jsx)(`div`,{ref:_,className:`mt-2 max-h-40 overflow-y-auto pb-1`,children:N}),t[45]=N,t[46]=F);let I=`provider-instance-${n}-custom-model`,L;t[47]===h?L=t[48]:(L=e=>{m(e.target.value),h&&g(null)},t[47]=h,t[48]=L);let ge;t[49]===E?ge=t[50]:(ge=e=>{e.key===`Enter`&&(e.preventDefault(),E())},t[49]=E,t[50]=ge);let R=r?bt[r]:`model-slug`,z;t[51]!==p||t[52]!==I||t[53]!==L||t[54]!==ge||t[55]!==R?(z=(0,Q.jsx)(_e,{id:I,value:p,onChange:L,onKeyDown:ge,placeholder:R,spellCheck:!1}),t[51]=p,t[52]=I,t[53]=L,t[54]=ge,t[55]=R,t[56]=z):z=t[56];let B;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,Q.jsx)(ce,{className:`size-3.5`}),t[57]=B):B=t[57];let V;t[58]===E?V=t[59]:(V=(0,Q.jsxs)(W,{className:`shrink-0`,variant:`outline`,onClick:E,children:[B,`Add`]}),t[58]=E,t[59]=V);let H;t[60]!==z||t[61]!==V?(H=(0,Q.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2 sm:flex-row`,children:[z,V]}),t[60]=z,t[61]=V,t[62]=H):H=t[62];let U;t[63]===h?U=t[64]:(U=h?(0,Q.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:h}):null,t[63]=h,t[64]=U);let ve;return t[65]!==de||t[66]!==F||t[67]!==H||t[68]!==U?(ve=(0,Q.jsxs)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:[le,de,F,H,U]}),t[65]=de,t[66]=F,t[67]=H,t[68]=U,t[69]=ve):ve=t[69],ve}function St(e){return(0,Q.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:e},e)}function Ct(e){return e.type===`select`&&(e.id===`reasoningEffort`||e.id===`effort`||e.id===`reasoning`||e.id===`variant`)}function wt(e){return e.id===`thinking`}function Tt(e){return e.id===`fastMode`}function Et(e){return e.slug}var Dt={disabled:{dot:`bg-amber-400`},error:{dot:`bg-destructive`},ready:{dot:`bg-success`},warning:{dot:`bg-warning`}};function Ot(e){if(!e)return{headline:`Checking provider status`,detail:`Waiting for the server to report installation and authentication details.`};if(!e.enabled)return{headline:`Disabled`,detail:e.message??`This provider is installed but disabled for new sessions in Ryco.`};if(!e.installed)return{headline:`Not found`,detail:e.message??`CLI not detected on PATH.`};if(e.auth.status===`authenticated`){let t=e.auth.label??e.auth.type;return{headline:t?`Authenticated · ${t}`:`Authenticated`,detail:e.message??null}}return e.auth.status===`unauthenticated`?{headline:`Not authenticated`,detail:e.message??null}:e.status===`warning`?{headline:`Needs attention`,detail:e.message??`The provider is installed, but the server could not fully verify it.`}:e.status===`error`?{headline:`Unavailable`,detail:e.message??`The provider failed its startup checks.`}:{headline:`Available`,detail:e.message??`Installed and ready, but authentication could not be verified.`}}function kt(e){return e?e.startsWith(`v`)?e:`v${e}`:null}function At(e){if(!e||e.status===`current`||e.status===`unknown`)return null;let t=`Update available`,n=e.latestVersion,r=kt(n);return{detail:e.message??(r?`${t}: install ${r}.`:`${t}: install the latest provider version.`),updateCommand:e.updateCommand,emphasis:`normal`}}function jt(e){let t=e.instance.enabled??!0;return{enabled:t,statusKey:e.liveProvider?.status??(t?`warning`:`disabled`),displayName:e.instance.displayName?.trim()||e.driverOption?.label||String(e.instance.driver),driverKind:d(e.instance.driver)?e.instance.driver:null,accentColor:w(e.instance.accentColor),summary:Ot(e.liveProvider)}}var Mt=[`#2563eb`,`#16a34a`,`#ea580c`,`#dc2626`,`#7c3aed`,`#0891b2`],Nt=/^[a-zA-Z_][a-zA-Z0-9_]*$/,Pt=0,Ft=()=>`provider-env-${Pt++}`;function It(e,t){return{id:`${t}:${e.name}`,name:e.name,value:e.value,sensitive:e.sensitive,...e.valueRedacted===void 0?{}:{valueRedacted:e.valueRedacted}}}function Lt(e,t){if(typeof e!=`object`||!e)return[];let n=e[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function Rt(e,t,n){let r=typeof e==`object`&&e?{...e}:{};return r[t]=n,r}function zt(e){let t=new Map((e.liveModels??[]).filter(e=>e.isCustom).map(e=>[e.slug,e])),n=e.liveModels?.filter(e=>!e.isCustom)??[],r=e.customModels.map(e=>t.get(e)??{slug:e,name:e,isCustom:!0,capabilities:null});return[...n,...r]}function Bt(e){let t=(0,Ze.c)(12),n;t[0]===e.email?n=t[1]:(n=e.email?.trim(),t[0]=e.email,t[1]=n);let r=n;if(!r)return null;let i;t[2]===e.separator?i=t[3]:(i=e.separator?(0,Q.jsx)(`span`,{"aria-hidden":!0,children:`·`}):null,t[2]=e.separator,t[3]=i);let a;t[4]===e.prefix?a=t[5]:(a=e.prefix?(0,Q.jsx)(`span`,{className:`text-muted-foreground/80`,children:e.prefix}):null,t[4]=e.prefix,t[5]=a);let o;t[6]===r?o=t[7]:(o=(0,Q.jsx)(X,{value:r,ariaLabel:`Toggle account email visibility`,revealTooltip:`Click to reveal email`,hideTooltip:`Click to hide email`}),t[6]=r,t[7]=o);let s;return t[8]!==i||t[9]!==a||t[10]!==o?(s=(0,Q.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[i,a,o]}),t[8]=i,t[9]=a,t[10]=o,t[11]=s):s=t[11],s}function Vt(e){let t=(0,Ze.c)(34),[n,r]=(0,Z.useState)(e.value??``),[i,a]=(0,Z.useState)(!1),o;t[0]===n?o=t[1]:(o=w(n),t[0]=n,t[1]=o);let s=o,c,l;t[2]!==i||t[3]!==e.value?(c=()=>{i||r(e.value??``)},l=[i,e.value],t[2]=i,t[3]=e.value,t[4]=c,t[5]=l):(c=t[4],l=t[5]),(0,Z.useEffect)(c,l);let u;t[6]!==s||t[7]!==e?(u=()=>{a(!1),e.onCommit(s??``)},t[6]=s,t[7]=e,t[8]=u):u=t[8];let d=u,f;t[9]===e?f=t[10]:(f=t=>{a(!1),r(t),e.onCommit(t)},t[9]=e,t[10]=f);let p=f,m;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Accent color`}),t[11]=m):m=t[11];let h=s??Mt[0],g,_,v;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>a(!0),_=e=>{a(!0),r(e.currentTarget.value)},v=e=>{a(!0),r(e.currentTarget.value)},t[12]=g,t[13]=_,t[14]=v):(g=t[12],_=t[13],v=t[14]);let y=`Accent color for ${e.displayName}`,b;t[15]!==d||t[16]!==y||t[17]!==h?(b=(0,Q.jsx)(`input`,{type:`color`,value:h,onFocus:g,onInput:_,onChange:v,onBlur:d,"aria-label":y,className:`h-8 w-10 cursor-pointer rounded border border-input bg-background p-0.5`}),t[15]=d,t[16]=y,t[17]=h,t[18]=b):b=t[18];let x;t[19]!==p||t[20]!==s?(x=Mt.map(e=>{let t=s?.toLowerCase()===e;return(0,Q.jsx)(`button`,{type:`button`,className:P(`size-6 cursor-pointer rounded-full border transition`,t?`border-foreground ring-2 ring-ring ring-offset-1 ring-offset-background`:`border-black/10 hover:scale-105 dark:border-white/20`),style:{backgroundColor:e},onClick:()=>p(e),"aria-label":`Use ${e} accent`},e)}),t[19]=p,t[20]=s,t[21]=x):x=t[21];let S;t[22]===x?S=t[23]:(S=(0,Q.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:x}),t[22]=x,t[23]=S);let C;t[24]!==s||t[25]!==e?(C=s?(0,Q.jsx)(W,{type:`button`,size:`sm`,variant:`ghost`,className:`h-7 px-2 text-xs text-muted-foreground`,onClick:()=>{a(!1),r(``),e.onCommit(``)},children:`Clear`}):null,t[24]=s,t[25]=e,t[26]=C):C=t[26];let T;t[27]!==b||t[28]!==S||t[29]!==C?(T=(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[b,S,C]}),t[27]=b,t[28]=S,t[29]=C,t[30]=T):T=t[30];let E;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Used to distinguish this instance in picker rails and model lists.`}),t[31]=E):E=t[31];let D;return t[32]===T?D=t[33]:(D=(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[m,T,E]}),t[32]=T,t[33]=D),D}function Ht(e){let t=(0,Ze.c)(35),n;t[0]===e.window?n=t[1]:(n=V(e.window),t[0]=e.window,t[1]=n);let r=n,i=e.window.windowDurationMins===void 0?e.fallbackLabel:r.label,a=R(e.window.usedPercent),o;t[2]===e.window.usedPercent?o=t[3]:(o=I(e.window.usedPercent),t[2]=e.window.usedPercent,t[3]=o);let s=o,c;t[4]===e.window.resetsAt?c=t[5]:(c=L(e.window.resetsAt),t[4]=e.window.resetsAt,t[5]=c);let l=c,u=a>=75,d=u?`${a}% used`:`${s}% available`,f=u?`${s}% available`:`${a}% used`,p;t[6]===i?p=t[7]:(p=(0,Q.jsx)(`span`,{className:`font-medium text-foreground`,children:i}),t[6]=i,t[7]=p);let m;t[8]===d?m=t[9]:(m=(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:d}),t[8]=d,t[9]=m);let h;t[10]!==p||t[11]!==m?(h=(0,Q.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-xs`,children:[p,m]}),t[10]=p,t[11]=m,t[12]=h):h=t[12];let g=`${i} window usage`,_=u?`bg-warning`:`bg-foreground/70`,v;t[13]===_?v=t[14]:(v=P(`h-full rounded-full transition-[width]`,_),t[13]=_,t[14]=v);let y=`${a}%`,b;t[15]===y?b=t[16]:(b={width:y},t[15]=y,t[16]=b);let x;t[17]!==b||t[18]!==v?(x=(0,Q.jsx)(`div`,{className:v,style:b}),t[17]=b,t[18]=v,t[19]=x):x=t[19];let S;t[20]!==x||t[21]!==g||t[22]!==a?(S=(0,Q.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,role:`progressbar`,"aria-label":g,"aria-valuenow":a,"aria-valuemin":0,"aria-valuemax":100,children:x}),t[20]=x,t[21]=g,t[22]=a,t[23]=S):S=t[23];let C;t[24]===f?C=t[25]:(C=(0,Q.jsx)(`span`,{children:f}),t[24]=f,t[25]=C);let w;t[26]===l?w=t[27]:(w=l?(0,Q.jsx)(`span`,{className:`first-letter:uppercase`,children:l}):null,t[26]=l,t[27]=w);let T;t[28]!==C||t[29]!==w?(T=(0,Q.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-[11px] text-muted-foreground`,children:[C,w]}),t[28]=C,t[29]=w,t[30]=T):T=t[30];let E;return t[31]!==S||t[32]!==T||t[33]!==h?(E=(0,Q.jsxs)(`div`,{className:`grid gap-1.5`,children:[h,S,T]}),t[31]=S,t[32]=T,t[33]=h,t[34]=E):E=t[34],E}function Ut(e){let t=(0,Ze.c)(8),{primary:n,secondary:r}=e.rateLimits;if(!n&&!r)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Usage limits`}),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=n?(0,Q.jsx)(Ht,{window:n,fallbackLabel:`Short window`}):null,t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=r?(0,Q.jsx)(Ht,{window:r,fallbackLabel:`Weekly`}):null,t[3]=r,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,Q.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,Q.jsxs)(`div`,{className:`grid gap-2.5`,children:[i,(0,Q.jsxs)(`div`,{className:`grid gap-3`,children:[a,o]})]})}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function Wt(e){let t=(0,Ze.c)(27),n;t[0]===e.environment?n=t[1]:(n=()=>e.environment.map(It),t[0]=e.environment,t[1]=n);let[r,i]=(0,Z.useState)(n),a,o;t[2]===e.environment?(a=t[3],o=t[4]):(a=()=>{i(e.environment.map(It))},o=[e.environment],t[2]=e.environment,t[3]=a,t[4]=o),(0,Z.useEffect)(a,o);let s;t[5]===e?s=t[6]:(s=t=>{let n=[];for(let e of t){let t=e.name.trim();if(!Nt.test(t)){if(t.length>0||e.value.length>0||e.sensitive!==!0||e.valueRedacted!==void 0)return;continue}let{id:r,...i}=e;n.push({...i,name:t})}e.onChange(n)},t[5]=e,t[6]=s);let c=s,l;t[7]!==c||t[8]!==r?(l=(e,t)=>{let n=r.map(n=>n.id===e?{...n,...t,...t.value===void 0?{}:{valueRedacted:!1}}:n);i(n),c(n)},t[7]=c,t[8]=r,t[9]=l):l=t[9];let u=l,d;t[10]!==c||t[11]!==r?(d=e=>{let t=r.filter(t=>t.id!==e);i(t),c(t)},t[10]=c,t[11]=r,t[12]=d):d=t[12];let f=d,p;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Environment variables`}),t[13]=p):p=t[13];let m;t[14]===r?m=t[15]:(m=()=>i([...r,{id:Ft(),name:``,value:``,sensitive:!0}]),t[14]=r,t[15]=m);let h;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Q.jsx)(ce,{className:`size-3`}),t[16]=h):h=t[16];let g;t[17]===m?g=t[18]:(g=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[p,(0,Q.jsxs)(W,{type:`button`,size:`sm`,variant:`outline`,className:`h-7 gap-1.5 px-2 text-xs`,onClick:m,children:[h,`Add`]})]}),t[17]=m,t[18]=g);let _;t[19]!==f||t[20]!==r||t[21]!==u?(_=r.length===0?(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Add variables to pass API keys, base URLs, or other per-instance CLI settings.`}):(0,Q.jsx)(`div`,{className:`grid gap-2`,children:r.map((e,t)=>(0,Q.jsxs)(`div`,{className:`grid gap-2 rounded-md border border-border/70 bg-muted/20 p-2 sm:grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)_auto_auto] sm:items-center`,children:[(0,Q.jsx)(Je,{value:e.name,onCommit:t=>u(e.id,{name:t.trim()}),placeholder:`VARIABLE_NAME`,spellCheck:!1,"aria-label":`Environment variable name ${t+1}`}),(0,Q.jsx)(Je,{value:e.valueRedacted?``:e.value,onCommit:t=>u(e.id,{value:t}),type:e.sensitive?`password`:void 0,autoComplete:`off`,placeholder:e.valueRedacted?`Stored secret - enter a new value to replace`:`Value`,spellCheck:!1,"aria-label":`Environment variable value ${t+1}`}),(0,Q.jsxs)(`label`,{className:`inline-flex h-8 items-center gap-2 text-xs text-muted-foreground`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,className:`size-3.5`,checked:e.sensitive,onChange:t=>{let n=t.currentTarget.checked;u(e.id,{sensitive:n,...n&&e.valueRedacted===void 0?{}:{valueRedacted:n?e.valueRedacted:!1}})}}),`Sensitive`]}),(0,Q.jsx)(W,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-8 justify-self-start text-muted-foreground hover:text-destructive sm:justify-self-end`,onClick:()=>f(e.id),"aria-label":`Remove environment variable ${e.name||t+1}`,children:(0,Q.jsx)(fe,{className:`size-3.5`})})]},e.id))}),t[19]=f,t[20]=r,t[21]=u,t[22]=_):_=t[22];let v;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Sensitive values are stored separately and are not returned to the app after saving.`}),t[23]=v):v=t[23];let y;return t[24]!==_||t[25]!==g?(y=(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[g,_,v]}),t[24]=_,t[25]=g,t[26]=y):y=t[26],y}function Gt(e){let t=(0,Ze.c)(147),{instanceId:n,instance:r,driverOption:i,liveProvider:a,isDefault:o,onUpdate:s,onDelete:c,headerAction:l,hiddenModels:u,favoriteModels:d,modelOrder:f,onHiddenModelsChange:p,onFavoriteModelsChange:m,onModelOrderChange:h,onRunUpdate:g,isUpdating:_}=e,v=_!==void 0&&_,y;t[0]!==i||t[1]!==r||t[2]!==a?(y=jt({instance:r,driverOption:i,liveProvider:a}),t[0]=i,t[1]=r,t[2]=a,t[3]=y):y=t[3];let{enabled:b,displayName:x,driverKind:S,accentColor:C,summary:T,statusKey:E}=y,D=Dt[E],ee=a?.auth.email,O;t[4]!==ee||t[5]!==a?.auth.status?(O=a?.auth.status===`authenticated`&&!!ee?.trim(),t[4]=ee,t[5]=a?.auth.status,t[6]=O):O=t[6];let te=O,k=te?a?.auth.label??a?.auth.type??null:null,ne=a?.version,A;t[7]===ne?A=t[8]:(A=kt(ne),t[7]=ne,t[8]=A);let re=A,ie=a?.versionAdvisory,oe;t[9]===ie?oe=t[10]:(oe=At(ie),t[9]=ie,t[10]=oe);let ce=oe,le=ce?.updateCommand??null,ue=i?.icon,de;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(de={onCopy:Jt,onError:qt},t[11]=de):de=t[11];let{copyToClipboard:fe}=be(de),F,I;t[12]!==r.config||t[13]!==a?.models?(F=Lt(r.config,`customModels`),I=zt({liveModels:a?.models,customModels:F}),t[12]=r.config,t[13]=a?.models,t[14]=F,t[15]=I):(F=t[14],I=t[15]);let L=I,ge;t[16]!==r||t[17]!==s?(ge=e=>{let t=e.trim(),{displayName:n,...i}=r;s(t.length>0?{...i,displayName:t}:i)},t[16]=r,t[17]=s,t[18]=ge):ge=t[18];let R=ge,z;t[19]!==r||t[20]!==s?(z=e=>{s({...r,enabled:e})},t[19]=r,t[20]=s,t[21]=z):z=t[21];let B=z,V;t[22]!==r||t[23]!==s?(V=e=>{let t=w(e),{accentColor:n,...i}=r;s(t?{...i,accentColor:t}:i)},t[22]=r,t[23]=s,t[24]=V):V=t[24];let _e=V,U;t[25]!==r||t[26]!==s?(U=e=>{let{config:t,...n}=r;s(e===void 0?n:{...n,config:e})},t[25]=r,t[26]=s,t[27]=U):U=t[27];let ve=U,ye;t[28]!==r||t[29]!==s?(ye=e=>{let t=Rt(r.config,`customModels`,[...e]),{config:n,...i}=r;s({...i,config:t})},t[28]=r,t[29]=s,t[30]=ye):ye=t[30];let xe=ye,Se;t[31]!==r||t[32]!==s?(Se=e=>{let t=e.filter(Kt),{environment:n,...i}=r;s(t.length>0?{...i,environment:t}:i)},t[31]=r,t[32]=s,t[33]=Se):Se=t[33];let Ce=Se,we;t[34]!==ue||t[35]!==C||t[36]!==x||t[37]!==S||t[38]!==D.dot?(we=S?(0,Q.jsx)(M,{driverKind:S,displayName:x,accentColor:C,showBadge:!!C,statusDotClassName:D.dot,className:`size-5`,iconClassName:`size-4 text-foreground/80`,badgeClassName:`right-[-0.125rem] bottom-[-0.125rem] h-3 min-w-3 text-[7px]`}):ue?(0,Q.jsxs)(`span`,{className:`relative inline-flex size-5 shrink-0 items-center justify-center`,children:[(0,Q.jsx)(ue,{className:`size-4 text-foreground/80`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:P(`pointer-events-none absolute -left-0.5 -top-0.5 size-2 rounded-full ring-2 ring-background`,D.dot),"aria-hidden":!0})]}):(0,Q.jsx)(`span`,{className:P(`size-2 shrink-0 rounded-full`,D.dot)}),t[34]=ue,t[35]=C,t[36]=x,t[37]=S,t[38]=D.dot,t[39]=we):we=t[39];let Te=we,G;t[40]===x?G=t[41]:(G=(0,Q.jsx)(`h3`,{className:`truncate text-[13px] font-semibold tracking-[-0.01em] text-foreground`,children:x}),t[40]=x,t[41]=G);let Ee;t[42]!==r.driver||t[43]!==n?(Ee=String(n)===String(r.driver)?null:(0,Q.jsx)(`code`,{className:`truncate rounded bg-muted/60 px-1 py-0.5 text-[10px] text-muted-foreground`,children:n}),t[42]=r.driver,t[43]=n,t[44]=Ee):Ee=t[44];let De=o?`Default`:`Custom`,K;t[45]===De?K=t[46]:(K=(0,Q.jsx)(Le,{variant:`outline`,size:`sm`,className:`shrink-0`,children:De}),t[45]=De,t[46]=K);let Oe;t[47]===i?Oe=t[48]:(Oe=i?.badgeLabel?(0,Q.jsx)(Le,{variant:`warning`,size:`sm`,className:`shrink-0`,children:i.badgeLabel}):null,t[47]=i,t[48]=Oe);let ke;t[49]!==G||t[50]!==Ee||t[51]!==K||t[52]!==Oe||t[53]!==Te?(ke=(0,Q.jsxs)(Q.Fragment,{children:[Te,G,Ee,K,Oe]}),t[49]=G,t[50]=Ee,t[51]=K,t[52]=Oe,t[53]=Te,t[54]=ke):ke=t[54];let Ae=ke,je;t[55]!==n||t[56]!==c?(je=c?(0,Q.jsxs)(W,{size:`xs`,variant:`ghost`,className:`h-7 gap-1.5 px-2 text-xs text-muted-foreground hover:text-destructive`,onClick:c,"aria-label":`Delete provider instance ${n}`,children:[(0,Q.jsx)(N,{className:`size-3`}),`Delete`]}):null,t[55]=n,t[56]=c,t[57]=je):je=t[57];let Me;t[58]!==l||t[59]!==je?(Me=(0,Q.jsxs)(Q.Fragment,{children:[l,je]}),t[58]=l,t[59]=je,t[60]=Me):Me=t[60];let Ne=Me,Pe;t[61]!==ee||t[62]!==k||t[63]!==te||t[64]!==T.headline?(Pe=te?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{children:`Authenticated as`}),(0,Q.jsx)(Bt,{email:ee}),k?(0,Q.jsxs)(`span`,{children:[`· `,k]}):null]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{children:T.headline}),(0,Q.jsx)(Bt,{email:ee,separator:!0,prefix:`Email`})]}),t[61]=ee,t[62]=k,t[63]=te,t[64]=T.headline,t[65]=Pe):Pe=t[65];let Re;t[66]===T.detail?Re=t[67]:(Re=T.detail?(0,Q.jsxs)(`span`,{children:[`- `,T.detail]}):null,t[66]=T.detail,t[67]=Re);let ze;t[68]!==Pe||t[69]!==Re?(ze=(0,Q.jsxs)(`p`,{className:`flex min-w-0 flex-wrap items-center gap-x-1 text-xs text-muted-foreground`,children:[Pe,Re]}),t[68]=Pe,t[69]=Re,t[70]=ze):ze=t[70];let Be=ze,Ve;t[71]===re?Ve=t[72]:(Ve=re?(0,Q.jsx)(`code`,{className:`text-xs text-muted-foreground`,children:re}):null,t[71]=re,t[72]=Ve);let He=Ve,Ue;t[73]!==fe||t[74]!==x||t[75]!==v||t[76]!==g||t[77]!==le||t[78]!==ce?(Ue=ce?(0,Q.jsxs)(Ie,{children:[(0,Q.jsx)(q,{render:(0,Q.jsx)(W,{type:`button`,size:`icon-xs`,variant:`ghost`,className:P(`size-5 rounded-sm p-0`,ce.emphasis===`strong`?`text-warning hover:text-warning`:`text-primary hover:text-primary`),"aria-label":`Update available — view details`,children:(0,Q.jsx)(Ye,{className:`size-3.5 [animation:bounce_2.4s_ease-in-out_infinite] motion-reduce:animate-none`})})}),(0,Q.jsx)(Fe,{side:`bottom`,align:`start`,className:`w-84`,children:(0,Q.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Q.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,Q.jsx)(`p`,{className:`text-[13px] font-semibold leading-tight text-foreground`,children:`Update available`}),(0,Q.jsx)(`p`,{className:P(`text-xs leading-snug`,ce.emphasis===`strong`?`text-warning`:`text-muted-foreground`),children:ce.detail})]}),g?(0,Q.jsxs)(W,{type:`button`,size:`xs`,variant:`default`,className:`w-full`,disabled:v,onClick:g,children:[v?(0,Q.jsx)(se,{className:`animate-spin`}):(0,Q.jsx)(j,{}),v?`Updating`:`Update now`]}):null,g&&le?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:[(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`}),`or, update manually using`,(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`})]}):null,le?(0,Q.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-border/70 bg-muted/40 py-0.5 pr-0.5 pl-2`,children:[(0,Q.jsx)(`code`,{className:`min-w-0 flex-1 overflow-x-auto whitespace-nowrap font-mono text-[11px] text-foreground [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:le}),(0,Q.jsxs)(he,{children:[(0,Q.jsx)(pe,{render:(0,Q.jsx)(W,{type:`button`,size:`icon-xs`,variant:`ghost`,className:`size-6 shrink-0 rounded-sm p-0 text-muted-foreground hover:text-foreground`,onClick:()=>fe(le,{providerName:x}),"aria-label":`Copy update command`,children:(0,Q.jsx)(ae,{className:`size-3`})})}),(0,Q.jsx)(me,{side:`top`,children:`Copy command`})]})]}):null]})})]}):null,t[73]=fe,t[74]=x,t[75]=v,t[76]=g,t[77]=le,t[78]=ce,t[79]=Ue):Ue=t[79];let We;t[80]!==Ue||t[81]!==Ae||t[82]!==Ne||t[83]!==He?(We=(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[Ae,He,Ue,Ne]}),t[80]=Ue,t[81]=Ae,t[82]=Ne,t[83]=He,t[84]=We):We=t[84];let Ge;t[85]!==Be||t[86]!==We?(Ge=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[We,Be]}),t[85]=Be,t[86]=We,t[87]=Ge):Ge=t[87];let J;t[88]===B?J=t[89]:(J=e=>B(!!e),t[88]=B,t[89]=J);let Ke=`Enable ${x}`,qe;t[90]!==b||t[91]!==J||t[92]!==Ke?(qe=(0,Q.jsx)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:(0,Q.jsx)(H,{checked:b,onCheckedChange:J,"aria-label":Ke})}),t[90]=b,t[91]=J,t[92]=Ke,t[93]=qe):qe=t[93];let Y;t[94]!==Ge||t[95]!==qe?(Y=(0,Q.jsx)(`div`,{className:`px-4 py-3.5 sm:px-5`,children:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[Ge,qe]})}),t[94]=Ge,t[95]=qe,t[96]=Y):Y=t[96];let X;t[97]===a?X=t[98]:(X=a?.rateLimits?(0,Q.jsx)(Ut,{rateLimits:a.rateLimits}):null,t[97]=a,t[98]=X);let Xe=`provider-instance-${n}-display-name`,Z;t[99]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Display name`}),t[99]=Z):Z=t[99];let Qe=`provider-instance-${n}-display-name`,$e=r.displayName??``,et=i?.label??`Instance label`,tt;t[100]!==Qe||t[101]!==$e||t[102]!==et||t[103]!==R?(tt=(0,Q.jsx)(Je,{id:Qe,className:`mt-1.5`,value:$e,onCommit:R,placeholder:et,spellCheck:!1}),t[100]=Qe,t[101]=$e,t[102]=et,t[103]=R,t[104]=tt):tt=t[104];let nt;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,Q.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:`Optional label shown in the provider list.`}),t[105]=nt):nt=t[105];let rt;t[106]!==Xe||t[107]!==tt?(rt=(0,Q.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,Q.jsxs)(`label`,{htmlFor:Xe,className:`block`,children:[Z,tt,nt]})}),t[106]=Xe,t[107]=tt,t[108]=rt):rt=t[108];let it;t[109]!==C||t[110]!==x||t[111]!==_e?(it=(0,Q.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,Q.jsx)(Vt,{displayName:x,value:C,onCommit:_e})}),t[109]=C,t[110]=x,t[111]=_e,t[112]=it):it=t[112];let at;t[113]===r.environment?at=t[114]:(at=r.environment??[],t[113]=r.environment,t[114]=at);let ot;t[115]!==at||t[116]!==Ce?(ot=(0,Q.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,Q.jsx)(Wt,{environment:at,onChange:Ce})}),t[115]=at,t[116]=Ce,t[117]=ot):ot=t[117];let $;t[118]!==i||t[119]!==r.config||t[120]!==n||t[121]!==ve?($=i?(0,Q.jsx)(lt,{definition:i,value:r.config,idPrefix:`provider-instance-${n}`,variant:`card`,onChange:ve}):null,t[118]=i,t[119]=r.config,t[120]=n,t[121]=ve,t[122]=$):$=t[122];let st;t[123]!==F||t[124]!==S||t[125]!==i||t[126]!==d||t[127]!==u||t[128]!==r.driver||t[129]!==n||t[130]!==f||t[131]!==L||t[132]!==m||t[133]!==p||t[134]!==h||t[135]!==xe?(st=i===void 0?(0,Q.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,Q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`This instance uses a driver (`,(0,Q.jsx)(`code`,{className:`text-foreground`,children:String(r.driver)}),`) that is not shipped with the current build. Configuration values are preserved but cannot be edited from this surface.`]})}):(0,Q.jsx)(xt,{instanceId:n,driverKind:S,models:L,customModels:F,hiddenModels:u,favoriteModels:d,modelOrder:f,onChange:xe,onHiddenModelsChange:p,onFavoriteModelsChange:m,onModelOrderChange:h}),t[123]=F,t[124]=S,t[125]=i,t[126]=d,t[127]=u,t[128]=r.driver,t[129]=n,t[130]=f,t[131]=L,t[132]=m,t[133]=p,t[134]=h,t[135]=xe,t[136]=st):st=t[136];let ct;t[137]!==X||t[138]!==rt||t[139]!==it||t[140]!==ot||t[141]!==$||t[142]!==st?(ct=(0,Q.jsxs)(`div`,{className:`space-y-0`,children:[X,rt,it,ot,$,st]}),t[137]=X,t[138]=rt,t[139]=it,t[140]=ot,t[141]=$,t[142]=st,t[143]=ct):ct=t[143];let ut;return t[144]!==Y||t[145]!==ct?(ut=(0,Q.jsxs)(`div`,{children:[Y,ct]}),t[144]=Y,t[145]=ct,t[146]=ut):ut=t[146],ut}function Kt(e){return e.name.trim().length>0}function qt(e,t){let{providerName:n}=t;ie.add(xe({type:`error`,title:`Could not copy ${n} update command`,description:e.message}))}function Jt(e){let{providerName:t}=e;ie.add({type:`success`,title:`${t} update command copied`,description:`Run it in a terminal when you are ready to update.`})}function Yt(e){let t=(0,Ze.c)(37),n;t[0]===e?n=t[1]:(n=jt(e),t[0]=e,t[1]=n);let r=n,i=Dt[r.statusKey],a=e.driverOption?.icon,o=e.isDefault?`Default`:`Custom`,s=e.selected?`true`:void 0,c=e.editorId,l=r.displayName,u;t[2]===o?u=t[3]:(u=o.toLowerCase(),t[2]=o,t[3]=u);let d=`Edit ${l} ${u} provider instance`,f=e.selected?`border-foreground/20 bg-background shadow-sm`:`border-transparent hover:border-border/80 hover:bg-background/70`,p;t[4]===f?p=t[5]:(p=P(`group flex w-full min-w-0 cursor-pointer items-start gap-3 rounded-lg border px-3 py-2.5 text-left outline-none transition-[background-color,border-color,box-shadow]`,`focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background`,f),t[4]=f,t[5]=p);let m;t[6]!==a||t[7]!==r.accentColor||t[8]!==r.displayName||t[9]!==r.driverKind||t[10]!==i.dot?(m=r.driverKind?(0,Q.jsx)(M,{driverKind:r.driverKind,displayName:r.displayName,accentColor:r.accentColor,showBadge:!!r.accentColor,statusDotClassName:i.dot,className:`mt-0.5 size-7`,iconClassName:`size-5 text-foreground/80`}):a?(0,Q.jsxs)(`span`,{className:`relative mt-0.5 inline-flex size-7 shrink-0 items-center justify-center`,children:[(0,Q.jsx)(a,{className:`size-5 text-foreground/80`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:P(`pointer-events-none absolute -left-0.5 -top-0.5 size-2 rounded-full ring-2 ring-background`,i.dot),"aria-hidden":!0})]}):(0,Q.jsx)(`span`,{className:P(`mt-2 size-2 shrink-0 rounded-full`,i.dot)}),t[6]=a,t[7]=r.accentColor,t[8]=r.displayName,t[9]=r.driverKind,t[10]=i.dot,t[11]=m):m=t[11];let h;t[12]===r.displayName?h=t[13]:(h=(0,Q.jsx)(`span`,{className:`truncate text-[13px] font-semibold tracking-[-0.01em] text-foreground`,children:r.displayName}),t[12]=r.displayName,t[13]=h);let g;t[14]===o?g=t[15]:(g=(0,Q.jsx)(Le,{variant:`outline`,size:`sm`,className:`shrink-0 bg-background/60`,children:o}),t[14]=o,t[15]=g);let _;t[16]!==g||t[17]!==h?(_=(0,Q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[h,g]}),t[16]=g,t[17]=h,t[18]=_):_=t[18];let v;t[19]===r.summary.headline?v=t[20]:(v=(0,Q.jsx)(`span`,{className:`mt-0.5 block truncate text-[11px] text-muted-foreground`,children:r.summary.headline}),t[19]=r.summary.headline,t[20]=v);let y;t[21]!==e.instanceId||t[22]!==e.isDefault?(y=e.isDefault?null:(0,Q.jsx)(`code`,{className:`mt-0.5 block truncate text-[10px] text-muted-foreground/70`,children:e.instanceId}),t[21]=e.instanceId,t[22]=e.isDefault,t[23]=y):y=t[23];let b;t[24]!==_||t[25]!==v||t[26]!==y?(b=(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[_,v,y]}),t[24]=_,t[25]=v,t[26]=y,t[27]=b):b=t[27];let x;return t[28]!==e.editorId||t[29]!==e.onKeyDown||t[30]!==e.onSelect||t[31]!==s||t[32]!==b||t[33]!==d||t[34]!==p||t[35]!==m?(x=(0,Q.jsxs)(`button`,{type:`button`,"data-provider-instance-row":!0,"aria-current":s,"aria-controls":c,"aria-label":d,className:p,onClick:e.onSelect,onKeyDown:e.onKeyDown,children:[m,b]}),t[28]=e.editorId,t[29]=e.onKeyDown,t[30]=e.onSelect,t[31]=s,t[32]=b,t[33]=d,t[34]=p,t[35]=m,t[36]=x):x=t[36],x}function Xt(e,t){let n=e.providers,r=i.providers,a=c(t),o=e.providerInstances?.[a],s=n[t],l=r[t];return{instance:o??{driver:t,enabled:s.enabled,config:s},isDirty:o!==void 0||!f(s,l)}}function Zt(e,t){let n=Y.map(e=>e.value).filter(e=>e!==`cursor`||t.some(t=>t.instanceId===c(e))),r=new Set(n),i=new Map;for(let[t,n]of Object.entries(e.providerInstances??{})){let e=i.get(n.driver)??[];e.push([t,n]),i.set(n.driver,e)}let a=[];for(let t of n){let n=c(t),r=Xt(e,t);a.push({instanceId:n,instance:r.instance,driver:t,isDefault:!0,isDirty:r.isDirty});for(let[e,r]of i.get(t)??[])e!==n&&a.push({instanceId:e,instance:r,driver:r.driver,isDefault:!1,isDirty:!0})}for(let[e,t]of i)if(!r.has(e))for(let[n,r]of t)a.push({instanceId:n,instance:r,driver:e,isDefault:n===c(e),isDirty:!0});return a}function Qt(e,t){return e.find(e=>e.instanceId===t)??e.at(0)??null}function $t(e,t,n){return n<=0||e<0||e>=n?null:t===`Home`?0:t===`End`?n-1:t===`ArrowDown`?(e+1)%n:(e-1+n)%n}function en(e){let t=i.providers,n=e.isDefault?t[e.driver]:void 0;return{...n===void 0?{}:{providers:{...e.settings.providers,[e.driver]:n}},providerInstances:{...e.settings.providerInstances,[e.instanceId]:e.instance},...e.textGenerationModelSelection===void 0?{}:{textGenerationModelSelection:e.textGenerationModelSelection}}}var tn=l.make(`codex`);function nn(e,t){let n={...e};return delete n[t],n}function rn(e,t){return e.filter(e=>e.provider!==t)}function an(e){let t=(0,Ze.c)(5),{lastCheckedAt:n}=e;Ve();let r;t[0]===n?r=t[1]:(r=n?F(n):null,t[0]=n,t[1]=r);let i=r;if(!i)return null;let a;return t[2]!==i.suffix||t[3]!==i.value?(a=(0,Q.jsx)(`span`,{className:`text-[11px] text-muted-foreground/60`,children:i.suffix?(0,Q.jsxs)(Q.Fragment,{children:[`Checked `,(0,Q.jsx)(`span`,{className:`font-mono tabular-nums`,children:i.value}),` `,i.suffix]}):(0,Q.jsxs)(Q.Fragment,{children:[`Checked `,i.value]})}),t[2]=i.suffix,t[3]=i.value,t[4]=a):a=t[4],a}function on(){let e=(0,Ze.c)(225),t=y(),{updateSettings:n}=p(),r=h(),a=Se(u.serverUpdateSettings),o=!a.allowed,s=a.reason,l=_(),[d,S]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(!1),[ee,te]=(0,Z.useState)(null),[k,ne]=(0,Z.useState)(null),A;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(A=new Set,e[0]=A):A=e[0];let[re,ie]=(0,Z.useState)(A),ae=(0,Z.useRef)(!1),j;e[1]===r?j=e[2]:(j=e=>{if(!r||r.primary){b({providers:e});return}let t=v.getState().byId[r.environmentId]?.serverConfig;t&&v.getState().patch(r.environmentId,{serverConfig:{...t,providers:e}})},e[1]=r,e[2]=j);let oe=j,M;e[3]===r?M=e[4]:(M=()=>{if(!r)return m().server;let e=g(r.environmentId)?.server;if(!e)throw Error(`Provider settings are unavailable on ${r.nodeLabel}.`);return e},e[3]=r,e[4]=M);let ue=M,N;e[5]!==oe||e[6]!==ue?(N=()=>{ae.current||(ae.current=!0,S(!0),ue().refreshProviders().then(e=>oe(e.providers)).catch(gn).finally(()=>{ae.current=!1,S(!1)}))},e[5]=oe,e[6]=ue,e[7]=N):N=e[7];let fe=N,P,F,I,L,R,z,B;if(e[8]!==l||e[9]!==t){let n=T(t,l);L=n.instanceId,R=n.model,z=n.options,P=D(O(l)),I=P.find(e=>e.instanceId===L),B=I?.driverKind??tn,F=E(t,l,L,R),e[8]=l,e[9]=t,e[10]=P,e[11]=F,e[12]=I,e[13]=L,e[14]=R,e[15]=z,e[16]=B}else P=e[10],F=e[11],I=e[12],L=e[13],R=e[14],z=e[15],B=e[16];let V=F,H;e[17]===t.textGenerationModelSelection?H=e[18]:(H=f(t.textGenerationModelSelection??null,i.textGenerationModelSelection??null),e[17]=t.textGenerationModelSelection,e[18]=H);let _e=!H,U;e[19]===l?U=e[20]:(U=l.length>0?l.reduce(hn,l[0].checkedAt):null,e[19]=l,e[20]=U);let ve=U,ye,be,xe,Ce,we,Te,G,Ee,De,K,Fe,q,Ie,Le,Ve,J,Ke,Y,Je,X,Ye,Xe,Qe,$e,et,tt;if(e[21]!==oe||e[22]!==P||e[23]!==V||e[24]!==_e||e[25]!==d||e[26]!==ve||e[27]!==k||e[28]!==ue||e[29]!==fe||e[30]!==ee||e[31]!==l||e[32]!==t||e[33]!==o||e[34]!==s||e[35]!==I?.models||e[36]!==L||e[37]!==R||e[38]!==z||e[39]!==B||e[40]!==n||e[41]!==re){let r=Zt(t,l);q=Qt(r,ee);let a=q?.instanceId??null,u;e[68]!==t||e[69]!==n?(u=(e,r,i)=>{n(en({settings:t,instanceId:e.instanceId,instance:r,driver:e.driver,isDefault:e.isDefault,textGenerationModelSelection:i?.textGenerationModelSelection}))},e[68]=t,e[69]=n,e[70]=u):u=e[70],et=u;let f;e[71]!==t.favorites||e[72]!==t.providerInstances||e[73]!==t.providerModelPreferences||e[74]!==L||e[75]!==n?(f=e=>{n({providerInstances:nn(t.providerInstances,e),providerModelPreferences:nn(t.providerModelPreferences,e),favorites:rn(t.favorites??[],e),...L===e?{textGenerationModelSelection:i.textGenerationModelSelection}:{}})},e[71]=t.favorites,e[72]=t.providerInstances,e[73]=t.providerModelPreferences,e[74]=L,e[75]=n,e[76]=f):f=e[76];let p=f,m;e[77]!==t.providerModelPreferences||e[78]!==n?(m=(e,r)=>{let i=[...new Set(r.hiddenModels.filter(mn))],a=[...new Set(r.modelOrder.filter(pn))],o=nn(t.providerModelPreferences,e);n({providerModelPreferences:i.length===0&&a.length===0?o:{...o,[e]:{hiddenModels:i,modelOrder:a}}})},e[77]=t.providerModelPreferences,e[78]=n,e[79]=m):m=e[79],tt=m;let h;e[80]!==t.favorites||e[81]!==n?(h=(e,r)=>{let i=[...new Set(r.map(fn).filter(dn))];n({favorites:[...rn(t.favorites??[],e),...i.map(t=>({provider:e,model:t}))]})},e[80]=t.favorites,e[81]=n,e[82]=h):h=e[82],$e=h;let g;e[83]!==oe||e[84]!==ue?(g=e=>{ie(t=>new Set(t).add(e.instanceId)),ue().updateProvider({provider:e.driver,instanceId:e.instanceId}).then(e=>{oe(e.providers)}).catch(un).finally(()=>{ie(t=>{let n=new Set(t);return n.delete(e.instanceId),n})})},e[83]=oe,e[84]=ue,e[85]=g):g=e[85],Te=g;let _;e[86]!==t.favorites||e[87]!==t.providerInstances||e[88]!==t.providerModelPreferences||e[89]!==t.providers||e[90]!==L||e[91]!==n?(_=e=>{let r=i.providers,a=c(e),o=r[e];o!==void 0&&n({providers:{...t.providers,[e]:o},providerInstances:nn(t.providerInstances,a),providerModelPreferences:nn(t.providerModelPreferences,a),favorites:rn(t.favorites??[],a),...L===a?{textGenerationModelSelection:i.textGenerationModelSelection}:{}})},e[86]=t.favorites,e[87]=t.providerInstances,e[88]=t.providerModelPreferences,e[89]=t.providers,e[90]=L,e[91]=n,e[92]=_):_=e[92];let v=_,y=new Map(l.map(ln));Ee=q?qe(q.driver):void 0,K=q?y.get(q.instanceId):void 0,G=q?q.instance.displayName?.trim()||Ee?.label||String(q.driver):null,Ie=K&&Re(K)?K:null,xe=Ie!==null&&ze(Ie,l),we=!!(K&&Be(K))||(q?re.has(q.instanceId):!1),Fe=q?t.providerModelPreferences?.[q.instanceId]??{hiddenModels:[],modelOrder:[]}:{hiddenModels:[],modelOrder:[]},De=q?(t.favorites??[]).filter(e=>e.provider===q.instanceId).map(cn):[];let b=(e,t)=>{let n=e.key;if(n!==`ArrowDown`&&n!==`ArrowUp`&&n!==`Home`&&n!==`End`)return;let i=$t(t,n,r.length);if(i===null)return;e.preventDefault();let a=r[i];a&&(te(a.instanceId),(e.currentTarget.closest(`[data-provider-instance-list]`)?.querySelectorAll(`[data-provider-instance-row]`))?.[i]?.focus())},S;e[93]!==p||e[94]!==k||e[95]!==v?(S=()=>{let e=k;if(e){if(ne(null),e.kind===`delete`){p(e.instanceId);return}v(e.driver)}},e[93]=p,e[94]=k,e[95]=v,e[96]=S):S=e[96],Ce=S,be=Ue;let C;e[97]!==_e||e[98]!==n?(C=_e?(0,Q.jsx)(Ge,{label:`text generation model`,onClick:()=>n({textGenerationModelSelection:i.textGenerationModelSelection})}):null,e[97]=_e,e[98]=n,e[99]=C):C=e[99];let E;e[100]===s?E=e[101]:(E=s?{disabledReason:s}:{},e[100]=s,e[101]=E);let D;e[102]!==l||e[103]!==t||e[104]!==n?(D=(e,r)=>{n({textGenerationModelSelection:T({...t,textGenerationModelSelection:x(e,r)},l)})},e[102]=l,e[103]=t,e[104]=n,e[105]=D):D=e[105];let O;e[106]!==P||e[107]!==V||e[108]!==o||e[109]!==E||e[110]!==D||e[111]!==L||e[112]!==R?(O=(0,Q.jsx)(de,{activeInstanceId:L,model:R,lockedProvider:null,instanceEntries:P,modelOptionsByInstance:V,triggerVariant:`outline`,triggerClassName:`min-w-0 max-w-none shrink-0 text-foreground/90 hover:text-foreground`,disabled:o,...E,onInstanceModelChange:D}),e[106]=P,e[107]=V,e[108]=o,e[109]=E,e[110]=D,e[111]=L,e[112]=R,e[113]=O):O=e[113];let A;e[114]===I?.models?A=e[115]:(A=I?.models??[],e[114]=I?.models,e[115]=A);let ae;e[116]===s?ae=e[117]:(ae=s?{disabledReason:s}:{},e[116]=s,e[117]=ae);let j;e[118]!==l||e[119]!==t||e[120]!==L||e[121]!==R||e[122]!==n?(j=e=>{n({textGenerationModelSelection:T({...t,textGenerationModelSelection:x(L,R,e)},l)})},e[118]=l,e[119]=t,e[120]=L,e[121]=R,e[122]=n,e[123]=j):j=e[123];let M;e[124]!==o||e[125]!==A||e[126]!==ae||e[127]!==j||e[128]!==R||e[129]!==z||e[130]!==B?(M=(0,Q.jsx)(ge,{provider:B,models:A,model:R,prompt:``,onPromptChange:sn,modelOptions:z,allowPromptInjectedEffort:!1,triggerVariant:`outline`,triggerClassName:`min-w-0 max-w-none shrink-0 text-foreground/90 hover:text-foreground`,disabled:o,...ae,onModelOptionsChange:j}),e[124]=o,e[125]=A,e[126]=ae,e[127]=j,e[128]=R,e[129]=z,e[130]=B,e[131]=M):M=e[131];let N;e[132]!==O||e[133]!==M?(N=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1.5`,children:[O,M]}),e[132]=O,e[133]=M,e[134]=N):N=e[134],e[135]!==C||e[136]!==N?(X=(0,Q.jsx)(He,{title:`Text generation`,children:(0,Q.jsx)(We,{title:`Text generation model`,description:`Configure the model used for generated commit messages, PR titles, and similar Git text.`,resetAction:C,control:N})}),e[135]=C,e[136]=N,e[137]=X):X=e[137],ye=He,Y=`Providers`;let F;e[138]===ve?F=e[139]:(F=(0,Q.jsx)(an,{lastCheckedAt:ve}),e[138]=ve,e[139]=F);let H;e[140]===fe?H=e[141]:(H=()=>void fe(),e[140]=fe,e[141]=H);let U;e[142]===d?U=e[143]:(U=d?(0,Q.jsx)(se,{className:`size-3 animate-spin`}):(0,Q.jsx)(le,{className:`size-3`}),e[142]=d,e[143]=U);let Se;e[144]!==d||e[145]!==H||e[146]!==U?(Se=(0,Q.jsx)(pe,{render:(0,Q.jsx)(W,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,disabled:d,onClick:H,"aria-label":`Refresh provider status`,children:U})}),e[144]=d,e[145]=H,e[146]=U,e[147]=Se):Se=e[147];let Oe;e[148]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,Q.jsx)(me,{side:`top`,children:`Refresh provider status`}),e[148]=Oe):Oe=e[148];let ke;e[149]===Se?ke=e[150]:(ke=(0,Q.jsxs)(he,{children:[Se,Oe]}),e[149]=Se,e[150]=ke),e[151]!==F||e[152]!==ke?(Je=(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[F,ke]}),e[151]=F,e[152]=ke,e[153]=Je):Je=e[153],Ke=`grid min-h-[34rem] md:grid-cols-[minmax(13.5rem,0.75fr)_minmax(0,1.55fr)]`,Ve=`app-muted-surface min-w-0 border-b border-border/70 md:border-r md:border-b-0`;let Ae;e[154]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,Q.jsx)(`h3`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-foreground`,children:`Instances`}),e[154]=Ae):Ae=e[154];let je=(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[Ae,(0,Q.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[r.length,` configured`]})]}),Me;e[155]===Symbol.for(`react.memo_cache_sentinel`)?(Me=()=>w(!0),e[155]=Me):Me=e[155];let Ne;e[156]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,Q.jsxs)(W,{size:`xs`,variant:`outline`,className:`h-7 shrink-0 gap-1.5 px-2 text-xs`,onClick:Me,"aria-label":`Add provider instance`,children:[(0,Q.jsx)(ce,{className:`size-3`}),`Add`]}),e[156]=Ne):Ne=e[156],e[157]===je?J=e[158]:(J=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-border/70 px-3 py-3`,children:[je,Ne]}),e[157]=je,e[158]=J),Ye=`Provider instances`,Xe=!0,Qe=`grid max-h-64 gap-1 overflow-y-auto p-2 md:max-h-[min(44rem,calc(100dvh-15rem))]`,Le=r.map((e,t)=>(0,Q.jsx)(Yt,{instanceId:e.instanceId,instance:e.instance,driverOption:qe(e.driver),liveProvider:y.get(e.instanceId),isDefault:e.isDefault,selected:e.instanceId===a,editorId:`provider-instance-editor`,onSelect:()=>te(e.instanceId),onKeyDown:e=>b(e,t)},e.instanceId)),e[21]=oe,e[22]=P,e[23]=V,e[24]=_e,e[25]=d,e[26]=ve,e[27]=k,e[28]=ue,e[29]=fe,e[30]=ee,e[31]=l,e[32]=t,e[33]=o,e[34]=s,e[35]=I?.models,e[36]=L,e[37]=R,e[38]=z,e[39]=B,e[40]=n,e[41]=re,e[42]=ye,e[43]=be,e[44]=xe,e[45]=Ce,e[46]=we,e[47]=Te,e[48]=G,e[49]=Ee,e[50]=De,e[51]=K,e[52]=Fe,e[53]=q,e[54]=Ie,e[55]=Le,e[56]=Ve,e[57]=J,e[58]=Ke,e[59]=Y,e[60]=Je,e[61]=X,e[62]=Ye,e[63]=Xe,e[64]=Qe,e[65]=$e,e[66]=et,e[67]=tt}else ye=e[42],be=e[43],xe=e[44],Ce=e[45],we=e[46],Te=e[47],G=e[48],Ee=e[49],De=e[50],K=e[51],Fe=e[52],q=e[53],Ie=e[54],Le=e[55],Ve=e[56],J=e[57],Ke=e[58],Y=e[59],Je=e[60],X=e[61],Ye=e[62],Xe=e[63],Qe=e[64],$e=e[65],et=e[66],tt=e[67];let nt;e[159]!==Le||e[160]!==Ye||e[161]!==Xe||e[162]!==Qe?(nt=(0,Q.jsx)(`nav`,{"aria-label":Ye,"data-provider-instance-list":Xe,className:Qe,children:Le}),e[159]=Le,e[160]=Ye,e[161]=Xe,e[162]=Qe,e[163]=nt):nt=e[163];let rt;e[164]!==Ve||e[165]!==J||e[166]!==nt?(rt=(0,Q.jsxs)(`aside`,{className:Ve,children:[J,nt]}),e[164]=Ve,e[165]=J,e[166]=nt,e[167]=rt):rt=e[167];let it=G?`Edit ${G}`:`Provider editor`,at;e[168]!==xe||e[169]!==we||e[170]!==Te||e[171]!==G||e[172]!==Ee||e[173]!==De||e[174]!==K||e[175]!==Fe||e[176]!==q||e[177]!==Ie||e[178]!==L||e[179]!==$e||e[180]!==et||e[181]!==tt?(at=q?(0,Q.jsx)(Gt,{instanceId:q.instanceId,instance:q.instance,driverOption:Ee,liveProvider:K,isDefault:q.isDefault,onUpdate:e=>{let t=q.instance.enabled??!0;e.enabled===!1&&t&&L===q.instanceId?et(q,e,{textGenerationModelSelection:i.textGenerationModelSelection}):et(q,e)},onDelete:q.isDefault?void 0:()=>ne({kind:`delete`,instanceId:q.instanceId,displayName:G??String(q.instanceId)}),headerAction:q.isDefault&&q.isDirty?(0,Q.jsx)(Ge,{label:`${G??String(q.driver)} provider settings`,onClick:()=>ne({kind:`reset`,driver:q.driver,displayName:G??String(q.driver)})}):null,hiddenModels:Fe.hiddenModels,favoriteModels:De,modelOrder:Fe.modelOrder,onHiddenModelsChange:e=>tt(q.instanceId,{...Fe,hiddenModels:e}),onFavoriteModelsChange:e=>$e(q.instanceId,e),onModelOrderChange:e=>tt(q.instanceId,{...Fe,modelOrder:e}),onRunUpdate:xe?()=>Te(Ie):void 0,isUpdating:we},q.instanceId):(0,Q.jsx)(`div`,{className:`grid min-h-64 place-items-center px-6 py-12 text-center`,children:(0,Q.jsxs)(`div`,{className:`max-w-xs space-y-1`,children:[(0,Q.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:`No provider instances`}),(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Add an instance to configure a provider for this environment.`})]})}),e[168]=xe,e[169]=we,e[170]=Te,e[171]=G,e[172]=Ee,e[173]=De,e[174]=K,e[175]=Fe,e[176]=q,e[177]=Ie,e[178]=L,e[179]=$e,e[180]=et,e[181]=tt,e[182]=at):at=e[182];let ot;e[183]!==it||e[184]!==at?(ot=(0,Q.jsx)(`section`,{id:`provider-instance-editor`,"aria-label":it,className:`min-w-0 bg-card`,children:at}),e[183]=it,e[184]=at,e[185]=ot):ot=e[185];let $;e[186]!==Ke||e[187]!==rt||e[188]!==ot?($=(0,Q.jsxs)(`div`,{className:Ke,children:[rt,ot]}),e[186]=Ke,e[187]=rt,e[188]=ot,e[189]=$):$=e[189];let st;e[190]!==ye||e[191]!==Y||e[192]!==Je||e[193]!==$?(st=(0,Q.jsx)(ye,{title:Y,headerAction:Je,children:$}),e[190]=ye,e[191]=Y,e[192]=Je,e[193]=$,e[194]=st):st=e[194];let ct;e[195]===C?ct=e[196]:(ct=(0,Q.jsx)(yt,{open:C,onOpenChange:w,onCreated:te}),e[195]=C,e[196]=ct);let lt=k!==null,ut;e[197]===Symbol.for(`react.memo_cache_sentinel`)?(ut=e=>!e&&ne(null),e[197]=ut):ut=e[197];let dt=k?.kind===`delete`?`Delete ${k.displayName}?`:`Reset ${k?.displayName??`provider`}?`,ft;e[198]===dt?ft=e[199]:(ft=(0,Q.jsx)(Ne,{children:dt}),e[198]=dt,e[199]=ft);let pt=k?.kind===`delete`?`This removes the instance, its model preferences, and its favorites. Existing threads that reference it may no longer start; text generation returns to its default if needed.`:`This restores the built-in instance configuration, removes its model preferences and favorites, and resets text generation if it uses this instance.`,mt;e[200]===pt?mt=e[201]:(mt=(0,Q.jsx)(Me,{children:pt}),e[200]=pt,e[201]=mt);let ht;e[202]!==ft||e[203]!==mt?(ht=(0,Q.jsxs)(Oe,{children:[ft,mt]}),e[202]=ft,e[203]=mt,e[204]=ht):ht=e[204];let gt;e[205]===k?gt=e[206]:(gt=k?.kind===`delete`?(0,Q.jsx)(`div`,{className:`px-6 pb-4`,children:(0,Q.jsx)(`code`,{className:`block rounded-md border border-border/70 bg-muted/40 px-3 py-2 text-xs text-foreground`,children:k.instanceId})}):null,e[205]=k,e[206]=gt);let _t;e[207]===Symbol.for(`react.memo_cache_sentinel`)?(_t=(0,Q.jsx)(Ae,{render:(0,Q.jsx)(W,{variant:`outline`}),children:`Cancel`}),e[207]=_t):_t=e[207];let vt=k?.kind===`delete`?`destructive`:`default`,bt=k?.kind===`delete`?`Delete instance`:`Reset settings`,xt;e[208]!==Ce||e[209]!==vt||e[210]!==bt?(xt=(0,Q.jsxs)(ke,{children:[_t,(0,Q.jsx)(W,{variant:vt,onClick:Ce,children:bt})]}),e[208]=Ce,e[209]=vt,e[210]=bt,e[211]=xt):xt=e[211];let St;e[212]!==ht||e[213]!==gt||e[214]!==xt?(St=(0,Q.jsxs)(je,{children:[ht,gt,xt]}),e[212]=ht,e[213]=gt,e[214]=xt,e[215]=St):St=e[215];let Ct;e[216]!==lt||e[217]!==St?(Ct=(0,Q.jsx)(Pe,{open:lt,onOpenChange:ut,children:St}),e[216]=lt,e[217]=St,e[218]=Ct):Ct=e[218];let wt;return e[219]!==be||e[220]!==X||e[221]!==st||e[222]!==ct||e[223]!==Ct?(wt=(0,Q.jsxs)(be,{children:[X,st,ct,Ct]}),e[219]=be,e[220]=X,e[221]=st,e[222]=ct,e[223]=Ct,e[224]=wt):wt=e[224],wt}function sn(){}function cn(e){return e.model}function ln(e){return[e.instanceId,e]}function un(e){ie.add(xe({type:`error`,title:`Provider update failed`,description:e instanceof Error?e.message:`An error occurred.`}))}function dn(e){return e.length>0}function fn(e){return e.trim()}function pn(e){return e.trim().length>0}function mn(e){return e.trim().length>0}function hn(e,t){return t.checkedAt>e?t.checkedAt:e}function gn(e){ie.add(xe({type:`error`,title:`Failed to refresh providers`,description:e instanceof Error?e.message:`An error occurred.`}))}export{on as ProvidersSettingsPanel};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{It as r}from"./composerDraftStore-czbuHgbM.js";import{t as i}from"./utils-Dz7wQZDk.js";import{i as a,n as o,t as s}from"./tooltip-c9oahm_e.js";var c=n(),l=e(t(),1),u=r(),d=`abcdefghjkmnpqrstuvwxyz23456789`;function f(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);let n=()=>(t=Math.imul(t^t>>>13,2246822507),t=Math.imul(t^t>>>16,3266489909),d[Math.abs(t)%31]??`x`);return Array.from(e,e=>e===`@`||e===`.`||e===`-`||e===`_`?e:n()).join(``)}function p(e){let t=(0,c.c)(17),[n,r]=(0,l.useState)(!1),d;t[0]===e.value?d=t[1]:(d=e.value?.trim(),t[0]=e.value,t[1]=d);let p=d,h;t[2]===p?h=t[3]:(h=p?f(p):``,t[2]=p,t[3]=h);let g=h;if(!p)return null;let _=n?`text-muted-foreground`:`select-none text-muted-foreground blur-[2px]`,v;t[4]!==e.className||t[5]!==_?(v=i(`min-w-0 cursor-pointer rounded-sm font-mono text-[11px] leading-none transition hover:text-foreground`,_,e.className),t[4]=e.className,t[5]=_,t[6]=v):v=t[6];let y;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>r(m),t[7]=y):y=t[7];let b=n?p:g,x;t[8]!==e.ariaLabel||t[9]!==v||t[10]!==b?(x=(0,u.jsx)(a,{render:(0,u.jsx)(`button`,{type:`button`,className:v,onClick:y,"aria-label":e.ariaLabel,children:b})}),t[8]=e.ariaLabel,t[9]=v,t[10]=b,t[11]=x):x=t[11];let S=n?e.hideTooltip:e.revealTooltip,C;t[12]===S?C=t[13]:(C=(0,u.jsx)(o,{side:`top`,children:S}),t[12]=S,t[13]=C);let w;return t[14]!==x||t[15]!==C?(w=(0,u.jsxs)(s,{children:[x,C]}),t[14]=x,t[15]=C,t[16]=w):w=t[16],w}function m(e){return!e}export{p as t};