dorkos 0.124.0 → 0.124.1

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 (311) hide show
  1. package/dist/bin/cli.js +935 -551
  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-BH8Ndn3e.js → AboutPage-DHaZvsJE.js} +1 -1
  5. package/dist/client/assets/{ActivityErrorState-K5Mew9EX.js → ActivityErrorState-BP-qFk2S.js} +1 -1
  6. package/dist/client/assets/{ActivityPage-BB20L5HU.js → ActivityPage-Bme3TzdQ.js} +1 -1
  7. package/dist/client/assets/{ActivityRow-C5O7rnmS.js → ActivityRow-BRZyW9MA.js} +1 -1
  8. package/dist/client/assets/{AdapterIcon-Bmybvrzb.js → AdapterIcon-BcfquTja.js} +1 -1
  9. package/dist/client/assets/{AdapterSetupWizard-CkdV7Hhh.js → AdapterSetupWizard-B4I23pBg.js} +1 -1
  10. package/dist/client/assets/{AgentOptionRow-BA2cDa7r.js → AgentOptionRow-Cb34LtmH.js} +1 -1
  11. package/dist/client/assets/{AgentPicker-CsIIPGZJ.js → AgentPicker-ouNRFSDh.js} +1 -1
  12. package/dist/client/assets/{AgentRequestCard-0fOxvaoe.js → AgentRequestCard-B6MHIsxa.js} +2 -2
  13. package/dist/client/assets/{AppearancePage-XOjkkoli.js → AppearancePage-CutehigK.js} +1 -1
  14. package/dist/client/assets/ApplyToOverridesDialog-B-wIUI27.js +1 -0
  15. package/dist/client/assets/{AttentionSignalRow-CjjZobp7.js → AttentionSignalRow-B1aMjgX_.js} +1 -1
  16. package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-9TVHyRPJ.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-CdWF4WLz.js} +1 -1
  17. package/dist/client/assets/{BindingDialog-DLoAQauL.js → BindingDialog-BAdueON5.js} +1 -1
  18. package/dist/client/assets/{BlintzCanvas-CYHsXAcY.js → BlintzCanvas-b30dG4gx.js} +3 -3
  19. package/dist/client/assets/{CanvasCsvContent--Gr7Fe_U.js → CanvasCsvContent-DGHgSikG.js} +1 -1
  20. package/dist/client/assets/{CanvasFileContent-estXyAbr.js → CanvasFileContent-D1bFaUeh.js} +2 -2
  21. package/dist/client/assets/{CanvasModel3dContent-CkOo930M.js → CanvasModel3dContent-dST7g1v2.js} +2 -2
  22. package/dist/client/assets/{ChatAppsOff-D4L1zJVN.js → ChatAppsOff-DiObvmJS.js} +1 -1
  23. package/dist/client/assets/{CodeMirrorDiff-DY_6ju-z.js → CodeMirrorDiff-BncI1OY1.js} +1 -1
  24. package/dist/client/assets/{CodeMirrorEditor-BUoDBsBv.js → CodeMirrorEditor-DV6psv19.js} +1 -1
  25. package/dist/client/assets/{CommitmentList-wDkcVP9c.js → CommitmentList-Dx_Ek_Gl.js} +1 -1
  26. package/dist/client/assets/{CommitmentsPage-CzSM6b8R.js → CommitmentsPage-Bca8NMUa.js} +1 -1
  27. package/dist/client/assets/{ComputerResourceView-cERD9H2L.js → ComputerResourceView-DNVNFTdn.js} +1 -1
  28. package/dist/client/assets/{ComputerViewer-rMcfbk2_.js → ComputerViewer-D8SxJdMm.js} +1 -1
  29. package/dist/client/assets/{ConnectionAccessLists-f7QeQbQo.js → ConnectionAccessLists-Bhj1YT15.js} +1 -1
  30. package/dist/client/assets/{ConnectionsPage-BmjtA6pw.js → ConnectionsPage-B20JZxoK.js} +1 -1
  31. package/dist/client/assets/{ConventionPage-CH-ah6nI.js → ConventionPage-De645wxU.js} +1 -1
  32. package/dist/client/assets/{ExtensionPageRoute-CJIxa6ST.js → ExtensionPageRoute-nTeiOBRQ.js} +1 -1
  33. package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-BP7EJ2JL.js → FloatingTanStackRouterDevtools-CqogiFob-DM79UITv.js} +1 -1
  34. package/dist/client/assets/HandlePage-B08V-om7.js +1 -0
  35. package/dist/client/assets/{HeartbeatPage-BUsf-qrU.js → HeartbeatPage-CBoUxz6t.js} +1 -1
  36. package/dist/client/assets/{KeyEntry-C2kWdN8q.js → KeyEntry-Cug8ocpX.js} +1 -1
  37. package/dist/client/assets/{LexicalField-CR8ulsI_.js → LexicalField-Bv_ogmAq.js} +1 -1
  38. package/dist/client/assets/{ManagesPage-DTtsIOGi.js → ManagesPage-DfJBQKK3.js} +1 -1
  39. package/dist/client/assets/{Marketplace-iaV5XAzv.js → Marketplace-swCVUbdY.js} +2 -2
  40. package/dist/client/assets/{MarketplaceSourcesView-6tgzUfFj.js → MarketplaceSourcesView-CDZDChpV.js} +1 -1
  41. package/dist/client/assets/{McpAppFrame-C7eYYdI9.js → McpAppFrame-BM9cNPPd.js} +1 -1
  42. package/dist/client/assets/{McpSigninBody-BDyGbJ7I.js → McpSigninBody-DKyUKrEE.js} +1 -1
  43. package/dist/client/assets/{Model3dViewer-BujDNuVS.js → Model3dViewer-rXSL5y2P.js} +1 -1
  44. package/dist/client/assets/NamePage-JwMDK1JD.js +1 -0
  45. package/dist/client/assets/{NewDirectMessageMenu-D4e-z2Jt.js → NewDirectMessageMenu-GCEMS5oV.js} +1 -1
  46. package/dist/client/assets/{NotificationsPage-CkDeTaJp.js → NotificationsPage-DSWsOVLa.js} +1 -1
  47. package/dist/client/assets/{OpenMeshSwitch-CtbOt3r5.js → OpenMeshSwitch-BTuctDj4.js} +1 -1
  48. package/dist/client/assets/{OperatorIdentityForm-Vr4qZnmM.js → OperatorIdentityForm-ODDMd2YN.js} +1 -1
  49. package/dist/client/assets/PermissionHistory-41a58Se7.js +1 -0
  50. package/dist/client/assets/{PermissionsPage-f4QaX8oM.js → PermissionsPage-DefmymZ6.js} +1 -1
  51. package/dist/client/assets/{PersonalityPopover-BkZruwF-.js → PersonalityPopover-7zPVBI1I.js} +1 -1
  52. package/dist/client/assets/PhotoPage-DlOVhkW9.js +1 -0
  53. package/dist/client/assets/{PreviewRefusedNotice-BXC2K0tx.js → PreviewRefusedNotice-CwGlBJ7U.js} +1 -1
  54. package/dist/client/assets/{ProfileFields-BebX5oiv.js → ProfileFields-DVMkpJSb.js} +1 -1
  55. package/dist/client/assets/{ProfilePanelContainer-DZoL65zQ.js → ProfilePanelContainer-RrhoPD3T.js} +1 -1
  56. package/dist/client/assets/{ProfileRolePicker-D9H7wsuT.js → ProfileRolePicker-CXRVBCAu.js} +1 -1
  57. package/dist/client/assets/{PromptSuggestionChips-B5fDmc-g.js → PromptSuggestionChips-bBroJdTi.js} +1 -1
  58. package/dist/client/assets/{ReportsToPopover-uVYhSqj7.js → ReportsToPopover-CfPatsWM.js} +1 -1
  59. package/dist/client/assets/{RoomSurface-Bg5WV4Ep.js → RoomSurface-CdgCdV6h.js} +11 -11
  60. package/dist/client/assets/{RoomsPage-yflYFulU.js → RoomsPage-C3dDp1Mb.js} +1 -1
  61. package/dist/client/assets/{RunsOnPopover-DtGrX1Vq.js → RunsOnPopover-BcKjfQi-.js} +1 -1
  62. package/dist/client/assets/{RuntimeConnectFlow-DjReuQ-T.js → RuntimeConnectFlow-DCIRnvOH.js} +1 -1
  63. package/dist/client/assets/{RuntimeSetupDialog-Cr4GRi8c.js → RuntimeSetupDialog-Bg-0b-LC.js} +1 -1
  64. package/dist/client/assets/SeenDevices-nMsGUQTv.js +19 -0
  65. package/dist/client/assets/{SessionsPage-BWu-en78.js → SessionsPage-Cqfx4FGW.js} +1 -1
  66. package/dist/client/assets/SettingsDialog-C8r2igJ_.js +12 -0
  67. package/dist/client/assets/{SkillsPage-BdUb9SZy.js → SkillsPage-BleHQavF.js} +1 -1
  68. package/dist/client/assets/{TaskDialogWrapper-qYJPEoSR.js → TaskDialogWrapper-BhTEvf-u.js} +1 -1
  69. package/dist/client/assets/{TasksEmptyState-Bgcg9vxF.js → TasksEmptyState-Bprx1k8M.js} +2 -2
  70. package/dist/client/assets/{TasksPage-Ch5W2WQS.js → TasksPage-Dub39yEJ.js} +1 -1
  71. package/dist/client/assets/{TeamComputerEntry-CPwSIMRw.js → TeamComputerEntry-CJ-NG0u5.js} +1 -1
  72. package/dist/client/assets/ToolsPage-IsD6M-ZW.js +2 -0
  73. package/dist/client/assets/{TopologyGraph-I4_mkMHM.js → TopologyGraph-CwyasvFI.js} +14 -14
  74. package/dist/client/assets/{TourHost-BPaSwh9I.js → TourHost-BYfztuPb.js} +1 -1
  75. package/dist/client/assets/{UnlinkDialog-BUWZUu5P.js → UnlinkDialog-BKhgxVdF.js} +1 -1
  76. package/dist/client/assets/{WidgetErrorCard-cS8yMCxU.js → WidgetErrorCard-1NyzIJBj.js} +6 -6
  77. package/dist/client/assets/_shell-Ct2Bz7D0.js +80 -0
  78. package/dist/client/assets/{_shell._home-DCA5k-jb.js → _shell._home-xWj7wO5z.js} +1 -1
  79. package/dist/client/assets/{_shell._home.activity-BX4nFLna.js → _shell._home.activity-BqcLoaB1.js} +1 -1
  80. package/dist/client/assets/{_shell._home.index-C8t8cw72.js → _shell._home.index-D4sQsKKk.js} +1 -1
  81. package/dist/client/assets/{_shell._home.tasks-BgUeEvhK.js → _shell._home.tasks--UhQB6h3.js} +1 -1
  82. package/dist/client/assets/{_shell._home.workspaces-BPBdnkRt.js → _shell._home.workspaces-BPFD8Of2.js} +1 -1
  83. package/dist/client/assets/{_shell.channels-CX4kki7G.js → _shell.channels-CnFdvRzc.js} +4 -4
  84. package/dist/client/assets/{_shell.connections-0vP7g7E4.js → _shell.connections-Ik01wS5M.js} +1 -1
  85. package/dist/client/assets/{_shell.feedback-requests-TsuaO4eR.js → _shell.feedback-requests-Czu42kzo.js} +1 -1
  86. package/dist/client/assets/_shell.marketplace-Cezv-i16.js +1 -0
  87. package/dist/client/assets/_shell.marketplace_.sources-BTENmr4W.js +1 -0
  88. package/dist/client/assets/_shell.session-BjevHF_O.js +63 -0
  89. package/dist/client/assets/{_shell.team-Bm6cOBhR.js → _shell.team-UfaJqohh.js} +3 -3
  90. package/dist/client/assets/_shell.x._extensionId-0OO_Xr72.js +1 -0
  91. package/dist/client/assets/_shell.x._extensionId_._-0OO_Xr72.js +1 -0
  92. package/dist/client/assets/{abnfDiagram-WEYOIA3C-CrvoN15x.js → abnfDiagram-WEYOIA3C-oxkfGyl6.js} +1 -1
  93. package/dist/client/assets/{access-copy-B3yNZ7Gz.js → access-copy-Dggxx2cX.js} +1 -1
  94. package/dist/client/assets/{arc-CuT6QA_y.js → arc-CqQdP0Qe.js} +1 -1
  95. package/dist/client/assets/{architectureDiagram-ZHVYKT53-CPXCZ9H4.js → architectureDiagram-ZHVYKT53-89xM7zJD.js} +1 -1
  96. package/dist/client/assets/{banner-DRumuw3F.js → banner-DqJ2pM0Y.js} +1 -1
  97. package/dist/client/assets/{blockDiagram-RJAE7QA3-CM0rka9p.js → blockDiagram-RJAE7QA3-CcxwDmZC.js} +1 -1
  98. package/dist/client/assets/{c4Diagram-XDPPPE54-D4j2cXRy.js → c4Diagram-XDPPPE54-DCIhIyXa.js} +1 -1
  99. package/dist/client/assets/{card-B3CtfC3R.js → card-DT-vFAns.js} +1 -1
  100. package/dist/client/assets/channel-Ngk70nQZ.js +1 -0
  101. package/dist/client/assets/{chunk-2E7WHVMD-KGyqhVpO.js → chunk-2E7WHVMD-BfWEXcCj.js} +1 -1
  102. package/dist/client/assets/{chunk-2Q5K7J3B-Dl0BHoqK.js → chunk-2Q5K7J3B-KLXLZXlR.js} +1 -1
  103. package/dist/client/assets/{chunk-4EMNKR2T-Da7vH6Kv.js → chunk-4EMNKR2T-CL5Gttmj.js} +1 -1
  104. package/dist/client/assets/{chunk-55XCU76K-DgBUEROO.js → chunk-55XCU76K-cfAl84Mv.js} +1 -1
  105. package/dist/client/assets/{chunk-5VM5RSS4-BQ4mn-_I.js → chunk-5VM5RSS4-BqUyGgoH.js} +1 -1
  106. package/dist/client/assets/{chunk-JWPE2WC7-8LPR3mXf.js → chunk-JWPE2WC7-BWr2ST9i.js} +1 -1
  107. package/dist/client/assets/{chunk-VQ5W62QI-BkIVXi4W.js → chunk-VQ5W62QI-V5zYx50O.js} +1 -1
  108. package/dist/client/assets/{chunk-XXDRQBXY-DQXJx06h.js → chunk-XXDRQBXY-gnvheN_J.js} +1 -1
  109. package/dist/client/assets/{chunk-ZCHMQSOR-DzCE7qlD.js → chunk-ZCHMQSOR-ClGxxZvV.js} +2 -2
  110. package/dist/client/assets/{classDiagram-v2-4MYWR3UA-C_cZra7c.js → classDiagram-v2-4MYWR3UA-DvmHzDb5.js} +1 -1
  111. package/dist/client/assets/{command-CDKbyppr.js → command-CNx4L11m.js} +1 -1
  112. package/dist/client/assets/{cose-bilkent-JH36ORCC-DlXHdGwT.js → cose-bilkent-JH36ORCC-Df8nXBRj.js} +1 -1
  113. package/dist/client/assets/{cpu-B7xLO7jn.js → cpu-D8KJEkdh.js} +1 -1
  114. package/dist/client/assets/{cynefin-EF2NZ3EQ-HhP4ArLc.js → cynefin-EF2NZ3EQ-CAn6ufHs.js} +1 -1
  115. package/dist/client/assets/{cynefinDiagram-WF24UDRP-D4GgWnZV.js → cynefinDiagram-WF24UDRP-Cep_NrRw.js} +1 -1
  116. package/dist/client/assets/{dagre-NK4GIZVX-SZ_OI2Zi.js → dagre-NK4GIZVX-sWD3z9wf.js} +1 -1
  117. package/dist/client/assets/{diagram-CBK3MWTC-BN-_Ja5m.js → diagram-CBK3MWTC-CUpaBATr.js} +1 -1
  118. package/dist/client/assets/{diagram-I5XIIV2D-t7AK6xnL.js → diagram-I5XIIV2D-BejWB2ry.js} +1 -1
  119. package/dist/client/assets/{diagram-ODIL2UCW-C1V7szSc.js → diagram-ODIL2UCW-BGKJfNk9.js} +1 -1
  120. package/dist/client/assets/{diagram-PFBEJUXE-DPtraQ2g.js → diagram-PFBEJUXE-V0dP8H8k.js} +1 -1
  121. package/dist/client/assets/{diagram-RJA3I4VV-D2XNRB2b.js → diagram-RJA3I4VV-Bf5dVsFX.js} +1 -1
  122. package/dist/client/assets/{diagram-TYUNFSNR-BieaRy38.js → diagram-TYUNFSNR-CLrMSqb4.js} +1 -1
  123. package/dist/client/assets/{ebnfDiagram-V4P3TTPT-Bwki86UY.js → ebnfDiagram-V4P3TTPT-BGG4CWA0.js} +1 -1
  124. package/dist/client/assets/{elk-QONTBCTQ-WEXSAyHB.js → elk-QONTBCTQ-bf9D6f0w.js} +1 -1
  125. package/dist/client/assets/{empty-state-J-UJ0BUU.js → empty-state-CDoXnrKn.js} +1 -1
  126. package/dist/client/assets/{erDiagram-KYQIGQAA-DIKASnoc.js → erDiagram-KYQIGQAA-fEUv-33P.js} +1 -1
  127. package/dist/client/assets/{execution-config-ILQiJAmy.js → execution-config-Ca9MDOtV.js} +1 -1
  128. package/dist/client/assets/{file-D40js1Zx.js → file-CiyVL55_.js} +1 -1
  129. package/dist/client/assets/{file-exclamation-point-Dg3ZpiAe.js → file-exclamation-point-DaFRIKco.js} +1 -1
  130. package/dist/client/assets/{file-text-DgdvRfMk.js → file-text-DsnD-A8g.js} +1 -1
  131. package/dist/client/assets/{find-latest-widget-fence-D4kBWC_1.js → find-latest-widget-fence-CNsnCgbB.js} +1 -1
  132. package/dist/client/assets/{flowDiagram-IUGLLWBU-CoavNw0M.js → flowDiagram-IUGLLWBU-CRbeSDod.js} +1 -1
  133. package/dist/client/assets/{form-DlPwEgQH.js → form-Cru78aT-.js} +1 -1
  134. package/dist/client/assets/{format-cron-BrK8RzgT.js → format-cron-9K38-tn1.js} +1 -1
  135. package/dist/client/assets/{ganttDiagram-R7GPNTJY-DccKAz7f.js → ganttDiagram-R7GPNTJY-Mkk7zgs_.js} +1 -1
  136. package/dist/client/assets/{git-branch-BpxhecMq.js → git-branch-CONwEYiR.js} +1 -1
  137. package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-DEbo_dgQ.js → gitGraphDiagram-PDYL7XHY-Drre0vyA.js} +1 -1
  138. package/dist/client/assets/{graph-DROgI3M3.js → graph-BJlnKWgo.js} +1 -1
  139. package/dist/client/assets/{heart-c7u4Ezxt.js → heart-CqwUlIUG.js} +1 -1
  140. package/dist/client/assets/{highlighted-body-KPVGNVTW-CrATNdTR.js → highlighted-body-KPVGNVTW-e4LXC_pS.js} +1 -1
  141. package/dist/client/assets/{image-lightbox-DE_fHkw-.js → image-lightbox-DHDtzoja.js} +1 -1
  142. package/dist/client/assets/{image-off-BExgZjfM.js → image-off-DZuLkaRJ.js} +1 -1
  143. package/dist/client/assets/{index-D0eJtRlK.js → index-1yEXEZiH.js} +1 -1
  144. package/dist/client/assets/{index-Be0OJLWK.js → index-A41zxoWk.js} +1 -1
  145. package/dist/client/assets/{index-DeRDq7bD.js → index-B25gvCK_.js} +1 -1
  146. package/dist/client/assets/index-B9bZYNKR.js +1 -0
  147. package/dist/client/assets/{index-DaZ1I8s-.js → index-BBmkfbXd.js} +1 -1
  148. package/dist/client/assets/{index-DNGNMW3c.js → index-BDD2EyoW.js} +1 -1
  149. package/dist/client/assets/{index-Ccf1XBTs.js → index-BFNy-Yp3.js} +1 -1
  150. package/dist/client/assets/{index-DksjixUS.js → index-BIB-maE5.js} +1 -1
  151. package/dist/client/assets/{index-CbHCZsbE.js → index-BKp2B9JS.js} +1 -1
  152. package/dist/client/assets/{index-DCJQGDZk.js → index-BLP5O7X9.js} +1 -1
  153. package/dist/client/assets/{index-DhHobJd3.js → index-BTjZIgFn.js} +1 -1
  154. package/dist/client/assets/{index-BVqSmajJ.js → index-BV2Ezdxv.js} +1 -1
  155. package/dist/client/assets/{index-C7B3eSOP.js → index-B_0LYi32.js} +1 -1
  156. package/dist/client/assets/{index-DDgOoXP1.js → index-Bd7vUYhr.js} +1 -1
  157. package/dist/client/assets/{index-BlyoyIck.js → index-Bo7x9IkO.js} +1 -1
  158. package/dist/client/assets/{index-D150FXCC.js → index-BtDxwJsM.js} +1 -1
  159. package/dist/client/assets/{index-DswGXheF.js → index-By58MgcZ.js} +1 -1
  160. package/dist/client/assets/index-C3cvP8Fo.js +1033 -0
  161. package/dist/client/assets/{index-C5or4L_3.js → index-CVuEUzi5.js} +1 -1
  162. package/dist/client/assets/{index-BkoMsjtM.js → index-CoWJD3Jg.js} +2 -2
  163. package/dist/client/assets/{index-CqPRAM_6.js → index-CyVH876g.js} +1 -1
  164. package/dist/client/assets/{index-BGqvci3k.js → index-D67Kfy-M.js} +1 -1
  165. package/dist/client/assets/{index-D3YeRrne.js → index-DAlpmAIA.js} +1 -1
  166. package/dist/client/assets/{index-BEkYBuOq.js → index-DDNwNOHF.js} +1 -1
  167. package/dist/client/assets/{index-CD8aw6Jb.js → index-DL8ISRMH.js} +1 -1
  168. package/dist/client/assets/{index-AzyLwYS_.js → index-DabU6r9W.js} +3 -3
  169. package/dist/client/assets/{index-CT_pFeX_.js → index-DdJBZE0H.js} +1 -1
  170. package/dist/client/assets/{index-B3eeEDWj.js → index-DijWcSDZ.js} +1 -1
  171. package/dist/client/assets/index-DyRGZyur.css +1 -0
  172. package/dist/client/assets/{index-DINk1YfD.js → index-DzwZJuO1.js} +1 -1
  173. package/dist/client/assets/{index-CZmqtJWZ.js → index-HR8BYVRQ.js} +1 -1
  174. package/dist/client/assets/{index-J3Hh1MnL.js → index-LEcodwyW.js} +1 -1
  175. package/dist/client/assets/index-UPF8suf2.js +1 -0
  176. package/dist/client/assets/{index-DT7pv2iW.js → index-Vz7VUm9l.js} +1 -1
  177. package/dist/client/assets/index-YW-v746p.js +1 -0
  178. package/dist/client/assets/{index-2wezsLA_.js → index-cI2u8WZS.js} +1 -1
  179. package/dist/client/assets/{index-InEBtYxw.js → index-iTQUa_b2.js} +6 -6
  180. package/dist/client/assets/{index-CYy1cjtq.js → index-mZqojApH.js} +1 -1
  181. package/dist/client/assets/{index-dyAahqKe.js → index-pVFjKNjX.js} +1 -1
  182. package/dist/client/assets/{index-DxiRRZRo.js → index-skAhJyIF.js} +1 -1
  183. package/dist/client/assets/{index-BizvylBV.js → index-vJy88bwb.js} +1 -1
  184. package/dist/client/assets/index-wY5OcS4a.js +43 -0
  185. package/dist/client/assets/{index-mwf7ZNk2.js → index-x1yAu9zJ.js} +1 -1
  186. package/dist/client/assets/{index-F-vqXYqa.js → index-xAgihCJ7.js} +1 -1
  187. package/dist/client/assets/{index.esm-BFJ9SG0n.js → index.esm-BUPoRUaG.js} +1 -1
  188. package/dist/client/assets/{infoDiagram-MVDRKAX5-VL8q5pKx.js → infoDiagram-MVDRKAX5-B_Wyzufh.js} +1 -1
  189. package/dist/client/assets/{inline-code-BE9ckzPs.js → inline-code-BIzGDx6z.js} +1 -1
  190. package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-BLKkPYF-.js → ishikawaDiagram-HPEHV2GE-BDk2-6Pd.js} +1 -1
  191. package/dist/client/assets/{journeyDiagram-BOSHW7O7-CSYpRobu.js → journeyDiagram-BOSHW7O7-7qf9KWEQ.js} +1 -1
  192. package/dist/client/assets/{kanban-definition-FNSA4HC5-HilAqtZo.js → kanban-definition-FNSA4HC5-CFYDQmXn.js} +1 -1
  193. package/dist/client/assets/{layers-Cm7coqdo.js → layers-C9tVVcXg.js} +1 -1
  194. package/dist/client/assets/{lightbulb-DqdWS75d.js → lightbulb-f4jtsAh0.js} +1 -1
  195. package/dist/client/assets/{link-2-CDJapTSa.js → link-2-ZNlK1BG1.js} +1 -1
  196. package/dist/client/assets/{list-runtime-types-CP82p1u4.js → list-runtime-types-CqO-QFYD.js} +1 -1
  197. package/dist/client/assets/{markdown-content-m_qereFc.js → markdown-content-DaEVxezf.js} +1 -1
  198. package/dist/client/assets/{mention-pill-DV5HIG5Q.js → mention-pill-BiCPflY-.js} +1 -1
  199. package/dist/client/assets/{mermaid.core-zxW6MBr-.js → mermaid.core-SX8SzrsU.js} +4 -4
  200. package/dist/client/assets/{message-square-off-YVtpbaJ0.js → message-square-off-_qbedNGF.js} +1 -1
  201. package/dist/client/assets/{mindmap-definition-6OY57UG3-IAYemvOg.js → mindmap-definition-6OY57UG3-BloJIArH.js} +1 -1
  202. package/dist/client/assets/{more-details-ReA2ZFBn.js → more-details-CdJT0Ehl.js} +1 -1
  203. package/dist/client/assets/{owner-notice-M4hn_1ep.js → owner-notice-BDafFD_I.js} +1 -1
  204. package/dist/client/assets/{package-CUuTl39E.js → package-Cb7lEm7t.js} +1 -1
  205. package/dist/client/assets/{page-container-BnmNikNZ.js → page-container-DsRgIMAL.js} +1 -1
  206. package/dist/client/assets/{paperclip-C6fYq5Zf.js → paperclip-DNu1VtoX.js} +1 -1
  207. package/dist/client/assets/{path-input-DHn9-XaE.js → path-input-D3O71b-X.js} +1 -1
  208. package/dist/client/assets/{pegDiagram-ECIUJNBX-CojaUwe7.js → pegDiagram-ECIUJNBX-Di48kPNu.js} +1 -1
  209. package/dist/client/assets/{pieDiagram-GNMPY74T-CjP3pw6V.js → pieDiagram-GNMPY74T-DY8B_SPD.js} +1 -1
  210. package/dist/client/assets/{plug-DHQcxt7N.js → plug-IIS_cL9-.js} +1 -1
  211. package/dist/client/assets/{primer-trigger-BmV5wjek.js → primer-trigger-DurKYe8C.js} +2 -2
  212. package/dist/client/assets/{profile-errors-BSCuj3rT.js → profile-errors-BdhZfdvZ.js} +1 -1
  213. package/dist/client/assets/{progress-4FQQfnS6.js → progress-g5kkqvlR.js} +1 -1
  214. package/dist/client/assets/{quadrantDiagram-D57K4MC3-OP0Z8zcR.js → quadrantDiagram-D57K4MC3-Depv_dON.js} +1 -1
  215. package/dist/client/assets/{query-error-state-BkUdxenP.js → query-error-state-PuLGD7Jp.js} +1 -1
  216. package/dist/client/assets/{radio-ta5Bw763.js → radio-QOLZSBz1.js} +1 -1
  217. package/dist/client/assets/{railroadDiagram-Y72NRBL7-CT3NCb9b.js → railroadDiagram-Y72NRBL7-BfD2AiZM.js} +1 -1
  218. package/dist/client/assets/registry-Ck8p6n1T.js +1 -0
  219. package/dist/client/assets/{relay-trace-schemas-DwUuyxao.js → relay-trace-schemas-DF_DfZ7s.js} +1 -1
  220. package/dist/client/assets/{requirementDiagram-EQYSW5RA-tde4lYGp.js → requirementDiagram-EQYSW5RA-B1iTjrkD.js} +1 -1
  221. package/dist/client/assets/{room-files-source-CZWhaaOy.js → room-files-source-g1th8mWs.js} +2 -2
  222. package/dist/client/assets/{rotate-ccw-clock-RfbbgUa4.js → rotate-ccw-clock-BGwYMaGL.js} +1 -1
  223. package/dist/client/assets/{rotate-cw-B3rB_YSw.js → rotate-cw-B4Y0q4GY.js} +1 -1
  224. package/dist/client/assets/{sankeyDiagram-SY24JHO5-sdCzIA7-.js → sankeyDiagram-SY24JHO5-D5TzVJrQ.js} +1 -1
  225. package/dist/client/assets/{scroll-area-B4WB7Q40.js → scroll-area-BvScZKSa.js} +1 -1
  226. package/dist/client/assets/{search-x-DCUmWW2_.js → search-x-CqN5twBj.js} +1 -1
  227. package/dist/client/assets/{sequenceDiagram-BLEHNHQU-DvzTJcKu.js → sequenceDiagram-BLEHNHQU-BhUahaNf.js} +1 -1
  228. package/dist/client/assets/{shield-x-CANziVLc.js → shield-x-DHJrwtKp.js} +1 -1
  229. package/dist/client/assets/signed-in-BmywDpR5.js +1 -0
  230. package/dist/client/assets/{sizeCapture-INFHLROL-DuDA7TKE.js → sizeCapture-INFHLROL-D2Vi1Kq9.js} +1 -1
  231. package/dist/client/assets/{soul-file-Co_8f1qw.js → soul-file-BMpVFN7U.js} +1 -1
  232. package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-BJPX5JTC.js → stateDiagram-v2-A6IESKWZ-b9gSbZnF.js} +1 -1
  233. package/dist/client/assets/{swimlanes-B3ENRKFQ-CiLSffGv.js → swimlanes-B3ENRKFQ-i47jxLY6.js} +1 -1
  234. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-CA9gW19w.js +8 -0
  235. package/dist/client/assets/{table-BSAvOYPp.js → table-CN2HCi4p.js} +1 -1
  236. package/dist/client/assets/{terminal-6CdY-T1V.js → terminal-BORQniao.js} +1 -1
  237. package/dist/client/assets/{timeline-definition-JXYKGLGB-5oq8sl82.js → timeline-definition-JXYKGLGB-eY5gj0js.js} +1 -1
  238. package/dist/client/assets/{trust-posture-D-Yjm6ot.js → trust-posture-Bcyy5Fub.js} +1 -1
  239. package/dist/client/assets/{unplug-Bq_1WdV7.js → unplug-lkD35Rwp.js} +1 -1
  240. package/dist/client/assets/{unverified-catalog-notice-CEzu54YH.js → unverified-catalog-notice-DiCIrrhU.js} +1 -1
  241. package/dist/client/assets/{use-adapter-catalog-Tn3ZbPAj.js → use-adapter-catalog-BrqVd-47.js} +1 -1
  242. package/dist/client/assets/{use-bindings-Bz9YRgO7.js → use-bindings-CU2RSXOy.js} +1 -1
  243. package/dist/client/assets/{use-composer-prefs-D9oKJSQN.js → use-composer-prefs-Dy2oTM8Y.js} +1 -1
  244. package/dist/client/assets/{use-connector-management-CLYFraXN.js → use-connector-management-5oRqzydY.js} +1 -1
  245. package/dist/client/assets/{use-deep-link-scroll-DkS713kG.js → use-deep-link-scroll-Bg5nW8qq.js} +1 -1
  246. package/dist/client/assets/{use-delete-binding-CukKpHBK.js → use-delete-binding-qeyRkvR1.js} +1 -1
  247. package/dist/client/assets/{use-dev-links-DQ32IcGe.js → use-dev-links-FY4J_PjA.js} +1 -1
  248. package/dist/client/assets/{use-external-adapter-catalog-D-FO_XW6.js → use-external-adapter-catalog-HiWFZZrW.js} +1 -1
  249. package/dist/client/assets/{use-full-activity-feed-BNxcyb1j.js → use-full-activity-feed-K1uk9Wya.js} +1 -1
  250. package/dist/client/assets/use-is-below-desktop-Cu_jKnft.js +1 -0
  251. package/dist/client/assets/use-is-hub-BX7ypNRJ.js +1 -0
  252. package/dist/client/assets/{use-jump-back-in-Bibj5tVk.js → use-jump-back-in-BjZ8EswV.js} +1 -1
  253. package/dist/client/assets/{use-local-browser-xg7WXAVK.js → use-local-browser-CTFiF0wf.js} +1 -1
  254. package/dist/client/assets/{use-mesh-topology-BgCSFw8s.js → use-mesh-topology-CafidaIH.js} +1 -1
  255. package/dist/client/assets/{use-mounted-ref-qRbdZfOU.js → use-mounted-ref-B38uSLCx.js} +1 -1
  256. package/dist/client/assets/{use-notification-prefs-B-4kZR7I.js → use-notification-prefs-m9XSNB6W.js} +1 -1
  257. package/dist/client/assets/{use-panel-tab-placements-CCq-mZlY.js → use-panel-tab-placements-D9n6rNJ1.js} +1 -1
  258. package/dist/client/assets/use-pending-read-BoV-UI1E.js +1 -0
  259. package/dist/client/assets/{use-personality-commit-DwSisUfF.js → use-personality-commit-ChLQfLrK.js} +1 -1
  260. package/dist/client/assets/{use-promo-activation-Botoso6l.js → use-promo-activation-DbJDgp4_.js} +1 -1
  261. package/dist/client/assets/{use-promo-dismissals-RJXp-r_J.js → use-promo-dismissals-Csw0j0N0.js} +1 -1
  262. package/dist/client/assets/{use-pulse-freshness-B3390hGg.js → use-pulse-freshness-BIZ7daHW.js} +1 -1
  263. package/dist/client/assets/{use-relay-config-BV0xcLwS.js → use-relay-config-hUB3lVFv.js} +1 -1
  264. package/dist/client/assets/{use-room-follow-claim-Du4hKHIJ.js → use-room-follow-claim-BpKzhniV.js} +1 -1
  265. package/dist/client/assets/{use-roving-tab-list-g2hO6Ruz.js → use-roving-tab-list-BtM0bZL7.js} +1 -1
  266. package/dist/client/assets/{use-session-canvas-i30oMO_Q.js → use-session-canvas-DRrkNRcL.js} +3 -3
  267. package/dist/client/assets/use-session-diagnostics-BTNgouum.js +16 -0
  268. package/dist/client/assets/{use-unclaimed-chats-B92om889.js → use-unclaimed-chats-BbMZtNG9.js} +1 -1
  269. package/dist/client/assets/use-update-config-CkWwKNkY.js +1 -0
  270. package/dist/client/assets/{useMutationState-DdOGdpjP.js → useMutationState-CVpvw27W.js} +1 -1
  271. package/dist/client/assets/{usecaseDiagram-WPOLBNNX-Di5pJvcw.js → usecaseDiagram-WPOLBNNX-CHcpeLg4.js} +1 -1
  272. package/dist/client/assets/{vennDiagram-Q3Y3IDCW-K7KAf26T.js → vennDiagram-Q3Y3IDCW-gQbZL_A6.js} +1 -1
  273. package/dist/client/assets/{wardleyDiagram-IVAIDKWA-DVTaxQt9.js → wardleyDiagram-IVAIDKWA-BFH_WHzZ.js} +1 -1
  274. package/dist/client/assets/{xychartDiagram-4URNHDU4-x-lSJm_B.js → xychartDiagram-4URNHDU4-B0QpyqeZ.js} +1 -1
  275. package/dist/client/index.html +2 -2
  276. package/dist/drizzle/20261019185620_dor3037_wifi_holds.sql +8 -0
  277. package/dist/drizzle/meta/20261019185620_snapshot.json +14079 -0
  278. package/dist/drizzle/meta/_journal.json +7 -0
  279. package/dist/server/extension-child.cjs +18 -2
  280. package/dist/server/index.js +55523 -26605
  281. package/dist/server/index.js.map +2 -2
  282. package/package.json +6 -6
  283. package/dist/client/assets/ApplyToOverridesDialog-CoO6V1G4.js +0 -1
  284. package/dist/client/assets/HandlePage-Cg8H3mQS.js +0 -1
  285. package/dist/client/assets/NamePage-Bx8T98OF.js +0 -1
  286. package/dist/client/assets/PermissionHistory-DzU1rf2B.js +0 -1
  287. package/dist/client/assets/PhotoPage-CmrOIRjf.js +0 -1
  288. package/dist/client/assets/SeenDevices-SPWkdzoK.js +0 -19
  289. package/dist/client/assets/SettingsDialog-_dEXUhHe.js +0 -12
  290. package/dist/client/assets/ToolsPage-Idimrn3o.js +0 -2
  291. package/dist/client/assets/_shell-ClVN2pUj.js +0 -80
  292. package/dist/client/assets/_shell.marketplace-CiL6YRbl.js +0 -1
  293. package/dist/client/assets/_shell.marketplace_.sources-C0sI8e21.js +0 -1
  294. package/dist/client/assets/_shell.session-_hhBvFc6.js +0 -63
  295. package/dist/client/assets/_shell.x._extensionId-BWy5v1YE.js +0 -1
  296. package/dist/client/assets/_shell.x._extensionId_._-BWy5v1YE.js +0 -1
  297. package/dist/client/assets/channel-DjBlTcCV.js +0 -1
  298. package/dist/client/assets/index-7jby-RRg.js +0 -1
  299. package/dist/client/assets/index-BqIHtiaE.js +0 -1
  300. package/dist/client/assets/index-Cga0qx1T.js +0 -1033
  301. package/dist/client/assets/index-Ct4At33X.js +0 -1
  302. package/dist/client/assets/index-DITPwUa9.js +0 -38
  303. package/dist/client/assets/index-DUZrTFYD.css +0 -1
  304. package/dist/client/assets/registry-Dc102rws.js +0 -1
  305. package/dist/client/assets/signed-in-DctJ2IWe.js +0 -1
  306. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-Dv1-QS9J.js +0 -8
  307. package/dist/client/assets/use-is-below-desktop-gTvJDvw4.js +0 -1
  308. package/dist/client/assets/use-is-hub-B1vPpkYU.js +0 -1
  309. package/dist/client/assets/use-pending-read-C8L_v4Zw.js +0 -1
  310. package/dist/client/assets/use-session-diagnostics-a4b83F5J.js +0 -16
  311. package/dist/client/assets/use-update-config-Tbn3SodN.js +0 -1
@@ -1,2 +0,0 @@
1
- import{a1 as G,a2 as _e,a4 as te,a3 as ge,e0 as Le,r as o,j as n,be as L,bf as $,B as f,h5 as $e,f as pe,hR as fe,gD as ce,e1 as F,I as Q,dW as Ke,dX as Ue,dY as Ve,dZ as Be,d_ as qe,hm as le,c9 as Ye,ft as He,C as J,G as de,V as se,cO as xe,cP as je,_ as Qe,cQ as Ne,ca as D,e3 as We,hS as ue,x as ee,g3 as Ge,g4 as Ze,g5 as Xe,g6 as Je,g7 as X,g9 as en,$ as nn,hT as tn,y as sn,e as ne,f9 as an,b as rn}from"./index-Cga0qx1T.js";import"./relay-trace-schemas-DwUuyxao.js";import{u as ve,M as Se}from"./McpSigninBody-BDyGbJ7I.js";import{R as on}from"./rotate-cw-B3rB_YSw.js";import"./form-DlPwEgQH.js";function cn(e,t){const s=G();return _e({queryKey:["mcp-config",e,t??null],queryFn:()=>s.getMcpConfig(e,{runtime:t??void 0}),enabled:!!e,staleTime:3e4})}function be(e,t){e.invalidateQueries({queryKey:Le.mcpServers(t)}),e.invalidateQueries({queryKey:["mcp-config"]})}function ye(e){const t=G(),s=ge();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"&&be(s,r.agentId)}})}function ln(){return ye((e,t,s)=>e.addAgentMcpServer(t,s?{approvalToken:s}:void 0))}function dn(){return ye((e,t,s)=>e.importAgentMcpServer(t,s?{approvalToken:s}:void 0))}function ae(e){const t=G(),s=ge();return te({mutationFn:({agentId:i,name:r})=>e(t,i,r),onSuccess:(i,{agentId:r})=>be(s,r)})}function un(){return ae((e,t,s)=>e.removeAgentMcpServer(t,s))}function mn(){return ae((e,t,s)=>e.enableAgentMcpServer(t,s))}function hn(){return ae((e,t,s)=>e.disableAgentMcpServer(t,s))}function gn(){const e=G();return te({mutationFn:({agentId:t,name:s})=>e.testAgentMcpServer(t,s)})}function pn({agentId:e,serverName:t,onDone:s}){const i=ve(e,t),{start:r}=i,a=o.useRef(!1);return o.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(Se,{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 fn=["stdio","http","sse"],xn=/^[a-zA-Z0-9_-]+$/;function me(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 he(e){return e.trim().length?e.trim().split(/\s+/):[]}function jn(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 Nn({agentId:e,agentLabel:t,supportedTransports:s,onAdded:i,oauthDetectedFor:r=null}){const a=ln(),[l,g]=o.useState(!1),[m,S]=o.useState(""),[p,h]=o.useState(s[0]??"stdio"),c=s.includes(p)?p:s[0]??"stdio",[b,C]=o.useState(""),[N,k]=o.useState(""),[x,z]=o.useState(""),[y,M]=o.useState(""),[R,A]=o.useState(""),[O,P]=o.useState(null),[w,I]=o.useState(null),[K,V]=o.useState(!1),U=o.useCallback(d=>{const v=$e(d);V(v!==null),I(v??(d instanceof Error?d.message:"Couldn’t add the server."))},[]),[B,u]=o.useState(null),[j,T]=o.useState(null),E=xn.test(m)&&m.length<=64,Ee=c==="stdio"?b.trim().length>0:y.trim().length>0,ze=E&&Ee&&!a.isPending,ie=o.useCallback(()=>c==="stdio"?{transport:"stdio",command:b.trim(),args:he(N),env:me(x)}:{transport:c,url:y.trim(),headers:me(R)},[c,b,N,x,y,R]),q=o.useCallback(()=>({agentId:e,name:m.trim(),connection:ie()}),[e,m,ie]),Z=o.useCallback(()=>{g(!1),P(null),I(null),S(""),h(s[0]??"stdio"),C(""),k(""),z(""),M(""),A("")},[s]),oe=o.useCallback(d=>{i({name:d.name,transport:d.connection.transport}),Z()},[i,Z]),Y=o.useCallback((d,v)=>{const De=jn(d,v.name);oe(v),De&&u(v.name)},[oe]),Re=o.useCallback(async()=>{I(null);const d=q();try{const v=await a.mutateAsync({input:d});v.status==="approval_required"?P(v.approval):Y(v,d)}catch(v){U(v)}},[a,q,Y,U]),Pe=o.useCallback(async()=>{if(!O)return;I(null);const d=q();try{const v=await a.mutateAsync({input:d,approval:O});v.status==="ok"?Y(v,d):(V(!1),I("The server still needs approval. Try again."))}catch(v){U(v)}},[a,q,O,Y,U]),H=B??(r&&r!==j?r:null),Ie=o.useCallback(()=>{T(H),u(null)},[H]),Fe=o.useMemo(()=>[b.trim(),...he(N)].filter(Boolean).join(" "),[b,N]);return H?n.jsx(pn,{agentId:e,serverName:H,onDone:Ie}):l?O?n.jsx(L,{children:n.jsxs($,{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(fe,{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:c==="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:c==="stdio"?Fe:y.trim()}),w&&(K?n.jsx(ce,{tone:"info",role:"status",className:"text-xs",children:w}):n.jsx("p",{className:"text-destructive text-xs",children:w})),n.jsxs("div",{className:"flex justify-end gap-2",children:[n.jsx(f,{variant:"ghost",size:"sm",onClick:()=>P(null),disabled:a.isPending,className:"focus-visible:ring-2",children:"Back"}),n.jsx(f,{size:"sm",onClick:Pe,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(Q,{id:"mcp-name",value:m,onChange:d=>S(d.target.value),placeholder:"my-server","aria-invalid":m.length>0&&!E}),m.length>0&&!E&&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(Ke,{value:c,onValueChange:d=>h(d),children:[n.jsx(Ue,{id:"mcp-transport",className:"w-full",children:n.jsx(Ve,{})}),n.jsx(Be,{children:s.map(d=>n.jsx(qe,{value:d,children:d},d))})]})]}),c==="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(Q,{id:"mcp-command",value:b,onChange:d=>C(d.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(Q,{id:"mcp-args",value:N,onChange:d=>k(d.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(le,{id:"mcp-env",value:x,onChange:d=>z(d.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(Q,{id:"mcp-url",value:y,onChange:d=>M(d.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(le,{id:"mcp-headers",value:R,onChange:d=>A(d.target.value),placeholder:"Authorization=Bearer …",rows:2,className:"font-mono text-xs"})]})]}),w&&(K?n.jsx(ce,{tone:"info",role:"status",className:"text-xs",children:w}):n.jsx("p",{className:"text-destructive text-xs",children:w})),n.jsx(Ye,{}),n.jsxs("div",{className:"flex justify-end gap-2",children:[n.jsx(f,{variant:"ghost",size:"sm",onClick:Z,className:"focus-visible:ring-2",children:"Cancel"}),n.jsx(f,{size:"sm",onClick:Re,disabled:!ze,className:"focus-visible:ring-2",children:"Continue"})]})]})}):n.jsxs(f,{variant:"outline",size:"sm",onClick:()=>g(!0),className:"focus-visible:ring-2",children:[n.jsx(pe,{className:"size-4"}),"Add server"]})}const vn={connected:"connected","needs-auth":"needs-sign-in",pending:"connecting",disabled:"off"},Sn=["validation","invalid config","invalid configuration","missing required","command not found","enoent"];function re(e){if(!e)return"cant-reach";const t=e.toLowerCase();return Sn.some(s=>t.includes(s))?"setup-problem":"cant-reach"}function Ce(e){return e.transport==="stdio"||e.authKind==="oauth2"?!1:Object.keys(e.headers).some(t=>t.toLowerCase()==="authorization")}function bn(e){const{connection:t,authStatus:s}=e;return t.transport!=="stdio"&&t.authKind==="oauth2"?!0:s!==void 0}function we(e){const{enabled:t,testedOk:s,signedInNow:i,runtimeStatus:r,runtimeError:a,authStatus:l,ownKey:g}=e;return t?s?"connected":i?"signed-in":r==="failed"?re(a):l==="connected"&&r==="needs-auth"?"signed-in":l==="needs-auth"&&(r==="connected"||r==="pending")?"needs-sign-in":r?vn[r]:l==="connected"?"signed-in":l==="needs-auth"?"needs-sign-in":g?"uses-your-key":"not-checked":"off"}function yn(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 Cn(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 wn(e){const{status:t,probe:s}=e;return t==="off"||!s||s.ok?t:s.needsAuth===!0?"needs-sign-in":re(s.error)}const W={attention:0,working:1,elsewhere:2,off:3};function kn(e){return e==="off"?W.off:e==="needs-sign-in"||e==="cant-reach"||e==="setup-problem"?W.attention:W.working}function An(e){const{managed:t,live:s,discovered:i}=e;return[...t.map(a=>{var l,g;return{name:a.name,band:kn(we({enabled:a.enabled,testedOk:!1,signedInNow:!1,runtimeStatus:(l=s.get(a.name))==null?void 0:l.status,runtimeError:(g=s.get(a.name))==null?void 0:g.error,authStatus:a.authStatus,ownKey:Ce(a.connection)}))}}),...i.map(a=>({name:a.name,band:W.elsewhere}))].map((a,l)=>({entry:a,index:l})).sort((a,l)=>a.entry.band-l.entry.band||a.index-l.index).map(({entry:a})=>a.name)}function Tn(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 Mn(){const e=He(null);return({bothSettled:t,managed:s,live:i,discovered:r,present:a})=>{e.read()===null&&t&&a.length>0&&e.write(An({managed:s,live:i,discovered:r}));const{ordered:l,added:g}=Tn({frozen:e.read()??[],present:a});return g.length>0&&e.read()!==null&&e.write([...l,...g]),[...l,...g]}}const ke={"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"}},On={"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 En(e){return On[e]}function zn({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 Rn(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 zn(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 Pn(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 In(e){if(e.transport==="stdio")return`Runs \`${e.command}\` on this computer`;const t=Fn(e.url);return t?`${t} (web service)`:`${e.url} (web service)`}function Fn(e){try{return new URL(e).host}catch{return null}}const Dn={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"},_n={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."},Ln=[{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 Ae(e){for(const t of Ln){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 $n(e,t){return t.pluginName?"plugin":e.scope==="project"||e.scope==="local"?"project":e.scope==="user"?"computer":null}const Kn="Loaded from outside DorkOS. Add it to manage it here.";function Te(e,t){return e==="plugin"&&t?`Comes with the ${t} plugin`:Dn[e]}function Un(e,t){return e===null?Kn:e==="plugin"&&t?`Comes with the ${t} plugin. Add it to manage it here.`:_n[e]}const Vn=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}}),Bn=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"}}),qn=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"}}),Yn={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 Hn({status:e}){const t=ke[e];return n.jsxs(xe,{children:[n.jsx(je,{asChild:!0,children:n.jsx("span",{className:qn({chip:Yn[e]}),children:t.label})}),n.jsx(Ne,{children:t.tooltip})]})}function Qn({scope:e,pluginName:t}){return n.jsxs(xe,{children:[n.jsx(je,{asChild:!0,children:n.jsx(Qe,{size:"xs",tone:"neutral",variant:"secondary",className:"shrink-0 font-normal",children:e})}),n.jsx(Ne,{children:Te(e,t)})]})}function Me({displayName:e,rawName:t,scope:s,pluginName:i,status:r,sentence:a,managed:l,toggle:g,actions:m,children:S,details:p,defaultDetailsOpen:h=!1}){const[c,b]=o.useState(h),C=o.useId(),N=ke[r].tone;return n.jsxs("div",{"data-mcp-server":t,className:de(Vn({managed:l,dimmed:r==="off"}),"mb-2 last:mb-0"),children:[n.jsx("span",{className:Bn({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(Qn,{scope:s,pluginName:i}),n.jsx(Hn,{status:r}),g]}),a&&n.jsx("p",{className:"text-muted-foreground mt-1 text-xs leading-relaxed",children:a}),S,m&&n.jsx("div",{className:"mt-2 flex items-center gap-1",children:m}),p&&n.jsxs(n.Fragment,{children:[n.jsxs("button",{type:"button",onClick:()=>b(k=>!k),"aria-expanded":c,"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:de("size-3 transition-transform",c&&"rotate-90"),"aria-hidden":!0}),"Details"]}),c&&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 Wn=3,_="text-muted-foreground/70";function Gn({tools:e}){const[t,s]=o.useState(!1),i=t?e:e.slice(0,Wn),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 Zn(e){const{scope:t,pluginName:s,connection:i}=e;return t==="plugin"&&s?`Comes with the ${s} plugin`:i?In(i):t?Te(t,s):null}function Oe({connection:e,authStatus:t,authClientOrigin:s,scope:i,pluginName:r,rawName:a,displayName:l,toolCount:g,tools:m,serverInfo:S,alsoUsedBy:p,error:h}){const c=Zn({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(We,{className:"mt-0.5 size-3 shrink-0","aria-hidden":!0}),Pn({connection:e,authStatus:t,clientOrigin:s})]})}),c&&n.jsx(D,{label:"Source",align:"start",wrap:!0,labelClassName:_,children:c}),a!==l&&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 g=="number"&&n.jsx(D,{label:"Tools",align:"start",labelClassName:_,children:g}),m&&m.length>0&&n.jsx(Gn,{tools:m}),h&&n.jsx(D,{label:"Error",align:"start",wrap:!0,labelClassName:_,children:n.jsx("code",{className:"text-2xs font-mono break-all",children:h})})]})}function Xn({flow:e,serverName:t}){return n.jsxs(n.Fragment,{children:[n.jsx(Se,{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 Jn({server:e,agentId:t,live:s,testResult:i,rosterUpdatedAt:r,testing:a,busy:l,onToggle:g,onTest:m,onRemove:S}){const p=ve(t,e.name),h=p.state.step==="connected",c=Cn({stamped:i,signedInNow:h,authStatus:e.authStatus,rosterUpdatedAt:r}),b=Ce(e.connection),C=we({enabled:e.enabled,testedOk:(c==null?void 0:c.ok)===!0,signedInNow:h,runtimeStatus:s==null?void 0:s.status,runtimeError:s==null?void 0:s.error,authStatus:e.authStatus,ownKey:b}),N=p.state.step==="starting",k=p.state.step==="disclosure"||p.state.step==="waiting"||N,x=k?"signing-in":C,z=yn({statusKey:C,testResult:c,signedInNow:h})&&(p.state.step==="idle"||N),y=Ae(e.name),M=c!=null&&c.ok?c.toolCount??null:p.state.toolCount,R=k?x:wn({status:x,probe:c}),A=Rn(R,{displayName:y.displayName,toolCount:M,justSignedIn:h}),O=k?"none":En(R),P=bn({connection:e.connection,authStatus:e.authStatus});return n.jsx(Me,{displayName:y.displayName,rawName:e.name,scope:"agent",pluginName:y.pluginName,status:x,sentence:A,managed:!0,toggle:n.jsx(nn,{checked:e.enabled,onCheckedChange:w=>g(e.name,w),disabled:l,"aria-label":`Enable ${e.name}`}),actions:n.jsxs(n.Fragment,{children:[z&&n.jsxs(f,{variant:"default",size:"sm",onClick:()=>p.start(),disabled:l||N,"aria-label":`Sign in to ${e.name}`,className:"gap-1.5 focus-visible:ring-2",children:[n.jsx(ue,{className:"size-3.5","aria-hidden":!0}),"Sign in"]}),!z&&O==="try-again"&&n.jsxs(f,{variant:"outline",size:"sm",onClick:()=>m(e.name),disabled:a||l,"aria-label":`Try ${e.name} again`,className:"gap-1.5 focus-visible:ring-2",children:[a?n.jsx(ee,{size:"xs"}):null,"Try again"]}),!z&&O==="test"&&n.jsx(f,{variant:"outline",size:"sm",onClick:()=>m(e.name),disabled:a||l,className:"focus-visible:ring-2",children:a?n.jsx(ee,{size:"xs"}):"Test"}),n.jsxs(Ge,{children:[n.jsx(Ze,{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(Xe,{className:"size-4","aria-hidden":!0})})}),n.jsxs(Je,{align:"end",children:[n.jsxs(X,{onSelect:()=>m(e.name),disabled:a||l,children:[n.jsx(on,{className:"size-3.5","aria-hidden":!0}),"Test"]}),P&&n.jsxs(X,{onSelect:()=>p.start(),disabled:l,children:[n.jsx(ue,{className:"size-3.5","aria-hidden":!0}),"Sign in again"]}),n.jsx(en,{}),n.jsx(X,{variant:"destructive",onSelect:()=>S(e.name),disabled:l,children:"Remove"})]})]})]}),details:n.jsx(Oe,{connection:e.connection,authStatus:e.authStatus,authClientOrigin:e.authClientOrigin,scope:"agent",pluginName:y.pluginName,rawName:y.rawName,displayName:y.displayName,toolCount:M,error:(c==null?void 0:c.ok)===!1?c.error:s==null?void 0:s.error}),children:n.jsx(Xn,{flow:p,serverName:y.displayName})})}function et(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 nt(e){const{displayName:t,scope:s,pluginName:i}=e,r=tt(s,i);return`${t} ${r}. Manage it here to enable, disable, or sign in from DorkOS.`}function tt(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 st({entry:e,agentId:t,agentLabel:s,canImport:i}){const r=dn(),[a,l]=o.useState(null),[g,m]=o.useState(null),S=o.useCallback(async()=>{m(null);try{const x=await r.mutateAsync({input:{agentId:t,name:e.name}});x.status==="approval_required"&&l(x.approval)}catch(x){m(x instanceof Error?x.message:"Couldn’t add the server.")}},[r,t,e.name]),p=o.useCallback(async()=>{if(a){m(null);try{(await r.mutateAsync({input:{agentId:t,name:e.name},approval:a})).status!=="ok"&&m("Adding it still needs approval. Try again.")}catch(x){m(x instanceof Error?x.message:"Couldn’t add the server.")}}},[r,t,e.name,a]),h=Ae(e.name),c=$n(e,h),b=c!==null,C=h.rawName!==h.displayName,N=e.error!==void 0,k=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(fe,{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 “",h.displayName,"” to ",s,"?"]}),n.jsx("p",{className:"text-muted-foreground text-xs leading-relaxed",children:nt({displayName:h.displayName,scope:c,pluginName:h.pluginName})})]})]}),g&&n.jsx("p",{className:"text-destructive text-xs",children:g}),n.jsxs("div",{className:"flex justify-end gap-2",children:[n.jsx(f,{variant:"ghost",size:"sm",onClick:()=>l(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(Me,{displayName:h.displayName,rawName:e.name,scope:c,pluginName:h.pluginName,status:et(e),sentence:Un(c,h.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(pe,{className:"size-(--size-icon-xs)","aria-hidden":!0}),"Add to agent"]}),g&&n.jsx("p",{className:"text-destructive text-xs",children:g})]}):void 0,details:k?n.jsx(Oe,{scope:c,pluginName:h.pluginName,rawName:h.rawName,displayName:h.displayName,error:e.error}):void 0})}const at={codex:["stdio","http"],opencode:["stdio","http"]};function rt(e){return at[e]??fn}function it(){const{open:e}=an();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 ot({agent:e,projectPath:t}){var B;const s=tn(e.id),i=cn(t,e.runtime),r=i.data,a=sn(e.runtime),l=(a==null?void 0:a.supportsManagedMcpServers)??!0,g=mn(),m=hn(),S=un(),p=gn(),[h,c]=o.useState({}),[b,C]=o.useState(null),[N,k]=o.useState(null),x=Mn(),z=o.useCallback((u,j)=>{(j?g:m).mutate({agentId:e.id,name:u})},[e.id,g,m]),y=o.useCallback(u=>{S.mutate({agentId:e.id,name:u}),c(j=>{const T={...j};return delete T[u],T})},[e.id,S]),M=o.useCallback(async u=>{C(u);try{const j=await p.mutateAsync({agentId:e.id,name:u});c(T=>({...T,[u]:{result:j,at:Date.now()}}))}finally{C(null)}},[e.id,p]),R=o.useCallback(({name:u,transport:j})=>{k(u),j!=="stdio"&&M(u).catch(()=>{})},[M]),A=s.data??[],O=new Set(A.map(u=>u.name)),P=new Map(((r==null?void 0:r.servers)??[]).map(u=>[u.name,u])),w=((r==null?void 0:r.servers)??[]).filter(u=>!O.has(u.name)),I=g.isPending||m.isPending||S.isPending,K=new Map;A.forEach((u,j)=>K.set(u.name,{kind:"managed",index:j})),w.forEach((u,j)=>K.set(u.name,{kind:"discovered",index:j}));const V=x({bothSettled:!s.isPending&&!i.isPending,managed:A,live:P,discovered:w,present:[...A.map(u=>u.name),...w.map(u=>u.name)]});function U(u){const j=K.get(u);if(!j)return null;if(j.kind==="managed"){const E=A[j.index];return n.jsx(Jn,{server:E,agentId:e.id,live:P.get(E.name),testResult:h[E.name],rosterUpdatedAt:s.dataUpdatedAt,testing:b===E.name,busy:I,onToggle:z,onTest:M,onRemove:y},E.name)}const T=w[j.index];return n.jsx(st,{entry:T,agentId:e.id,agentLabel:e.displayName??e.name,canImport:l},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"}),l&&n.jsx(Nn,{agentId:e.id,agentLabel:e.displayName??e.name,supportedTransports:rt(e.runtime),onAdded:R,oauthDetectedFor:N&&((B=h[N])==null?void 0:B.result.needsAuth)===!0?N:null})]}),n.jsx(it,{}),!l&&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"})]})}):V.length===0?n.jsx(L,{children:n.jsx($,{children:n.jsxs("p",{className:"text-muted-foreground text-sm",children:["No MCP servers yet."," ",l?"Add one for more tools.":"This agent can’t use them yet."]})})}):n.jsx(L,{children:n.jsx($,{children:V.map(U)})})]})}function ht({member:e}){const{agent:t,projectPath:s,isPending:i}=rn(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(ot,{agent:t,projectPath:s})}export{ht as ToolsPage};