dorkos 0.123.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 (316) hide show
  1. package/dist/bin/cli.js +775 -308
  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-BmtoPqP9.js → AboutPage-BH8Ndn3e.js} +1 -1
  5. package/dist/client/assets/{ActivityErrorState-CEzdFJiR.js → ActivityErrorState-K5Mew9EX.js} +1 -1
  6. package/dist/client/assets/{ActivityPage-mFYgTr3e.js → ActivityPage-BB20L5HU.js} +1 -1
  7. package/dist/client/assets/{ActivityRow-Bkc0kkim.js → ActivityRow-C5O7rnmS.js} +1 -1
  8. package/dist/client/assets/{AdapterIcon-DVgTrgnM.js → AdapterIcon-Bmybvrzb.js} +1 -1
  9. package/dist/client/assets/{AdapterSetupWizard-I03EluU5.js → AdapterSetupWizard-CkdV7Hhh.js} +2 -2
  10. package/dist/client/assets/{AgentOptionRow-DI1TzLaR.js → AgentOptionRow-BA2cDa7r.js} +1 -1
  11. package/dist/client/assets/{AgentPicker-CBYeBzjf.js → AgentPicker-CsIIPGZJ.js} +1 -1
  12. package/dist/client/assets/{AgentRequestCard-DQ6GYoeE.js → AgentRequestCard-0fOxvaoe.js} +3 -3
  13. package/dist/client/assets/{AppearancePage-62xIPNPn.js → AppearancePage-XOjkkoli.js} +1 -1
  14. package/dist/client/assets/{ApplyToOverridesDialog-CrqkeHQb.js → ApplyToOverridesDialog-CoO6V1G4.js} +1 -1
  15. package/dist/client/assets/{AttentionSignalRow-Coe5pYX6.js → AttentionSignalRow-CjjZobp7.js} +1 -1
  16. package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-D07cg75s.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-9TVHyRPJ.js} +1 -1
  17. package/dist/client/assets/{BindingDialog-DVyxVXZM.js → BindingDialog-DLoAQauL.js} +1 -1
  18. package/dist/client/assets/{BlintzCanvas-BmfkiUQJ.js → BlintzCanvas-CYHsXAcY.js} +3 -3
  19. package/dist/client/assets/{CanvasCsvContent-CRTr-AI7.js → CanvasCsvContent--Gr7Fe_U.js} +1 -1
  20. package/dist/client/assets/{CanvasFileContent-rOmY1s3T.js → CanvasFileContent-estXyAbr.js} +2 -2
  21. package/dist/client/assets/{CanvasModel3dContent-D7oRT6ey.js → CanvasModel3dContent-CkOo930M.js} +2 -2
  22. package/dist/client/assets/{ChatAppsOff-BmuOTq83.js → ChatAppsOff-D4L1zJVN.js} +1 -1
  23. package/dist/client/assets/{CodeMirrorDiff-DidSWwYJ.js → CodeMirrorDiff-DY_6ju-z.js} +1 -1
  24. package/dist/client/assets/{CodeMirrorEditor-BUAWGbRo.js → CodeMirrorEditor-BUoDBsBv.js} +1 -1
  25. package/dist/client/assets/{CommitmentList-uK4CKaz0.js → CommitmentList-wDkcVP9c.js} +1 -1
  26. package/dist/client/assets/{CommitmentsPage-BWITH1r2.js → CommitmentsPage-CzSM6b8R.js} +1 -1
  27. package/dist/client/assets/{ComputerResourceView-adgF_EZU.js → ComputerResourceView-cERD9H2L.js} +1 -1
  28. package/dist/client/assets/{ComputerViewer-D87LhxwL.js → ComputerViewer-rMcfbk2_.js} +1 -1
  29. package/dist/client/assets/{ConnectionAccessLists-BFEFqcSZ.js → ConnectionAccessLists-f7QeQbQo.js} +1 -1
  30. package/dist/client/assets/{ConnectionsPage-Cd_cLoSY.js → ConnectionsPage-BmjtA6pw.js} +2 -2
  31. package/dist/client/assets/{ConventionPage-BSztD-gU.js → ConventionPage-CH-ah6nI.js} +1 -1
  32. package/dist/client/assets/{ExtensionPageRoute-BSge6XRv.js → ExtensionPageRoute-CJIxa6ST.js} +2 -2
  33. package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-TO2CUPG0.js → FloatingTanStackRouterDevtools-CqogiFob-BP7EJ2JL.js} +1 -1
  34. package/dist/client/assets/HandlePage-Cg8H3mQS.js +1 -0
  35. package/dist/client/assets/{HeartbeatPage-DIJzdOhj.js → HeartbeatPage-BUsf-qrU.js} +1 -1
  36. package/dist/client/assets/{KeyEntry-DJnzW3Mu.js → KeyEntry-C2kWdN8q.js} +1 -1
  37. package/dist/client/assets/{LexicalField-BxzNvIjJ.js → LexicalField-CR8ulsI_.js} +1 -1
  38. package/dist/client/assets/{ManagesPage-BQj8KbYA.js → ManagesPage-DTtsIOGi.js} +1 -1
  39. package/dist/client/assets/{Marketplace-CIG5_a_H.js → Marketplace-iaV5XAzv.js} +2 -2
  40. package/dist/client/assets/{MarketplaceSourcesView-16HKvFK-.js → MarketplaceSourcesView-6tgzUfFj.js} +1 -1
  41. package/dist/client/assets/{McpAppFrame-5xlga1jD.js → McpAppFrame-C7eYYdI9.js} +1 -1
  42. package/dist/client/assets/McpSigninBody-BDyGbJ7I.js +1 -0
  43. package/dist/client/assets/{Model3dViewer-CQ0sA_kr.js → Model3dViewer-BujDNuVS.js} +1 -1
  44. package/dist/client/assets/NamePage-Bx8T98OF.js +1 -0
  45. package/dist/client/assets/{NewDirectMessageMenu-D092y0K9.js → NewDirectMessageMenu-D4e-z2Jt.js} +1 -1
  46. package/dist/client/assets/{NotificationsPage-CskOPdhh.js → NotificationsPage-CkDeTaJp.js} +1 -1
  47. package/dist/client/assets/{OpenMeshSwitch-BHRm328L.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-XuPOSYll.js → PermissionsPage-f4QaX8oM.js} +1 -1
  51. package/dist/client/assets/{PersonalityPopover-BrZjxakx.js → PersonalityPopover-BkZruwF-.js} +1 -1
  52. package/dist/client/assets/PhotoPage-CmrOIRjf.js +1 -0
  53. package/dist/client/assets/{PreviewRefusedNotice-BANdpT9O.js → PreviewRefusedNotice-BXC2K0tx.js} +1 -1
  54. package/dist/client/assets/{ProfileFields-Dp68ebW9.js → ProfileFields-BebX5oiv.js} +1 -1
  55. package/dist/client/assets/{ProfilePanelContainer-BKwGdI90.js → ProfilePanelContainer-DZoL65zQ.js} +1 -1
  56. package/dist/client/assets/{ProfileRolePicker-ClOdfLda.js → ProfileRolePicker-D9H7wsuT.js} +1 -1
  57. package/dist/client/assets/{PromptSuggestionChips-zcW4UJ_O.js → PromptSuggestionChips-B5fDmc-g.js} +1 -1
  58. package/dist/client/assets/{ReportsToPopover-BwDVGqFg.js → ReportsToPopover-uVYhSqj7.js} +1 -1
  59. package/dist/client/assets/{RoomSurface-CSKIvyHH.js → RoomSurface-Bg5WV4Ep.js} +7 -7
  60. package/dist/client/assets/{RoomsPage-CAvrRbPk.js → RoomsPage-yflYFulU.js} +1 -1
  61. package/dist/client/assets/{RunsOnPopover-CQ4t9EZ-.js → RunsOnPopover-DtGrX1Vq.js} +1 -1
  62. package/dist/client/assets/{RuntimeConnectFlow--fVpIf0B.js → RuntimeConnectFlow-DjReuQ-T.js} +1 -1
  63. package/dist/client/assets/{RuntimeSetupDialog-COpyPrqL.js → RuntimeSetupDialog-Cr4GRi8c.js} +1 -1
  64. package/dist/client/assets/{SeenDevices-BPw3UgjX.js → SeenDevices-SPWkdzoK.js} +3 -3
  65. package/dist/client/assets/{SessionsPage-FDyYzuXs.js → SessionsPage-BWu-en78.js} +1 -1
  66. package/dist/client/assets/SettingsDialog-_dEXUhHe.js +12 -0
  67. package/dist/client/assets/{SkillsPage-PLXEY0LB.js → SkillsPage-BdUb9SZy.js} +1 -1
  68. package/dist/client/assets/TaskDialogWrapper-qYJPEoSR.js +1 -0
  69. package/dist/client/assets/{TasksEmptyState-8RZxhRh6.js → TasksEmptyState-Bgcg9vxF.js} +2 -2
  70. package/dist/client/assets/{TasksPage-C-EtQXKb.js → TasksPage-Ch5W2WQS.js} +1 -1
  71. package/dist/client/assets/{TeamComputerEntry-qx_19Htj.js → TeamComputerEntry-CPwSIMRw.js} +1 -1
  72. package/dist/client/assets/ToolsPage-Idimrn3o.js +2 -0
  73. package/dist/client/assets/{TopologyGraph-1wtG1BE9.js → TopologyGraph-I4_mkMHM.js} +14 -14
  74. package/dist/client/assets/{TourHost-C664E8OY.js → TourHost-BPaSwh9I.js} +1 -1
  75. package/dist/client/assets/{UnlinkDialog-Di1oBFA_.js → UnlinkDialog-BUWZUu5P.js} +1 -1
  76. package/dist/client/assets/{WidgetErrorCard-BfgGzyqg.js → WidgetErrorCard-cS8yMCxU.js} +3 -3
  77. package/dist/client/assets/_shell-ClVN2pUj.js +80 -0
  78. package/dist/client/assets/{_shell._home-Hz78BY6-.js → _shell._home-DCA5k-jb.js} +1 -1
  79. package/dist/client/assets/{_shell._home.activity-BxvI0gkw.js → _shell._home.activity-BX4nFLna.js} +1 -1
  80. package/dist/client/assets/{_shell._home.index-Cqq81f3P.js → _shell._home.index-C8t8cw72.js} +1 -1
  81. package/dist/client/assets/{_shell._home.tasks-Cth56CwC.js → _shell._home.tasks-BgUeEvhK.js} +1 -1
  82. package/dist/client/assets/{_shell._home.workspaces-DkoOJSWz.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-BTxHdsfb.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-ZxGwa39m.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-CzqPVMdw.js → abnfDiagram-WEYOIA3C-CrvoN15x.js} +1 -1
  93. package/dist/client/assets/{access-copy-Dj09Xk4b.js → access-copy-B3yNZ7Gz.js} +1 -1
  94. package/dist/client/assets/{arc-Bgy7ExYl.js → arc-CuT6QA_y.js} +1 -1
  95. package/dist/client/assets/{architectureDiagram-ZHVYKT53-DYfb2p9r.js → architectureDiagram-ZHVYKT53-CPXCZ9H4.js} +1 -1
  96. package/dist/client/assets/{banner-dlsHTWSf.js → banner-DRumuw3F.js} +1 -1
  97. package/dist/client/assets/{blockDiagram-RJAE7QA3-BkOzLL8s.js → blockDiagram-RJAE7QA3-CM0rka9p.js} +1 -1
  98. package/dist/client/assets/{c4Diagram-XDPPPE54-CsZm4qpD.js → c4Diagram-XDPPPE54-D4j2cXRy.js} +1 -1
  99. package/dist/client/assets/{card-Dj6ZfRgu.js → card-B3CtfC3R.js} +1 -1
  100. package/dist/client/assets/channel-DjBlTcCV.js +1 -0
  101. package/dist/client/assets/{chunk-2E7WHVMD-GA96Jfps.js → chunk-2E7WHVMD-KGyqhVpO.js} +1 -1
  102. package/dist/client/assets/{chunk-2Q5K7J3B-CW2i0IkT.js → chunk-2Q5K7J3B-Dl0BHoqK.js} +1 -1
  103. package/dist/client/assets/{chunk-4EMNKR2T-BwFvnPZg.js → chunk-4EMNKR2T-Da7vH6Kv.js} +1 -1
  104. package/dist/client/assets/{chunk-55XCU76K-MOezzAAB.js → chunk-55XCU76K-DgBUEROO.js} +1 -1
  105. package/dist/client/assets/{chunk-5VM5RSS4-woru6zOC.js → chunk-5VM5RSS4-BQ4mn-_I.js} +1 -1
  106. package/dist/client/assets/{chunk-JWPE2WC7-CUrKlP2M.js → chunk-JWPE2WC7-8LPR3mXf.js} +1 -1
  107. package/dist/client/assets/{chunk-VQ5W62QI-CqZ2cdEu.js → chunk-VQ5W62QI-BkIVXi4W.js} +1 -1
  108. package/dist/client/assets/{chunk-XXDRQBXY-ByAcvWaE.js → chunk-XXDRQBXY-DQXJx06h.js} +1 -1
  109. package/dist/client/assets/{chunk-ZCHMQSOR-3nkba9kj.js → chunk-ZCHMQSOR-DzCE7qlD.js} +2 -2
  110. package/dist/client/assets/{classDiagram-v2-4MYWR3UA-B-zZKAmI.js → classDiagram-v2-4MYWR3UA-C_cZra7c.js} +1 -1
  111. package/dist/client/assets/{command-BAOEURY7.js → command-CDKbyppr.js} +1 -1
  112. package/dist/client/assets/{cose-bilkent-JH36ORCC-sCKxRv1H.js → cose-bilkent-JH36ORCC-DlXHdGwT.js} +1 -1
  113. package/dist/client/assets/{cpu-TtYQqONc.js → cpu-B7xLO7jn.js} +1 -1
  114. package/dist/client/assets/{cynefin-EF2NZ3EQ-CXzvL5Cg.js → cynefin-EF2NZ3EQ-HhP4ArLc.js} +1 -1
  115. package/dist/client/assets/{cynefinDiagram-WF24UDRP-C0wjhu9X.js → cynefinDiagram-WF24UDRP-D4GgWnZV.js} +1 -1
  116. package/dist/client/assets/{dagre-NK4GIZVX-Doi2IPkY.js → dagre-NK4GIZVX-SZ_OI2Zi.js} +1 -1
  117. package/dist/client/assets/{diagram-CBK3MWTC-11TVuPel.js → diagram-CBK3MWTC-BN-_Ja5m.js} +1 -1
  118. package/dist/client/assets/{diagram-I5XIIV2D-CJq7fHFM.js → diagram-I5XIIV2D-t7AK6xnL.js} +1 -1
  119. package/dist/client/assets/{diagram-ODIL2UCW-2Ae6unuU.js → diagram-ODIL2UCW-C1V7szSc.js} +1 -1
  120. package/dist/client/assets/{diagram-PFBEJUXE-BXza6_iz.js → diagram-PFBEJUXE-DPtraQ2g.js} +1 -1
  121. package/dist/client/assets/{diagram-RJA3I4VV-Z0i3uBW9.js → diagram-RJA3I4VV-D2XNRB2b.js} +1 -1
  122. package/dist/client/assets/{diagram-TYUNFSNR-Dq_-g1oP.js → diagram-TYUNFSNR-BieaRy38.js} +1 -1
  123. package/dist/client/assets/{ebnfDiagram-V4P3TTPT-vxzIvg-W.js → ebnfDiagram-V4P3TTPT-Bwki86UY.js} +1 -1
  124. package/dist/client/assets/{elk-QONTBCTQ-BBIXXtg_.js → elk-QONTBCTQ-WEXSAyHB.js} +1 -1
  125. package/dist/client/assets/{empty-state-kISAAp0z.js → empty-state-J-UJ0BUU.js} +1 -1
  126. package/dist/client/assets/{erDiagram-KYQIGQAA-Bk2MeLBx.js → erDiagram-KYQIGQAA-DIKASnoc.js} +1 -1
  127. package/dist/client/assets/{execution-config-DYFe-VNC.js → execution-config-ILQiJAmy.js} +1 -1
  128. package/dist/client/assets/{file-DEt4KgZG.js → file-D40js1Zx.js} +1 -1
  129. package/dist/client/assets/{file-exclamation-point-QqXJhXD9.js → file-exclamation-point-Dg3ZpiAe.js} +1 -1
  130. package/dist/client/assets/{file-text-CRw31ZWd.js → file-text-DgdvRfMk.js} +1 -1
  131. package/dist/client/assets/{find-latest-widget-fence-B3aaiBNI.js → find-latest-widget-fence-D4kBWC_1.js} +1 -1
  132. package/dist/client/assets/{flowDiagram-IUGLLWBU-B53m4r8u.js → flowDiagram-IUGLLWBU-CoavNw0M.js} +1 -1
  133. package/dist/client/assets/{form-Bjhk9zOn.js → form-DlPwEgQH.js} +1 -1
  134. package/dist/client/assets/{format-cron-9tmNIcgl.js → format-cron-BrK8RzgT.js} +1 -1
  135. package/dist/client/assets/{ganttDiagram-R7GPNTJY-CS6TN3R1.js → ganttDiagram-R7GPNTJY-DccKAz7f.js} +1 -1
  136. package/dist/client/assets/{git-branch-DWerghmw.js → git-branch-BpxhecMq.js} +1 -1
  137. package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-D096ZtqE.js → gitGraphDiagram-PDYL7XHY-DEbo_dgQ.js} +1 -1
  138. package/dist/client/assets/{graph-DQpTuPmX.js → graph-DROgI3M3.js} +1 -1
  139. package/dist/client/assets/{heart-CRkjVW7-.js → heart-c7u4Ezxt.js} +1 -1
  140. package/dist/client/assets/{highlighted-body-KPVGNVTW-DoVCXOMU.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-VyMBVwgK.js → image-off-BExgZjfM.js} +2 -2
  143. package/dist/client/assets/{index-DgyhdQnI.js → index-2wezsLA_.js} +1 -1
  144. package/dist/client/assets/index-7jby-RRg.js +1 -0
  145. package/dist/client/assets/{index-Czm6C7FZ.js → index-AzyLwYS_.js} +3 -3
  146. package/dist/client/assets/{index-CiVeycsn.js → index-B3eeEDWj.js} +5 -5
  147. package/dist/client/assets/{index-setKr4xl.js → index-BEkYBuOq.js} +1 -1
  148. package/dist/client/assets/index-BGqvci3k.js +1 -0
  149. package/dist/client/assets/{index-DKWpwwxo.js → index-BVqSmajJ.js} +1 -1
  150. package/dist/client/assets/{index-BBcAekWE.js → index-Be0OJLWK.js} +1 -1
  151. package/dist/client/assets/{index-BiFJIg4n.js → index-BizvylBV.js} +1 -1
  152. package/dist/client/assets/{index-n3-zWcH-.js → index-BkoMsjtM.js} +2 -2
  153. package/dist/client/assets/{index-_emDKzsu.js → index-BlyoyIck.js} +1 -1
  154. package/dist/client/assets/{index-C24HfJir.js → index-BqIHtiaE.js} +1 -1
  155. package/dist/client/assets/{index-Cs3WB8yn.js → index-C5or4L_3.js} +1 -1
  156. package/dist/client/assets/{index-igLqtuoO.js → index-C7B3eSOP.js} +1 -1
  157. package/dist/client/assets/{index-COMRALJO.js → index-CD8aw6Jb.js} +1 -1
  158. package/dist/client/assets/{index-CDuYKaGY.js → index-CT_pFeX_.js} +1 -1
  159. package/dist/client/assets/{index-b9p_y2Ql.js → index-CYy1cjtq.js} +1 -1
  160. package/dist/client/assets/{index-Csr_C1sk.js → index-CZmqtJWZ.js} +1 -1
  161. package/dist/client/assets/{index-DBo2XfNv.js → index-CbHCZsbE.js} +1 -1
  162. package/dist/client/assets/{index-BcFMs7lK.js → index-Ccf1XBTs.js} +1 -1
  163. package/dist/client/assets/index-Cga0qx1T.js +1033 -0
  164. package/dist/client/assets/{index-Ctqe81qr.js → index-CqPRAM_6.js} +1 -1
  165. package/dist/client/assets/index-Ct4At33X.js +1 -0
  166. package/dist/client/assets/{index-DN2sTT2U.js → index-D0eJtRlK.js} +1 -1
  167. package/dist/client/assets/{index-C3sW6rkN.js → index-D150FXCC.js} +22 -20
  168. package/dist/client/assets/{index-C6udJCgz.js → index-D3YeRrne.js} +1 -1
  169. package/dist/client/assets/index-DCJQGDZk.js +1 -0
  170. package/dist/client/assets/{index-BpjEclkM.js → index-DDgOoXP1.js} +1 -1
  171. package/dist/client/assets/{index-DmFNztTX.js → index-DINk1YfD.js} +1 -1
  172. package/dist/client/assets/{index-Dgrk2udV.js → index-DITPwUa9.js} +3 -3
  173. package/dist/client/assets/{index-CvhR1oZB.js → index-DNGNMW3c.js} +1 -1
  174. package/dist/client/assets/{index-rCvQat0D.js → index-DT7pv2iW.js} +1 -1
  175. package/dist/client/assets/{index-TnoaFCrj.js → index-DaZ1I8s-.js} +1 -1
  176. package/dist/client/assets/{index-CEVwhauU.js → index-DeRDq7bD.js} +1 -1
  177. package/dist/client/assets/{index-2EaVZrJe.js → index-DhHobJd3.js} +1 -1
  178. package/dist/client/assets/{index-CyGRWyhV.js → index-DksjixUS.js} +1 -1
  179. package/dist/client/assets/{index-C6Fo2htT.js → index-DswGXheF.js} +1 -1
  180. package/dist/client/assets/{index-t3eRSGcT.js → index-DxiRRZRo.js} +1 -1
  181. package/dist/client/assets/index-F-vqXYqa.js +1 -0
  182. package/dist/client/assets/{index-DNzk9m1D.js → index-InEBtYxw.js} +6 -6
  183. package/dist/client/assets/{index-BLkXoquZ.js → index-J3Hh1MnL.js} +1 -1
  184. package/dist/client/assets/{index-gIQ7FrL9.js → index-dyAahqKe.js} +1 -1
  185. package/dist/client/assets/{index-B2rBVMNl.js → index-mwf7ZNk2.js} +1 -1
  186. package/dist/client/assets/{index.esm-bLeQzVWT.js → index.esm-BFJ9SG0n.js} +1 -1
  187. package/dist/client/assets/{infoDiagram-MVDRKAX5-nN_N76Fn.js → infoDiagram-MVDRKAX5-VL8q5pKx.js} +1 -1
  188. package/dist/client/assets/{inline-code-D9bLKHjY.js → inline-code-BE9ckzPs.js} +1 -1
  189. package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-CiLFbWXd.js → ishikawaDiagram-HPEHV2GE-BLKkPYF-.js} +1 -1
  190. package/dist/client/assets/{journeyDiagram-BOSHW7O7-Dn3yOv96.js → journeyDiagram-BOSHW7O7-CSYpRobu.js} +1 -1
  191. package/dist/client/assets/{kanban-definition-FNSA4HC5-JxiBdBQC.js → kanban-definition-FNSA4HC5-HilAqtZo.js} +1 -1
  192. package/dist/client/assets/{layers-DTnLoRvE.js → layers-Cm7coqdo.js} +1 -1
  193. package/dist/client/assets/{lightbulb-CRKLr5q3.js → lightbulb-DqdWS75d.js} +1 -1
  194. package/dist/client/assets/{link-2-hgHg-lyw.js → link-2-CDJapTSa.js} +1 -1
  195. package/dist/client/assets/{list-runtime-types-Bb33QiMC.js → list-runtime-types-CP82p1u4.js} +1 -1
  196. package/dist/client/assets/{markdown-content-D0FpU2cz.js → markdown-content-m_qereFc.js} +1 -1
  197. package/dist/client/assets/{mention-pill-uuaUvwSW.js → mention-pill-DV5HIG5Q.js} +1 -1
  198. package/dist/client/assets/{mermaid.core-x3Hh6iut.js → mermaid.core-zxW6MBr-.js} +4 -4
  199. package/dist/client/assets/{message-square-off-B8N6YF9R.js → message-square-off-YVtpbaJ0.js} +1 -1
  200. package/dist/client/assets/{mindmap-definition-6OY57UG3-D0SEv5Re.js → mindmap-definition-6OY57UG3-IAYemvOg.js} +1 -1
  201. package/dist/client/assets/{more-details-CadxnGyH.js → more-details-ReA2ZFBn.js} +1 -1
  202. package/dist/client/assets/{owner-notice-CJHyha58.js → owner-notice-M4hn_1ep.js} +1 -1
  203. package/dist/client/assets/{package-B8G7jQm-.js → package-CUuTl39E.js} +1 -1
  204. package/dist/client/assets/{page-container-Bb-_N7lw.js → page-container-BnmNikNZ.js} +1 -1
  205. package/dist/client/assets/{paperclip-BDeYGKqh.js → paperclip-C6fYq5Zf.js} +1 -1
  206. package/dist/client/assets/{path-input-BIfexEKz.js → path-input-DHn9-XaE.js} +1 -1
  207. package/dist/client/assets/{pegDiagram-ECIUJNBX-7ivMd0-b.js → pegDiagram-ECIUJNBX-CojaUwe7.js} +1 -1
  208. package/dist/client/assets/{pieDiagram-GNMPY74T-DGDkbFvu.js → pieDiagram-GNMPY74T-CjP3pw6V.js} +1 -1
  209. package/dist/client/assets/{plug-wP1d6OUX.js → plug-DHQcxt7N.js} +1 -1
  210. package/dist/client/assets/primer-trigger-BmV5wjek.js +3 -0
  211. package/dist/client/assets/{profile-errors-C1qSJkiG.js → profile-errors-BSCuj3rT.js} +1 -1
  212. package/dist/client/assets/{progress-DmUieXLn.js → progress-4FQQfnS6.js} +1 -1
  213. package/dist/client/assets/{quadrantDiagram-D57K4MC3-AFQRVSsK.js → quadrantDiagram-D57K4MC3-OP0Z8zcR.js} +1 -1
  214. package/dist/client/assets/{query-error-state--8AnWSSn.js → query-error-state-BkUdxenP.js} +1 -1
  215. package/dist/client/assets/{radio-mkA-Sqe0.js → radio-ta5Bw763.js} +1 -1
  216. package/dist/client/assets/{railroadDiagram-Y72NRBL7-3QBa2d3j.js → railroadDiagram-Y72NRBL7-CT3NCb9b.js} +1 -1
  217. package/dist/client/assets/registry-Dc102rws.js +1 -0
  218. package/dist/client/assets/{relay-trace-schemas-fScydQ3A.js → relay-trace-schemas-DwUuyxao.js} +2 -2
  219. package/dist/client/assets/{requirementDiagram-EQYSW5RA-BVBqcASy.js → requirementDiagram-EQYSW5RA-tde4lYGp.js} +1 -1
  220. package/dist/client/assets/{room-files-source-BhkPUTiP.js → room-files-source-CZWhaaOy.js} +2 -2
  221. package/dist/client/assets/{rotate-ccw-clock-DiuTseKz.js → rotate-ccw-clock-RfbbgUa4.js} +1 -1
  222. package/dist/client/assets/{rotate-cw-DvoxWwSx.js → rotate-cw-B3rB_YSw.js} +1 -1
  223. package/dist/client/assets/{sankeyDiagram-SY24JHO5-DFjfOD38.js → sankeyDiagram-SY24JHO5-sdCzIA7-.js} +1 -1
  224. package/dist/client/assets/{scroll-area-DYyyRqW_.js → scroll-area-B4WB7Q40.js} +1 -1
  225. package/dist/client/assets/{search-x-CA-FzEqZ.js → search-x-DCUmWW2_.js} +1 -1
  226. package/dist/client/assets/{sequenceDiagram-BLEHNHQU-Cr9LzoSF.js → sequenceDiagram-BLEHNHQU-DvzTJcKu.js} +1 -1
  227. package/dist/client/assets/{shield-x-B0W_7qwR.js → shield-x-CANziVLc.js} +1 -1
  228. package/dist/client/assets/signed-in-DctJ2IWe.js +1 -0
  229. package/dist/client/assets/{sizeCapture-INFHLROL-Do_jfNyT.js → sizeCapture-INFHLROL-DuDA7TKE.js} +1 -1
  230. package/dist/client/assets/{soul-file-DgfhKQIK.js → soul-file-Co_8f1qw.js} +1 -1
  231. package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-BCi9yk_0.js → stateDiagram-v2-A6IESKWZ-BJPX5JTC.js} +1 -1
  232. package/dist/client/assets/{swimlanes-B3ENRKFQ-3SSAw2av.js → swimlanes-B3ENRKFQ-CiLSffGv.js} +1 -1
  233. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-Dv1-QS9J.js +8 -0
  234. package/dist/client/assets/{table-DvU_oS4E.js → table-BSAvOYPp.js} +1 -1
  235. package/dist/client/assets/{terminal-Dw2QZ7Dh.js → terminal-6CdY-T1V.js} +1 -1
  236. package/dist/client/assets/{timeline-definition-JXYKGLGB-DTLPXTMA.js → timeline-definition-JXYKGLGB-5oq8sl82.js} +1 -1
  237. package/dist/client/assets/{trust-posture-2MR0ap9o.js → trust-posture-D-Yjm6ot.js} +1 -1
  238. package/dist/client/assets/{unplug-CAVOLB2R.js → unplug-Bq_1WdV7.js} +1 -1
  239. package/dist/client/assets/{unverified-catalog-notice-u4ikVg8J.js → unverified-catalog-notice-CEzu54YH.js} +1 -1
  240. package/dist/client/assets/{use-adapter-catalog-BQKfRxXC.js → use-adapter-catalog-Tn3ZbPAj.js} +1 -1
  241. package/dist/client/assets/{use-bindings-BV6HA0MD.js → use-bindings-Bz9YRgO7.js} +1 -1
  242. package/dist/client/assets/{use-composer-prefs-DCSzOnEO.js → use-composer-prefs-D9oKJSQN.js} +1 -1
  243. package/dist/client/assets/{use-connector-management-fr1tx-GZ.js → use-connector-management-CLYFraXN.js} +1 -1
  244. package/dist/client/assets/{use-deep-link-scroll-v02TbidQ.js → use-deep-link-scroll-DkS713kG.js} +1 -1
  245. package/dist/client/assets/{use-delete-binding-CnziYpXo.js → use-delete-binding-CukKpHBK.js} +1 -1
  246. package/dist/client/assets/{use-dev-links-k4YWFO1v.js → use-dev-links-DQ32IcGe.js} +1 -1
  247. package/dist/client/assets/{use-external-adapter-catalog-DoGUfa2F.js → use-external-adapter-catalog-D-FO_XW6.js} +1 -1
  248. package/dist/client/assets/{use-full-activity-feed-CQNxgxnw.js → use-full-activity-feed-BNxcyb1j.js} +1 -1
  249. package/dist/client/assets/use-is-below-desktop-gTvJDvw4.js +1 -0
  250. package/dist/client/assets/use-is-hub-B1vPpkYU.js +1 -0
  251. package/dist/client/assets/{use-jump-back-in-BuO6A0P7.js → use-jump-back-in-Bibj5tVk.js} +3 -3
  252. package/dist/client/assets/{use-local-browser-BNzN5O1P.js → use-local-browser-xg7WXAVK.js} +1 -1
  253. package/dist/client/assets/{use-mesh-topology-CpIDE8lD.js → use-mesh-topology-BgCSFw8s.js} +1 -1
  254. package/dist/client/assets/{use-mounted-ref-BAO3qunF.js → use-mounted-ref-qRbdZfOU.js} +1 -1
  255. package/dist/client/assets/{use-notification-prefs-CtqeH5Pk.js → use-notification-prefs-B-4kZR7I.js} +1 -1
  256. package/dist/client/assets/{use-panel-tab-placements-DFobGBRm.js → use-panel-tab-placements-CCq-mZlY.js} +1 -1
  257. package/dist/client/assets/use-pending-read-C8L_v4Zw.js +1 -0
  258. package/dist/client/assets/{use-personality-commit-BvqCwzAC.js → use-personality-commit-DwSisUfF.js} +1 -1
  259. package/dist/client/assets/{use-promo-activation-Dz5cYm-X.js → use-promo-activation-Botoso6l.js} +3 -3
  260. package/dist/client/assets/{use-promo-dismissals-CuOsnqnZ.js → use-promo-dismissals-RJXp-r_J.js} +1 -1
  261. package/dist/client/assets/{use-pulse-freshness-qcTH6PM7.js → use-pulse-freshness-B3390hGg.js} +1 -1
  262. package/dist/client/assets/{use-relay-config-1mAMDNbc.js → use-relay-config-BV0xcLwS.js} +1 -1
  263. package/dist/client/assets/{use-room-follow-claim-CCGhsyH3.js → use-room-follow-claim-Du4hKHIJ.js} +1 -1
  264. package/dist/client/assets/{use-roving-tab-list-Bsg2dfUx.js → use-roving-tab-list-g2hO6Ruz.js} +1 -1
  265. package/dist/client/assets/{use-session-canvas-awPngMKg.js → use-session-canvas-i30oMO_Q.js} +3 -3
  266. package/dist/client/assets/{use-session-diagnostics-D5g8Mc52.js → use-session-diagnostics-a4b83F5J.js} +2 -2
  267. package/dist/client/assets/{use-unclaimed-chats-Db_wuzt0.js → use-unclaimed-chats-B92om889.js} +1 -1
  268. package/dist/client/assets/use-update-config-Tbn3SodN.js +1 -0
  269. package/dist/client/assets/{useMutationState-BvwBDXKc.js → useMutationState-DdOGdpjP.js} +1 -1
  270. package/dist/client/assets/{usecaseDiagram-WPOLBNNX-1zKygEKR.js → usecaseDiagram-WPOLBNNX-Di5pJvcw.js} +1 -1
  271. package/dist/client/assets/{vennDiagram-Q3Y3IDCW-BR2EbgGY.js → vennDiagram-Q3Y3IDCW-K7KAf26T.js} +1 -1
  272. package/dist/client/assets/{wardleyDiagram-IVAIDKWA-D0OwouJc.js → wardleyDiagram-IVAIDKWA-DVTaxQt9.js} +1 -1
  273. package/dist/client/assets/{xychartDiagram-4URNHDU4-BM-7_FQQ.js → xychartDiagram-4URNHDU4-x-lSJm_B.js} +1 -1
  274. package/dist/client/index.html +1 -1
  275. package/dist/drizzle/20261018210140_remote_command_agent_computer_kind.sql +21 -0
  276. package/dist/drizzle/20261019142317_turn_marks.sql +3 -0
  277. package/dist/drizzle/meta/20261018210140_snapshot.json +14027 -0
  278. package/dist/drizzle/meta/20261019142317_snapshot.json +14048 -0
  279. package/dist/drizzle/meta/_journal.json +14 -0
  280. package/dist/server/index.js +23779 -20674
  281. package/dist/server/index.js.map +2 -2
  282. package/package.json +4 -4
  283. package/dist/client/assets/HandlePage-BKiqymRF.js +0 -1
  284. package/dist/client/assets/McpSigninBody-COIHpHq_.js +0 -1
  285. package/dist/client/assets/NamePage-D7W6VMYd.js +0 -1
  286. package/dist/client/assets/OperatorIdentityForm-C3op6BIC.js +0 -1
  287. package/dist/client/assets/PermissionHistory-CKebTVkq.js +0 -1
  288. package/dist/client/assets/PhotoPage-Ch1at4A6.js +0 -1
  289. package/dist/client/assets/SettingsDialog-Bdws5dbS.js +0 -12
  290. package/dist/client/assets/TaskDialogWrapper-CTcW70s8.js +0 -1
  291. package/dist/client/assets/ToolsPage-D5-fx1EA.js +0 -2
  292. package/dist/client/assets/_shell-BLTSXXDw.js +0 -80
  293. package/dist/client/assets/_shell.channels-D_GQU4RB.js +0 -10
  294. package/dist/client/assets/_shell.connections-DZrlxs4G.js +0 -1
  295. package/dist/client/assets/_shell.marketplace-CZxkAmFz.js +0 -1
  296. package/dist/client/assets/_shell.marketplace_.sources-Q0BTQIuE.js +0 -1
  297. package/dist/client/assets/_shell.session-DvGL0DoX.js +0 -63
  298. package/dist/client/assets/_shell.x._extensionId-B6Tm5KuT.js +0 -1
  299. package/dist/client/assets/_shell.x._extensionId_._-B6Tm5KuT.js +0 -1
  300. package/dist/client/assets/channel-CGffcDRq.js +0 -1
  301. package/dist/client/assets/image-lightbox-BXzbN27o.js +0 -1
  302. package/dist/client/assets/index-1qv8ldHx.js +0 -1
  303. package/dist/client/assets/index-8-iQ6PnT.js +0 -1028
  304. package/dist/client/assets/index-BFitbVs4.js +0 -1
  305. package/dist/client/assets/index-CI84yP-g.js +0 -1
  306. package/dist/client/assets/index-D5zUdnZM.js +0 -1
  307. package/dist/client/assets/index-DX_2Mxwv.js +0 -1
  308. package/dist/client/assets/primer-trigger-CEli_z4n.js +0 -3
  309. package/dist/client/assets/registry-Bnd-HFt3.js +0 -1
  310. package/dist/client/assets/shield-check-CpUB_Ju1.js +0 -6
  311. package/dist/client/assets/signed-in-X2utDqQS.js +0 -1
  312. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-jpZCGfva.js +0 -8
  313. package/dist/client/assets/use-is-below-desktop-DR8FEbRW.js +0 -1
  314. package/dist/client/assets/use-is-hub-BmpgFnFp.js +0 -1
  315. package/dist/client/assets/use-pending-read-Do0_vZ2I.js +0 -1
  316. package/dist/client/assets/use-update-config-DwtH_H9Z.js +0 -1
@@ -1,4 +1,4 @@
1
- var De=Object.defineProperty;var Ie=(t,n,s)=>n in t?De(t,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[n]=s;var U=(t,n,s)=>Ie(t,typeof n!="symbol"?n+"":n,s);import{W as N,a1 as P,i9 as ze,r as f,aM as Me,ia as X,aK as Se,j as e,hJ as O,ib as Te,g as B,ic as H,id as V,G as A,ie as Fe,ig as Ae,X as Oe,ih as _e,B as C,dy as Ee,ar as T,aN as Le,ii as Ue,fr as $e,ij as Pe,ik as Be,il as He,im as Ve,io as Ye,ip as Z,J as Ke,a3 as We,h3 as ne,aW as y,iq as qe,ir as Je,is as Ge,a7 as ee,it as Qe,iu as Xe,iv as Ze}from"./index-8-iQ6PnT.js";import{u as et}from"./use-roving-tab-list-Bsg2dfUx.js";import{F as se,c as tt,d as te,e as nt,R as st,C as ae}from"./use-session-canvas-awPngMKg.js";import{f as un,g as mn,h as pn,b as hn,i as fn}from"./use-session-canvas-awPngMKg.js";import{A as at}from"./McpAppFrame-5xlga1jD.js";import{F as ot}from"./file-DEt4KgZG.js";import{F as oe}from"./file-text-CRw31ZWd.js";import{R as rt}from"./rotate-cw-DvoxWwSx.js";import{u as it}from"./use-room-follow-claim-CCGhsyH3.js";import{c as lt,F as ct}from"./room-files-source-BhkPUTiP.js";import"./query-keys-DeYqUDia.js";import"./index.esm-bLeQzVWT.js";import"./WidgetErrorCard-BfgGzyqg.js";import"./index-D5zUdnZM.js";import"./card-Dj6ZfRgu.js";import"./progress-DmUieXLn.js";import"./markdown-content-D0FpU2cz.js";import"./table-DvU_oS4E.js";import"./terminal-Dw2QZ7Dh.js";import"./package-B8G7jQm-.js";import"./heart-CRkjVW7-.js";import"./git-branch-DWerghmw.js";import"./more-details-CadxnGyH.js";import"./file-exclamation-point-QqXJhXD9.js";/**
1
+ var De=Object.defineProperty;var Ie=(t,n,s)=>n in t?De(t,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[n]=s;var U=(t,n,s)=>Ie(t,typeof n!="symbol"?n+"":n,s);import{W as N,a1 as P,ie as ze,r as f,aM as Me,ig as X,aK as Se,j as e,hO as O,ih as Te,g as B,ii as H,ij as V,G as F,ik as Ae,il as Fe,X as Oe,im as _e,B as C,dA as Ee,ar as T,aN as Le,io as Ue,fu as $e,ip as Pe,iq as Be,ir as He,is as Ve,it as Ye,iu as Z,J as Ke,a3 as We,h7 as ne,aW as y,iv as qe,iw as Ge,ix as Je,a7 as ee,iy as Qe,iz as Xe,iA as Ze}from"./index-Cga0qx1T.js";import{u as et}from"./use-roving-tab-list-g2hO6Ruz.js";import{F as se,c as tt,d as te,e as nt,R as st,C as ae}from"./use-session-canvas-i30oMO_Q.js";import{f as un,g as mn,h as pn,b as hn,i as fn}from"./use-session-canvas-i30oMO_Q.js";import{A as at}from"./McpAppFrame-C7eYYdI9.js";import{F as ot}from"./file-D40js1Zx.js";import{F as oe}from"./file-text-DgdvRfMk.js";import{R as rt}from"./rotate-cw-B3rB_YSw.js";import{u as it}from"./use-room-follow-claim-Du4hKHIJ.js";import{c as lt,F as ct}from"./room-files-source-CZWhaaOy.js";import"./query-keys-DeYqUDia.js";import"./index.esm-BFJ9SG0n.js";import"./WidgetErrorCard-cS8yMCxU.js";import"./index-F-vqXYqa.js";import"./card-B3CtfC3R.js";import"./progress-4FQQfnS6.js";import"./markdown-content-m_qereFc.js";import"./table-BSAvOYPp.js";import"./terminal-6CdY-T1V.js";import"./package-CUuTl39E.js";import"./heart-c7u4Ezxt.js";import"./git-branch-BpxhecMq.js";import"./more-details-ReA2ZFBn.js";import"./file-exclamation-point-Dg3ZpiAe.js";/**
2
2
  * @license lucide-react v1.48.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -33,6 +33,6 @@ var De=Object.defineProperty;var Ie=(t,n,s)=>n in t?De(t,n,{enumerable:!0,config
33
33
  *
34
34
  * This source code is licensed under the ISC license.
35
35
  * See the LICENSE file in the root directory of this source tree.
36
- */const pe={name:"table",size:24,node:[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]};pe.node;const ft=N(pe);function xt(t){const n=P(),{roomId:s,viewerAuthorId:r,documentId:i,url:u,readScrollY:m,subscribe:d}=t,a=ze(s,r),b=f.useRef({roomId:s,documentId:i,url:u,readScrollY:m});b.current={roomId:s,documentId:i,url:u,readScrollY:m};const x=f.useRef(null),p=f.useRef(0);f.useEffect(()=>{if(!a||s===null||i===null)return;const j=()=>{x.current=null,p.current=Date.now();const g=b.current;if(g.roomId===null||g.documentId===null)return;const R=g.roomId,E={documentId:g.documentId,...g.url!==void 0?{url:g.url}:{},...g.readScrollY?{scrollY:Math.max(0,Math.round(g.readScrollY()))}:{}};n.publishRoomView(R,E).then(L=>{!L.followed&&r!==null&&Se.getState().noteNobodyFollowing(R,r)}).catch(()=>{})},k=()=>{if(x.current!==null)return;const g=Date.now()-p.current;if(g>=X){j();return}x.current=setTimeout(j,X-g)};k();const c=d==null?void 0:d(k),_=setInterval(k,Me);return()=>{clearInterval(_),c==null||c()}},[n,a,s,r,i,u,d]),f.useEffect(()=>()=>{x.current!==null&&clearTimeout(x.current)},[])}const yt={url:O,markdown:oe,json:le,image:ht,pdf:ot,widget:Te,mcp_app:at,file:se,model3d:dt,audio:ut,video:mt,csv:ft,browser:O,diff:pt},vt="after:absolute after:inset-x-0 after:-inset-y-2 md:after:hidden";function Y(t){return t==="browser"?"browser-panel":"canvas-panel"}const gt={canvas:"Open canvas documents",browser:"Open browser pages"};function K(t){return`canvas-tab-${t}`}const bt=3;function jt(t){const n=t.map(r=>r.displayName);if(n.length===0)return null;if(n.length===1)return`${n[0]} is looking at this.`;if(n.length===2)return`${n[0]} and ${n[1]} are looking at this.`;const s=n.length-2;return`${n[0]}, ${n[1]} and ${s} ${s===1?"other":"others"} are looking at this.`}function kt({watchers:t}){const n=jt(t);if(n===null)return null;const s=t.slice(0,bt),r=t.length-s.length;return e.jsxs(e.Fragment,{children:[e.jsxs("span",{"data-slot":"canvas-tab-watchers","aria-hidden":!0,className:"flex shrink-0 -space-x-1",children:[s.map(i=>e.jsx(B,{size:"xs",className:"ring-background text-3xs size-3.5 ring-1",kind:i.kind,color:i.color??V(i.id),emoji:i.emoji,imageUrl:i.imageUrl,badge:null,fallback:H(i.displayName)},i.id)),r>0&&e.jsxs("span",{className:"bg-muted text-muted-foreground ring-background text-3xs flex size-3.5 shrink-0 items-center justify-center rounded-full ring-1",children:["+",r]})]}),e.jsx("span",{className:"sr-only",children:n})]})}function he({view:t,documents:n,activeDocumentId:s,onActivate:r,onClose:i,onPin:u}){const m=Y(t),{getTabProps:d}=et({orderedIds:n.map(a=>a.id),activeId:s,onActivate:a=>r(a),onClose:a=>i(a),getFallbackFocus:()=>document.getElementById(m)});return n.length===0?null:e.jsx("div",{role:"tablist","aria-label":gt[t],className:"flex items-stretch gap-1 overflow-x-auto border-b px-2 py-1",children:n.map(a=>{const b=yt[a.contentType],x=a.id===s,p=a.author;return e.jsxs("div",{role:"presentation",className:"group relative flex shrink-0",children:[e.jsxs("button",{type:"button",role:"tab","aria-selected":x,id:K(a.id),"aria-controls":x?m:void 0,...d(a.id),className:A("focus-ring flex items-center gap-1.5 rounded-md py-3 pl-2 text-xs transition-colors md:py-1",u?"pr-12":"pr-7",x?"bg-muted text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[p&&e.jsx(B,{"aria-hidden":!0,size:"xs",className:"text-3xs size-3.5 shrink-0",kind:p.kind,color:p.color??V(p.id),emoji:p.emoji,imageUrl:p.imageUrl,badge:null,fallback:H(p.displayName)}),e.jsx(b,{className:"size-3.5 shrink-0"}),e.jsx("span",{className:"max-w-40 truncate font-medium",children:a.sourceLabel}),a.watchers&&a.watchers.length>0&&e.jsx(kt,{watchers:a.watchers}),a.unread&&e.jsx("span",{"data-slot":"canvas-tab-unread","aria-hidden":!0,className:"bg-primary size-1.5 shrink-0 rounded-full"})]}),u&&e.jsx("button",{type:"button",tabIndex:-1,onClick:()=>u(a.id,!a.pinned),"aria-label":a.pinned?`Unpin ${a.sourceLabel}`:`Pin ${a.sourceLabel}`,className:A("focus-ring hover:bg-background/80 absolute top-1/2 right-6 -translate-y-1/2 rounded-sm p-1.5 transition-opacity md:p-0.5",a.pinned?"opacity-100":"opacity-0 group-hover:opacity-60"),children:a.pinned?e.jsx(Fe,{className:"size-3"}):e.jsx(Ae,{className:"size-3"})}),e.jsx("button",{type:"button",tabIndex:-1,onClick:()=>i(a.id),"aria-label":`Close ${a.sourceLabel}`,className:A("focus-ring hover:bg-background/80 absolute top-1/2 right-1 -translate-y-1/2 rounded-sm p-1.5 opacity-60 transition-opacity group-hover:opacity-100 md:p-0.5",vt),children:e.jsx(Oe,{className:"size-3"})})]},a.id)})})}function wt({error:t,onRetry:n}){const s=_e(t);return e.jsxs("div",{className:"text-muted-foreground flex h-full flex-col items-center justify-center gap-3 p-8 text-center",children:[e.jsx("p",{children:"This tab hit a problem"}),s?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-sm",children:"The app may have updated. Reloading usually fixes it."}),e.jsx(C,{type:"button",size:"sm",onClick:()=>window.location.reload(),children:"Reload DorkOS"})]}):e.jsxs(C,{type:"button",variant:"outline",size:"sm",onClick:n,children:[e.jsx(rt,{className:"size-4"}),"Try again"]})]})}class fe extends f.Component{constructor(){super(...arguments);U(this,"state",{error:null,retryKey:0});U(this,"handleRetry",()=>{this.setState(s=>({error:null,retryKey:s.retryKey+1}))})}static getDerivedStateFromError(s){return{error:s}}componentDidCatch(s,r){console.error(`[Canvas] Document viewer error (${this.props.documentId}):`,s,r)}render(){const{error:s,retryKey:r}=this.state;return s?e.jsx(wt,{error:s,onRetry:this.handleRetry}):e.jsx(f.Fragment,{children:this.props.children},r)}}function Ct({onReload:t,onKeepMine:n}){return e.jsxs("div",{role:"status",className:"border-border/60 bg-muted/40 mx-2 mt-2 space-y-2 rounded-md border px-3 py-2 text-sm",children:[e.jsx("p",{children:"Your agent changed this while you were editing. Your edit is safe."}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(C,{type:"button",variant:"outline",size:"sm",onClick:t,children:"Reload"}),e.jsx(C,{type:"button",variant:"ghost",size:"sm",onClick:n,children:"Keep mine"})]}),e.jsx("p",{className:"text-muted-foreground text-xs",children:"Reload shows its version and ends your edit. Keep mine discards it."})]})}const Nt={canvas:{heading:"A blank canvas",blurb:"Your agent can show documents, data and files here.",actions:[{icon:oe,label:"Markdown",description:"Render a document",action:()=>({type:"markdown",content:`# Untitled
36
+ */const pe={name:"table",size:24,node:[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]};pe.node;const ft=N(pe);function xt(t){const n=P(),{roomId:s,viewerAuthorId:r,documentId:i,url:u,readScrollY:m,subscribe:d}=t,a=ze(s,r),b=f.useRef({roomId:s,documentId:i,url:u,readScrollY:m});b.current={roomId:s,documentId:i,url:u,readScrollY:m};const x=f.useRef(null),p=f.useRef(0);f.useEffect(()=>{if(!a||s===null||i===null)return;const j=()=>{x.current=null,p.current=Date.now();const g=b.current;if(g.roomId===null||g.documentId===null)return;const R=g.roomId,E={documentId:g.documentId,...g.url!==void 0?{url:g.url}:{},...g.readScrollY?{scrollY:Math.max(0,Math.round(g.readScrollY()))}:{}};n.publishRoomView(R,E).then(L=>{!L.followed&&r!==null&&Se.getState().noteNobodyFollowing(R,r)}).catch(()=>{})},k=()=>{if(x.current!==null)return;const g=Date.now()-p.current;if(g>=X){j();return}x.current=setTimeout(j,X-g)};k();const c=d==null?void 0:d(k),_=setInterval(k,Me);return()=>{clearInterval(_),c==null||c()}},[n,a,s,r,i,u,d]),f.useEffect(()=>()=>{x.current!==null&&clearTimeout(x.current)},[])}const yt={url:O,markdown:oe,json:le,image:ht,pdf:ot,widget:Te,mcp_app:at,file:se,model3d:dt,audio:ut,video:mt,csv:ft,browser:O,diff:pt},vt="after:absolute after:inset-x-0 after:-inset-y-2 md:after:hidden";function Y(t){return t==="browser"?"browser-panel":"canvas-panel"}const gt={canvas:"Open canvas documents",browser:"Open browser pages"};function K(t){return`canvas-tab-${t}`}const bt=3;function jt(t){const n=t.map(r=>r.displayName);if(n.length===0)return null;if(n.length===1)return`${n[0]} is looking at this.`;if(n.length===2)return`${n[0]} and ${n[1]} are looking at this.`;const s=n.length-2;return`${n[0]}, ${n[1]} and ${s} ${s===1?"other":"others"} are looking at this.`}function kt({watchers:t}){const n=jt(t);if(n===null)return null;const s=t.slice(0,bt),r=t.length-s.length;return e.jsxs(e.Fragment,{children:[e.jsxs("span",{"data-slot":"canvas-tab-watchers","aria-hidden":!0,className:"flex shrink-0 -space-x-1",children:[s.map(i=>e.jsx(B,{size:"xs",className:"ring-background text-3xs size-3.5 ring-1",kind:i.kind,color:i.color??V(i.id),emoji:i.emoji,imageUrl:i.imageUrl,badge:null,fallback:H(i.displayName)},i.id)),r>0&&e.jsxs("span",{className:"bg-muted text-muted-foreground ring-background text-3xs flex size-3.5 shrink-0 items-center justify-center rounded-full ring-1",children:["+",r]})]}),e.jsx("span",{className:"sr-only",children:n})]})}function he({view:t,documents:n,activeDocumentId:s,onActivate:r,onClose:i,onPin:u}){const m=Y(t),{getTabProps:d}=et({orderedIds:n.map(a=>a.id),activeId:s,onActivate:a=>r(a),onClose:a=>i(a),getFallbackFocus:()=>document.getElementById(m)});return n.length===0?null:e.jsx("div",{role:"tablist","aria-label":gt[t],className:"flex items-stretch gap-1 overflow-x-auto border-b px-2 py-1",children:n.map(a=>{const b=yt[a.contentType],x=a.id===s,p=a.author;return e.jsxs("div",{role:"presentation",className:"group relative flex shrink-0",children:[e.jsxs("button",{type:"button",role:"tab","aria-selected":x,id:K(a.id),"aria-controls":x?m:void 0,...d(a.id),className:F("focus-ring flex items-center gap-1.5 rounded-md py-3 pl-2 text-xs transition-colors md:py-1",u?"pr-12":"pr-7",x?"bg-muted text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[p&&e.jsx(B,{"aria-hidden":!0,size:"xs",className:"text-3xs size-3.5 shrink-0",kind:p.kind,color:p.color??V(p.id),emoji:p.emoji,imageUrl:p.imageUrl,badge:null,fallback:H(p.displayName)}),e.jsx(b,{className:"size-3.5 shrink-0"}),e.jsx("span",{className:"max-w-40 truncate font-medium",children:a.sourceLabel}),a.watchers&&a.watchers.length>0&&e.jsx(kt,{watchers:a.watchers}),a.unread&&e.jsx("span",{"data-slot":"canvas-tab-unread","aria-hidden":!0,className:"bg-primary size-1.5 shrink-0 rounded-full"})]}),u&&e.jsx("button",{type:"button",tabIndex:-1,onClick:()=>u(a.id,!a.pinned),"aria-label":a.pinned?`Unpin ${a.sourceLabel}`:`Pin ${a.sourceLabel}`,className:F("focus-ring hover:bg-background/80 absolute top-1/2 right-6 -translate-y-1/2 rounded-sm p-1.5 transition-opacity md:p-0.5",a.pinned?"opacity-100":"opacity-0 group-hover:opacity-60"),children:a.pinned?e.jsx(Ae,{className:"size-3"}):e.jsx(Fe,{className:"size-3"})}),e.jsx("button",{type:"button",tabIndex:-1,onClick:()=>i(a.id),"aria-label":`Close ${a.sourceLabel}`,className:F("focus-ring hover:bg-background/80 absolute top-1/2 right-1 -translate-y-1/2 rounded-sm p-1.5 opacity-60 transition-opacity group-hover:opacity-100 md:p-0.5",vt),children:e.jsx(Oe,{className:"size-3"})})]},a.id)})})}function wt({error:t,onRetry:n}){const s=_e(t);return e.jsxs("div",{className:"text-muted-foreground flex h-full flex-col items-center justify-center gap-3 p-8 text-center",children:[e.jsx("p",{children:"This tab hit a problem"}),s?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-sm",children:"The app may have updated. Reloading usually fixes it."}),e.jsx(C,{type:"button",size:"sm",onClick:()=>window.location.reload(),children:"Reload DorkOS"})]}):e.jsxs(C,{type:"button",variant:"outline",size:"sm",onClick:n,children:[e.jsx(rt,{className:"size-4"}),"Try again"]})]})}class fe extends f.Component{constructor(){super(...arguments);U(this,"state",{error:null,retryKey:0});U(this,"handleRetry",()=>{this.setState(s=>({error:null,retryKey:s.retryKey+1}))})}static getDerivedStateFromError(s){return{error:s}}componentDidCatch(s,r){console.error(`[Canvas] Document viewer error (${this.props.documentId}):`,s,r)}render(){const{error:s,retryKey:r}=this.state;return s?e.jsx(wt,{error:s,onRetry:this.handleRetry}):e.jsx(f.Fragment,{children:this.props.children},r)}}function Ct({onReload:t,onKeepMine:n}){return e.jsxs("div",{role:"status",className:"border-border/60 bg-muted/40 mx-2 mt-2 space-y-2 rounded-md border px-3 py-2 text-sm",children:[e.jsx("p",{children:"Your agent changed this while you were editing. Your edit is safe."}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(C,{type:"button",variant:"outline",size:"sm",onClick:t,children:"Reload"}),e.jsx(C,{type:"button",variant:"ghost",size:"sm",onClick:n,children:"Keep mine"})]}),e.jsx("p",{className:"text-muted-foreground text-xs",children:"Reload shows its version and ends your edit. Keep mine discards it."})]})}const Nt={canvas:{heading:"A blank canvas",blurb:"Your agent can show documents, data and files here.",actions:[{icon:oe,label:"Markdown",description:"Render a document",action:()=>({type:"markdown",content:`# Untitled
37
37
 
38
- Start writing…`,title:"Document"})},{icon:le,label:"JSON",description:"Inspect structured data",action:()=>({type:"json",data:{message:"Your data here"},title:"JSON data"})}]},browser:{heading:"No page open",blurb:"This tab shows web pages: your files, dev servers, or sites from your agent.",actions:[{icon:O,label:"Web page",description:"Open a page, then type any address",action:()=>({type:"url",url:Ue.site,title:"Web Page"})}]}};function $(t,n,s,r){return t.split("").reduce((u,m)=>u+m.charCodeAt(0),0)*(n+1)*7%(r-s)+s}function xe({view:t,onAction:n}){const s=Ee(),r=f.useId(),i=Nt[t],u=f.useMemo(()=>Array.from({length:6},(m,d)=>({x:$(r,d*3,10,90),y:$(r,d*3+1,10,80),size:$(r,d*3+2,24,56),delay:d*.4})),[r]);return e.jsxs("div",{className:"relative flex h-full flex-col items-center justify-center overflow-hidden px-6",children:[!s&&u.map((m,d)=>e.jsx(T.div,{className:"border-border/40 absolute rounded-lg border",style:{left:`${m.x}%`,top:`${m.y}%`,width:m.size,height:m.size},initial:{opacity:0,scale:.6,rotate:-10},animate:{opacity:[0,.15,.08,.15],scale:[.6,1,.9,1],rotate:[-10,0,5,0]},transition:{duration:8,delay:m.delay,repeat:1/0,repeatType:"reverse",ease:"easeInOut"}},d)),e.jsxs(T.div,{className:"relative z-10 flex max-w-sm flex-col items-center gap-6 text-center",initial:s?!1:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.4,ease:"easeOut"},children:[e.jsx(T.div,{className:"bg-muted/50 text-muted-foreground flex size-14 items-center justify-center rounded-2xl",initial:s?!1:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{duration:.3,delay:.1},children:t==="browser"?e.jsx(O,{className:"size-7"}):e.jsx(Le,{className:"size-7"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h2",{className:"text-lg font-semibold tracking-tight",children:i.heading}),e.jsxs("p",{className:"text-muted-foreground text-sm leading-relaxed",children:[i.blurb,e.jsx("br",{}),"Or pick a starting point below."]})]}),e.jsx(T.div,{className:"mt-2 flex w-full flex-col gap-2",initial:"hidden",animate:"visible",variants:s?{}:{visible:{transition:{staggerChildren:.08,delayChildren:.25}}},children:i.actions.map(({icon:m,label:d,description:a,action:b})=>e.jsxs(T.button,{variants:s?{}:{hidden:{opacity:0,y:8},visible:{opacity:1,y:0}},transition:{duration:.25},className:"border-border hover:bg-accent/50 flex items-center gap-3 rounded-lg border px-4 py-3 text-left transition-colors",onClick:()=>n(b()),children:[e.jsx(m,{className:"text-muted-foreground size-4 shrink-0"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"text-sm font-medium",children:d}),e.jsx("span",{className:"text-muted-foreground ml-2 text-xs",children:a})]})]},d))})]})]})}function Rt({sourceLabel:t,people:n,following:s,onFollow:r,onStopFollowing:i,onDiscuss:u,discussing:m=!1}){const d=n.find(a=>a.id===s)??null;return t===void 0&&n.length===0&&u===void 0?null:e.jsxs("div",{className:"text-muted-foreground flex items-center gap-2 border-b px-3 py-1 text-xs",children:[t!==void 0&&e.jsx("span",{className:"min-w-0 flex-1 truncate",children:t}),t===void 0&&e.jsx("span",{className:"flex-1"}),u&&e.jsxs(C,{type:"button",variant:"ghost",size:"sm",className:"h-6 gap-1 px-1.5",disabled:m,onClick:u,children:[e.jsx($e,{className:"size-3.5"}),"Discuss"]}),n.length>0&&e.jsxs(Pe,{children:[e.jsx(Be,{asChild:!0,children:e.jsxs(C,{type:"button",variant:"ghost",size:"sm",className:A("h-6 gap-1 px-1.5",d&&"text-foreground"),children:[e.jsx(He,{className:"size-3.5"}),d?`Following ${d.displayName}`:"Follow"]})}),e.jsxs(Ve,{align:"end",children:[e.jsx(Ye,{children:"Follow somebody’s browser"}),n.map(a=>e.jsxs(Z,{onSelect:()=>a.id===s?i():r(a.id),children:[e.jsx(B,{"aria-hidden":!0,size:"xs",className:"size-4 shrink-0 text-[9px]",kind:a.kind,color:a.color??V(a.id),emoji:a.emoji,imageUrl:a.imageUrl,badge:null,fallback:H(a.displayName)}),e.jsx("span",{className:"min-w-0 flex-1 truncate",children:a.displayName}),a.id===s&&e.jsx(Ke,{className:"size-3.5 shrink-0"})]},a.id)),d&&e.jsx(Z,{onSelect:i,children:"Stop following"})]})]})]})}function Dt({roomId:t,document:n,reading:s}){const r=P(),i=We(),[u,m]=f.useState(null),d=f.useMemo(()=>lt({transport:r,queryClient:i,roomId:t}),[r,i,t]);return e.jsxs("div",{className:"flex h-full items-start justify-center p-6",children:[e.jsxs("div",{className:"bg-card shadow-soft w-full max-w-md space-y-3 rounded-lg border p-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(se,{className:"text-muted-foreground size-4 shrink-0"}),e.jsx("span",{className:"truncate text-sm font-medium",children:n.title||s.sourcePath})]}),e.jsx("p",{className:"text-muted-foreground font-mono text-xs break-all",children:s.sourcePath}),s.kind==="elsewhere"?e.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:s.sentence}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"A room file. Each save is recorded with your name."}),e.jsx(C,{type:"button",size:"sm",onClick:()=>m(s.sourcePath),children:"Open file"})]})]}),s.kind==="room-file"&&e.jsx(ct,{source:d,path:u,onClose:()=>m(null)})]})}const It=["image","pdf","audio","video","csv","model3d"];function zt(t){return/^(https?:|data:)/.test(t)}function Mt(t){if(t.type==="file"||t.type==="diff")return t.sourcePath;if(t.type==="markdown")return t.sourcePath??null;if(It.includes(t.type)){const n=t.src;return zt(n)?null:n}return null}function St(t){return t.type==="file"||t.type==="diff"||t.type==="markdown"}function Tt(t){const n=/^(?:in )?(.+?)['’]s /.exec(t.sourceLabel??"");return(n==null?void 0:n[1])??"another member"}function Ft(t){const n=Mt(t.content);if(n===null)return{kind:"inline"};if(t.treeKind==="room-main"||t.treeKind===void 0)return St(t.content)?{kind:"room-file",sourcePath:n}:{kind:"elsewhere",sourcePath:n,sentence:"This file is in the room’s files. Open it from Files in the Room tab."};if(t.content.type==="diff"&&t.treeKind==="worktree"&&typeof t.aheadOfMain=="number"&&t.aheadOfMain>0)return{kind:"worktree-diff",sourcePath:n,content:t.content};if(t.content.type==="markdown")return{kind:"inline"};const s=Tt(t);return{kind:"elsewhere",sourcePath:n,sentence:`${s.charAt(0).toUpperCase()}${s.slice(1)}’s project isn’t open to you. Ask them to share it, or open your copy.`}}function At(t){return t.title||t.contentType}function Ot({roomId:t,document:n,onUpdate:s}){const r=Ft(n);return r.kind==="worktree-diff"?e.jsx(Xe,{roomId:t,content:r.content,documentId:n.id,authorId:n.authorId}):r.kind!=="inline"?e.jsx(Dt,{roomId:t,document:n,reading:r}):n.content.type==="markdown"?e.jsx(st,{roomId:t,document:n,content:n.content,onSave:s}):e.jsx(ae,{documentId:n.id,content:n.content,onContentChange:()=>{}})}function ye({roomId:t,view:n}){var J;const s=ne(),r=y(o=>o.roomCanvasDocuments[t]),i=y(o=>{var l;return((l=o.roomCanvasActive[t])==null?void 0:l[n])??null}),u=y(o=>{var l;return(l=o.roomCanvasUnread[t])==null?void 0:l[n]}),m=y(o=>o.activateRoomCanvasDocument),d=y(o=>o.clearRoomCanvasUnread),a=y(o=>o.roomCanvasPresence[t]),b=tt(t),x=qe(t),p=P(),j=((J=x.data)==null?void 0:J.viewerAuthorId)??null,k=y(o=>o.roomCanvasEditing[t]??null),c=Je(o=>o.openThread),[_,g]=f.useState(!1),R=n==="browser"?t:null,{following:E,follow:L,stop:ge}=it(R),w=Ge(R),I=f.useRef(null),F=f.useCallback(async(o,l)=>{try{return await l(),!0}catch(M){return ee.error(o,{description:te(M)}),!1}},[]),z=f.useMemo(()=>Qe(r??[],n),[r,n]),v=z.find(o=>o.id===i)??null,W=(u==null?void 0:u.length)??0;f.useEffect(()=>{W>0&&d(t,n)},[W,d,t,n]);const be=f.useMemo(()=>{var G;const o=new Map(((G=x.data)==null?void 0:G.members.map(h=>[h.author.id,h.author]))??[]),l=h=>({id:h.id,displayName:h.displayName,kind:h.kind,...h.emoji?{emoji:h.emoji}:{},...h.color?{color:h.color}:{},...h.imageUrl?{imageUrl:h.imageUrl}:{}}),M=new Map;for(const[h,S]of Object.entries(a??{})){if(h===j)continue;const D=o.get(h);if(!D)continue;const Q=M.get(S);Q?Q.push(l(D)):M.set(S,[l(D)])}return z.map(h=>{const S=o.get(h.authorId),D=M.get(h.id);return{id:h.id,sourceLabel:At(h),contentType:h.content.type,pinned:h.pinned,unread:(u==null?void 0:u.includes(h.id))??!1,...S?{author:l(S)}:{},...D?{watchers:D}:{}}})},[z,x.data,u,a,j]);nt(t,(v==null?void 0:v.id)??null);const je=f.useMemo(()=>{var o;return(((o=x.data)==null?void 0:o.members)??[]).map(l=>l.author).filter(l=>l.kind==="human"&&l.id!==j).map(l=>({id:l.id,displayName:l.displayName,kind:l.kind,emoji:l.emoji,color:l.color,imageUrl:l.imageUrl}))},[x.data,j]),ke=y(o=>{if(i===null)return;const l=o.browserHistories[i];return l?l.stack[l.cursor]:void 0}),we=f.useCallback(()=>{var o;return((o=I.current)==null?void 0:o.scrollTop)??0},[]),Ce=f.useCallback(o=>{const l=I.current;return l?(l.addEventListener("scroll",o,{passive:!0}),()=>l.removeEventListener("scroll",o)):()=>{}},[]);xt({roomId:R,viewerAuthorId:j,documentId:i,url:ke,readScrollY:we,subscribe:Ce});const q=f.useMemo(()=>z.map(o=>o.id).join("\0"),[z]);f.useEffect(()=>{if(!(w===null||k!==null)&&q.split("\0").includes(w.documentId)){if(w.documentId!==i){m(t,w.documentId);return}w.scrollY!==void 0&&I.current&&(I.current.scrollTop=w.scrollY)}},[w,k,i,q,m,t]);const Ne=f.useCallback(()=>{v!==null&&(g(!0),p.discussCanvasDocument(t,v.id).then(o=>c(t,o.threadRootEntryId,!1)).catch(o=>{ee.error("Couldn’t start a discussion.",{description:te(o)})}).finally(()=>g(!1)))},[v,p,t,c]),Re=Y(n);return e.jsxs(e.Fragment,{children:[!s&&e.jsx(he,{view:n,documents:be,activeDocumentId:i,onActivate:o=>m(t,o),onClose:o=>void F("Couldn’t take that off the canvas.",()=>b.close(o)),onPin:(o,l)=>void F(l?"Couldn’t pin that.":"Couldn’t unpin that.",()=>b.pin(o,l))}),e.jsx(Rt,{sourceLabel:v==null?void 0:v.sourceLabel,people:n==="browser"?je:[],following:E,onFollow:L,onStopFollowing:ge,onDiscuss:v===null?void 0:Ne,discussing:_}),e.jsx("div",{id:Re,ref:I,tabIndex:-1,className:"min-h-0 flex-1 overflow-auto focus-visible:outline-none",...!s&&v?{role:"tabpanel","aria-labelledby":K(v.id)}:{},children:v?e.jsx(fe,{documentId:v.id,children:e.jsx(Ot,{roomId:t,document:v,onUpdate:(o,l)=>F("Couldn’t save that for the room.",()=>b.update(o,l))})},v.id):e.jsx(xe,{view:n,onAction:o=>void F("Couldn’t put that on the canvas.",()=>b.open(o))})})]})}function ve({view:t}){const n=ne(),s=y(c=>c.openDocuments),r=y(c=>t==="browser"?c.activeBrowserDocumentId:c.activeCanvasDocumentId),i=y(c=>c.activateCanvasDocument),u=y(c=>c.closeCanvasDocument),m=y(c=>c.setDocumentContent),d=y(c=>c.openCanvasDocument),a=y(c=>c.applyHeldUpdate),b=y(c=>c.discardHeldUpdate),x=Ze(s,t),p=x.find(c=>c.id===r)??null,j=x.map(c=>({id:c.id,sourceLabel:c.sourceLabel,contentType:c.content.type})),k=Y(t);return e.jsxs(e.Fragment,{children:[!n&&e.jsx(he,{view:t,documents:j,activeDocumentId:r,onActivate:i,onClose:u}),(p==null?void 0:p.heldUpdate)&&e.jsx(Ct,{onReload:()=>a(p.id),onKeepMine:()=>b(p.id)}),e.jsx("div",{id:k,tabIndex:-1,className:"min-h-0 flex-1 overflow-auto focus-visible:outline-none",...!n&&p?{role:"tabpanel","aria-labelledby":K(p.id)}:{},children:p?e.jsx(fe,{documentId:p.id,children:e.jsx(ae,{documentId:p.id,content:p.content,onContentChange:c=>m(p.id,c)})},p.id):e.jsx(xe,{view:t,onAction:d})})]})}function rn(){const t=y(n=>n.roomCanvasLiveRoomId);return e.jsx("div",{"data-slot":"canvas",className:"flex h-full flex-col overflow-hidden",children:t?e.jsx(ye,{roomId:t,view:"canvas"}):e.jsx(ve,{view:"canvas"})})}function ln(){const t=y(n=>n.roomCanvasLiveRoomId);return e.jsx("div",{"data-slot":"browser",className:"flex h-full flex-col overflow-hidden",children:t?e.jsx(ye,{roomId:t,view:"browser"}):e.jsx(ve,{view:"browser"})})}export{ln as BrowserContent,rn as CanvasContent,un as CanvasWidgetContent,mn as resetSessionCanvasImport,pn as useDevtoolsBridge,hn as useDocChannel,fn as useSessionCanvas};
38
+ Start writing…`,title:"Document"})},{icon:le,label:"JSON",description:"Inspect structured data",action:()=>({type:"json",data:{message:"Your data here"},title:"JSON data"})}]},browser:{heading:"No page open",blurb:"This tab shows web pages: your files, dev servers, or sites from your agent.",actions:[{icon:O,label:"Web page",description:"Open a page, then type any address",action:()=>({type:"url",url:Ue.site,title:"Web Page"})}]}};function $(t,n,s,r){return t.split("").reduce((u,m)=>u+m.charCodeAt(0),0)*(n+1)*7%(r-s)+s}function xe({view:t,onAction:n}){const s=Ee(),r=f.useId(),i=Nt[t],u=f.useMemo(()=>Array.from({length:6},(m,d)=>({x:$(r,d*3,10,90),y:$(r,d*3+1,10,80),size:$(r,d*3+2,24,56),delay:d*.4})),[r]);return e.jsxs("div",{className:"relative flex h-full flex-col items-center justify-center overflow-hidden px-6",children:[!s&&u.map((m,d)=>e.jsx(T.div,{className:"border-border/40 absolute rounded-lg border",style:{left:`${m.x}%`,top:`${m.y}%`,width:m.size,height:m.size},initial:{opacity:0,scale:.6,rotate:-10},animate:{opacity:[0,.15,.08,.15],scale:[.6,1,.9,1],rotate:[-10,0,5,0]},transition:{duration:8,delay:m.delay,repeat:1/0,repeatType:"reverse",ease:"easeInOut"}},d)),e.jsxs(T.div,{className:"relative z-10 flex max-w-sm flex-col items-center gap-6 text-center",initial:s?!1:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.4,ease:"easeOut"},children:[e.jsx(T.div,{className:"bg-muted/50 text-muted-foreground flex size-14 items-center justify-center rounded-2xl",initial:s?!1:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{duration:.3,delay:.1},children:t==="browser"?e.jsx(O,{className:"size-7"}):e.jsx(Le,{className:"size-7"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h2",{className:"text-lg font-semibold tracking-tight",children:i.heading}),e.jsxs("p",{className:"text-muted-foreground text-sm leading-relaxed",children:[i.blurb,e.jsx("br",{}),"Or pick a starting point below."]})]}),e.jsx(T.div,{className:"mt-2 flex w-full flex-col gap-2",initial:"hidden",animate:"visible",variants:s?{}:{visible:{transition:{staggerChildren:.08,delayChildren:.25}}},children:i.actions.map(({icon:m,label:d,description:a,action:b})=>e.jsxs(T.button,{variants:s?{}:{hidden:{opacity:0,y:8},visible:{opacity:1,y:0}},transition:{duration:.25},className:"border-border hover:bg-accent/50 flex items-center gap-3 rounded-lg border px-4 py-3 text-left transition-colors",onClick:()=>n(b()),children:[e.jsx(m,{className:"text-muted-foreground size-4 shrink-0"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"text-sm font-medium",children:d}),e.jsx("span",{className:"text-muted-foreground ml-2 text-xs",children:a})]})]},d))})]})]})}function Rt({sourceLabel:t,people:n,following:s,onFollow:r,onStopFollowing:i,onDiscuss:u,discussing:m=!1}){const d=n.find(a=>a.id===s)??null;return t===void 0&&n.length===0&&u===void 0?null:e.jsxs("div",{className:"text-muted-foreground flex items-center gap-2 border-b px-3 py-1 text-xs",children:[t!==void 0&&e.jsx("span",{className:"min-w-0 flex-1 truncate",children:t}),t===void 0&&e.jsx("span",{className:"flex-1"}),u&&e.jsxs(C,{type:"button",variant:"ghost",size:"sm",className:"h-6 gap-1 px-1.5",disabled:m,onClick:u,children:[e.jsx($e,{className:"size-3.5"}),"Discuss"]}),n.length>0&&e.jsxs(Pe,{children:[e.jsx(Be,{asChild:!0,children:e.jsxs(C,{type:"button",variant:"ghost",size:"sm",className:F("h-6 gap-1 px-1.5",d&&"text-foreground"),children:[e.jsx(He,{className:"size-3.5"}),d?`Following ${d.displayName}`:"Follow"]})}),e.jsxs(Ve,{align:"end",children:[e.jsx(Ye,{children:"Follow somebody’s browser"}),n.map(a=>e.jsxs(Z,{onSelect:()=>a.id===s?i():r(a.id),children:[e.jsx(B,{"aria-hidden":!0,size:"xs",className:"size-4 shrink-0 text-[9px]",kind:a.kind,color:a.color??V(a.id),emoji:a.emoji,imageUrl:a.imageUrl,badge:null,fallback:H(a.displayName)}),e.jsx("span",{className:"min-w-0 flex-1 truncate",children:a.displayName}),a.id===s&&e.jsx(Ke,{className:"size-3.5 shrink-0"})]},a.id)),d&&e.jsx(Z,{onSelect:i,children:"Stop following"})]})]})]})}function Dt({roomId:t,document:n,reading:s}){const r=P(),i=We(),[u,m]=f.useState(null),d=f.useMemo(()=>lt({transport:r,queryClient:i,roomId:t}),[r,i,t]);return e.jsxs("div",{className:"flex h-full items-start justify-center p-6",children:[e.jsxs("div",{className:"bg-card shadow-soft w-full max-w-md space-y-3 rounded-lg border p-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(se,{className:"text-muted-foreground size-4 shrink-0"}),e.jsx("span",{className:"truncate text-sm font-medium",children:n.title||s.sourcePath})]}),e.jsx("p",{className:"text-muted-foreground font-mono text-xs break-all",children:s.sourcePath}),s.kind==="elsewhere"?e.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:s.sentence}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"A room file. Each save is recorded with your name."}),e.jsx(C,{type:"button",size:"sm",onClick:()=>m(s.sourcePath),children:"Open file"})]})]}),s.kind==="room-file"&&e.jsx(ct,{source:d,path:u,onClose:()=>m(null)})]})}const It=["image","pdf","audio","video","csv","model3d"];function zt(t){return/^(https?:|data:)/.test(t)}function Mt(t){if(t.type==="file"||t.type==="diff")return t.sourcePath;if(t.type==="markdown")return t.sourcePath??null;if(It.includes(t.type)){const n=t.src;return zt(n)?null:n}return null}function St(t){return t.type==="file"||t.type==="diff"||t.type==="markdown"}function Tt(t){const n=/^(?:in )?(.+?)['’]s /.exec(t.sourceLabel??"");return(n==null?void 0:n[1])??"another member"}function At(t){const n=Mt(t.content);if(n===null)return{kind:"inline"};if(t.treeKind==="room-main"||t.treeKind===void 0)return St(t.content)?{kind:"room-file",sourcePath:n}:{kind:"elsewhere",sourcePath:n,sentence:"This file is in the room’s files. Open it from Files in the Room tab."};if(t.content.type==="diff"&&t.treeKind==="worktree"&&typeof t.aheadOfMain=="number"&&t.aheadOfMain>0)return{kind:"worktree-diff",sourcePath:n,content:t.content};if(t.content.type==="markdown")return{kind:"inline"};const s=Tt(t);return{kind:"elsewhere",sourcePath:n,sentence:`${s.charAt(0).toUpperCase()}${s.slice(1)}’s project isn’t open to you. Ask them to share it, or open your copy.`}}function Ft(t){return t.title||t.contentType}function Ot({roomId:t,document:n,onUpdate:s}){const r=At(n);return r.kind==="worktree-diff"?e.jsx(Xe,{roomId:t,content:r.content,documentId:n.id,authorId:n.authorId}):r.kind!=="inline"?e.jsx(Dt,{roomId:t,document:n,reading:r}):n.content.type==="markdown"?e.jsx(st,{roomId:t,document:n,content:n.content,onSave:s}):e.jsx(ae,{documentId:n.id,content:n.content,onContentChange:()=>{}})}function ye({roomId:t,view:n}){var G;const s=ne(),r=y(o=>o.roomCanvasDocuments[t]),i=y(o=>{var l;return((l=o.roomCanvasActive[t])==null?void 0:l[n])??null}),u=y(o=>{var l;return(l=o.roomCanvasUnread[t])==null?void 0:l[n]}),m=y(o=>o.activateRoomCanvasDocument),d=y(o=>o.clearRoomCanvasUnread),a=y(o=>o.roomCanvasPresence[t]),b=tt(t),x=qe(t),p=P(),j=((G=x.data)==null?void 0:G.viewerAuthorId)??null,k=y(o=>o.roomCanvasEditing[t]??null),c=Ge(o=>o.openThread),[_,g]=f.useState(!1),R=n==="browser"?t:null,{following:E,follow:L,stop:ge}=it(R),w=Je(R),I=f.useRef(null),A=f.useCallback(async(o,l)=>{try{return await l(),!0}catch(M){return ee.error(o,{description:te(M)}),!1}},[]),z=f.useMemo(()=>Qe(r??[],n),[r,n]),v=z.find(o=>o.id===i)??null,W=(u==null?void 0:u.length)??0;f.useEffect(()=>{W>0&&d(t,n)},[W,d,t,n]);const be=f.useMemo(()=>{var J;const o=new Map(((J=x.data)==null?void 0:J.members.map(h=>[h.author.id,h.author]))??[]),l=h=>({id:h.id,displayName:h.displayName,kind:h.kind,...h.emoji?{emoji:h.emoji}:{},...h.color?{color:h.color}:{},...h.imageUrl?{imageUrl:h.imageUrl}:{}}),M=new Map;for(const[h,S]of Object.entries(a??{})){if(h===j)continue;const D=o.get(h);if(!D)continue;const Q=M.get(S);Q?Q.push(l(D)):M.set(S,[l(D)])}return z.map(h=>{const S=o.get(h.authorId),D=M.get(h.id);return{id:h.id,sourceLabel:Ft(h),contentType:h.content.type,pinned:h.pinned,unread:(u==null?void 0:u.includes(h.id))??!1,...S?{author:l(S)}:{},...D?{watchers:D}:{}}})},[z,x.data,u,a,j]);nt(t,(v==null?void 0:v.id)??null);const je=f.useMemo(()=>{var o;return(((o=x.data)==null?void 0:o.members)??[]).map(l=>l.author).filter(l=>l.kind==="human"&&l.id!==j).map(l=>({id:l.id,displayName:l.displayName,kind:l.kind,emoji:l.emoji,color:l.color,imageUrl:l.imageUrl}))},[x.data,j]),ke=y(o=>{if(i===null)return;const l=o.browserHistories[i];return l?l.stack[l.cursor]:void 0}),we=f.useCallback(()=>{var o;return((o=I.current)==null?void 0:o.scrollTop)??0},[]),Ce=f.useCallback(o=>{const l=I.current;return l?(l.addEventListener("scroll",o,{passive:!0}),()=>l.removeEventListener("scroll",o)):()=>{}},[]);xt({roomId:R,viewerAuthorId:j,documentId:i,url:ke,readScrollY:we,subscribe:Ce});const q=f.useMemo(()=>z.map(o=>o.id).join("\0"),[z]);f.useEffect(()=>{if(!(w===null||k!==null)&&q.split("\0").includes(w.documentId)){if(w.documentId!==i){m(t,w.documentId);return}w.scrollY!==void 0&&I.current&&(I.current.scrollTop=w.scrollY)}},[w,k,i,q,m,t]);const Ne=f.useCallback(()=>{v!==null&&(g(!0),p.discussCanvasDocument(t,v.id).then(o=>c(t,o.threadRootEntryId,!1)).catch(o=>{ee.error("Couldn’t start a discussion.",{description:te(o)})}).finally(()=>g(!1)))},[v,p,t,c]),Re=Y(n);return e.jsxs(e.Fragment,{children:[!s&&e.jsx(he,{view:n,documents:be,activeDocumentId:i,onActivate:o=>m(t,o),onClose:o=>void A("Couldn’t take that off the canvas.",()=>b.close(o)),onPin:(o,l)=>void A(l?"Couldn’t pin that.":"Couldn’t unpin that.",()=>b.pin(o,l))}),e.jsx(Rt,{sourceLabel:v==null?void 0:v.sourceLabel,people:n==="browser"?je:[],following:E,onFollow:L,onStopFollowing:ge,onDiscuss:v===null?void 0:Ne,discussing:_}),e.jsx("div",{id:Re,ref:I,tabIndex:-1,className:"min-h-0 flex-1 overflow-auto focus-visible:outline-none",...!s&&v?{role:"tabpanel","aria-labelledby":K(v.id)}:{},children:v?e.jsx(fe,{documentId:v.id,children:e.jsx(Ot,{roomId:t,document:v,onUpdate:(o,l)=>A("Couldn’t save that for the room.",()=>b.update(o,l))})},v.id):e.jsx(xe,{view:n,onAction:o=>void A("Couldn’t put that on the canvas.",()=>b.open(o))})})]})}function ve({view:t}){const n=ne(),s=y(c=>c.openDocuments),r=y(c=>t==="browser"?c.activeBrowserDocumentId:c.activeCanvasDocumentId),i=y(c=>c.activateCanvasDocument),u=y(c=>c.closeCanvasDocument),m=y(c=>c.setDocumentContent),d=y(c=>c.openCanvasDocument),a=y(c=>c.applyHeldUpdate),b=y(c=>c.discardHeldUpdate),x=Ze(s,t),p=x.find(c=>c.id===r)??null,j=x.map(c=>({id:c.id,sourceLabel:c.sourceLabel,contentType:c.content.type})),k=Y(t);return e.jsxs(e.Fragment,{children:[!n&&e.jsx(he,{view:t,documents:j,activeDocumentId:r,onActivate:i,onClose:u}),(p==null?void 0:p.heldUpdate)&&e.jsx(Ct,{onReload:()=>a(p.id),onKeepMine:()=>b(p.id)}),e.jsx("div",{id:k,tabIndex:-1,className:"min-h-0 flex-1 overflow-auto focus-visible:outline-none",...!n&&p?{role:"tabpanel","aria-labelledby":K(p.id)}:{},children:p?e.jsx(fe,{documentId:p.id,children:e.jsx(ae,{documentId:p.id,content:p.content,onContentChange:c=>m(p.id,c)})},p.id):e.jsx(xe,{view:t,onAction:d})})]})}function rn(){const t=y(n=>n.roomCanvasLiveRoomId);return e.jsx("div",{"data-slot":"canvas",className:"flex h-full flex-col overflow-hidden",children:t?e.jsx(ye,{roomId:t,view:"canvas"}):e.jsx(ve,{view:"canvas"})})}function ln(){const t=y(n=>n.roomCanvasLiveRoomId);return e.jsx("div",{"data-slot":"browser",className:"flex h-full flex-col overflow-hidden",children:t?e.jsx(ye,{roomId:t,view:"browser"}):e.jsx(ve,{view:"browser"})})}export{ln as BrowserContent,rn as CanvasContent,un as CanvasWidgetContent,mn as resetSessionCanvasImport,pn as useDevtoolsBridge,hn as useDocChannel,fn as useSessionCanvas};
@@ -1 +1 @@
1
- import{r as c,j as Ce}from"./index-8-iQ6PnT.js";import{a4 as xe,a5 as Ee,a6 as _e,a7 as Te,a8 as Oe,a9 as $e,aa as Le,ab as Me,ac as We,ad as Be,ae as Ne,af as Ke,ag as we,ah as De,q as Y,ai as He,aj as Se,ak as Ie,al as je,am as Ae,an as Ue,ao as ze,ap as Ge,aq as Re,$ as Fe,Z as pe,ar as Pe,E as g,as as Ve,t as a,at as qe,au as Je,S as Ye,av as Ze}from"./index-Czm6C7FZ.js";function ie(){return ie=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ie.apply(null,arguments)}function Qe(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var ce=function(t){t===void 0&&(t={});var r=t,n=r.crosshairCursor,h=n===void 0?!1:n,o=[];t.closeBracketsKeymap!==!1&&(o=o.concat(xe)),t.defaultKeymap!==!1&&(o=o.concat(Ee)),t.searchKeymap!==!1&&(o=o.concat(_e)),t.historyKeymap!==!1&&(o=o.concat(Te)),t.foldKeymap!==!1&&(o=o.concat(Oe)),t.completionKeymap!==!1&&(o=o.concat($e)),t.lintKeymap!==!1&&(o=o.concat(Le));var i=[];return t.lineNumbers!==!1&&i.push(Me()),t.highlightActiveLineGutter!==!1&&i.push(We()),t.highlightSpecialChars!==!1&&i.push(Be()),t.history!==!1&&i.push(Ne()),t.foldGutter!==!1&&i.push(Ke()),t.drawSelection!==!1&&i.push(we()),t.dropCursor!==!1&&i.push(De()),t.allowMultipleSelections!==!1&&i.push(Y.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(He()),t.syntaxHighlighting!==!1&&i.push(Se(Pe,{fallback:!0})),t.bracketMatching!==!1&&i.push(Ie()),t.closeBrackets!==!1&&i.push(je()),t.autocompletion!==!1&&i.push(Ae()),t.rectangularSelection!==!1&&i.push(Ue()),h!==!1&&i.push(ze()),t.highlightActiveLine!==!1&&i.push(Ge()),t.highlightSelectionMatches!==!1&&i.push(Re()),t.tabSize&&typeof t.tabSize=="number"&&i.push(Fe.of(" ".repeat(t.tabSize))),i.concat([pe.of(o.flat())]).filter(Boolean)};const Xe="#e5c07b",he="#e06c75",et="#56b6c2",tt="#ffffff",J="#abb2bf",re="#7d8799",at="#61afef",it="#98c379",ue="#d19a66",rt="#c678dd",nt="#21252b",de="#2c313a",fe="#282c34",ee="#353a42",ot="#3E4451",me="#528bff",st=g.theme({"&":{color:J,backgroundColor:fe},".cm-content":{caretColor:me},".cm-cursor, .cm-dropCursor":{borderLeftColor:me},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:ot},".cm-panels":{backgroundColor:nt,color:J},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:fe,color:re,border:"none"},".cm-activeLineGutter":{backgroundColor:de},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:ee},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:ee,borderBottomColor:ee},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:de,color:J}}},{dark:!0}),lt=Ve.define([{tag:a.keyword,color:rt},{tag:[a.name,a.deleted,a.character,a.propertyName,a.macroName],color:he},{tag:[a.function(a.variableName),a.labelName],color:at},{tag:[a.color,a.constant(a.name),a.standard(a.name)],color:ue},{tag:[a.definition(a.name),a.separator],color:J},{tag:[a.typeName,a.className,a.number,a.changed,a.annotation,a.modifier,a.self,a.namespace],color:Xe},{tag:[a.operator,a.operatorKeyword,a.url,a.escape,a.regexp,a.link,a.special(a.string)],color:et},{tag:[a.meta,a.comment],color:re},{tag:a.strong,fontWeight:"bold"},{tag:a.emphasis,fontStyle:"italic"},{tag:a.strikethrough,textDecoration:"line-through"},{tag:a.link,color:re,textDecoration:"underline"},{tag:a.heading,fontWeight:"bold",color:he},{tag:[a.atom,a.bool,a.special(a.variableName)],color:ue},{tag:[a.processingInstruction,a.string,a.inserted],color:it},{tag:a.invalid,color:tt}]),ct=[st,Se(lt)];var ht=g.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),ut=function(t){t===void 0&&(t={});var r=t,n=r.indentWithTab,h=n===void 0?!0:n,o=r.editable,i=o===void 0?!0:o,b=r.readOnly,_=b===void 0?!1:b,v=r.theme,S=v===void 0?"light":v,p=r.placeholder,y=p===void 0?"":p,m=r.basicSetup,u=m===void 0?!0:m,l=[];switch(h&&l.unshift(pe.of([qe])),u&&(typeof u=="boolean"?l.unshift(ce()):l.unshift(ce(u))),y&&l.unshift(Je(y)),S){case"light":l.push(ht);break;case"dark":l.push(ct);break;case"none":break;default:l.push(S);break}return i===!1&&l.push(g.editable.of(!1)),_&&l.push(Y.readOnly.of(!0)),[...l]},dt=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class ft{constructor(t,r){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=r,this.timeoutMS=r,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(r=>{try{r()}catch(n){console.error("TimeoutLatch callback error:",n)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class ge{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var te=null,mt=()=>typeof window>"u"?new ge:(te||(te=new ge),te),gt=g.theme({"& .cm-scroller":{height:"100% !important"}}),be=null,ae=null;function bt(e,t,r,n,h,o){if(!e&&!t&&!r&&!n&&!h&&!o)return null;var i=JSON.stringify({height:e,minHeight:t,maxHeight:r,width:n,minWidth:h,maxWidth:o});return i===be||(be=i,ae=g.theme({"&":{height:e,minHeight:t,maxHeight:r,width:n,minWidth:h,maxWidth:o}})),ae}var ve=Ze.define(),vt=200,St=[];function pt(e){var t=e.value,r=e.selection,n=e.onChange,h=e.onStatistics,o=e.onCreateEditor,i=e.onUpdate,b=e.extensions,_=b===void 0?St:b,v=e.autoFocus,S=e.theme,p=S===void 0?"light":S,y=e.height,m=y===void 0?null:y,u=e.minHeight,l=u===void 0?null:u,W=e.maxHeight,B=W===void 0?null:W,N=e.width,K=N===void 0?null:N,w=e.minWidth,D=w===void 0?null:w,H=e.maxWidth,I=H===void 0?null:H,j=e.placeholder,A=j===void 0?"":j,U=e.editable,z=U===void 0?!0:U,G=e.readOnly,T=G===void 0?!1:G,k=e.indentWithTab,O=k===void 0?!0:k,$=e.basicSetup,R=$===void 0?!0:$,F=e.root,L=e.initialState,P=c.useState(),C=P[0],ne=P[1],oe=c.useState(),s=oe[0],V=oe[1],se=c.useState(),Z=se[0],Q=se[1],d=c.useState(()=>({current:null}))[0],q=c.useState(()=>({current:null}))[0],le=bt(m,l,B,K,D,I),ye=g.updateListener.of(f=>{if(f.docChanged&&typeof n=="function"&&!f.transactions.some(X=>X.annotation(ve))){d.current?d.current.reset():(d.current=new ft(()=>{if(q.current){var X=q.current;q.current=null,X()}d.current=null},vt),mt().add(d.current));var x=f.state.doc,E=x.toString();n(E,f)}h&&h(dt(f))}),ke=ut({theme:p,editable:z,readOnly:T,placeholder:A,indentWithTab:O,basicSetup:R}),M=[ye,...le?[le]:[],gt,...ke];return i&&typeof i=="function"&&M.push(g.updateListener.of(i)),M=M.concat(_),c.useLayoutEffect(()=>{if(C&&!Z){var f={doc:t,selection:r,extensions:M},x=L?Y.fromJSON(L.json,f,L.fields):Y.create(f);if(Q(x),!s){var E=new g({state:x,parent:C,root:F});V(E),o&&o(E,x)}}return()=>{s&&(Q(void 0),V(void 0))}},[C,Z]),c.useEffect(()=>{e.container&&ne(e.container)},[e.container]),c.useEffect(()=>()=>{s&&(s.destroy(),V(void 0)),d.current&&(d.current.cancel(),d.current=null)},[s]),c.useEffect(()=>{v&&s&&s.focus()},[v,s]),c.useEffect(()=>{s&&s.dispatch({effects:Ye.reconfigure.of(M)})},[p,_,m,l,B,K,D,I,A,z,T,O,R,n,i]),c.useEffect(()=>{if(t!==void 0){var f=s?s.state.doc.toString():"";if(s&&t!==f){var x=d.current&&!d.current.isDone,E=()=>{s&&t!==s.state.doc.toString()&&s.dispatch({changes:{from:0,to:s.state.doc.toString().length,insert:t||""},annotations:[ve.of(!0)]})};x?q.current=E:E()}}},[t,s]),{state:Z,setState:Q,view:s,setView:V,container:C,setContainer:ne}}var yt=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],kt=c.forwardRef((e,t)=>{var r=e.className,n=e.value,h=n===void 0?"":n,o=e.selection,i=e.extensions,b=i===void 0?[]:i,_=e.onChange,v=e.onStatistics,S=e.onCreateEditor,p=e.onUpdate,y=e.autoFocus,m=e.theme,u=m===void 0?"light":m,l=e.height,W=e.minHeight,B=e.maxHeight,N=e.width,K=e.minWidth,w=e.maxWidth,D=e.basicSetup,H=e.placeholder,I=e.indentWithTab,j=e.editable,A=e.readOnly,U=e.root,z=e.initialState,G=Qe(e,yt),T=c.useRef(null),k=pt({root:U,value:h,autoFocus:y,theme:u,height:l,minHeight:W,maxHeight:B,width:N,minWidth:K,maxWidth:w,basicSetup:D,placeholder:H,indentWithTab:I,editable:j,readOnly:A,selection:o,onChange:_,onStatistics:v,onCreateEditor:S,onUpdate:p,extensions:b,initialState:z}),O=k.state,$=k.view,R=k.container,F=k.setContainer;c.useImperativeHandle(t,()=>({editor:T.current,state:O,view:$}),[T,R,O,$]);var L=c.useCallback(C=>{T.current=C,F(C)},[F]);if(typeof h!="string")throw new Error("value must be typeof string but got "+typeof h);var P=typeof u=="string"?"cm-theme-"+u:"cm-theme";return Ce.jsx("div",ie({ref:L,className:""+P+(r?" "+r:"")},G))});kt.displayName="CodeMirror";export{kt as R};
1
+ import{r as c,j as Ce}from"./index-Cga0qx1T.js";import{a4 as xe,a5 as Ee,a6 as _e,a7 as Te,a8 as Oe,a9 as $e,aa as Le,ab as Me,ac as We,ad as Be,ae as Ne,af as Ke,ag as we,ah as De,q as Y,ai as He,aj as Se,ak as Ie,al as je,am as Ae,an as Ue,ao as ze,ap as Ge,aq as Re,$ as Fe,Z as pe,ar as Pe,E as g,as as Ve,t as a,at as qe,au as Je,S as Ye,av as Ze}from"./index-AzyLwYS_.js";function ie(){return ie=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ie.apply(null,arguments)}function Qe(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var ce=function(t){t===void 0&&(t={});var r=t,n=r.crosshairCursor,h=n===void 0?!1:n,o=[];t.closeBracketsKeymap!==!1&&(o=o.concat(xe)),t.defaultKeymap!==!1&&(o=o.concat(Ee)),t.searchKeymap!==!1&&(o=o.concat(_e)),t.historyKeymap!==!1&&(o=o.concat(Te)),t.foldKeymap!==!1&&(o=o.concat(Oe)),t.completionKeymap!==!1&&(o=o.concat($e)),t.lintKeymap!==!1&&(o=o.concat(Le));var i=[];return t.lineNumbers!==!1&&i.push(Me()),t.highlightActiveLineGutter!==!1&&i.push(We()),t.highlightSpecialChars!==!1&&i.push(Be()),t.history!==!1&&i.push(Ne()),t.foldGutter!==!1&&i.push(Ke()),t.drawSelection!==!1&&i.push(we()),t.dropCursor!==!1&&i.push(De()),t.allowMultipleSelections!==!1&&i.push(Y.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(He()),t.syntaxHighlighting!==!1&&i.push(Se(Pe,{fallback:!0})),t.bracketMatching!==!1&&i.push(Ie()),t.closeBrackets!==!1&&i.push(je()),t.autocompletion!==!1&&i.push(Ae()),t.rectangularSelection!==!1&&i.push(Ue()),h!==!1&&i.push(ze()),t.highlightActiveLine!==!1&&i.push(Ge()),t.highlightSelectionMatches!==!1&&i.push(Re()),t.tabSize&&typeof t.tabSize=="number"&&i.push(Fe.of(" ".repeat(t.tabSize))),i.concat([pe.of(o.flat())]).filter(Boolean)};const Xe="#e5c07b",he="#e06c75",et="#56b6c2",tt="#ffffff",J="#abb2bf",re="#7d8799",at="#61afef",it="#98c379",ue="#d19a66",rt="#c678dd",nt="#21252b",de="#2c313a",fe="#282c34",ee="#353a42",ot="#3E4451",me="#528bff",st=g.theme({"&":{color:J,backgroundColor:fe},".cm-content":{caretColor:me},".cm-cursor, .cm-dropCursor":{borderLeftColor:me},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:ot},".cm-panels":{backgroundColor:nt,color:J},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:fe,color:re,border:"none"},".cm-activeLineGutter":{backgroundColor:de},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:ee},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:ee,borderBottomColor:ee},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:de,color:J}}},{dark:!0}),lt=Ve.define([{tag:a.keyword,color:rt},{tag:[a.name,a.deleted,a.character,a.propertyName,a.macroName],color:he},{tag:[a.function(a.variableName),a.labelName],color:at},{tag:[a.color,a.constant(a.name),a.standard(a.name)],color:ue},{tag:[a.definition(a.name),a.separator],color:J},{tag:[a.typeName,a.className,a.number,a.changed,a.annotation,a.modifier,a.self,a.namespace],color:Xe},{tag:[a.operator,a.operatorKeyword,a.url,a.escape,a.regexp,a.link,a.special(a.string)],color:et},{tag:[a.meta,a.comment],color:re},{tag:a.strong,fontWeight:"bold"},{tag:a.emphasis,fontStyle:"italic"},{tag:a.strikethrough,textDecoration:"line-through"},{tag:a.link,color:re,textDecoration:"underline"},{tag:a.heading,fontWeight:"bold",color:he},{tag:[a.atom,a.bool,a.special(a.variableName)],color:ue},{tag:[a.processingInstruction,a.string,a.inserted],color:it},{tag:a.invalid,color:tt}]),ct=[st,Se(lt)];var ht=g.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),ut=function(t){t===void 0&&(t={});var r=t,n=r.indentWithTab,h=n===void 0?!0:n,o=r.editable,i=o===void 0?!0:o,b=r.readOnly,_=b===void 0?!1:b,v=r.theme,S=v===void 0?"light":v,p=r.placeholder,y=p===void 0?"":p,m=r.basicSetup,u=m===void 0?!0:m,l=[];switch(h&&l.unshift(pe.of([qe])),u&&(typeof u=="boolean"?l.unshift(ce()):l.unshift(ce(u))),y&&l.unshift(Je(y)),S){case"light":l.push(ht);break;case"dark":l.push(ct);break;case"none":break;default:l.push(S);break}return i===!1&&l.push(g.editable.of(!1)),_&&l.push(Y.readOnly.of(!0)),[...l]},dt=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class ft{constructor(t,r){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=r,this.timeoutMS=r,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(r=>{try{r()}catch(n){console.error("TimeoutLatch callback error:",n)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class ge{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var te=null,mt=()=>typeof window>"u"?new ge:(te||(te=new ge),te),gt=g.theme({"& .cm-scroller":{height:"100% !important"}}),be=null,ae=null;function bt(e,t,r,n,h,o){if(!e&&!t&&!r&&!n&&!h&&!o)return null;var i=JSON.stringify({height:e,minHeight:t,maxHeight:r,width:n,minWidth:h,maxWidth:o});return i===be||(be=i,ae=g.theme({"&":{height:e,minHeight:t,maxHeight:r,width:n,minWidth:h,maxWidth:o}})),ae}var ve=Ze.define(),vt=200,St=[];function pt(e){var t=e.value,r=e.selection,n=e.onChange,h=e.onStatistics,o=e.onCreateEditor,i=e.onUpdate,b=e.extensions,_=b===void 0?St:b,v=e.autoFocus,S=e.theme,p=S===void 0?"light":S,y=e.height,m=y===void 0?null:y,u=e.minHeight,l=u===void 0?null:u,W=e.maxHeight,B=W===void 0?null:W,N=e.width,K=N===void 0?null:N,w=e.minWidth,D=w===void 0?null:w,H=e.maxWidth,I=H===void 0?null:H,j=e.placeholder,A=j===void 0?"":j,U=e.editable,z=U===void 0?!0:U,G=e.readOnly,T=G===void 0?!1:G,k=e.indentWithTab,O=k===void 0?!0:k,$=e.basicSetup,R=$===void 0?!0:$,F=e.root,L=e.initialState,P=c.useState(),C=P[0],ne=P[1],oe=c.useState(),s=oe[0],V=oe[1],se=c.useState(),Z=se[0],Q=se[1],d=c.useState(()=>({current:null}))[0],q=c.useState(()=>({current:null}))[0],le=bt(m,l,B,K,D,I),ye=g.updateListener.of(f=>{if(f.docChanged&&typeof n=="function"&&!f.transactions.some(X=>X.annotation(ve))){d.current?d.current.reset():(d.current=new ft(()=>{if(q.current){var X=q.current;q.current=null,X()}d.current=null},vt),mt().add(d.current));var x=f.state.doc,E=x.toString();n(E,f)}h&&h(dt(f))}),ke=ut({theme:p,editable:z,readOnly:T,placeholder:A,indentWithTab:O,basicSetup:R}),M=[ye,...le?[le]:[],gt,...ke];return i&&typeof i=="function"&&M.push(g.updateListener.of(i)),M=M.concat(_),c.useLayoutEffect(()=>{if(C&&!Z){var f={doc:t,selection:r,extensions:M},x=L?Y.fromJSON(L.json,f,L.fields):Y.create(f);if(Q(x),!s){var E=new g({state:x,parent:C,root:F});V(E),o&&o(E,x)}}return()=>{s&&(Q(void 0),V(void 0))}},[C,Z]),c.useEffect(()=>{e.container&&ne(e.container)},[e.container]),c.useEffect(()=>()=>{s&&(s.destroy(),V(void 0)),d.current&&(d.current.cancel(),d.current=null)},[s]),c.useEffect(()=>{v&&s&&s.focus()},[v,s]),c.useEffect(()=>{s&&s.dispatch({effects:Ye.reconfigure.of(M)})},[p,_,m,l,B,K,D,I,A,z,T,O,R,n,i]),c.useEffect(()=>{if(t!==void 0){var f=s?s.state.doc.toString():"";if(s&&t!==f){var x=d.current&&!d.current.isDone,E=()=>{s&&t!==s.state.doc.toString()&&s.dispatch({changes:{from:0,to:s.state.doc.toString().length,insert:t||""},annotations:[ve.of(!0)]})};x?q.current=E:E()}}},[t,s]),{state:Z,setState:Q,view:s,setView:V,container:C,setContainer:ne}}var yt=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],kt=c.forwardRef((e,t)=>{var r=e.className,n=e.value,h=n===void 0?"":n,o=e.selection,i=e.extensions,b=i===void 0?[]:i,_=e.onChange,v=e.onStatistics,S=e.onCreateEditor,p=e.onUpdate,y=e.autoFocus,m=e.theme,u=m===void 0?"light":m,l=e.height,W=e.minHeight,B=e.maxHeight,N=e.width,K=e.minWidth,w=e.maxWidth,D=e.basicSetup,H=e.placeholder,I=e.indentWithTab,j=e.editable,A=e.readOnly,U=e.root,z=e.initialState,G=Qe(e,yt),T=c.useRef(null),k=pt({root:U,value:h,autoFocus:y,theme:u,height:l,minHeight:W,maxHeight:B,width:N,minWidth:K,maxWidth:w,basicSetup:D,placeholder:H,indentWithTab:I,editable:j,readOnly:A,selection:o,onChange:_,onStatistics:v,onCreateEditor:S,onUpdate:p,extensions:b,initialState:z}),O=k.state,$=k.view,R=k.container,F=k.setContainer;c.useImperativeHandle(t,()=>({editor:T.current,state:O,view:$}),[T,R,O,$]);var L=c.useCallback(C=>{T.current=C,F(C)},[F]);if(typeof h!="string")throw new Error("value must be typeof string but got "+typeof h);var P=typeof u=="string"?"cm-theme-"+u:"cm-theme";return Ce.jsx("div",ie({ref:L,className:""+P+(r?" "+r:"")},G))});kt.displayName="CodeMirror";export{kt as R};
@@ -1 +1 @@
1
- import{j as n,r as u,a1 as oe,a3 as re,aW as F,B as E,I as ae,eo as ce,c6 as le,gt as ie,gu as de,gv as ue}from"./index-8-iQ6PnT.js";import{u as he,L as z}from"./use-local-browser-BNzN5O1P.js";const G={embedded:"DorkOS browser","new-window":"New browser window"},me={embedded:"Browse here. Saved logins stay separate from your usual browser.","new-window":"Opens on the computer running DorkOS. Saved logins stay separate."};function we({value:t,onChange:s,capabilities:r,disabled:i}){var d;const a={embedded:!!(r!=null&&r.embedded)&&!!((d=window.electronAPI)!=null&&d.localBrowser),"new-window":!!(r!=null&&r.newWindow)};return n.jsxs("fieldset",{disabled:i,className:"space-y-2",children:[n.jsx("legend",{className:"sr-only",children:"Browser"}),Object.keys(G).map(l=>{var e;return n.jsxs("label",{className:"bg-muted/40 flex items-start gap-2 rounded-lg p-3",children:[n.jsx("input",{type:"radio",name:"local-browser-mode",value:l,checked:t===l,disabled:!a[l],onChange:()=>s(l),className:"mt-1"}),n.jsxs("span",{className:"min-w-0 space-y-1",children:[n.jsx("span",{className:"block text-sm font-medium",children:G[l]}),n.jsx("span",{className:"text-muted-foreground block text-xs",children:me[l]}),!a[l]&&n.jsx("span",{className:"text-muted-foreground block text-xs",children:((e=r==null?void 0:r.unavailableReasons)==null?void 0:e[l])??(l==="embedded"?"Requires the DorkOS desktop app.":"Available on your DorkOS computer.")})]})]},l)})]})}function pe(t,s,r,i){u.useEffect(()=>{var m,L;const a=(m=window.electronAPI)==null?void 0:m.localBrowser;if(!a||!s||!r)return;let d=!1,l=!1,e="",h=0,v=!1;const q=[];for(let c=(L=t.current)==null?void 0:L.parentElement;c;c=c.parentElement){const w=getComputedStyle(c);/(hidden|clip|auto|scroll)/.test(`${w.overflowX} ${w.overflowY}`)&&q.push(c)}const j=()=>{v=[...document.querySelectorAll('[role="dialog"][aria-modal="true"], [role="alertdialog"], [role="menu"], [data-radix-popper-content-wrapper]')].some(c=>!c.contains(t.current)&&c.getClientRects().length>0&&!c.hidden),R()},R=()=>{var T;if(d||l)return;const c=(T=t.current)==null?void 0:T.getBoundingClientRect();let w=(c==null?void 0:c.x)??0,p=(c==null?void 0:c.y)??0,A=w+((c==null?void 0:c.width)??0),x=p+((c==null?void 0:c.height)??0);for(const _ of q){const b=_.getBoundingClientRect();w=Math.max(w,b.x),p=Math.max(p,b.y),A=Math.min(A,b.x+b.width),x=Math.min(x,b.y+b.height)}const I=Math.max(0,A-w),g=Math.max(0,x-p),k=!!c&&!v&&document.visibilityState!=="hidden"&&I>0&&g>0,D={connectionId:s,x:w,y:p,width:I,height:g,visible:k},B=JSON.stringify(D);B!==e&&(e=B,a.setBounds(D).catch(()=>{d||(l=!0,i())}))},O=()=>{R(),!d&&!l&&(h=requestAnimationFrame(O))},C=new MutationObserver(j);return C.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-state","hidden","aria-modal","style","class"]}),j(),O(),()=>{d=!0,C.disconnect(),cancelAnimationFrame(h),a.setBounds({connectionId:s,x:0,y:0,width:0,height:0,visible:!1}).catch(()=>{})}},[t,s,r,i])}const ee={stale_page:"Page changed. Read it again before continuing.",navigation_uncertain:"Check what happened before continuing.",uncertain:"Check what happened before continuing.",paused:"Agent paused. Resume when ready.",busy:"Browser is busy. Wait a moment.",browser_download:"Couldn’t download the browser. Check your connection and try again.",cancelled:"Browser setup stopped. Open it again to continue.",focus_unavailable:"This tab stopped responding. Choose it again."},fe=["Free some space, then open the browser again.","Check folder permissions, then open the browser again."];function ge(t){const s=t;return(s==null?void 0:s.code)==="busy"&&s.message==="The browser is still closing. Wait before opening it again."?"The browser is still closing. Wait, then try again.":(s==null?void 0:s.code)==="busy"&&s.message==="Restart DorkOS to finish closing this browser."?"Restart DorkOS to finish closing this browser.":(s==null?void 0:s.code)==="browser_storage"?fe.find(i=>i===s.message)??"Couldn’t save the browser. Check free space and folder permissions.":(s!=null&&s.code&&Object.hasOwn(ee,s.code)?ee[s.code]:void 0)??"Couldn’t reach the browser. Reconnect and try again."}function xe(t){const s=u.useRef(null),r=u.useRef(null),i=a=>{r.current=document.activeElement===a?{action:a,interrupted:!1}:null};return u.useEffect(()=>{const a=l=>{const e=r.current;e&&l.target!==e.action&&!(l.type==="focusin"&&l.target===document.body)&&(e.interrupted=!0)},d=()=>{r.current&&(r.current.interrupted=!0)};return document.addEventListener("pointerdown",a,!0),document.addEventListener("keydown",a,!0),document.addEventListener("focusin",a,!0),window.addEventListener("blur",d),()=>{r.current=null,document.removeEventListener("pointerdown",a,!0),document.removeEventListener("keydown",a,!0),document.removeEventListener("focusin",a,!0),window.removeEventListener("blur",d)}},[]),u.useEffect(()=>{if(t||!r.current)return;const a=r.current;if(r.current=null,!a.interrupted&&document.activeElement===document.body&&document.hasFocus()){const d=s.current;d&&!d.disabled&&d.focus()}},[t]),{openButton:s,rememberFocus:i}}function be({preparation:t}){const s=t.stage==="checking"?"Checking browser files…":t.stage==="launching"?"Opening the browser…":t.component==="chromium"?"Downloading the browser…":t.component==="headless-shell"?"Downloading browser support…":t.component==="ffmpeg"?"Downloading video support…":"Downloading browser files…",r=t.component==="chromium"?"Browser download":t.component==="headless-shell"?"Browser support download":"Video support download",i=t.stage==="downloading"&&t.component&&t.percent!==null&&Number.isFinite(t.percent)&&t.percent>=0&&t.percent<=100?t.percent:null;return n.jsxs("div",{className:"space-y-1 text-xs","aria-live":"polite",children:[n.jsx("p",{children:s}),i!==null&&n.jsxs(n.Fragment,{children:[n.jsx("progress",{"aria-label":r,max:100,value:i,className:"w-full"}),n.jsxs("p",{children:[i,"%"]})]})]})}function ye({visible:t=!0,sessionId:s=null,agentName:r=null}){var J,X,Z;const i=oe(),a=re(),{state:d,capabilities:l}=he(),e=d.data,h=l.data,v=(J=d.error??l.error)==null?void 0:J.code,q=v==="local_only"?"Open DorkOS on your computer to use its browser.":v==="owner_only"?"Only this DorkOS owner can choose its browser.":"Couldn’t reach the browser. Reconnect and try again.",j=F(o=>o.localBrowserChoice),R=F(o=>o.localBrowserChoiceIssue),O=F(o=>o.setLocalBrowserChoice),C=!j&&R!==null,[m,L]=u.useState(!1),[c,w]=u.useState(!1),[p,A]=u.useState(null),[x,I]=u.useState(!1),g=u.useRef(0),k=u.useRef(null),[D,B]=u.useState(null),[T,_]=u.useState(null),[b,K]=u.useState(!1),U=u.useRef(null),S=(e==null?void 0:e.status)==="connected",W=!!(e!=null&&e.sessionId)&&e.sessionId!==s,f=S&&e.mode?e.mode:(j==null?void 0:j.mode)??(h!=null&&h.embedded&&((X=window.electronAPI)!=null&&X.localBrowser)?"embedded":"new-window"),Q=e==null?void 0:e.tabs.find(o=>o.id===e.selectedTabId),ne=u.useCallback(()=>K(!0),[]);u.useEffect(()=>()=>{g.current+=1},[]),pe(U,(e==null?void 0:e.connectionId)??null,t&&S&&!d.isError&&!W&&f==="embedded"&&!b,ne);const N=async(o,P=!1)=>{const y=++g.current;L(!0),w(P),B(null);try{if(P&&(await a.cancelQueries({queryKey:z}),y!==g.current))return!1;const M=await o();return y!==g.current||(await a.cancelQueries({queryKey:z}),y!==g.current)?!1:(a.setQueryData(z,M),!0)}catch(M){return y!==g.current||B(ge(M)),!1}finally{y===g.current&&(L(!1),w(!1))}},Y=()=>{O({mode:f}),A({sessionId:s,mode:f,previousConnectionId:(e==null?void 0:e.connectionId)??null,startedAt:Date.now()}),K(!1);const o=N(()=>i.openLocalBrowser({mode:f,...s?{sessionId:s}:{}}),!0);k.current=o,o.finally(()=>{k.current===o&&(k.current=null)})},se=async()=>{const o=k.current;I(!0);try{await N(()=>i.disconnectLocalBrowser())&&await a.invalidateQueries({queryKey:z}),await o}finally{I(!1)}},$=h&&(f==="embedded"?h.embedded&&!!((Z=window.electronAPI)!=null&&Z.localBrowser):h.newWindow),{openButton:te,rememberFocus:V}=xe(m||x||S||C||!$),H=c&&!x&&p&&(e!=null&&e.preparation)&&e.status==="disconnected"&&e.sessionId===p.sessionId&&e.mode===p.mode&&e.connectionId&&e.connectionId!==p.previousConnectionId&&d.dataUpdatedAt>=p.startedAt?e.preparation:null;return n.jsxs("section",{"aria-label":"Local browser","data-slot":"local-browser-panel",className:"flex h-full min-h-0 flex-col gap-3 p-3",children:[n.jsxs("div",{className:"flex items-center justify-between gap-2",children:[n.jsx("h3",{className:"text-sm font-medium",children:S?G[f]:"Browser"}),n.jsx("span",{role:"status",className:"text-muted-foreground text-xs",children:x?"Cancelling…":c?"Preparing browser":m?"Updating…":(e==null?void 0:e.status)==="closed"?"Browser closed":S?e.paused?"Agent paused":"Connected":"Disconnected"})]}),c&&n.jsx(E,{size:"sm",variant:"outline",onClick:o=>{V(o.currentTarget),se()},children:"Cancel"}),H&&n.jsx(be,{preparation:H}),(D||d.isError||l.isError)&&n.jsx("p",{role:"alert",className:"text-sm",children:D??q}),(d.isError||l.isError)&&v!=="local_only"&&v!=="owner_only"&&n.jsx(E,{size:"sm",variant:"outline",onClick:()=>{d.refetch(),l.refetch()},children:"Reconnect"}),!S&&n.jsxs("div",{className:"min-h-0 space-y-3 overflow-y-auto",children:[R&&n.jsx("p",{className:"text-muted-foreground text-xs",children:C?"Choose a browser. The saved choice couldn’t be read.":"Browser choice couldn’t be saved. It lasts until this window closes."}),n.jsx(we,{value:C?null:f,onChange:o=>{O({mode:o})},capabilities:h,disabled:m||x}),(e==null?void 0:e.status)==="closed"&&n.jsx("p",{className:"text-muted-foreground text-xs",children:"Open it again to reconnect. Saved logins are kept."}),n.jsx(E,{ref:te,disabled:m||x||C||!$,onClick:Y,children:e!=null&&e.mode?"Reconnect":"Open browser"})]}),S&&n.jsxs(n.Fragment,{children:[W&&n.jsx("p",{className:"text-muted-foreground text-xs",children:"Shared with another chat. Disconnect to use it here."}),!e.sessionId&&n.jsx("p",{className:"text-muted-foreground text-xs",children:"Only you can use this page. Open from an agent chat to share it."}),n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsx(E,{size:"sm",variant:"outline",disabled:m,onClick:()=>void N(()=>e.paused?i.resumeLocalBrowser():i.pauseLocalBrowser()),children:e.paused?"Resume agent":"Pause agent"}),n.jsx(E,{size:"sm",variant:"ghost",disabled:m,onClick:o=>{V(o.currentTarget),N(()=>i.disconnectLocalBrowser())},children:"Disconnect"})]}),n.jsxs("label",{className:"text-sm",children:[e.sessionId?W?"Shared with another chat":`Shared with ${r||"this chat’s agent"}`:"Browser tab",n.jsxs("select",{className:"bg-muted/40 mt-1 block w-full rounded-md p-2",value:e.selectedTabId??"",disabled:m,onChange:o=>{_(null),N(()=>i.selectLocalBrowserTab(o.target.value))},children:[!e.selectedTabId&&n.jsx("option",{value:"",children:"Choose a tab"}),e.tabs.map(o=>n.jsx("option",{value:o.id,children:o.title||(o.url==="about:blank"?"New tab":o.url)},o.id))]})]}),Q&&n.jsxs("form",{className:"flex gap-2",onSubmit:o=>{o.preventDefault();const P=T??Q.url;try{const y=new URL(P);if(!["http:","https:"].includes(y.protocol))throw new Error("unsupported");N(()=>i.navigateLocalBrowser(y.href)).then(M=>{M&&_(null)})}catch{B("Enter a full web address, starting with https:// or http://.")}},children:[n.jsx(ae,{"aria-label":"Web address",value:T??Q.url,onChange:o=>_(o.target.value),className:"min-w-0"}),n.jsx(E,{size:"sm",variant:"outline",type:"submit",disabled:m,children:"Go"})]}),e.paused&&n.jsxs("div",{className:"text-muted-foreground space-y-1 text-xs",children:[n.jsx("p",{children:"Pause stops new actions. An action already started may finish."}),n.jsx("p",{children:"Your mouse and keyboard still work."})]}),f!=="embedded"&&n.jsx("p",{className:"text-muted-foreground text-sm",children:"This page is in the separate browser window."}),f==="embedded"&&n.jsx("p",{className:"text-muted-foreground text-xs",children:"This page stays in the right panel."}),f==="embedded"&&!W&&n.jsx("p",{className:"text-muted-foreground text-xs",children:e.sessionId?"Extra windows are for you. Your agent stays on this page.":"Extra windows are for you."}),f==="embedded"&&n.jsx("div",{ref:U,"data-slot":"native-browser-surface",className:"bg-muted/20 relative min-h-48 flex-1 rounded-lg",children:b&&n.jsxs("div",{className:"space-y-2 p-3",children:[n.jsx("p",{role:"alert",className:"text-sm",children:"Couldn’t show the page. Reconnect to try again."}),n.jsx(E,{size:"sm",variant:"outline",onClick:Y,disabled:m,children:"Reconnect"})]})})]})]})}function Ce(){const t=ce({select:h=>h.location.pathname}),[s]=le(),r=t==="/session"?s:null,{data:i}=ie(r,{enabled:!!r,nameOnly:!0}),{data:a}=de((i==null?void 0:i.cwd)??null),d=u.useContext(ue),l=F(h=>h.rightPanelOpen),e=F(h=>h.activeRightPanelTab);return n.jsx(ye,{visible:d&&l&&e==="local-browser",sessionId:t==="/session"?s:null,agentName:t==="/session"?a==null?void 0:a.name:null},t==="/session"?`chat:${s??""}`:"human-only")}export{Ce as LocalBrowserContent,ye as LocalBrowserPanel};
1
+ import{j as n,r as u,a1 as oe,a3 as re,aW as F,B as E,I as ae,er as ce,c8 as le,gw as ie,gx as de,gy as ue}from"./index-Cga0qx1T.js";import{u as he,L as z}from"./use-local-browser-xg7WXAVK.js";const G={embedded:"DorkOS browser","new-window":"New browser window"},me={embedded:"Browse here. Saved logins stay separate from your usual browser.","new-window":"Opens on the computer running DorkOS. Saved logins stay separate."};function we({value:t,onChange:s,capabilities:r,disabled:i}){var d;const a={embedded:!!(r!=null&&r.embedded)&&!!((d=window.electronAPI)!=null&&d.localBrowser),"new-window":!!(r!=null&&r.newWindow)};return n.jsxs("fieldset",{disabled:i,className:"space-y-2",children:[n.jsx("legend",{className:"sr-only",children:"Browser"}),Object.keys(G).map(l=>{var e;return n.jsxs("label",{className:"bg-muted/40 flex items-start gap-2 rounded-lg p-3",children:[n.jsx("input",{type:"radio",name:"local-browser-mode",value:l,checked:t===l,disabled:!a[l],onChange:()=>s(l),className:"mt-1"}),n.jsxs("span",{className:"min-w-0 space-y-1",children:[n.jsx("span",{className:"block text-sm font-medium",children:G[l]}),n.jsx("span",{className:"text-muted-foreground block text-xs",children:me[l]}),!a[l]&&n.jsx("span",{className:"text-muted-foreground block text-xs",children:((e=r==null?void 0:r.unavailableReasons)==null?void 0:e[l])??(l==="embedded"?"Requires the DorkOS desktop app.":"Available on your DorkOS computer.")})]})]},l)})]})}function pe(t,s,r,i){u.useEffect(()=>{var m,L;const a=(m=window.electronAPI)==null?void 0:m.localBrowser;if(!a||!s||!r)return;let d=!1,l=!1,e="",h=0,v=!1;const q=[];for(let c=(L=t.current)==null?void 0:L.parentElement;c;c=c.parentElement){const w=getComputedStyle(c);/(hidden|clip|auto|scroll)/.test(`${w.overflowX} ${w.overflowY}`)&&q.push(c)}const j=()=>{v=[...document.querySelectorAll('[role="dialog"][aria-modal="true"], [role="alertdialog"], [role="menu"], [data-radix-popper-content-wrapper]')].some(c=>!c.contains(t.current)&&c.getClientRects().length>0&&!c.hidden),R()},R=()=>{var T;if(d||l)return;const c=(T=t.current)==null?void 0:T.getBoundingClientRect();let w=(c==null?void 0:c.x)??0,p=(c==null?void 0:c.y)??0,A=w+((c==null?void 0:c.width)??0),x=p+((c==null?void 0:c.height)??0);for(const _ of q){const b=_.getBoundingClientRect();w=Math.max(w,b.x),p=Math.max(p,b.y),A=Math.min(A,b.x+b.width),x=Math.min(x,b.y+b.height)}const I=Math.max(0,A-w),g=Math.max(0,x-p),k=!!c&&!v&&document.visibilityState!=="hidden"&&I>0&&g>0,D={connectionId:s,x:w,y:p,width:I,height:g,visible:k},B=JSON.stringify(D);B!==e&&(e=B,a.setBounds(D).catch(()=>{d||(l=!0,i())}))},O=()=>{R(),!d&&!l&&(h=requestAnimationFrame(O))},C=new MutationObserver(j);return C.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-state","hidden","aria-modal","style","class"]}),j(),O(),()=>{d=!0,C.disconnect(),cancelAnimationFrame(h),a.setBounds({connectionId:s,x:0,y:0,width:0,height:0,visible:!1}).catch(()=>{})}},[t,s,r,i])}const ee={stale_page:"Page changed. Read it again before continuing.",navigation_uncertain:"Check what happened before continuing.",uncertain:"Check what happened before continuing.",paused:"Agent paused. Resume when ready.",busy:"Browser is busy. Wait a moment.",browser_download:"Couldn’t download the browser. Check your connection and try again.",cancelled:"Browser setup stopped. Open it again to continue.",focus_unavailable:"This tab stopped responding. Choose it again."},fe=["Free some space, then open the browser again.","Check folder permissions, then open the browser again."];function ge(t){const s=t;return(s==null?void 0:s.code)==="busy"&&s.message==="The browser is still closing. Wait before opening it again."?"The browser is still closing. Wait, then try again.":(s==null?void 0:s.code)==="busy"&&s.message==="Restart DorkOS to finish closing this browser."?"Restart DorkOS to finish closing this browser.":(s==null?void 0:s.code)==="browser_storage"?fe.find(i=>i===s.message)??"Couldn’t save the browser. Check free space and folder permissions.":(s!=null&&s.code&&Object.hasOwn(ee,s.code)?ee[s.code]:void 0)??"Couldn’t reach the browser. Reconnect and try again."}function xe(t){const s=u.useRef(null),r=u.useRef(null),i=a=>{r.current=document.activeElement===a?{action:a,interrupted:!1}:null};return u.useEffect(()=>{const a=l=>{const e=r.current;e&&l.target!==e.action&&!(l.type==="focusin"&&l.target===document.body)&&(e.interrupted=!0)},d=()=>{r.current&&(r.current.interrupted=!0)};return document.addEventListener("pointerdown",a,!0),document.addEventListener("keydown",a,!0),document.addEventListener("focusin",a,!0),window.addEventListener("blur",d),()=>{r.current=null,document.removeEventListener("pointerdown",a,!0),document.removeEventListener("keydown",a,!0),document.removeEventListener("focusin",a,!0),window.removeEventListener("blur",d)}},[]),u.useEffect(()=>{if(t||!r.current)return;const a=r.current;if(r.current=null,!a.interrupted&&document.activeElement===document.body&&document.hasFocus()){const d=s.current;d&&!d.disabled&&d.focus()}},[t]),{openButton:s,rememberFocus:i}}function be({preparation:t}){const s=t.stage==="checking"?"Checking browser files…":t.stage==="launching"?"Opening the browser…":t.component==="chromium"?"Downloading the browser…":t.component==="headless-shell"?"Downloading browser support…":t.component==="ffmpeg"?"Downloading video support…":"Downloading browser files…",r=t.component==="chromium"?"Browser download":t.component==="headless-shell"?"Browser support download":"Video support download",i=t.stage==="downloading"&&t.component&&t.percent!==null&&Number.isFinite(t.percent)&&t.percent>=0&&t.percent<=100?t.percent:null;return n.jsxs("div",{className:"space-y-1 text-xs","aria-live":"polite",children:[n.jsx("p",{children:s}),i!==null&&n.jsxs(n.Fragment,{children:[n.jsx("progress",{"aria-label":r,max:100,value:i,className:"w-full"}),n.jsxs("p",{children:[i,"%"]})]})]})}function ye({visible:t=!0,sessionId:s=null,agentName:r=null}){var J,X,Z;const i=oe(),a=re(),{state:d,capabilities:l}=he(),e=d.data,h=l.data,v=(J=d.error??l.error)==null?void 0:J.code,q=v==="local_only"?"Open DorkOS on your computer to use its browser.":v==="owner_only"?"Only this DorkOS owner can choose its browser.":"Couldn’t reach the browser. Reconnect and try again.",j=F(o=>o.localBrowserChoice),R=F(o=>o.localBrowserChoiceIssue),O=F(o=>o.setLocalBrowserChoice),C=!j&&R!==null,[m,L]=u.useState(!1),[c,w]=u.useState(!1),[p,A]=u.useState(null),[x,I]=u.useState(!1),g=u.useRef(0),k=u.useRef(null),[D,B]=u.useState(null),[T,_]=u.useState(null),[b,K]=u.useState(!1),U=u.useRef(null),S=(e==null?void 0:e.status)==="connected",W=!!(e!=null&&e.sessionId)&&e.sessionId!==s,f=S&&e.mode?e.mode:(j==null?void 0:j.mode)??(h!=null&&h.embedded&&((X=window.electronAPI)!=null&&X.localBrowser)?"embedded":"new-window"),Q=e==null?void 0:e.tabs.find(o=>o.id===e.selectedTabId),ne=u.useCallback(()=>K(!0),[]);u.useEffect(()=>()=>{g.current+=1},[]),pe(U,(e==null?void 0:e.connectionId)??null,t&&S&&!d.isError&&!W&&f==="embedded"&&!b,ne);const N=async(o,P=!1)=>{const y=++g.current;L(!0),w(P),B(null);try{if(P&&(await a.cancelQueries({queryKey:z}),y!==g.current))return!1;const M=await o();return y!==g.current||(await a.cancelQueries({queryKey:z}),y!==g.current)?!1:(a.setQueryData(z,M),!0)}catch(M){return y!==g.current||B(ge(M)),!1}finally{y===g.current&&(L(!1),w(!1))}},Y=()=>{O({mode:f}),A({sessionId:s,mode:f,previousConnectionId:(e==null?void 0:e.connectionId)??null,startedAt:Date.now()}),K(!1);const o=N(()=>i.openLocalBrowser({mode:f,...s?{sessionId:s}:{}}),!0);k.current=o,o.finally(()=>{k.current===o&&(k.current=null)})},se=async()=>{const o=k.current;I(!0);try{await N(()=>i.disconnectLocalBrowser())&&await a.invalidateQueries({queryKey:z}),await o}finally{I(!1)}},$=h&&(f==="embedded"?h.embedded&&!!((Z=window.electronAPI)!=null&&Z.localBrowser):h.newWindow),{openButton:te,rememberFocus:V}=xe(m||x||S||C||!$),H=c&&!x&&p&&(e!=null&&e.preparation)&&e.status==="disconnected"&&e.sessionId===p.sessionId&&e.mode===p.mode&&e.connectionId&&e.connectionId!==p.previousConnectionId&&d.dataUpdatedAt>=p.startedAt?e.preparation:null;return n.jsxs("section",{"aria-label":"Local browser","data-slot":"local-browser-panel",className:"flex h-full min-h-0 flex-col gap-3 p-3",children:[n.jsxs("div",{className:"flex items-center justify-between gap-2",children:[n.jsx("h3",{className:"text-sm font-medium",children:S?G[f]:"Browser"}),n.jsx("span",{role:"status",className:"text-muted-foreground text-xs",children:x?"Cancelling…":c?"Preparing browser":m?"Updating…":(e==null?void 0:e.status)==="closed"?"Browser closed":S?e.paused?"Agent paused":"Connected":"Disconnected"})]}),c&&n.jsx(E,{size:"sm",variant:"outline",onClick:o=>{V(o.currentTarget),se()},children:"Cancel"}),H&&n.jsx(be,{preparation:H}),(D||d.isError||l.isError)&&n.jsx("p",{role:"alert",className:"text-sm",children:D??q}),(d.isError||l.isError)&&v!=="local_only"&&v!=="owner_only"&&n.jsx(E,{size:"sm",variant:"outline",onClick:()=>{d.refetch(),l.refetch()},children:"Reconnect"}),!S&&n.jsxs("div",{className:"min-h-0 space-y-3 overflow-y-auto",children:[R&&n.jsx("p",{className:"text-muted-foreground text-xs",children:C?"Choose a browser. The saved choice couldn’t be read.":"Browser choice couldn’t be saved. It lasts until this window closes."}),n.jsx(we,{value:C?null:f,onChange:o=>{O({mode:o})},capabilities:h,disabled:m||x}),(e==null?void 0:e.status)==="closed"&&n.jsx("p",{className:"text-muted-foreground text-xs",children:"Open it again to reconnect. Saved logins are kept."}),n.jsx(E,{ref:te,disabled:m||x||C||!$,onClick:Y,children:e!=null&&e.mode?"Reconnect":"Open browser"})]}),S&&n.jsxs(n.Fragment,{children:[W&&n.jsx("p",{className:"text-muted-foreground text-xs",children:"Shared with another chat. Disconnect to use it here."}),!e.sessionId&&n.jsx("p",{className:"text-muted-foreground text-xs",children:"Only you can use this page. Open from an agent chat to share it."}),n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsx(E,{size:"sm",variant:"outline",disabled:m,onClick:()=>void N(()=>e.paused?i.resumeLocalBrowser():i.pauseLocalBrowser()),children:e.paused?"Resume agent":"Pause agent"}),n.jsx(E,{size:"sm",variant:"ghost",disabled:m,onClick:o=>{V(o.currentTarget),N(()=>i.disconnectLocalBrowser())},children:"Disconnect"})]}),n.jsxs("label",{className:"text-sm",children:[e.sessionId?W?"Shared with another chat":`Shared with ${r||"this chat’s agent"}`:"Browser tab",n.jsxs("select",{className:"bg-muted/40 mt-1 block w-full rounded-md p-2",value:e.selectedTabId??"",disabled:m,onChange:o=>{_(null),N(()=>i.selectLocalBrowserTab(o.target.value))},children:[!e.selectedTabId&&n.jsx("option",{value:"",children:"Choose a tab"}),e.tabs.map(o=>n.jsx("option",{value:o.id,children:o.title||(o.url==="about:blank"?"New tab":o.url)},o.id))]})]}),Q&&n.jsxs("form",{className:"flex gap-2",onSubmit:o=>{o.preventDefault();const P=T??Q.url;try{const y=new URL(P);if(!["http:","https:"].includes(y.protocol))throw new Error("unsupported");N(()=>i.navigateLocalBrowser(y.href)).then(M=>{M&&_(null)})}catch{B("Enter a full web address, starting with https:// or http://.")}},children:[n.jsx(ae,{"aria-label":"Web address",value:T??Q.url,onChange:o=>_(o.target.value),className:"min-w-0"}),n.jsx(E,{size:"sm",variant:"outline",type:"submit",disabled:m,children:"Go"})]}),e.paused&&n.jsxs("div",{className:"text-muted-foreground space-y-1 text-xs",children:[n.jsx("p",{children:"Pause stops new actions. An action already started may finish."}),n.jsx("p",{children:"Your mouse and keyboard still work."})]}),f!=="embedded"&&n.jsx("p",{className:"text-muted-foreground text-sm",children:"This page is in the separate browser window."}),f==="embedded"&&n.jsx("p",{className:"text-muted-foreground text-xs",children:"This page stays in the right panel."}),f==="embedded"&&!W&&n.jsx("p",{className:"text-muted-foreground text-xs",children:e.sessionId?"Extra windows are for you. Your agent stays on this page.":"Extra windows are for you."}),f==="embedded"&&n.jsx("div",{ref:U,"data-slot":"native-browser-surface",className:"bg-muted/20 relative min-h-48 flex-1 rounded-lg",children:b&&n.jsxs("div",{className:"space-y-2 p-3",children:[n.jsx("p",{role:"alert",className:"text-sm",children:"Couldn’t show the page. Reconnect to try again."}),n.jsx(E,{size:"sm",variant:"outline",onClick:Y,disabled:m,children:"Reconnect"})]})})]})]})}function Ce(){const t=ce({select:h=>h.location.pathname}),[s]=le(),r=t==="/session"?s:null,{data:i}=ie(r,{enabled:!!r,nameOnly:!0}),{data:a}=de((i==null?void 0:i.cwd)??null),d=u.useContext(ue),l=F(h=>h.rightPanelOpen),e=F(h=>h.activeRightPanelTab);return n.jsx(ye,{visible:d&&l&&e==="local-browser",sessionId:t==="/session"?s:null,agentName:t==="/session"?a==null?void 0:a.name:null},t==="/session"?`chat:${s??""}`:"human-only")}export{Ce as LocalBrowserContent,ye as LocalBrowserPanel};
@@ -1 +1 @@
1
- import{L as G,E as A,C as N}from"./index-DgyhdQnI.js";import{s as I,t as p,E as Y,e as k,j,a as U,L as Z,i as B,f as D,O as M}from"./index-Czm6C7FZ.js";import"./index-8-iQ6PnT.js";const h=1,F=2,L=3,K=4,H=5,J=36,ee=37,te=38,Oe=11,oe=13;function re(e){return e==45||e==46||e==58||e>=65&&e<=90||e==95||e>=97&&e<=122||e>=161}function ne(e){return e==9||e==10||e==13||e==32}let Q=null,V=null,X=0;function W(e,t){let o=e.pos+t;if(V==e&&X==o)return Q;for(;ne(e.peek(t));)t++;let O="";for(;;){let r=e.peek(t);if(!re(r))break;O+=String.fromCharCode(r),t++}return V=e,X=o,Q=O||null}function _(e,t){this.name=e,this.parent=t}const ae=new N({start:null,shift(e,t,o,O){return t==h?new _(W(O,1)||"",e):e},reduce(e,t){return t==Oe&&e?e.parent:e},reuse(e,t,o,O){let r=t.type.id;return r==h||r==oe?new _(W(O,1)||"",e):e},strict:!1}),le=new A((e,t)=>{if(e.next==60){if(e.advance(),e.next==47){e.advance();let o=W(e,0);if(!o)return e.acceptToken(H);if(t.context&&o==t.context.name)return e.acceptToken(F);for(let O=t.context;O;O=O.parent)if(O.name==o)return e.acceptToken(L,-2);e.acceptToken(K)}else if(e.next!=33&&e.next!=63)return e.acceptToken(h)}},{contextual:!0});function y(e,t){return new A(o=>{let O=0,r=t.charCodeAt(0);e:for(;!(o.next<0);o.advance(),O++)if(o.next==r){for(let a=1;a<t.length;a++)if(o.peek(a)!=t.charCodeAt(a))continue e;break}O&&o.acceptToken(e)})}const se=y(J,"-->"),ie=y(ee,"?>"),ce=y(te,"]]>"),me=I({Text:p.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":p.angleBracket,TagName:p.tagName,"MismatchedCloseTag/TagName":[p.tagName,p.invalid],AttributeName:p.attributeName,AttributeValue:p.attributeValue,Is:p.definitionOperator,"EntityReference CharacterReference":p.character,Comment:p.blockComment,ProcessingInst:p.processingInstruction,DoctypeDecl:p.documentMeta,Cdata:p.special(p.string)}),$e=G.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",stateData:")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",goto:"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:50,context:ae,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[me],skippedNodes:[0],repeatNodeCount:9,tokenData:"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[le,se,ie,ce,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function T(e,t){let o=t&&t.getChild("TagName");return o?e.sliceString(o.from,o.to):""}function P(e,t){let o=t&&t.firstChild;return!o||o.name!="OpenTag"?"":T(e,o)}function Se(e,t,o){let O=t&&t.getChildren("Attribute").find(a=>a.from<=o&&a.to>=o),r=O&&O.getChild("AttributeName");return r?e.sliceString(r.from,r.to):""}function C(e){for(let t=e&&e.parent;t;t=t.parent)if(t.name=="Element")return t;return null}function ge(e,t){var o;let O=k(e).resolveInner(t,-1),r=null;for(let a=O;!r&&a.parent;a=a.parent)(a.name=="OpenTag"||a.name=="CloseTag"||a.name=="SelfClosingTag"||a.name=="MismatchedCloseTag")&&(r=a);if(r&&(r.to>t||r.lastChild.type.isError)){let a=r.parent;if(O.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:O.from,context:a}:{type:"openTag",from:O.from,context:C(a)};if(O.name=="AttributeName")return{type:"attrName",from:O.from,context:r};if(O.name=="AttributeValue")return{type:"attrValue",from:O.from,context:r};let s=O==r||O.name=="Attribute"?O.childBefore(t):O;return(s==null?void 0:s.name)=="StartTag"?{type:"openTag",from:t,context:C(a)}:(s==null?void 0:s.name)=="StartCloseTag"&&s.to<=t?{type:"closeTag",from:t,context:a}:(s==null?void 0:s.name)=="Is"?{type:"attrValue",from:t,context:r}:s?{type:"attrName",from:t,context:r}:null}else if(O.name=="StartCloseTag")return{type:"closeTag",from:t,context:O.parent};for(;O.parent&&O.to==t&&!(!((o=O.lastChild)===null||o===void 0)&&o.type.isError);)O=O.parent;return O.name=="Element"||O.name=="Text"||O.name=="Document"?{type:"tag",from:t,context:O.name=="Element"?O:C(O)}:null}class ue{constructor(t,o,O){this.attrs=o,this.attrValues=O,this.children=[],this.name=t.name,this.completion=Object.assign(Object.assign({type:"type"},t.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=t.textContent?t.textContent.map(r=>({label:r,type:"text"})):[]}}const b=/^[:\-\.\w\u00b7-\uffff]*$/;function E(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function R(e){return typeof e=="string"?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function pe(e,t){let o=[],O=[],r=Object.create(null);for(let n of t){let $=E(n);o.push($),n.global&&O.push($),n.values&&(r[n.name]=n.values.map(R))}let a=[],s=[],f=Object.create(null);for(let n of e){let $=O,c=r;n.attributes&&($=$.concat(n.attributes.map(l=>typeof l=="string"?o.find(d=>d.label==l)||{label:l,type:"property"}:(l.values&&(c==r&&(c=Object.create(c)),c[l.name]=l.values.map(R)),E(l)))));let u=new ue(n,$,c);f[u.name]=u,a.push(u),n.top&&s.push(u)}s.length||(s=a);for(let n=0;n<a.length;n++){let $=e[n],c=a[n];if($.children)for(let u of $.children)f[u]&&c.children.push(f[u]);else c.children=a}return n=>{var $;let{doc:c}=n.state,u=ge(n.state,n.pos);if(!u||u.type=="tag"&&!n.explicit)return null;let{type:l,from:d,context:S}=u;if(l=="openTag"){let i=s,m=P(c,S);if(m){let g=f[m];i=(g==null?void 0:g.children)||a}return{from:d,options:i.map(g=>g.completion),validFor:b}}else if(l=="closeTag"){let i=P(c,S);return i?{from:d,to:n.pos+(c.sliceString(n.pos,n.pos+1)==">"?1:0),options:[(($=f[i])===null||$===void 0?void 0:$.closeNameCompletion)||{label:i+">",type:"type"}],validFor:b}:null}else if(l=="attrName"){let i=f[T(c,S)];return{from:d,options:(i==null?void 0:i.attrs)||O,validFor:b}}else if(l=="attrValue"){let i=Se(c,S,d);if(!i)return null;let m=f[T(c,S)],g=((m==null?void 0:m.attrValues)||r)[i];return!g||!g.length?null:{from:d,to:n.pos+(c.sliceString(n.pos,n.pos+1)=='"'?1:0),options:g,validFor:/^"[^"]*"?$/}}else if(l=="tag"){let i=P(c,S),m=f[i],g=[],q=S&&S.lastChild;i&&(!q||q.name!="CloseTag"||T(c,q)!=i)&&g.push(m?m.closeCompletion:{label:"</"+i+">",type:"type",boost:2});let v=g.concat(((m==null?void 0:m.children)||(S?a:s)).map(x=>x.openCompletion));if(S&&(m!=null&&m.text.length)){let x=S.firstChild;x.to>n.pos-20&&!/\S/.test(n.state.sliceDoc(x.to,n.pos))&&(v=v.concat(m.text))}return{from:d,options:v,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}const w=Z.define({name:"xml",parser:$e.configure({props:[B.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),D.add({Element(e){let t=e.firstChild,o=e.lastChild;return!t||t.name!="OpenTag"?null:{from:t.to,to:o.name=="CloseTag"?o.from:e.to}}}),M.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function Te(e={}){let t=[w.data.of({autocomplete:pe(e.elements||[],e.attributes||[])})];return e.autoCloseTags!==!1&&t.push(fe),new U(w,t)}function z(e,t,o=e.length){if(!t)return"";let O=t.firstChild,r=O&&O.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,o)):""}const fe=Y.inputHandler.of((e,t,o,O,r)=>{if(e.composing||e.state.readOnly||t!=o||O!=">"&&O!="/"||!w.isActiveAt(e.state,t,-1))return!1;let a=r(),{state:s}=a,f=s.changeByRange(n=>{var $,c,u;let{head:l}=n,d=s.doc.sliceString(l-1,l)==O,S=k(s).resolveInner(l,-1),i;if(d&&O==">"&&S.name=="EndTag"){let m=S.parent;if(((c=($=m.parent)===null||$===void 0?void 0:$.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(i=z(s.doc,m.parent,l))){let g=l+(s.doc.sliceString(l,l+1)===">"?1:0),q=`</${i}>`;return{range:n,changes:{from:l,to:g,insert:q}}}}else if(d&&O=="/"&&S.name=="StartCloseTag"){let m=S.parent;if(S.from==l-2&&((u=m.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(i=z(s.doc,m,l))){let g=l+(s.doc.sliceString(l,l+1)===">"?1:0),q=`${i}>`;return{range:j.cursor(l+q.length,-1),changes:{from:l,to:g,insert:q}}}}return{range:n}});return f.changes.empty?!1:(e.dispatch([a,s.update(f,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});export{fe as autoCloseTags,pe as completeFromSchema,Te as xml,w as xmlLanguage};
1
+ import{L as G,E as A,C as N}from"./index-2wezsLA_.js";import{s as I,t as p,E as Y,e as k,j,a as U,L as Z,i as B,f as D,O as M}from"./index-AzyLwYS_.js";import"./index-Cga0qx1T.js";const h=1,F=2,L=3,K=4,H=5,J=36,ee=37,te=38,Oe=11,oe=13;function re(e){return e==45||e==46||e==58||e>=65&&e<=90||e==95||e>=97&&e<=122||e>=161}function ne(e){return e==9||e==10||e==13||e==32}let Q=null,V=null,X=0;function W(e,t){let o=e.pos+t;if(V==e&&X==o)return Q;for(;ne(e.peek(t));)t++;let O="";for(;;){let r=e.peek(t);if(!re(r))break;O+=String.fromCharCode(r),t++}return V=e,X=o,Q=O||null}function _(e,t){this.name=e,this.parent=t}const ae=new N({start:null,shift(e,t,o,O){return t==h?new _(W(O,1)||"",e):e},reduce(e,t){return t==Oe&&e?e.parent:e},reuse(e,t,o,O){let r=t.type.id;return r==h||r==oe?new _(W(O,1)||"",e):e},strict:!1}),le=new A((e,t)=>{if(e.next==60){if(e.advance(),e.next==47){e.advance();let o=W(e,0);if(!o)return e.acceptToken(H);if(t.context&&o==t.context.name)return e.acceptToken(F);for(let O=t.context;O;O=O.parent)if(O.name==o)return e.acceptToken(L,-2);e.acceptToken(K)}else if(e.next!=33&&e.next!=63)return e.acceptToken(h)}},{contextual:!0});function y(e,t){return new A(o=>{let O=0,r=t.charCodeAt(0);e:for(;!(o.next<0);o.advance(),O++)if(o.next==r){for(let a=1;a<t.length;a++)if(o.peek(a)!=t.charCodeAt(a))continue e;break}O&&o.acceptToken(e)})}const se=y(J,"-->"),ie=y(ee,"?>"),ce=y(te,"]]>"),me=I({Text:p.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":p.angleBracket,TagName:p.tagName,"MismatchedCloseTag/TagName":[p.tagName,p.invalid],AttributeName:p.attributeName,AttributeValue:p.attributeValue,Is:p.definitionOperator,"EntityReference CharacterReference":p.character,Comment:p.blockComment,ProcessingInst:p.processingInstruction,DoctypeDecl:p.documentMeta,Cdata:p.special(p.string)}),$e=G.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",stateData:")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",goto:"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:50,context:ae,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[me],skippedNodes:[0],repeatNodeCount:9,tokenData:"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[le,se,ie,ce,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function T(e,t){let o=t&&t.getChild("TagName");return o?e.sliceString(o.from,o.to):""}function P(e,t){let o=t&&t.firstChild;return!o||o.name!="OpenTag"?"":T(e,o)}function Se(e,t,o){let O=t&&t.getChildren("Attribute").find(a=>a.from<=o&&a.to>=o),r=O&&O.getChild("AttributeName");return r?e.sliceString(r.from,r.to):""}function C(e){for(let t=e&&e.parent;t;t=t.parent)if(t.name=="Element")return t;return null}function ge(e,t){var o;let O=k(e).resolveInner(t,-1),r=null;for(let a=O;!r&&a.parent;a=a.parent)(a.name=="OpenTag"||a.name=="CloseTag"||a.name=="SelfClosingTag"||a.name=="MismatchedCloseTag")&&(r=a);if(r&&(r.to>t||r.lastChild.type.isError)){let a=r.parent;if(O.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:O.from,context:a}:{type:"openTag",from:O.from,context:C(a)};if(O.name=="AttributeName")return{type:"attrName",from:O.from,context:r};if(O.name=="AttributeValue")return{type:"attrValue",from:O.from,context:r};let s=O==r||O.name=="Attribute"?O.childBefore(t):O;return(s==null?void 0:s.name)=="StartTag"?{type:"openTag",from:t,context:C(a)}:(s==null?void 0:s.name)=="StartCloseTag"&&s.to<=t?{type:"closeTag",from:t,context:a}:(s==null?void 0:s.name)=="Is"?{type:"attrValue",from:t,context:r}:s?{type:"attrName",from:t,context:r}:null}else if(O.name=="StartCloseTag")return{type:"closeTag",from:t,context:O.parent};for(;O.parent&&O.to==t&&!(!((o=O.lastChild)===null||o===void 0)&&o.type.isError);)O=O.parent;return O.name=="Element"||O.name=="Text"||O.name=="Document"?{type:"tag",from:t,context:O.name=="Element"?O:C(O)}:null}class ue{constructor(t,o,O){this.attrs=o,this.attrValues=O,this.children=[],this.name=t.name,this.completion=Object.assign(Object.assign({type:"type"},t.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=t.textContent?t.textContent.map(r=>({label:r,type:"text"})):[]}}const b=/^[:\-\.\w\u00b7-\uffff]*$/;function E(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function R(e){return typeof e=="string"?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function pe(e,t){let o=[],O=[],r=Object.create(null);for(let n of t){let $=E(n);o.push($),n.global&&O.push($),n.values&&(r[n.name]=n.values.map(R))}let a=[],s=[],f=Object.create(null);for(let n of e){let $=O,c=r;n.attributes&&($=$.concat(n.attributes.map(l=>typeof l=="string"?o.find(d=>d.label==l)||{label:l,type:"property"}:(l.values&&(c==r&&(c=Object.create(c)),c[l.name]=l.values.map(R)),E(l)))));let u=new ue(n,$,c);f[u.name]=u,a.push(u),n.top&&s.push(u)}s.length||(s=a);for(let n=0;n<a.length;n++){let $=e[n],c=a[n];if($.children)for(let u of $.children)f[u]&&c.children.push(f[u]);else c.children=a}return n=>{var $;let{doc:c}=n.state,u=ge(n.state,n.pos);if(!u||u.type=="tag"&&!n.explicit)return null;let{type:l,from:d,context:S}=u;if(l=="openTag"){let i=s,m=P(c,S);if(m){let g=f[m];i=(g==null?void 0:g.children)||a}return{from:d,options:i.map(g=>g.completion),validFor:b}}else if(l=="closeTag"){let i=P(c,S);return i?{from:d,to:n.pos+(c.sliceString(n.pos,n.pos+1)==">"?1:0),options:[(($=f[i])===null||$===void 0?void 0:$.closeNameCompletion)||{label:i+">",type:"type"}],validFor:b}:null}else if(l=="attrName"){let i=f[T(c,S)];return{from:d,options:(i==null?void 0:i.attrs)||O,validFor:b}}else if(l=="attrValue"){let i=Se(c,S,d);if(!i)return null;let m=f[T(c,S)],g=((m==null?void 0:m.attrValues)||r)[i];return!g||!g.length?null:{from:d,to:n.pos+(c.sliceString(n.pos,n.pos+1)=='"'?1:0),options:g,validFor:/^"[^"]*"?$/}}else if(l=="tag"){let i=P(c,S),m=f[i],g=[],q=S&&S.lastChild;i&&(!q||q.name!="CloseTag"||T(c,q)!=i)&&g.push(m?m.closeCompletion:{label:"</"+i+">",type:"type",boost:2});let v=g.concat(((m==null?void 0:m.children)||(S?a:s)).map(x=>x.openCompletion));if(S&&(m!=null&&m.text.length)){let x=S.firstChild;x.to>n.pos-20&&!/\S/.test(n.state.sliceDoc(x.to,n.pos))&&(v=v.concat(m.text))}return{from:d,options:v,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}const w=Z.define({name:"xml",parser:$e.configure({props:[B.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),D.add({Element(e){let t=e.firstChild,o=e.lastChild;return!t||t.name!="OpenTag"?null:{from:t.to,to:o.name=="CloseTag"?o.from:e.to}}}),M.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function Te(e={}){let t=[w.data.of({autocomplete:pe(e.elements||[],e.attributes||[])})];return e.autoCloseTags!==!1&&t.push(fe),new U(w,t)}function z(e,t,o=e.length){if(!t)return"";let O=t.firstChild,r=O&&O.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,o)):""}const fe=Y.inputHandler.of((e,t,o,O,r)=>{if(e.composing||e.state.readOnly||t!=o||O!=">"&&O!="/"||!w.isActiveAt(e.state,t,-1))return!1;let a=r(),{state:s}=a,f=s.changeByRange(n=>{var $,c,u;let{head:l}=n,d=s.doc.sliceString(l-1,l)==O,S=k(s).resolveInner(l,-1),i;if(d&&O==">"&&S.name=="EndTag"){let m=S.parent;if(((c=($=m.parent)===null||$===void 0?void 0:$.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(i=z(s.doc,m.parent,l))){let g=l+(s.doc.sliceString(l,l+1)===">"?1:0),q=`</${i}>`;return{range:n,changes:{from:l,to:g,insert:q}}}}else if(d&&O=="/"&&S.name=="StartCloseTag"){let m=S.parent;if(S.from==l-2&&((u=m.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(i=z(s.doc,m,l))){let g=l+(s.doc.sliceString(l,l+1)===">"?1:0),q=`${i}>`;return{range:j.cursor(l+q.length,-1),changes:{from:l,to:g,insert:q}}}}return{range:n}});return f.changes.empty?!1:(e.dispatch([a,s.update(f,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});export{fe as autoCloseTags,pe as completeFromSchema,Te as xml,w as xmlLanguage};