dorkos 0.122.0 → 0.124.0

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 (320) hide show
  1. package/dist/bin/cli.js +914 -333
  2. package/dist/browser/native/package-manifest.json +1 -1
  3. package/dist/browser/source-manifest.json +1 -1
  4. package/dist/client/assets/{AboutPage-ClN3P9B8.js → AboutPage-BH8Ndn3e.js} +1 -1
  5. package/dist/client/assets/{ActivityErrorState-B2lq1pyE.js → ActivityErrorState-K5Mew9EX.js} +1 -1
  6. package/dist/client/assets/{ActivityPage-htTkSy18.js → ActivityPage-BB20L5HU.js} +1 -1
  7. package/dist/client/assets/{ActivityRow-BqV0B1T0.js → ActivityRow-C5O7rnmS.js} +1 -1
  8. package/dist/client/assets/{AdapterIcon-DlkN0YJo.js → AdapterIcon-Bmybvrzb.js} +1 -1
  9. package/dist/client/assets/{AdapterSetupWizard-RyNPjSmU.js → AdapterSetupWizard-CkdV7Hhh.js} +2 -2
  10. package/dist/client/assets/{AgentOptionRow-DSievGfL.js → AgentOptionRow-BA2cDa7r.js} +1 -1
  11. package/dist/client/assets/{AgentPicker-BCtWrhsA.js → AgentPicker-CsIIPGZJ.js} +1 -1
  12. package/dist/client/assets/{AgentRequestCard-BHIHWNRz.js → AgentRequestCard-0fOxvaoe.js} +3 -3
  13. package/dist/client/assets/{AppearancePage-B2eduuT0.js → AppearancePage-XOjkkoli.js} +1 -1
  14. package/dist/client/assets/{ApplyToOverridesDialog-C7G2t3X2.js → ApplyToOverridesDialog-CoO6V1G4.js} +1 -1
  15. package/dist/client/assets/{AttentionSignalRow-_8thTHYX.js → AttentionSignalRow-CjjZobp7.js} +1 -1
  16. package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-WpZU5xiO.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-9TVHyRPJ.js} +1 -1
  17. package/dist/client/assets/{BindingDialog-BAwbHFq3.js → BindingDialog-DLoAQauL.js} +1 -1
  18. package/dist/client/assets/{BlintzCanvas-BEtRmEbL.js → BlintzCanvas-CYHsXAcY.js} +3 -3
  19. package/dist/client/assets/{CanvasCsvContent--6i2ETyZ.js → CanvasCsvContent--Gr7Fe_U.js} +1 -1
  20. package/dist/client/assets/{CanvasFileContent-C86nyLbI.js → CanvasFileContent-estXyAbr.js} +2 -2
  21. package/dist/client/assets/{CanvasModel3dContent-wYHHAovt.js → CanvasModel3dContent-CkOo930M.js} +2 -2
  22. package/dist/client/assets/{ChatAppsOff-2Wvch1rr.js → ChatAppsOff-D4L1zJVN.js} +1 -1
  23. package/dist/client/assets/{CodeMirrorDiff-s1TWguZ8.js → CodeMirrorDiff-DY_6ju-z.js} +1 -1
  24. package/dist/client/assets/{CodeMirrorEditor-1ndoTbcZ.js → CodeMirrorEditor-BUoDBsBv.js} +1 -1
  25. package/dist/client/assets/{CommitmentList-BK97ndab.js → CommitmentList-wDkcVP9c.js} +1 -1
  26. package/dist/client/assets/{CommitmentsPage-_nd37gVX.js → CommitmentsPage-CzSM6b8R.js} +1 -1
  27. package/dist/client/assets/{ComputerResourceView-C2Broer4.js → ComputerResourceView-cERD9H2L.js} +1 -1
  28. package/dist/client/assets/{ComputerViewer-DgG7t2KZ.js → ComputerViewer-rMcfbk2_.js} +1 -1
  29. package/dist/client/assets/{ConnectionAccessLists-Pbo2lft8.js → ConnectionAccessLists-f7QeQbQo.js} +1 -1
  30. package/dist/client/assets/{ConnectionsPage-Dm2d9owX.js → ConnectionsPage-BmjtA6pw.js} +2 -2
  31. package/dist/client/assets/{ConventionPage-BUltejHJ.js → ConventionPage-CH-ah6nI.js} +1 -1
  32. package/dist/client/assets/{ExtensionPageRoute-DAomCiMw.js → ExtensionPageRoute-CJIxa6ST.js} +2 -2
  33. package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-5fT29ZEV.js → FloatingTanStackRouterDevtools-CqogiFob-BP7EJ2JL.js} +1 -1
  34. package/dist/client/assets/HandlePage-Cg8H3mQS.js +1 -0
  35. package/dist/client/assets/{HeartbeatPage-BW0X4YAL.js → HeartbeatPage-BUsf-qrU.js} +1 -1
  36. package/dist/client/assets/{KeyEntry-ClqAj0dS.js → KeyEntry-C2kWdN8q.js} +1 -1
  37. package/dist/client/assets/{LexicalField-CbswpPQ7.js → LexicalField-CR8ulsI_.js} +1 -1
  38. package/dist/client/assets/{ManagesPage-Daqs8hys.js → ManagesPage-DTtsIOGi.js} +1 -1
  39. package/dist/client/assets/{Marketplace-BNMIm8g_.js → Marketplace-iaV5XAzv.js} +2 -2
  40. package/dist/client/assets/{MarketplaceSourcesView-B4WpzVpr.js → MarketplaceSourcesView-6tgzUfFj.js} +1 -1
  41. package/dist/client/assets/{McpAppFrame-Dbg_Ni39.js → McpAppFrame-C7eYYdI9.js} +1 -1
  42. package/dist/client/assets/McpSigninBody-BDyGbJ7I.js +1 -0
  43. package/dist/client/assets/{Model3dViewer-DT8x0h7T.js → Model3dViewer-BujDNuVS.js} +1 -1
  44. package/dist/client/assets/NamePage-Bx8T98OF.js +1 -0
  45. package/dist/client/assets/{NewDirectMessageMenu-BbehZd6I.js → NewDirectMessageMenu-D4e-z2Jt.js} +1 -1
  46. package/dist/client/assets/{NotificationsPage-B9zEN26O.js → NotificationsPage-CkDeTaJp.js} +1 -1
  47. package/dist/client/assets/{OpenMeshSwitch-D-AYDXjH.js → OpenMeshSwitch-CtbOt3r5.js} +2 -2
  48. package/dist/client/assets/OperatorIdentityForm-Vr4qZnmM.js +1 -0
  49. package/dist/client/assets/PermissionHistory-DzU1rf2B.js +1 -0
  50. package/dist/client/assets/{PermissionsPage-CKfDf5Pj.js → PermissionsPage-f4QaX8oM.js} +1 -1
  51. package/dist/client/assets/{PersonalityPopover-CHPTuHIH.js → PersonalityPopover-BkZruwF-.js} +1 -1
  52. package/dist/client/assets/PhotoPage-CmrOIRjf.js +1 -0
  53. package/dist/client/assets/{PreviewRefusedNotice-BuVUhjq3.js → PreviewRefusedNotice-BXC2K0tx.js} +1 -1
  54. package/dist/client/assets/{ProfileFields-DimHNpR4.js → ProfileFields-BebX5oiv.js} +1 -1
  55. package/dist/client/assets/{ProfilePanelContainer-FRZ5Px2L.js → ProfilePanelContainer-DZoL65zQ.js} +1 -1
  56. package/dist/client/assets/{ProfileRolePicker-UWhM5yuR.js → ProfileRolePicker-D9H7wsuT.js} +1 -1
  57. package/dist/client/assets/{PromptSuggestionChips-DQaDSd7Y.js → PromptSuggestionChips-B5fDmc-g.js} +1 -1
  58. package/dist/client/assets/{ReportsToPopover-BOuCM8il.js → ReportsToPopover-uVYhSqj7.js} +1 -1
  59. package/dist/client/assets/{RoomSurface-Dhv-LkWz.js → RoomSurface-Bg5WV4Ep.js} +7 -7
  60. package/dist/client/assets/{RoomsPage-glKYJBpq.js → RoomsPage-yflYFulU.js} +1 -1
  61. package/dist/client/assets/{RunsOnPopover-BvxoHUeo.js → RunsOnPopover-DtGrX1Vq.js} +1 -1
  62. package/dist/client/assets/{RuntimeConnectFlow-CgB_X5wo.js → RuntimeConnectFlow-DjReuQ-T.js} +1 -1
  63. package/dist/client/assets/{RuntimeSetupDialog-r1Ss_YQW.js → RuntimeSetupDialog-Cr4GRi8c.js} +1 -1
  64. package/dist/client/assets/SeenDevices-SPWkdzoK.js +19 -0
  65. package/dist/client/assets/{SessionsPage-CFLDx-aF.js → SessionsPage-BWu-en78.js} +1 -1
  66. package/dist/client/assets/SettingsDialog-_dEXUhHe.js +12 -0
  67. package/dist/client/assets/{SkillsPage-CUQZ4I_r.js → SkillsPage-BdUb9SZy.js} +1 -1
  68. package/dist/client/assets/TaskDialogWrapper-qYJPEoSR.js +1 -0
  69. package/dist/client/assets/{TasksEmptyState-B4TjUm8G.js → TasksEmptyState-Bgcg9vxF.js} +2 -2
  70. package/dist/client/assets/{TasksPage-D_vFBDA1.js → TasksPage-Ch5W2WQS.js} +1 -1
  71. package/dist/client/assets/{TeamComputerEntry-EQ1fjMRb.js → TeamComputerEntry-CPwSIMRw.js} +1 -1
  72. package/dist/client/assets/ToolsPage-Idimrn3o.js +2 -0
  73. package/dist/client/assets/{TopologyGraph-DsPEpDjt.js → TopologyGraph-I4_mkMHM.js} +14 -14
  74. package/dist/client/assets/{TourHost-D1z2mH5S.js → TourHost-BPaSwh9I.js} +1 -1
  75. package/dist/client/assets/{UnlinkDialog-q-6B4Ftt.js → UnlinkDialog-BUWZUu5P.js} +1 -1
  76. package/dist/client/assets/{WidgetErrorCard-BYMiUiAf.js → WidgetErrorCard-cS8yMCxU.js} +3 -3
  77. package/dist/client/assets/_shell-ClVN2pUj.js +80 -0
  78. package/dist/client/assets/{_shell._home-D-8JcUYq.js → _shell._home-DCA5k-jb.js} +1 -1
  79. package/dist/client/assets/{_shell._home.activity-xJKxWbtL.js → _shell._home.activity-BX4nFLna.js} +1 -1
  80. package/dist/client/assets/{_shell._home.index-C74gh1aE.js → _shell._home.index-C8t8cw72.js} +1 -1
  81. package/dist/client/assets/{_shell._home.tasks-Bh8jwRYJ.js → _shell._home.tasks-BgUeEvhK.js} +1 -1
  82. package/dist/client/assets/{_shell._home.workspaces-BKkUl6wW.js → _shell._home.workspaces-BPBdnkRt.js} +1 -1
  83. package/dist/client/assets/_shell.channels-CX4kki7G.js +10 -0
  84. package/dist/client/assets/_shell.connections-0vP7g7E4.js +1 -0
  85. package/dist/client/assets/{_shell.feedback-requests-Cdbl3oKj.js → _shell.feedback-requests-TsuaO4eR.js} +2 -2
  86. package/dist/client/assets/_shell.marketplace-CiL6YRbl.js +1 -0
  87. package/dist/client/assets/_shell.marketplace_.sources-C0sI8e21.js +1 -0
  88. package/dist/client/assets/_shell.session-_hhBvFc6.js +63 -0
  89. package/dist/client/assets/{_shell.team-Consxq97.js → _shell.team-Bm6cOBhR.js} +4 -4
  90. package/dist/client/assets/_shell.x._extensionId-BWy5v1YE.js +1 -0
  91. package/dist/client/assets/_shell.x._extensionId_._-BWy5v1YE.js +1 -0
  92. package/dist/client/assets/{abnfDiagram-WEYOIA3C-DXTlLd8s.js → abnfDiagram-WEYOIA3C-CrvoN15x.js} +1 -1
  93. package/dist/client/assets/{access-copy-B1SlOYEi.js → access-copy-B3yNZ7Gz.js} +1 -1
  94. package/dist/client/assets/{arc-B3IW5TXq.js → arc-CuT6QA_y.js} +1 -1
  95. package/dist/client/assets/{architectureDiagram-ZHVYKT53-Bx-4szWe.js → architectureDiagram-ZHVYKT53-CPXCZ9H4.js} +1 -1
  96. package/dist/client/assets/{banner-RKoWGrEp.js → banner-DRumuw3F.js} +1 -1
  97. package/dist/client/assets/{blockDiagram-RJAE7QA3-D_B3EDQ1.js → blockDiagram-RJAE7QA3-CM0rka9p.js} +1 -1
  98. package/dist/client/assets/{c4Diagram-XDPPPE54-CSBl4ROD.js → c4Diagram-XDPPPE54-D4j2cXRy.js} +1 -1
  99. package/dist/client/assets/{card-DTMhLU7B.js → card-B3CtfC3R.js} +1 -1
  100. package/dist/client/assets/channel-DjBlTcCV.js +1 -0
  101. package/dist/client/assets/{chunk-2E7WHVMD-QSgLcVHQ.js → chunk-2E7WHVMD-KGyqhVpO.js} +1 -1
  102. package/dist/client/assets/{chunk-2Q5K7J3B-CAEYyBSj.js → chunk-2Q5K7J3B-Dl0BHoqK.js} +1 -1
  103. package/dist/client/assets/{chunk-4EMNKR2T-CQ_90aiz.js → chunk-4EMNKR2T-Da7vH6Kv.js} +1 -1
  104. package/dist/client/assets/{chunk-55XCU76K-jsUyUA3N.js → chunk-55XCU76K-DgBUEROO.js} +1 -1
  105. package/dist/client/assets/{chunk-5VM5RSS4-JHkf15PA.js → chunk-5VM5RSS4-BQ4mn-_I.js} +1 -1
  106. package/dist/client/assets/{chunk-JWPE2WC7-BT-3krv8.js → chunk-JWPE2WC7-8LPR3mXf.js} +1 -1
  107. package/dist/client/assets/{chunk-VQ5W62QI-CJP11I5o.js → chunk-VQ5W62QI-BkIVXi4W.js} +1 -1
  108. package/dist/client/assets/{chunk-XXDRQBXY-BpqBecnj.js → chunk-XXDRQBXY-DQXJx06h.js} +1 -1
  109. package/dist/client/assets/{chunk-ZCHMQSOR-BLb4KcT4.js → chunk-ZCHMQSOR-DzCE7qlD.js} +2 -2
  110. package/dist/client/assets/{classDiagram-v2-4MYWR3UA-DwLyYGkw.js → classDiagram-v2-4MYWR3UA-C_cZra7c.js} +1 -1
  111. package/dist/client/assets/{command-DDSiiJlP.js → command-CDKbyppr.js} +1 -1
  112. package/dist/client/assets/{cose-bilkent-JH36ORCC-CxYTET88.js → cose-bilkent-JH36ORCC-DlXHdGwT.js} +1 -1
  113. package/dist/client/assets/{cpu--56q_Ey0.js → cpu-B7xLO7jn.js} +1 -1
  114. package/dist/client/assets/{cynefin-EF2NZ3EQ-9fHLZRHz.js → cynefin-EF2NZ3EQ-HhP4ArLc.js} +1 -1
  115. package/dist/client/assets/{cynefinDiagram-WF24UDRP-DpfQecff.js → cynefinDiagram-WF24UDRP-D4GgWnZV.js} +1 -1
  116. package/dist/client/assets/{dagre-NK4GIZVX-DuV6buEQ.js → dagre-NK4GIZVX-SZ_OI2Zi.js} +1 -1
  117. package/dist/client/assets/{diagram-CBK3MWTC-B-A9Sx5n.js → diagram-CBK3MWTC-BN-_Ja5m.js} +1 -1
  118. package/dist/client/assets/{diagram-I5XIIV2D-Ds5Hq9aV.js → diagram-I5XIIV2D-t7AK6xnL.js} +1 -1
  119. package/dist/client/assets/{diagram-ODIL2UCW-UUfSjM-R.js → diagram-ODIL2UCW-C1V7szSc.js} +1 -1
  120. package/dist/client/assets/{diagram-PFBEJUXE-CUzSSYf9.js → diagram-PFBEJUXE-DPtraQ2g.js} +1 -1
  121. package/dist/client/assets/{diagram-RJA3I4VV-Cgp6U3q1.js → diagram-RJA3I4VV-D2XNRB2b.js} +1 -1
  122. package/dist/client/assets/{diagram-TYUNFSNR-BxVgzMNE.js → diagram-TYUNFSNR-BieaRy38.js} +1 -1
  123. package/dist/client/assets/{ebnfDiagram-V4P3TTPT-BgDiHzoi.js → ebnfDiagram-V4P3TTPT-Bwki86UY.js} +1 -1
  124. package/dist/client/assets/{elk-QONTBCTQ-BCCN6mFs.js → elk-QONTBCTQ-WEXSAyHB.js} +1 -1
  125. package/dist/client/assets/{empty-state-BsA3jcrO.js → empty-state-J-UJ0BUU.js} +1 -1
  126. package/dist/client/assets/{erDiagram-KYQIGQAA-5RkmUbLz.js → erDiagram-KYQIGQAA-DIKASnoc.js} +1 -1
  127. package/dist/client/assets/{execution-config-CRkSeCj7.js → execution-config-ILQiJAmy.js} +1 -1
  128. package/dist/client/assets/{file-Bg_qGvWR.js → file-D40js1Zx.js} +1 -1
  129. package/dist/client/assets/{file-exclamation-point-BWsLZQVN.js → file-exclamation-point-Dg3ZpiAe.js} +1 -1
  130. package/dist/client/assets/{file-text-DQThCdY3.js → file-text-DgdvRfMk.js} +1 -1
  131. package/dist/client/assets/{find-latest-widget-fence-DFpYPIlS.js → find-latest-widget-fence-D4kBWC_1.js} +1 -1
  132. package/dist/client/assets/{flowDiagram-IUGLLWBU-C2FFT_4u.js → flowDiagram-IUGLLWBU-CoavNw0M.js} +1 -1
  133. package/dist/client/assets/{form-DjMe15QR.js → form-DlPwEgQH.js} +1 -1
  134. package/dist/client/assets/{format-cron-Bo3D4N9C.js → format-cron-BrK8RzgT.js} +1 -1
  135. package/dist/client/assets/{ganttDiagram-R7GPNTJY-BHG-HNDj.js → ganttDiagram-R7GPNTJY-DccKAz7f.js} +1 -1
  136. package/dist/client/assets/{git-branch-CJ1NlVLY.js → git-branch-BpxhecMq.js} +1 -1
  137. package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-D4bvs6_J.js → gitGraphDiagram-PDYL7XHY-DEbo_dgQ.js} +1 -1
  138. package/dist/client/assets/{graph-D8MBmHRU.js → graph-DROgI3M3.js} +1 -1
  139. package/dist/client/assets/{heart-Beze5rli.js → heart-c7u4Ezxt.js} +1 -1
  140. package/dist/client/assets/{highlighted-body-KPVGNVTW-B-za1R0D.js → highlighted-body-KPVGNVTW-CrATNdTR.js} +1 -1
  141. package/dist/client/assets/image-lightbox-DE_fHkw-.js +1 -0
  142. package/dist/client/assets/{image-off-dQCXn9D_.js → image-off-BExgZjfM.js} +2 -2
  143. package/dist/client/assets/{index-Dbt6ttQb.js → index-2wezsLA_.js} +1 -1
  144. package/dist/client/assets/index-7jby-RRg.js +1 -0
  145. package/dist/client/assets/{index-CocSe_I3.js → index-AzyLwYS_.js} +3 -3
  146. package/dist/client/assets/{index-dnaC3n0i.js → index-B3eeEDWj.js} +4 -4
  147. package/dist/client/assets/{index-C38pc-JE.js → index-BEkYBuOq.js} +1 -1
  148. package/dist/client/assets/index-BGqvci3k.js +1 -0
  149. package/dist/client/assets/{index-BJv8b9cZ.js → index-BVqSmajJ.js} +1 -1
  150. package/dist/client/assets/{index-Bk6YahnN.js → index-Be0OJLWK.js} +1 -1
  151. package/dist/client/assets/{index-BTfwunle.js → index-BizvylBV.js} +1 -1
  152. package/dist/client/assets/{index-CPxcbKL6.js → index-BkoMsjtM.js} +2 -2
  153. package/dist/client/assets/{index-CxWJDJW7.js → index-BlyoyIck.js} +1 -1
  154. package/dist/client/assets/{index-hKY0860x.js → index-BqIHtiaE.js} +1 -1
  155. package/dist/client/assets/{index-DfSOcv9s.js → index-C5or4L_3.js} +1 -1
  156. package/dist/client/assets/{index-CDm1XkU1.js → index-C7B3eSOP.js} +1 -1
  157. package/dist/client/assets/{index-vNaWkS8Y.js → index-CD8aw6Jb.js} +1 -1
  158. package/dist/client/assets/{index-D4mYlxG0.js → index-CT_pFeX_.js} +1 -1
  159. package/dist/client/assets/{index-BPa0ZczY.js → index-CYy1cjtq.js} +1 -1
  160. package/dist/client/assets/{index-DFN-GU8r.js → index-CZmqtJWZ.js} +1 -1
  161. package/dist/client/assets/{index-BMhblg3s.js → index-CbHCZsbE.js} +1 -1
  162. package/dist/client/assets/{index-Ds-LCBb6.js → index-Ccf1XBTs.js} +1 -1
  163. package/dist/client/assets/index-Cga0qx1T.js +1033 -0
  164. package/dist/client/assets/{index-CU-gekzq.js → index-CqPRAM_6.js} +1 -1
  165. package/dist/client/assets/index-Ct4At33X.js +1 -0
  166. package/dist/client/assets/{index-CMlVfxJv.js → index-D0eJtRlK.js} +1 -1
  167. package/dist/client/assets/{index-D_KBdkA4.js → index-D150FXCC.js} +22 -20
  168. package/dist/client/assets/{index-BqwfU5a7.js → index-D3YeRrne.js} +1 -1
  169. package/dist/client/assets/index-DCJQGDZk.js +1 -0
  170. package/dist/client/assets/{index-C9qjJR0B.js → index-DDgOoXP1.js} +1 -1
  171. package/dist/client/assets/{index-DpX_xwGs.js → index-DINk1YfD.js} +1 -1
  172. package/dist/client/assets/{index-CAGOE4EU.js → index-DITPwUa9.js} +3 -3
  173. package/dist/client/assets/{index-DnfhvN3q.js → index-DNGNMW3c.js} +1 -1
  174. package/dist/client/assets/{index-DNlhbCX_.js → index-DT7pv2iW.js} +1 -1
  175. package/dist/client/assets/{index-CrflCTqO.css → index-DUZrTFYD.css} +1 -1
  176. package/dist/client/assets/{index-B3VKw60l.js → index-DaZ1I8s-.js} +1 -1
  177. package/dist/client/assets/{index-yDf4EVDy.js → index-DeRDq7bD.js} +1 -1
  178. package/dist/client/assets/{index-BTVsyrd0.js → index-DhHobJd3.js} +1 -1
  179. package/dist/client/assets/{index-CodC2rG4.js → index-DksjixUS.js} +1 -1
  180. package/dist/client/assets/{index-CGVRWEpN.js → index-DswGXheF.js} +1 -1
  181. package/dist/client/assets/{index-BaocSCDH.js → index-DxiRRZRo.js} +1 -1
  182. package/dist/client/assets/index-F-vqXYqa.js +1 -0
  183. package/dist/client/assets/{index-B3ybVnXe.js → index-InEBtYxw.js} +7 -7
  184. package/dist/client/assets/{index-DqD-Sg0W.js → index-J3Hh1MnL.js} +1 -1
  185. package/dist/client/assets/{index-BMktWriw.js → index-dyAahqKe.js} +1 -1
  186. package/dist/client/assets/{index-Ckv0K82u.js → index-mwf7ZNk2.js} +1 -1
  187. package/dist/client/assets/{index.esm-Ruqz-OsH.js → index.esm-BFJ9SG0n.js} +1 -1
  188. package/dist/client/assets/{infoDiagram-MVDRKAX5-CmDlX3lx.js → infoDiagram-MVDRKAX5-VL8q5pKx.js} +1 -1
  189. package/dist/client/assets/{inline-code-plzdKGm9.js → inline-code-BE9ckzPs.js} +1 -1
  190. package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-DZFRAvrx.js → ishikawaDiagram-HPEHV2GE-BLKkPYF-.js} +1 -1
  191. package/dist/client/assets/{journeyDiagram-BOSHW7O7-B140KXYu.js → journeyDiagram-BOSHW7O7-CSYpRobu.js} +1 -1
  192. package/dist/client/assets/{kanban-definition-FNSA4HC5-QCZgRJic.js → kanban-definition-FNSA4HC5-HilAqtZo.js} +1 -1
  193. package/dist/client/assets/{layers-Br3LALac.js → layers-Cm7coqdo.js} +1 -1
  194. package/dist/client/assets/{lightbulb-CeJgUDoT.js → lightbulb-DqdWS75d.js} +1 -1
  195. package/dist/client/assets/{link-2-BXcZwTAC.js → link-2-CDJapTSa.js} +1 -1
  196. package/dist/client/assets/{list-runtime-types-CqKIrt9D.js → list-runtime-types-CP82p1u4.js} +1 -1
  197. package/dist/client/assets/{markdown-content-BKbjOTI2.js → markdown-content-m_qereFc.js} +1 -1
  198. package/dist/client/assets/{mention-pill-B-FgNE6o.js → mention-pill-DV5HIG5Q.js} +1 -1
  199. package/dist/client/assets/{mermaid.core-Br9hJ7FR.js → mermaid.core-zxW6MBr-.js} +4 -4
  200. package/dist/client/assets/{message-square-off-Co0W--np.js → message-square-off-YVtpbaJ0.js} +1 -1
  201. package/dist/client/assets/{mindmap-definition-6OY57UG3-BxjSZAec.js → mindmap-definition-6OY57UG3-IAYemvOg.js} +1 -1
  202. package/dist/client/assets/{more-details-BsdCkGTg.js → more-details-ReA2ZFBn.js} +1 -1
  203. package/dist/client/assets/{owner-notice-BxltHzJH.js → owner-notice-M4hn_1ep.js} +1 -1
  204. package/dist/client/assets/{package-DPgmy9lP.js → package-CUuTl39E.js} +1 -1
  205. package/dist/client/assets/{page-container-HokGbFg_.js → page-container-BnmNikNZ.js} +1 -1
  206. package/dist/client/assets/{paperclip-BDnApT-_.js → paperclip-C6fYq5Zf.js} +1 -1
  207. package/dist/client/assets/{path-input-C22n3ghr.js → path-input-DHn9-XaE.js} +1 -1
  208. package/dist/client/assets/{pegDiagram-ECIUJNBX-utA2pUiu.js → pegDiagram-ECIUJNBX-CojaUwe7.js} +1 -1
  209. package/dist/client/assets/{pieDiagram-GNMPY74T-DjEry_VP.js → pieDiagram-GNMPY74T-CjP3pw6V.js} +1 -1
  210. package/dist/client/assets/{plug-tLTAmXis.js → plug-DHQcxt7N.js} +1 -1
  211. package/dist/client/assets/primer-trigger-BmV5wjek.js +3 -0
  212. package/dist/client/assets/{profile-errors-Dvm4O6MR.js → profile-errors-BSCuj3rT.js} +1 -1
  213. package/dist/client/assets/{progress-BduTwXMX.js → progress-4FQQfnS6.js} +1 -1
  214. package/dist/client/assets/{quadrantDiagram-D57K4MC3-DO9NgnEq.js → quadrantDiagram-D57K4MC3-OP0Z8zcR.js} +1 -1
  215. package/dist/client/assets/{query-error-state-puwJHnzi.js → query-error-state-BkUdxenP.js} +1 -1
  216. package/dist/client/assets/{radio-DR4E05zZ.js → radio-ta5Bw763.js} +1 -1
  217. package/dist/client/assets/{railroadDiagram-Y72NRBL7-BTilAS9p.js → railroadDiagram-Y72NRBL7-CT3NCb9b.js} +1 -1
  218. package/dist/client/assets/registry-Dc102rws.js +1 -0
  219. package/dist/client/assets/{relay-trace-schemas-DwqIIDB9.js → relay-trace-schemas-DwUuyxao.js} +2 -2
  220. package/dist/client/assets/{requirementDiagram-EQYSW5RA-C6rzY7GK.js → requirementDiagram-EQYSW5RA-tde4lYGp.js} +1 -1
  221. package/dist/client/assets/{room-files-source-Duo4oiqX.js → room-files-source-CZWhaaOy.js} +2 -2
  222. package/dist/client/assets/{rotate-ccw-clock-RJuoRE3k.js → rotate-ccw-clock-RfbbgUa4.js} +1 -1
  223. package/dist/client/assets/{rotate-cw-C0EpbK5k.js → rotate-cw-B3rB_YSw.js} +1 -1
  224. package/dist/client/assets/{sankeyDiagram-SY24JHO5-BqpJRY1t.js → sankeyDiagram-SY24JHO5-sdCzIA7-.js} +1 -1
  225. package/dist/client/assets/{scroll-area-07T90PR6.js → scroll-area-B4WB7Q40.js} +1 -1
  226. package/dist/client/assets/{search-x-DQabogEL.js → search-x-DCUmWW2_.js} +1 -1
  227. package/dist/client/assets/{sequenceDiagram-BLEHNHQU-BHfzZpFt.js → sequenceDiagram-BLEHNHQU-DvzTJcKu.js} +1 -1
  228. package/dist/client/assets/{shield-x-Cuo1GTv4.js → shield-x-CANziVLc.js} +1 -1
  229. package/dist/client/assets/signed-in-DctJ2IWe.js +1 -0
  230. package/dist/client/assets/{sizeCapture-INFHLROL-U0MO-4ua.js → sizeCapture-INFHLROL-DuDA7TKE.js} +1 -1
  231. package/dist/client/assets/{soul-file-wKTqbR0Y.js → soul-file-Co_8f1qw.js} +1 -1
  232. package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-fzo1sDsX.js → stateDiagram-v2-A6IESKWZ-BJPX5JTC.js} +1 -1
  233. package/dist/client/assets/{swimlanes-B3ENRKFQ-B7QcCUBU.js → swimlanes-B3ENRKFQ-CiLSffGv.js} +1 -1
  234. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-Dv1-QS9J.js +8 -0
  235. package/dist/client/assets/{table-BjHA85BX.js → table-BSAvOYPp.js} +1 -1
  236. package/dist/client/assets/{terminal-qfxxVZaa.js → terminal-6CdY-T1V.js} +1 -1
  237. package/dist/client/assets/{timeline-definition-JXYKGLGB-okVlmef4.js → timeline-definition-JXYKGLGB-5oq8sl82.js} +1 -1
  238. package/dist/client/assets/{trust-posture-BmW0KVP6.js → trust-posture-D-Yjm6ot.js} +1 -1
  239. package/dist/client/assets/{unplug-BYKBdSMl.js → unplug-Bq_1WdV7.js} +1 -1
  240. package/dist/client/assets/{unverified-catalog-notice-CQHA4Cst.js → unverified-catalog-notice-CEzu54YH.js} +1 -1
  241. package/dist/client/assets/{use-adapter-catalog-rB4qQQ5D.js → use-adapter-catalog-Tn3ZbPAj.js} +1 -1
  242. package/dist/client/assets/{use-bindings-DiFC7kWg.js → use-bindings-Bz9YRgO7.js} +1 -1
  243. package/dist/client/assets/{use-composer-prefs-DHY5vJ0l.js → use-composer-prefs-D9oKJSQN.js} +1 -1
  244. package/dist/client/assets/{use-connector-management-CoinXIID.js → use-connector-management-CLYFraXN.js} +1 -1
  245. package/dist/client/assets/{use-deep-link-scroll-Cm8BRFAE.js → use-deep-link-scroll-DkS713kG.js} +1 -1
  246. package/dist/client/assets/{use-delete-binding-FtM6qPfF.js → use-delete-binding-CukKpHBK.js} +1 -1
  247. package/dist/client/assets/{use-dev-links-TQFCV3vk.js → use-dev-links-DQ32IcGe.js} +1 -1
  248. package/dist/client/assets/{use-external-adapter-catalog-Lx8LZDAa.js → use-external-adapter-catalog-D-FO_XW6.js} +1 -1
  249. package/dist/client/assets/{use-full-activity-feed-CmcBAvUM.js → use-full-activity-feed-BNxcyb1j.js} +1 -1
  250. package/dist/client/assets/use-is-below-desktop-gTvJDvw4.js +1 -0
  251. package/dist/client/assets/use-is-hub-B1vPpkYU.js +1 -0
  252. package/dist/client/assets/{use-jump-back-in-V8G_6fYj.js → use-jump-back-in-Bibj5tVk.js} +3 -3
  253. package/dist/client/assets/{use-local-browser-CbS4typW.js → use-local-browser-xg7WXAVK.js} +1 -1
  254. package/dist/client/assets/{use-mesh-topology-DZ1qMT3J.js → use-mesh-topology-BgCSFw8s.js} +1 -1
  255. package/dist/client/assets/{use-mounted-ref-DUbNzP-m.js → use-mounted-ref-qRbdZfOU.js} +1 -1
  256. package/dist/client/assets/{use-notification-prefs-BAsICJ96.js → use-notification-prefs-B-4kZR7I.js} +1 -1
  257. package/dist/client/assets/{use-panel-tab-placements-ymrpuL_s.js → use-panel-tab-placements-CCq-mZlY.js} +1 -1
  258. package/dist/client/assets/use-pending-read-C8L_v4Zw.js +1 -0
  259. package/dist/client/assets/{use-personality-commit-rJOmDgC2.js → use-personality-commit-DwSisUfF.js} +1 -1
  260. package/dist/client/assets/{use-promo-activation-BKeBloMI.js → use-promo-activation-Botoso6l.js} +3 -3
  261. package/dist/client/assets/{use-promo-dismissals-Cio8QMjL.js → use-promo-dismissals-RJXp-r_J.js} +1 -1
  262. package/dist/client/assets/{use-pulse-freshness-DZkMVbSM.js → use-pulse-freshness-B3390hGg.js} +1 -1
  263. package/dist/client/assets/{use-relay-config-CbZQKFhZ.js → use-relay-config-BV0xcLwS.js} +1 -1
  264. package/dist/client/assets/{use-room-follow-claim-DbJIsuWz.js → use-room-follow-claim-Du4hKHIJ.js} +1 -1
  265. package/dist/client/assets/{use-roving-tab-list-B4nZ7trj.js → use-roving-tab-list-g2hO6Ruz.js} +1 -1
  266. package/dist/client/assets/{use-session-canvas-sAwc2L1A.js → use-session-canvas-i30oMO_Q.js} +3 -3
  267. package/dist/client/assets/{use-session-diagnostics-0gcI762B.js → use-session-diagnostics-a4b83F5J.js} +2 -2
  268. package/dist/client/assets/{use-unclaimed-chats-BWIqOrvs.js → use-unclaimed-chats-B92om889.js} +1 -1
  269. package/dist/client/assets/use-update-config-Tbn3SodN.js +1 -0
  270. package/dist/client/assets/{useMutationState-C9Q5lRej.js → useMutationState-DdOGdpjP.js} +1 -1
  271. package/dist/client/assets/{usecaseDiagram-WPOLBNNX-CMjVaeX9.js → usecaseDiagram-WPOLBNNX-Di5pJvcw.js} +1 -1
  272. package/dist/client/assets/{vennDiagram-Q3Y3IDCW-BajZBf0H.js → vennDiagram-Q3Y3IDCW-K7KAf26T.js} +1 -1
  273. package/dist/client/assets/{wardleyDiagram-IVAIDKWA-BN4xF6JT.js → wardleyDiagram-IVAIDKWA-DVTaxQt9.js} +1 -1
  274. package/dist/client/assets/{xychartDiagram-4URNHDU4-Cy0Z9a28.js → xychartDiagram-4URNHDU4-x-lSJm_B.js} +1 -1
  275. package/dist/client/index.html +2 -2
  276. package/dist/drizzle/20261018123612_session_route.sql +1 -0
  277. package/dist/drizzle/20261018210140_remote_command_agent_computer_kind.sql +21 -0
  278. package/dist/drizzle/20261019142317_turn_marks.sql +3 -0
  279. package/dist/drizzle/meta/20261018123612_snapshot.json +14027 -0
  280. package/dist/drizzle/meta/20261018210140_snapshot.json +14027 -0
  281. package/dist/drizzle/meta/20261019142317_snapshot.json +14048 -0
  282. package/dist/drizzle/meta/_journal.json +21 -0
  283. package/dist/server/index.js +25295 -21133
  284. package/dist/server/index.js.map +2 -2
  285. package/package.json +5 -5
  286. package/dist/client/assets/HandlePage-BoBFGnUB.js +0 -1
  287. package/dist/client/assets/McpSigninBody-ZmmY1BZ4.js +0 -1
  288. package/dist/client/assets/NamePage-bC_9FOtD.js +0 -1
  289. package/dist/client/assets/OperatorIdentityForm-BdAqzVEG.js +0 -1
  290. package/dist/client/assets/PermissionHistory-IOgLQ7qN.js +0 -1
  291. package/dist/client/assets/PhotoPage-BOe3xwyN.js +0 -1
  292. package/dist/client/assets/PresetPicker-BcKF2ds8.js +0 -19
  293. package/dist/client/assets/SettingsDialog-BT5rYJUm.js +0 -12
  294. package/dist/client/assets/TaskDialogWrapper-DWpxyxBb.js +0 -1
  295. package/dist/client/assets/ToolsPage-CyNXCe2l.js +0 -2
  296. package/dist/client/assets/_shell-scIpUrVY.js +0 -80
  297. package/dist/client/assets/_shell.channels-B2A1G9n8.js +0 -10
  298. package/dist/client/assets/_shell.connections-eDlPXmuG.js +0 -1
  299. package/dist/client/assets/_shell.marketplace-FHQpZxgB.js +0 -1
  300. package/dist/client/assets/_shell.marketplace_.sources-DXv90Z-v.js +0 -1
  301. package/dist/client/assets/_shell.session-BNeYm91q.js +0 -63
  302. package/dist/client/assets/_shell.x._extensionId-DirEl_qN.js +0 -1
  303. package/dist/client/assets/_shell.x._extensionId_._-DirEl_qN.js +0 -1
  304. package/dist/client/assets/channel-BlEJg4XA.js +0 -1
  305. package/dist/client/assets/image-lightbox-a4gqhNXS.js +0 -1
  306. package/dist/client/assets/index--vwACals.js +0 -1
  307. package/dist/client/assets/index-BydIKjk5.js +0 -1
  308. package/dist/client/assets/index-D18FqQKB.js +0 -1
  309. package/dist/client/assets/index-DBdO-_iL.js +0 -1023
  310. package/dist/client/assets/index-DLdpa3d4.js +0 -1
  311. package/dist/client/assets/index-vieeLeZH.js +0 -1
  312. package/dist/client/assets/primer-trigger-CfVHNFbe.js +0 -3
  313. package/dist/client/assets/registry-B3Ss4ItQ.js +0 -1
  314. package/dist/client/assets/shield-check-DbbCy17l.js +0 -6
  315. package/dist/client/assets/signed-in-CFtA8gTK.js +0 -1
  316. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-CgZZnzbW.js +0 -8
  317. package/dist/client/assets/use-is-below-desktop-BB9kHnYm.js +0 -1
  318. package/dist/client/assets/use-is-hub-ab4UGRdN.js +0 -1
  319. package/dist/client/assets/use-pending-read-BkCvAuX4.js +0 -1
  320. package/dist/client/assets/use-update-config-DTL7WyZV.js +0 -1
@@ -1,2 +0,0 @@
1
- import{a1 as W,a2 as Pe,a4 as te,a3 as me,d_ as Ie,r as l,j as n,be as L,bf as $,B as f,f as ge,hM as he,d$ as F,I as H,dU as Fe,dV as De,dW as _e,dX as Le,dY as $e,hi as oe,c7 as Ke,fq as Ue,C as J,G as ce,V as se,cM as pe,cN as fe,_ as Ve,cO as xe,c8 as D,hN as le,x as ee,g0 as Be,g1 as qe,g2 as Ye,g3 as He,g4 as Z,g6 as Qe,$ as We,hO as Ge,y as Xe,e as ne,f6 as Ze,b as Je}from"./index-DBdO-_iL.js";import"./relay-trace-schemas-DwqIIDB9.js";import{u as je,M as Ne}from"./McpSigninBody-ZmmY1BZ4.js";import{S as en}from"./shield-check-DbbCy17l.js";import{R as nn}from"./rotate-cw-C0EpbK5k.js";import"./form-DjMe15QR.js";function tn(e,t){const s=W();return Pe({queryKey:["mcp-config",e,t??null],queryFn:()=>s.getMcpConfig(e,{runtime:t??void 0}),enabled:!!e,staleTime:3e4})}function ve(e,t){e.invalidateQueries({queryKey:Ie.mcpServers(t)}),e.invalidateQueries({queryKey:["mcp-config"]})}function Se(e){const t=W(),s=me();return te({mutationFn:async({input:i,approval:r})=>r?(await t.grantApproval(r.approvalId),e(t,i,r.approvalToken)):e(t,i),onSuccess:(i,{input:r})=>{i.status==="ok"&&ve(s,r.agentId)}})}function sn(){return Se((e,t,s)=>e.addAgentMcpServer(t,s?{approvalToken:s}:void 0))}function an(){return Se((e,t,s)=>e.importAgentMcpServer(t,s?{approvalToken:s}:void 0))}function ae(e){const t=W(),s=me();return te({mutationFn:({agentId:i,name:r})=>e(t,i,r),onSuccess:(i,{agentId:r})=>ve(s,r)})}function rn(){return ae((e,t,s)=>e.removeAgentMcpServer(t,s))}function on(){return ae((e,t,s)=>e.enableAgentMcpServer(t,s))}function cn(){return ae((e,t,s)=>e.disableAgentMcpServer(t,s))}function ln(){const e=W();return te({mutationFn:({agentId:t,name:s})=>e.testAgentMcpServer(t,s)})}function dn({agentId:e,serverName:t,onDone:s}){const i=je(e,t),{start:r}=i,a=l.useRef(!1);return l.useEffect(()=>{a.current||(a.current=!0,r())},[r]),n.jsx(L,{children:n.jsxs($,{className:"space-y-2",children:[n.jsxs("p",{className:"text-sm font-medium",children:["Sign in to ",t]}),n.jsx("p",{className:"text-muted-foreground text-xs",children:"Sign in so your agent can use this server."}),n.jsx(Ne,{flow:i,serverName:t,failedActions:n.jsxs(n.Fragment,{children:[n.jsx(f,{variant:"secondary",size:"sm",onClick:()=>i.start(),className:"focus-visible:ring-2",children:"Try again"}),n.jsx(f,{variant:"ghost",size:"sm",onClick:s,className:"focus-visible:ring-2",children:"Later"})]}),connectedActions:n.jsx(f,{variant:"ghost",size:"sm",onClick:s,className:"focus-visible:ring-2",children:"Done"})}),i.state.step!=="failed"&&i.state.step!=="connected"&&n.jsx(f,{variant:"ghost",size:"sm",onClick:s,className:"focus-visible:ring-2",children:"Later"})]})})}const un=["stdio","http","sse"],mn=/^[a-zA-Z0-9_-]+$/;function de(e){const t={};for(const s of e.split(`
2
- `)){const i=s.trim();if(!i)continue;const r=i.indexOf("=");if(r===-1)continue;const a=i.slice(0,r).trim();a&&(t[a]=i.slice(r+1).trim())}return t}function ue(e){return e.trim().length?e.trim().split(/\s+/):[]}function gn(e,t){if(e.status!=="ok")return!1;const s=e.servers.find(r=>r.name===t),i=s==null?void 0:s.connection;return i!==void 0&&"authKind"in i&&i.authKind==="oauth2"}function hn({agentId:e,agentLabel:t,supportedTransports:s,onAdded:i,oauthDetectedFor:r=null}){const a=sn(),[c,h]=l.useState(!1),[u,S]=l.useState(""),[p,m]=l.useState(s[0]??"stdio"),o=s.includes(p)?p:s[0]??"stdio",[b,C]=l.useState(""),[N,w]=l.useState(""),[x,E]=l.useState(""),[y,M]=l.useState(""),[z,A]=l.useState(""),[O,R]=l.useState(null),[k,P]=l.useState(null),[K,U]=l.useState(null),[G,V]=l.useState(null),d=mn.test(u)&&u.length<=64,j=o==="stdio"?b.trim().length>0:y.trim().length>0,T=d&&j&&!a.isPending,I=l.useCallback(()=>o==="stdio"?{transport:"stdio",command:b.trim(),args:ue(N),env:de(x)}:{transport:o,url:y.trim(),headers:de(z)},[o,b,N,x,y,z]),B=l.useCallback(()=>({agentId:e,name:u.trim(),connection:I()}),[e,u,I]),X=l.useCallback(()=>{h(!1),R(null),P(null),S(""),m(s[0]??"stdio"),C(""),w(""),E(""),M(""),A("")},[s]),ie=l.useCallback(g=>{i({name:g.name,transport:g.connection.transport}),X()},[i,X]),q=l.useCallback((g,v)=>{const Re=gn(g,v.name);ie(v),Re&&U(v.name)},[ie]),Me=l.useCallback(async()=>{P(null);const g=B();try{const v=await a.mutateAsync({input:g});v.status==="approval_required"?R(v.approval):q(v,g)}catch(v){P(v instanceof Error?v.message:"Couldn’t add the server.")}},[a,B,q]),Oe=l.useCallback(async()=>{if(!O)return;P(null);const g=B();try{const v=await a.mutateAsync({input:g,approval:O});v.status==="ok"?q(v,g):P("The server still needs approval. Try again.")}catch(v){P(v instanceof Error?v.message:"Couldn’t add the server.")}},[a,B,O,q]),Y=K??(r&&r!==G?r:null),Ee=l.useCallback(()=>{V(Y),U(null)},[Y]),ze=l.useMemo(()=>[b.trim(),...ue(N)].filter(Boolean).join(" "),[b,N]);return Y?n.jsx(dn,{agentId:e,serverName:Y,onDone:Ee}):c?O?n.jsx(L,{children:n.jsxs($,{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(he,{className:"text-status-warning-dot mt-0.5 size-4 shrink-0"}),n.jsxs("div",{className:"space-y-1",children:[n.jsxs("p",{className:"text-sm font-medium",children:["Add this server to ",t,"?"]}),n.jsx("p",{className:"text-muted-foreground text-xs",children:o==="stdio"?"Runs on this computer when a chat starts.":"The agent connects here when a chat starts."})]})]}),n.jsx("pre",{className:"bg-muted text-foreground overflow-x-auto rounded-md px-3 py-2 font-mono text-xs",children:o==="stdio"?ze:y.trim()}),k&&n.jsx("p",{className:"text-destructive text-xs",children:k}),n.jsxs("div",{className:"flex justify-end gap-2",children:[n.jsx(f,{variant:"ghost",size:"sm",onClick:()=>R(null),disabled:a.isPending,className:"focus-visible:ring-2",children:"Back"}),n.jsx(f,{size:"sm",onClick:Oe,disabled:a.isPending,className:"focus-visible:ring-2",children:a.isPending?"Adding…":"Add server"})]})]})}):n.jsx(L,{children:n.jsxs($,{className:"space-y-3",children:[n.jsxs("div",{className:"space-y-1.5",children:[n.jsx(F,{htmlFor:"mcp-name",children:"Name"}),n.jsx(H,{id:"mcp-name",value:u,onChange:g=>S(g.target.value),placeholder:"my-server","aria-invalid":u.length>0&&!d}),u.length>0&&!d&&n.jsx("p",{className:"text-destructive text-xs",children:"Letters, numbers, dashes, underscores only."})]}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsx(F,{htmlFor:"mcp-transport",children:"Transport"}),n.jsxs(Fe,{value:o,onValueChange:g=>m(g),children:[n.jsx(De,{id:"mcp-transport",className:"w-full",children:n.jsx(_e,{})}),n.jsx(Le,{children:s.map(g=>n.jsx($e,{value:g,children:g},g))})]})]}),o==="stdio"?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"space-y-1.5",children:[n.jsx(F,{htmlFor:"mcp-command",children:"Command"}),n.jsx(H,{id:"mcp-command",value:b,onChange:g=>C(g.target.value),placeholder:"npx",className:"font-mono"})]}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsx(F,{htmlFor:"mcp-args",children:"Arguments"}),n.jsx(H,{id:"mcp-args",value:N,onChange:g=>w(g.target.value),placeholder:"-y @modelcontextprotocol/server-filesystem",className:"font-mono"})]}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsx(F,{htmlFor:"mcp-env",children:"Environment (KEY=VALUE per line)"}),n.jsx(oe,{id:"mcp-env",value:x,onChange:g=>E(g.target.value),placeholder:"API_KEY=…",rows:2,className:"font-mono text-xs"})]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"space-y-1.5",children:[n.jsx(F,{htmlFor:"mcp-url",children:"URL"}),n.jsx(H,{id:"mcp-url",value:y,onChange:g=>M(g.target.value),placeholder:"https://example.com/mcp",className:"font-mono"})]}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsx(F,{htmlFor:"mcp-headers",children:"Headers (KEY=VALUE per line)"}),n.jsx(oe,{id:"mcp-headers",value:z,onChange:g=>A(g.target.value),placeholder:"Authorization=Bearer …",rows:2,className:"font-mono text-xs"})]})]}),k&&n.jsx("p",{className:"text-destructive text-xs",children:k}),n.jsx(Ke,{}),n.jsxs("div",{className:"flex justify-end gap-2",children:[n.jsx(f,{variant:"ghost",size:"sm",onClick:X,className:"focus-visible:ring-2",children:"Cancel"}),n.jsx(f,{size:"sm",onClick:Me,disabled:!T,className:"focus-visible:ring-2",children:"Continue"})]})]})}):n.jsxs(f,{variant:"outline",size:"sm",onClick:()=>h(!0),className:"focus-visible:ring-2",children:[n.jsx(ge,{className:"size-4"}),"Add server"]})}const pn={connected:"connected","needs-auth":"needs-sign-in",pending:"connecting",disabled:"off"},fn=["validation","invalid config","invalid configuration","missing required","command not found","enoent"];function re(e){if(!e)return"cant-reach";const t=e.toLowerCase();return fn.some(s=>t.includes(s))?"setup-problem":"cant-reach"}function be(e){return e.transport==="stdio"||e.authKind==="oauth2"?!1:Object.keys(e.headers).some(t=>t.toLowerCase()==="authorization")}function xn(e){const{connection:t,authStatus:s}=e;return t.transport!=="stdio"&&t.authKind==="oauth2"?!0:s!==void 0}function ye(e){const{enabled:t,testedOk:s,signedInNow:i,runtimeStatus:r,runtimeError:a,authStatus:c,ownKey:h}=e;return t?s?"connected":i?"signed-in":r==="failed"?re(a):c==="connected"&&r==="needs-auth"?"signed-in":c==="needs-auth"&&(r==="connected"||r==="pending")?"needs-sign-in":r?pn[r]:c==="connected"?"signed-in":c==="needs-auth"?"needs-sign-in":h?"uses-your-key":"not-checked":"off"}function jn(e){const{statusKey:t,testResult:s,signedInNow:i}=e;return t==="off"||i?!1:(s==null?void 0:s.needsAuth)===!0?!0:t==="needs-sign-in"}function Nn(e){const{stamped:t,signedInNow:s,authStatus:i,rosterUpdatedAt:r}=e;if(!t)return;const{result:a}=t;if(!(s&&a.needsAuth===!0)&&!(t.at<=r&&(i==="needs-auth"&&a.ok||i==="connected"&&a.needsAuth===!0)))return a}function vn(e){const{status:t,probe:s}=e;return t==="off"||!s||s.ok?t:s.needsAuth===!0?"needs-sign-in":re(s.error)}const Q={attention:0,working:1,elsewhere:2,off:3};function Sn(e){return e==="off"?Q.off:e==="needs-sign-in"||e==="cant-reach"||e==="setup-problem"?Q.attention:Q.working}function bn(e){const{managed:t,live:s,discovered:i}=e;return[...t.map(a=>{var c,h;return{name:a.name,band:Sn(ye({enabled:a.enabled,testedOk:!1,signedInNow:!1,runtimeStatus:(c=s.get(a.name))==null?void 0:c.status,runtimeError:(h=s.get(a.name))==null?void 0:h.error,authStatus:a.authStatus,ownKey:be(a.connection)}))}}),...i.map(a=>({name:a.name,band:Q.elsewhere}))].map((a,c)=>({entry:a,index:c})).sort((a,c)=>a.entry.band-c.entry.band||a.index-c.index).map(({entry:a})=>a.name)}function yn(e){const{frozen:t,present:s}=e,i=new Set(s),r=new Set(t);return{ordered:t.filter(a=>i.has(a)),added:s.filter(a=>!r.has(a))}}function Cn(){const e=Ue(null);return({bothSettled:t,managed:s,live:i,discovered:r,present:a})=>{e.read()===null&&t&&a.length>0&&e.write(bn({managed:s,live:i,discovered:r}));const{ordered:c,added:h}=yn({frozen:e.read()??[],present:a});return h.length>0&&e.read()!==null&&e.write([...c,...h]),[...c,...h]}}const Ce={"needs-sign-in":{label:"Needs sign-in",tooltip:"Sign in to use it.",tone:"attention"},"signing-in":{label:"Signing in…",tooltip:"Finish in the new tab.",tone:"attention"},connected:{label:"Connected",tooltip:"It answered. Its tools are ready.",tone:"calm"},"signed-in":{label:"Signed in",tooltip:"Signed in, not tested yet.",tone:"calm"},"uses-your-key":{label:"Uses your key",tooltip:"Uses a key you added.",tone:"calm"},"cant-reach":{label:"Can’t reach",tooltip:"No answer. See Details.",tone:"error"},"setup-problem":{label:"Setup problem",tooltip:"Couldn’t start. See Details.",tone:"error"},connecting:{label:"Connecting…",tooltip:"Connecting to this server.",tone:"calm"},"not-checked":{label:"Not checked yet",tooltip:"Nothing has checked it yet.",tone:"calm"},off:{label:"Off",tooltip:"Hidden from the agent.",tone:"calm"}},wn={"needs-sign-in":"sign-in","signing-in":"none",connected:"none","signed-in":"test","uses-your-key":"test","cant-reach":"try-again","setup-problem":"try-again",connecting:"none","not-checked":"test",off:"none"};function kn(e){return wn[e]}function An({toolCount:e,justSignedIn:t}){const s=t?"Signed in just now. ":"";return e===null?`${s||"This server answered. "}Its tools are available.`:`${s}${e} tool${e===1?"":"s"} available.`}function Tn(e,t){switch(e){case"needs-sign-in":return`Sign in to ${t.displayName} to use its tools.`;case"signing-in":return null;case"connected":return An(t);case"signed-in":return t.justSignedIn?"Signed in just now. Test to check it answers.":"Signed in. Test to check it answers.";case"uses-your-key":return"You added an access key when setting this up.";case"cant-reach":return"This server didn’t answer. It may be down.";case"setup-problem":return"This server’s setup has a problem.";case"connecting":return"Connecting to this server.";case"not-checked":return"Nothing has checked this server yet.";case"off":return"Turned off. The agent doesn’t see this server."}}function Mn(e){const{connection:t,authStatus:s,clientOrigin:i}=e;return t.transport==="stdio"?"None. This server doesn’t need one.":t.authKind==="oauth2"?i==="manual"?`Your own app credentials, ${s==="connected"?"signed in, renews automatically":"not signed in yet"}. DorkOS holds the key, not the agent.`:s==="connected"?"Signed in, and it renews automatically. DorkOS holds the key, not the agent.":"DorkOS will hold the key, not the agent.":Object.keys(t.headers).some(a=>a.toLowerCase()==="authorization")?"Access key: you added a key when setting this up.":s===void 0?"Nothing has checked this yet.":"None. This server doesn’t need one."}function On(e){if(e.transport==="stdio")return`Runs \`${e.command}\` on this computer`;const t=En(e.url);return t?`${t} (web service)`:`${e.url} (web service)`}function En(e){try{return new URL(e).host}catch{return null}}const zn={agent:"Added to this agent through DorkOS",project:"From this project’s config files",plugin:"Comes with a plugin",computer:"From your computer-wide config"},Rn={agent:"Added to this agent through DorkOS.",project:"From this project’s config. Add it to manage it here.",plugin:"Comes with a plugin. Add it to manage it here.",computer:"From your computer-wide config. Add it to manage it here."},Pn=[{runtime:"claude-code",pattern:/^plugin:([^:]+):(.+)$/,read:e=>({pluginName:e[1],displayName:e[2]})},{runtime:"claude-code",pattern:/^plugin:(.+)$/,read:e=>({pluginName:e[1],displayName:e[1]})}];function we(e){for(const t of Pn){const s=e.match(t.pattern);if(!s)continue;const{displayName:i,pluginName:r}=t.read(s);if(!(!i||!r))return{displayName:i,pluginName:r,rawName:e}}return{displayName:e,pluginName:null,rawName:e}}function In(e,t){return t.pluginName?"plugin":e.scope==="project"||e.scope==="local"?"project":e.scope==="user"?"computer":null}const Fn="Loaded from outside DorkOS. Add it to manage it here.";function ke(e,t){return e==="plugin"&&t?`Comes with the ${t} plugin`:zn[e]}function Dn(e,t){return e===null?Fn:e==="plugin"&&t?`Comes with the ${t} plugin. Add it to manage it here.`:Rn[e]}const _n=se("border-border/60 relative overflow-hidden rounded-md border px-3 py-2.5 transition-colors",{variants:{managed:{true:"bg-card",false:"bg-muted/30"},dimmed:{true:"opacity-65",false:""}},defaultVariants:{managed:!0,dimmed:!1}}),Ln=se("pointer-events-none absolute inset-y-0 left-0 w-0.5",{variants:{tone:{calm:"hidden",attention:"bg-status-warning",error:"bg-status-error"}},defaultVariants:{tone:"calm"}}),$n=se("shrink-0 rounded-full px-2 py-0.5 text-2xs leading-4 font-medium whitespace-nowrap",{variants:{chip:{success:"bg-status-success-bg text-status-success-fg",info:"bg-status-info-bg text-status-info-fg",warning:"bg-status-warning-bg text-status-warning-fg",error:"bg-status-error-bg text-status-error-fg",neutral:"bg-muted text-muted-foreground"}},defaultVariants:{chip:"neutral"}}),Kn={connected:"success","signed-in":"info","needs-sign-in":"warning","signing-in":"warning","cant-reach":"error","setup-problem":"error","uses-your-key":"neutral",connecting:"neutral","not-checked":"neutral",off:"neutral"};function Un({status:e}){const t=Ce[e];return n.jsxs(pe,{children:[n.jsx(fe,{asChild:!0,children:n.jsx("span",{className:$n({chip:Kn[e]}),children:t.label})}),n.jsx(xe,{children:t.tooltip})]})}function Vn({scope:e,pluginName:t}){return n.jsxs(pe,{children:[n.jsx(fe,{asChild:!0,children:n.jsx(Ve,{size:"xs",tone:"neutral",variant:"secondary",className:"shrink-0 font-normal",children:e})}),n.jsx(xe,{children:ke(e,t)})]})}function Ae({displayName:e,rawName:t,scope:s,pluginName:i,status:r,sentence:a,managed:c,toggle:h,actions:u,children:S,details:p,defaultDetailsOpen:m=!1}){const[o,b]=l.useState(m),C=l.useId(),N=Ce[r].tone;return n.jsxs("div",{"data-mcp-server":t,className:ce(_n({managed:c,dimmed:r==="off"}),"mb-2 last:mb-0"),children:[n.jsx("span",{className:Ln({tone:N}),"aria-hidden":!0}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:e}),s&&n.jsx(Vn,{scope:s,pluginName:i}),n.jsx(Un,{status:r}),h]}),a&&n.jsx("p",{className:"text-muted-foreground mt-1 text-xs leading-relaxed",children:a}),S,u&&n.jsx("div",{className:"mt-2 flex items-center gap-1",children:u}),p&&n.jsxs(n.Fragment,{children:[n.jsxs("button",{type:"button",onClick:()=>b(w=>!w),"aria-expanded":o,"aria-controls":C,className:"text-muted-foreground hover:text-foreground mt-2 flex items-center gap-1 text-xs focus-visible:ring-2",children:[n.jsx(J,{className:ce("size-3 transition-transform",o&&"rotate-90"),"aria-hidden":!0}),"Details"]}),o&&n.jsxs("div",{id:C,children:[p,n.jsxs("button",{type:"button",onClick:()=>b(!1),className:"text-muted-foreground hover:text-foreground mt-2 flex items-center gap-1 text-xs focus-visible:ring-2",children:[n.jsx(J,{className:"size-3 -rotate-90","aria-hidden":!0}),"Collapse details"]})]})]})]})}const Bn=3,_="text-muted-foreground/70";function qn({tools:e}){const[t,s]=l.useState(!1),i=t?e:e.slice(0,Bn),r=e.length-i.length;return n.jsxs("div",{className:"mt-1.5",children:[i.map(a=>n.jsxs("div",{className:"border-border/40 flex items-baseline gap-2 border-b py-1 last:border-b-0",children:[n.jsx("code",{className:"text-foreground text-2xs shrink-0 font-mono",children:a.name}),a.description&&n.jsx("span",{className:"text-muted-foreground text-2xs truncate",children:a.description})]},a.name)),r>0&&n.jsxs("button",{type:"button",onClick:()=>s(!0),className:"text-muted-foreground hover:text-foreground mt-1 flex items-center gap-1 text-xs focus-visible:ring-2",children:[n.jsx(J,{className:"size-3","aria-hidden":!0}),"Show ",r," more"]})]})}function Yn(e){const{scope:t,pluginName:s,connection:i}=e;return t==="plugin"&&s?`Comes with the ${s} plugin`:i?On(i):t?ke(t,s):null}function Te({connection:e,authStatus:t,authClientOrigin:s,scope:i,pluginName:r,rawName:a,displayName:c,toolCount:h,tools:u,serverInfo:S,alsoUsedBy:p,error:m}){const o=Yn({scope:i,pluginName:r,connection:e});return n.jsxs("div",{className:"border-border/60 text-muted-foreground mt-2 space-y-1 border-t pt-2 text-xs leading-relaxed",children:[e&&n.jsx(D,{label:"Sign-in",align:"start",wrap:!0,labelClassName:_,children:n.jsxs("span",{className:"inline-flex items-start gap-1.5",children:[n.jsx(en,{className:"mt-0.5 size-3 shrink-0","aria-hidden":!0}),Mn({connection:e,authStatus:t,clientOrigin:s})]})}),o&&n.jsx(D,{label:"Source",align:"start",wrap:!0,labelClassName:_,children:o}),a!==c&&n.jsx(D,{label:"Raw id",align:"start",wrap:!0,labelClassName:_,children:n.jsx("code",{className:"text-2xs font-mono",children:a})}),S&&n.jsx(D,{label:"Server",align:"start",wrap:!0,labelClassName:_,children:S}),p&&n.jsx(D,{label:"Also used by",align:"start",wrap:!0,labelClassName:_,children:p}),typeof h=="number"&&n.jsx(D,{label:"Tools",align:"start",labelClassName:_,children:h}),u&&u.length>0&&n.jsx(qn,{tools:u}),m&&n.jsx(D,{label:"Error",align:"start",wrap:!0,labelClassName:_,children:n.jsx("code",{className:"text-2xs font-mono break-all",children:m})})]})}function Hn({flow:e,serverName:t}){return n.jsxs(n.Fragment,{children:[n.jsx(Ne,{flow:e,serverName:t,failedActions:n.jsxs(n.Fragment,{children:[n.jsx(f,{variant:"secondary",size:"sm",onClick:()=>e.start(),className:"focus-visible:ring-2",children:"Try again"}),n.jsx(f,{variant:"ghost",size:"sm",onClick:()=>e.reset(),className:"focus-visible:ring-2",children:"Dismiss"})]}),connectedActions:n.jsx(f,{variant:"ghost",size:"sm",onClick:()=>e.reset(),className:"focus-visible:ring-2",children:"Dismiss"})}),(e.state.step==="disclosure"||e.state.step==="waiting")&&n.jsx("div",{className:"mt-2",children:n.jsx(f,{variant:"ghost",size:"sm",onClick:()=>e.reset(),"aria-label":`Cancel signing in to ${t}`,className:"focus-visible:ring-2",children:"Cancel"})})]})}function Qn({server:e,agentId:t,live:s,testResult:i,rosterUpdatedAt:r,testing:a,busy:c,onToggle:h,onTest:u,onRemove:S}){const p=je(t,e.name),m=p.state.step==="connected",o=Nn({stamped:i,signedInNow:m,authStatus:e.authStatus,rosterUpdatedAt:r}),b=be(e.connection),C=ye({enabled:e.enabled,testedOk:(o==null?void 0:o.ok)===!0,signedInNow:m,runtimeStatus:s==null?void 0:s.status,runtimeError:s==null?void 0:s.error,authStatus:e.authStatus,ownKey:b}),N=p.state.step==="starting",w=p.state.step==="disclosure"||p.state.step==="waiting"||N,x=w?"signing-in":C,E=jn({statusKey:C,testResult:o,signedInNow:m})&&(p.state.step==="idle"||N),y=we(e.name),M=o!=null&&o.ok?o.toolCount??null:p.state.toolCount,z=w?x:vn({status:x,probe:o}),A=Tn(z,{displayName:y.displayName,toolCount:M,justSignedIn:m}),O=w?"none":kn(z),R=xn({connection:e.connection,authStatus:e.authStatus});return n.jsx(Ae,{displayName:y.displayName,rawName:e.name,scope:"agent",pluginName:y.pluginName,status:x,sentence:A,managed:!0,toggle:n.jsx(We,{checked:e.enabled,onCheckedChange:k=>h(e.name,k),disabled:c,"aria-label":`Enable ${e.name}`}),actions:n.jsxs(n.Fragment,{children:[E&&n.jsxs(f,{variant:"default",size:"sm",onClick:()=>p.start(),disabled:c||N,"aria-label":`Sign in to ${e.name}`,className:"gap-1.5 focus-visible:ring-2",children:[n.jsx(le,{className:"size-3.5","aria-hidden":!0}),"Sign in"]}),!E&&O==="try-again"&&n.jsxs(f,{variant:"outline",size:"sm",onClick:()=>u(e.name),disabled:a||c,"aria-label":`Try ${e.name} again`,className:"gap-1.5 focus-visible:ring-2",children:[a?n.jsx(ee,{size:"xs"}):null,"Try again"]}),!E&&O==="test"&&n.jsx(f,{variant:"outline",size:"sm",onClick:()=>u(e.name),disabled:a||c,className:"focus-visible:ring-2",children:a?n.jsx(ee,{size:"xs"}):"Test"}),n.jsxs(Be,{children:[n.jsx(qe,{asChild:!0,children:n.jsx(f,{variant:"ghost",size:"sm","aria-label":`More actions for ${e.name}`,className:"ml-auto focus-visible:ring-2",children:n.jsx(Ye,{className:"size-4","aria-hidden":!0})})}),n.jsxs(He,{align:"end",children:[n.jsxs(Z,{onSelect:()=>u(e.name),disabled:a||c,children:[n.jsx(nn,{className:"size-3.5","aria-hidden":!0}),"Test"]}),R&&n.jsxs(Z,{onSelect:()=>p.start(),disabled:c,children:[n.jsx(le,{className:"size-3.5","aria-hidden":!0}),"Sign in again"]}),n.jsx(Qe,{}),n.jsx(Z,{variant:"destructive",onSelect:()=>S(e.name),disabled:c,children:"Remove"})]})]})]}),details:n.jsx(Te,{connection:e.connection,authStatus:e.authStatus,authClientOrigin:e.authClientOrigin,scope:"agent",pluginName:y.pluginName,rawName:y.rawName,displayName:y.displayName,toolCount:M,error:(o==null?void 0:o.ok)===!1?o.error:s==null?void 0:s.error}),children:n.jsx(Hn,{flow:p,serverName:y.displayName})})}function Wn(e){switch(e.status){case"connected":return"connected";case"failed":return re(e.error);case"needs-auth":return"needs-sign-in";case"pending":return"connecting";case"disabled":return"off";default:return"not-checked"}}function Gn(e){const{displayName:t,scope:s,pluginName:i}=e,r=Xn(s,i);return`${t} ${r}. Manage it here to enable, disable, or sign in from DorkOS.`}function Xn(e,t){return e==="plugin"&&t?`comes with the ${t} plugin`:e==="project"?"comes from this project’s own config":e==="computer"?"comes from your computer-wide config":"is loaded from outside DorkOS"}function Zn({entry:e,agentId:t,agentLabel:s,canImport:i}){const r=an(),[a,c]=l.useState(null),[h,u]=l.useState(null),S=l.useCallback(async()=>{u(null);try{const x=await r.mutateAsync({input:{agentId:t,name:e.name}});x.status==="approval_required"&&c(x.approval)}catch(x){u(x instanceof Error?x.message:"Couldn’t add the server.")}},[r,t,e.name]),p=l.useCallback(async()=>{if(a){u(null);try{(await r.mutateAsync({input:{agentId:t,name:e.name},approval:a})).status!=="ok"&&u("Adding it still needs approval. Try again.")}catch(x){u(x instanceof Error?x.message:"Couldn’t add the server.")}}},[r,t,e.name,a]),m=we(e.name),o=In(e,m),b=o!==null,C=m.rawName!==m.displayName,N=e.error!==void 0,w=b||C||N;return a?n.jsxs("div",{className:"border-border/60 mb-2 space-y-3 rounded-md border p-3 last:mb-0",children:[n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(he,{className:"text-status-warning mt-0.5 size-4 shrink-0","aria-hidden":!0}),n.jsxs("div",{className:"space-y-1",children:[n.jsxs("p",{className:"text-sm font-medium",children:["Add “",m.displayName,"” to ",s,"?"]}),n.jsx("p",{className:"text-muted-foreground text-xs leading-relaxed",children:Gn({displayName:m.displayName,scope:o,pluginName:m.pluginName})})]})]}),h&&n.jsx("p",{className:"text-destructive text-xs",children:h}),n.jsxs("div",{className:"flex justify-end gap-2",children:[n.jsx(f,{variant:"ghost",size:"sm",onClick:()=>c(null),disabled:r.isPending,className:"focus-visible:ring-2",children:"Cancel"}),n.jsx(f,{size:"sm",onClick:p,disabled:r.isPending,className:"focus-visible:ring-2",children:r.isPending?"Adding…":"Add to agent"})]})]}):n.jsx(Ae,{displayName:m.displayName,rawName:e.name,scope:o,pluginName:m.pluginName,status:Wn(e),sentence:Dn(o,m.pluginName),managed:!1,actions:i?n.jsxs(n.Fragment,{children:[n.jsxs(f,{variant:"outline",size:"sm",onClick:S,disabled:r.isPending,"aria-label":`Add ${e.name} to agent`,className:"gap-1.5 focus-visible:ring-2",children:[r.isPending?n.jsx(ee,{size:"xs"}):n.jsx(ge,{className:"size-(--size-icon-xs)","aria-hidden":!0}),"Add to agent"]}),h&&n.jsx("p",{className:"text-destructive text-xs",children:h})]}):void 0,details:w?n.jsx(Te,{scope:o,pluginName:m.pluginName,rawName:m.rawName,displayName:m.displayName,error:e.error}):void 0})}const Jn={codex:["stdio","http"],opencode:["stdio","http"]};function et(e){return Jn[e]??un}function nt(){const{open:e}=Ze();return n.jsxs("p",{className:"text-muted-foreground text-xs leading-relaxed",children:["Want other apps to use DorkOS’s tools?"," ",n.jsx(f,{variant:"link",size:"sm",className:"h-auto p-0 text-xs",onClick:()=>e("tools","external-mcp"),children:"See Settings → Advanced → Tools"})]})}function tt({agent:e,projectPath:t}){var V;const s=Ge(e.id),i=tn(t,e.runtime),r=i.data,a=Xe(e.runtime),c=(a==null?void 0:a.supportsManagedMcpServers)??!0,h=on(),u=cn(),S=rn(),p=ln(),[m,o]=l.useState({}),[b,C]=l.useState(null),[N,w]=l.useState(null),x=Cn(),E=l.useCallback((d,j)=>{(j?h:u).mutate({agentId:e.id,name:d})},[e.id,h,u]),y=l.useCallback(d=>{S.mutate({agentId:e.id,name:d}),o(j=>{const T={...j};return delete T[d],T})},[e.id,S]),M=l.useCallback(async d=>{C(d);try{const j=await p.mutateAsync({agentId:e.id,name:d});o(T=>({...T,[d]:{result:j,at:Date.now()}}))}finally{C(null)}},[e.id,p]),z=l.useCallback(({name:d,transport:j})=>{w(d),j!=="stdio"&&M(d).catch(()=>{})},[M]),A=s.data??[],O=new Set(A.map(d=>d.name)),R=new Map(((r==null?void 0:r.servers)??[]).map(d=>[d.name,d])),k=((r==null?void 0:r.servers)??[]).filter(d=>!O.has(d.name)),P=h.isPending||u.isPending||S.isPending,K=new Map;A.forEach((d,j)=>K.set(d.name,{kind:"managed",index:j})),k.forEach((d,j)=>K.set(d.name,{kind:"discovered",index:j}));const U=x({bothSettled:!s.isPending&&!i.isPending,managed:A,live:R,discovered:k,present:[...A.map(d=>d.name),...k.map(d=>d.name)]});function G(d){const j=K.get(d);if(!j)return null;if(j.kind==="managed"){const I=A[j.index];return n.jsx(Qn,{server:I,agentId:e.id,live:R.get(I.name),testResult:m[I.name],rosterUpdatedAt:s.dataUpdatedAt,testing:b===I.name,busy:P,onToggle:E,onTest:M,onRemove:y},I.name)}const T=k[j.index];return n.jsx(Zn,{entry:T,agentId:e.id,agentLabel:e.displayName??e.name,canImport:c},T.name)}return n.jsxs("section",{className:"space-y-3","aria-label":"MCP servers",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("h3",{className:"text-sm font-semibold",children:"MCP Servers"}),c&&n.jsx(hn,{agentId:e.id,agentLabel:e.displayName??e.name,supportedTransports:et(e.runtime),onAdded:z,oauthDetectedFor:N&&((V=m[N])==null?void 0:V.result.needsAuth)===!0?N:null})]}),n.jsx(nt,{}),!c&&n.jsx("p",{className:"text-muted-foreground text-xs",children:"This agent can’t use added servers yet. View only."}),s.isLoading?n.jsx(L,{children:n.jsxs($,{className:"space-y-2",children:[n.jsx(ne,{className:"h-5 w-full"}),n.jsx(ne,{className:"h-5 w-3/4"})]})}):s.isError?n.jsx(L,{children:n.jsxs($,{className:"flex items-center justify-between gap-2",children:[n.jsx("p",{className:"text-destructive text-sm",children:"Couldn’t load managed servers."}),n.jsx(f,{variant:"outline",size:"sm",onClick:()=>s.refetch(),className:"focus-visible:ring-2",children:"Try again"})]})}):U.length===0?n.jsx(L,{children:n.jsx($,{children:n.jsxs("p",{className:"text-muted-foreground text-sm",children:["No MCP servers yet."," ",c?"Add one for more tools.":"This agent can’t use them yet."]})})}):n.jsx(L,{children:n.jsx($,{children:U.map(G)})})]})}function lt({member:e}){const{agent:t,projectPath:s,isPending:i}=Je(e);return i?n.jsx(ne,{className:"h-32 w-full"}):!t||s===null?n.jsx("p",{className:"text-muted-foreground text-sm",children:"Couldn’t read this agent’s MCP servers."}):n.jsx(tt,{agent:t,projectPath:s})}export{lt as ToolsPage};