decocms 2.279.4 → 2.280.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 (228) hide show
  1. package/dist/client/assets/{AlertCircle-CEilS6cR.js → AlertCircle-Dv4ZIM5J.js} +1 -1
  2. package/dist/client/assets/{ArrowNarrowLeft-DSwx4IX3.js → ArrowNarrowLeft-BvT4bMLP.js} +1 -1
  3. package/dist/client/assets/{CheckCircle-Ko5wAfL7.js → CheckCircle-DeGJG8Ey.js} +1 -1
  4. package/dist/client/assets/{ChevronDown-Be4lVzvR.js → ChevronDown-DA_i6htU.js} +1 -1
  5. package/dist/client/assets/{ChevronRight-Dl1oyiXi.js → ChevronRight-CPnYdMqx.js} +1 -1
  6. package/dist/client/assets/{ChevronUp-Br-o6DqX.js → ChevronUp-BAjyIVOE.js} +1 -1
  7. package/dist/client/assets/{Container-BikrIt05.js → Container-D86p6vhP.js} +1 -1
  8. package/dist/client/assets/{LinkExternal01-DjLDyTuR.js → LinkExternal01-Cfxvdz-p.js} +1 -1
  9. package/dist/client/assets/{Lock01-BWBjIjcA.js → Lock01-DMzDPwhT.js} +1 -1
  10. package/dist/client/assets/{Palette-npxPqkwL.js → Palette-DVhkaDgv.js} +1 -1
  11. package/dist/client/assets/{Play-DsEaCK4x.js → Play-Dx7-OOlg.js} +1 -1
  12. package/dist/client/assets/{Plus-3pgqg7ye.js → Plus-D9-fqNSD.js} +1 -1
  13. package/dist/client/assets/{SearchMd-B1ES2efv.js → SearchMd-DNA-TN_H.js} +1 -1
  14. package/dist/client/assets/{Settings02-CZ8z5m7j.js → Settings02-DQjDcLoY.js} +1 -1
  15. package/dist/client/assets/{Star01-BeBdOnyd.js → Star01-CaUtmy-K.js} +1 -1
  16. package/dist/client/assets/{Sun-DqEjGh0W.js → Sun-CEZa3eLS.js} +1 -1
  17. package/dist/client/assets/{Tool01-sHnbUKmU.js → Tool01-B1xrcBi5.js} +1 -1
  18. package/dist/client/assets/{Trash01-C86SDHba.js → Trash01-B4DTIo_P.js} +1 -1
  19. package/dist/client/assets/{Upload01-DQoYYKo3.js → Upload01-DH1j0KZc.js} +1 -1
  20. package/dist/client/assets/{User01-DisUuiTU.js → User01-BZLj0_M8.js} +1 -1
  21. package/dist/client/assets/{Users03-DPaLThya.js → Users03-DrJ8OfaH.js} +1 -1
  22. package/dist/client/assets/{X-faz11WMu.js → X-DoL-OQpW.js} +1 -1
  23. package/dist/client/assets/{XCircle-DcnOx3o6.js → XCircle-BEVX_MSl.js} +1 -1
  24. package/dist/client/assets/{Zap-RywdJI-6.js → Zap-CAlzQ_SF.js} +1 -1
  25. package/dist/client/assets/{ZapSquare-C2CuBY_F.js → ZapSquare-6X_ovY4u.js} +1 -1
  26. package/dist/client/assets/{accordion-CrXENhKS.js → accordion-DPKwR5jf.js} +1 -1
  27. package/dist/client/assets/{agent-icon-B7tXdvWJ.js → agent-icon-E67drceM.js} +1 -1
  28. package/dist/client/assets/agents-list-Ch7lWVOr.js +1 -0
  29. package/dist/client/assets/ai-providers-nM9qYzBZ.js +1 -0
  30. package/dist/client/assets/{alert-dialog-DPNSWK0C.js → alert-dialog-82nIWhf3.js} +1 -1
  31. package/dist/client/assets/{auth-catchall-DjM7yLtb.js → auth-catchall-BJdcQwN-.js} +1 -1
  32. package/dist/client/assets/{automation-list-row-BaryT-Si.js → automation-list-row-DXJDNS03.js} +1 -1
  33. package/dist/client/assets/{automations-DQbRygJA.js → automations-CkAigK39.js} +1 -1
  34. package/dist/client/assets/{avatar-C6d78R0W.js → avatar-CKWhFcDc.js} +1 -1
  35. package/dist/client/assets/{badge-B1bb6NY8.js → badge-DPuCicf3.js} +1 -1
  36. package/dist/client/assets/{brand-context-ubi86tCi.js → brand-context-xEuKSfj0.js} +1 -1
  37. package/dist/client/assets/{card-VmNXdIl9.js → card-BJoLtmz9.js} +1 -1
  38. package/dist/client/assets/{chat-context-BbZ-RBhM.js → chat-context-Bf3aWPzj.js} +1 -1
  39. package/dist/client/assets/{checkbox-CAGdj4ly.js → checkbox-C12E3_oq.js} +1 -1
  40. package/dist/client/assets/{collection-detail-xWNCvSYV.js → collection-detail-ByVwt639.js} +1 -1
  41. package/dist/client/assets/{collection-display-button-BSyfAyep.js → collection-display-button-CXXhefCT.js} +1 -1
  42. package/dist/client/assets/{collection-search-Dg7Paf_D.js → collection-search-tscZfmSz.js} +1 -1
  43. package/dist/client/assets/{collection-table-wrapper-B24nieNR.js → collection-table-wrapper-C82FjZ_i.js} +1 -1
  44. package/dist/client/assets/{collection-tabs-BiUVPH62.js → collection-tabs-XtEbMyOP.js} +1 -1
  45. package/dist/client/assets/{collections-cNdZZ911.js → collections-8sPPrJ7A.js} +1 -1
  46. package/dist/client/assets/{command-BGAPQAyu.js → command-C8CTcwNt.js} +1 -1
  47. package/dist/client/assets/{connection-card-BaKrYQZ0.js → connection-card-Dfd5kF4A.js} +1 -1
  48. package/dist/client/assets/{connection-detail-10aKIu7_.js → connection-detail-LgljwVBZ.js} +1 -1
  49. package/dist/client/assets/{connection-form-helpers-DDT-e8Qf.js → connection-form-helpers-D1CgFjH6.js} +1 -1
  50. package/dist/client/assets/{connections-BIIoe1Fp.js → connections-welzjCFH.js} +1 -1
  51. package/dist/client/assets/{constants-DOLR7-In.js → constants-CgzsWzve.js} +1 -1
  52. package/dist/client/assets/{constants-OdWrtR0n.js → constants-DlB9FruN.js} +1 -1
  53. package/dist/client/assets/{dialog-BBlf6Y0-.js → dialog-D3TqImE0.js} +1 -1
  54. package/dist/client/assets/{drawer-BoTS4Bqi.js → drawer-1xwox4c6.js} +1 -1
  55. package/dist/client/assets/{dropdown-menu-FXqXZNLp.js → dropdown-menu-ccbFc3oF.js} +1 -1
  56. package/dist/client/assets/{dynamic-plugin-layout-CtgRG0MU.js → dynamic-plugin-layout-C7MWhlg7.js} +1 -1
  57. package/dist/client/assets/{empty-state-X2E_7LTc.js → empty-state-BuT1lOPL.js} +1 -1
  58. package/dist/client/assets/{empty-state-Cs7wxKmu.js → empty-state-C1zz-mei.js} +1 -1
  59. package/dist/client/assets/{extract-connection-data-B-Wb5fIO.js → extract-connection-data-Aua_YhKg.js} +1 -1
  60. package/dist/client/assets/{features-BUxBwL8b.js → features-CXUvkC78.js} +1 -1
  61. package/dist/client/assets/{form-BvPuLp3p.js → form-ruWBs7d7.js} +1 -1
  62. package/dist/client/assets/{general-D2AJdg3z.js → general-DH_bFCOl.js} +1 -1
  63. package/dist/client/assets/{index-C8d--zI5.js → index-AHroOw7q.js} +1 -1
  64. package/dist/client/assets/{index-kfK6OLDe.js → index-BEoI9ZVb.js} +1 -1
  65. package/dist/client/assets/{index-BxxSf9yJ.js → index-BV6L1SjJ.js} +1 -1
  66. package/dist/client/assets/{index-D5d06kaF.js → index-CCmiT65y.js} +1 -1
  67. package/dist/client/assets/{index-Ch9qbqUU.js → index-CQ8ZZoPX.js} +1 -1
  68. package/dist/client/assets/index-CTmUD6-Y.js +739 -0
  69. package/dist/client/assets/index-C_Ncklfg.css +1 -0
  70. package/dist/client/assets/{index-Dorgz0DN.js → index-DJgqpEYW.js} +2 -2
  71. package/dist/client/assets/{index-qeyHcjD9.js → index-DrsCmq1f.js} +1 -1
  72. package/dist/client/assets/{index-s0sdZ5L_.js → index-DumcCt6F.js} +1 -1
  73. package/dist/client/assets/{index-B8be3s7t.js → index-z8VezSz0.js} +1 -1
  74. package/dist/client/assets/{infiniteQueryObserver-hlyWaAvC.js → infiniteQueryObserver-DH4hUCgR.js} +1 -1
  75. package/dist/client/assets/{input-CMnzIdr8.js → input-DV5eim50.js} +1 -1
  76. package/dist/client/assets/{integration-icon-C2aL4IRd.js → integration-icon-D2tCV60I.js} +1 -1
  77. package/dist/client/assets/{label-kikML6oQ.js → label-C86GM8X1.js} +1 -1
  78. package/dist/client/assets/{layout-D47IedlQ.js → layout-DxCigiwD.js} +1 -1
  79. package/dist/client/assets/lean-canvas-recruit-modal-CCGjmni2.js +116 -0
  80. package/dist/client/assets/{login-q3jLGKfv.js → login-DprsK4_L.js} +1 -1
  81. package/dist/client/assets/{members-iNFIg-rI.js → members-B-VFLfzJ.js} +1 -1
  82. package/dist/client/assets/{monaco-editor-DblQESYG.js → monaco-editor-R56ulXRY.js} +1 -1
  83. package/dist/client/assets/{monitoring-stats-row-DcUf2si8.js → monitoring-stats-row--PsDRgYi.js} +1 -1
  84. package/dist/client/assets/{oauth-callback-Dp11GOxx.js → oauth-callback-Ca5_CCq3.js} +1 -1
  85. package/dist/client/assets/{oauth-callback-ai-provider-B60qZO1Q.js → oauth-callback-ai-provider-DDk9IcKl.js} +1 -1
  86. package/dist/client/assets/{onboarding-Ls_Xz5aM.js → onboarding-DerxM89t.js} +1 -1
  87. package/dist/client/assets/{org-layout-D2WgV9rb.js → org-layout-DIERSToF.js} +1 -1
  88. package/dist/client/assets/{org-plugin-layout-CFSIDp0m.js → org-plugin-layout-ClNRZqNK.js} +1 -1
  89. package/dist/client/assets/{plugin-empty-state-CtOhHxMj.js → plugin-empty-state-D0vL52dh.js} +1 -1
  90. package/dist/client/assets/{plugin-header-cYrniSu5.js → plugin-header-DmExVElz.js} +1 -1
  91. package/dist/client/assets/{plugin-layout-DjQ7GFQD.js → plugin-layout-DW3szgLc.js} +1 -1
  92. package/dist/client/assets/{popover-xAirnQIV.js → popover-MsdpfhQu.js} +1 -1
  93. package/dist/client/assets/{profile-NL4vJdwI.js → profile-G3V9Se8H.js} +1 -1
  94. package/dist/client/assets/{project-app-view-DH8ksEqJ.js → project-app-view-8soha8U5.js} +1 -1
  95. package/dist/client/assets/registry-1MdxVVj5.js +2 -0
  96. package/dist/client/assets/{registry-layout-BsuMreOd.js → registry-layout-DmdT-OpW.js} +1 -1
  97. package/dist/client/assets/{required-auth-layout-CkKjV0G_.js → required-auth-layout-CExQRzBC.js} +1 -1
  98. package/dist/client/assets/{reset-password-DEmP_a1g.js → reset-password-CKscqHTM.js} +1 -1
  99. package/dist/client/assets/{scroll-area-UPgVs2bF.js → scroll-area-Co4wJj7O.js} +1 -1
  100. package/dist/client/assets/{search-input-CnrAmvY9.js → search-input-C1TJuPFM.js} +1 -1
  101. package/dist/client/assets/{select-model-BxT0iVSc.js → select-model-FUOpAZDM.js} +1 -1
  102. package/dist/client/assets/{select-C2IlresN.js → select-pAgHYIrL.js} +1 -1
  103. package/dist/client/assets/{settings-layout-Dv5OM4G4.js → settings-layout-DQBzl0lu.js} +1 -1
  104. package/dist/client/assets/{shell-layout-Dd5_p2cO.js → shell-layout-DUNitdZU.js} +1 -1
  105. package/dist/client/assets/{skeleton-CuU32mjh.js → skeleton-qER9eMeG.js} +1 -1
  106. package/dist/client/assets/{sso-DkJ7XF7r.js → sso-CJiIyGby.js} +1 -1
  107. package/dist/client/assets/store-registry-C3XskpEA.js +2 -0
  108. package/dist/client/assets/{store-DRVo25gF.js → store-rkPIhDm8.js} +1 -1
  109. package/dist/client/assets/{switch-WtRCKaAC.js → switch-D5-PzV-X.js} +1 -1
  110. package/dist/client/assets/{table-CDG3Pcei.js → table-DvXCcwv1.js} +1 -1
  111. package/dist/client/assets/{tabs-CvpfD2VC.js → tabs-Ce-3s0xL.js} +1 -1
  112. package/dist/client/assets/{task-status-DkPKuVRh.js → task-status-CffQzU_t.js} +1 -1
  113. package/dist/client/assets/{textarea-DzDNZNQx.js → textarea-BVTjXq38.js} +1 -1
  114. package/dist/client/assets/{toggle-group-ChSEkXLp.js → toggle-group-gsh8C-OR.js} +1 -1
  115. package/dist/client/assets/{tools-list-DWtwkfXV.js → tools-list-PtfMhobA.js} +1 -1
  116. package/dist/client/assets/{types-DpfrgOgc.js → types-BvKkBpVu.js} +1 -1
  117. package/dist/client/assets/{use-ai-providers-DL7syVKl.js → use-ai-providers-B5sNJvkO.js} +1 -1
  118. package/dist/client/assets/{use-collections-CJP9C70C.js → use-collections-BrU9UZ67.js} +1 -1
  119. package/dist/client/assets/{use-connection-Bfx2DpWp.js → use-connection-8il0FBHR.js} +1 -1
  120. package/dist/client/assets/{use-copy-CzzLW-t1.js → use-copy-CyDx0Roq.js} +1 -1
  121. package/dist/client/assets/{use-create-virtual-mcp-DBUGdDxL.js → use-create-virtual-mcp-DVarqFbA.js} +1 -1
  122. package/dist/client/assets/{use-decopilot-events-Co7G03Q-.js → use-decopilot-events-ZWKgln1k.js} +1 -1
  123. package/dist/client/assets/{use-delete-connection-BrJd-KQI.js → use-delete-connection-D0QU8RrP.js} +1 -1
  124. package/dist/client/assets/{use-infinite-scroll-MYeIU5rj.js → use-infinite-scroll-BxyvVOYa.js} +1 -1
  125. package/dist/client/assets/{use-list-state-CmsEU35V.js → use-list-state-DJ-Ih_V8.js} +1 -1
  126. package/dist/client/assets/{use-mcp-tools-BNvGRf7N.js → use-mcp-tools-Dtq2tMkx.js} +1 -1
  127. package/dist/client/assets/{use-members-VPKM2sg7.js → use-members-DJxwunXF.js} +1 -1
  128. package/dist/client/assets/{use-mobile-D_sy_mOx.js → use-mobile-BsrW-Uvz.js} +1 -1
  129. package/dist/client/assets/{use-navigate-to-agent-C8TD8oUz.js → use-navigate-to-agent-IOD6ymJx.js} +1 -1
  130. package/dist/client/assets/{use-org-sso-C8hw6vY4.js → use-org-sso-MYxHdY37.js} +1 -1
  131. package/dist/client/assets/{use-organization-settings-DfMTERs8.js → use-organization-settings-DgEflTxA.js} +1 -1
  132. package/dist/client/assets/{use-registry-connections-zu0-7yyQ.js → use-registry-connections-DOXnVkDT.js} +1 -1
  133. package/dist/client/assets/{use-status-sounds-D7ItdC7B.js → use-status-sounds-Bw0QWLxv.js} +1 -1
  134. package/dist/client/assets/{use-tasks-Cx0JalUc.js → use-tasks-OBM9Y7nP.js} +1 -1
  135. package/dist/client/assets/{use-view-mode-DIuslnT_.js → use-view-mode-BGx43I5y.js} +1 -1
  136. package/dist/client/assets/{use-virtual-mcp-VazaMZSE.js → use-virtual-mcp-zjP22P87.js} +1 -1
  137. package/dist/client/assets/useInfiniteQuery-BE9sdfbg.js +1 -0
  138. package/dist/client/assets/{user-Dy3Y5T-r.js → user-Ct2oIzgq.js} +1 -1
  139. package/dist/client/assets/{view-mode-toggle-BIFsJdKF.js → view-mode-toggle-DG-ttgGl.js} +1 -1
  140. package/dist/client/assets/workflow-detail-BvQnVA1D.js +1 -0
  141. package/dist/client/assets/{workflow-C9tzbaL5.js → workflow-xyFm_Ta1.js} +1 -1
  142. package/dist/client/index.html +2 -2
  143. package/dist/server/cli.js +1 -1
  144. package/dist/server/node_modules/get-east-asian-width/index.d.ts +60 -0
  145. package/dist/server/node_modules/get-east-asian-width/index.js +30 -0
  146. package/dist/server/node_modules/get-east-asian-width/lookup-data.js +18 -0
  147. package/dist/server/node_modules/get-east-asian-width/lookup.js +135 -0
  148. package/dist/server/node_modules/get-east-asian-width/package.json +71 -0
  149. package/dist/server/node_modules/get-east-asian-width/readme.md +65 -0
  150. package/dist/server/node_modules/get-east-asian-width/utilities.js +24 -0
  151. package/dist/server/node_modules/onetime/index.d.ts +64 -0
  152. package/dist/server/node_modules/onetime/index.js +44 -0
  153. package/dist/server/node_modules/{mimic-fn → onetime}/license +1 -1
  154. package/dist/server/node_modules/{mimic-fn → onetime}/package.json +16 -15
  155. package/dist/server/node_modules/onetime/readme.md +94 -0
  156. package/package.json +1 -1
  157. package/dist/client/assets/agents-list-EpavPOW6.js +0 -1
  158. package/dist/client/assets/ai-providers-CMhjDlJa.js +0 -1
  159. package/dist/client/assets/index-BQpr-5K9.js +0 -450
  160. package/dist/client/assets/index-D6N00IK2.css +0 -1
  161. package/dist/client/assets/lean-canvas-recruit-modal-DxUrUDHg.js +0 -116
  162. package/dist/client/assets/registry-ZNk-XnLr.js +0 -2
  163. package/dist/client/assets/store-registry-dHAn3ird.js +0 -2
  164. package/dist/client/assets/useInfiniteQuery-C3Jmw0Ad.js +0 -1
  165. package/dist/client/assets/workflow-detail-bN77di8o.js +0 -1
  166. package/dist/server/node_modules/ansi-styles/index.d.ts +0 -236
  167. package/dist/server/node_modules/ansi-styles/index.js +0 -223
  168. package/dist/server/node_modules/ansi-styles/package.json +0 -54
  169. package/dist/server/node_modules/ansi-styles/readme.md +0 -173
  170. package/dist/server/node_modules/mimic-fn/index.d.ts +0 -54
  171. package/dist/server/node_modules/mimic-fn/index.js +0 -13
  172. package/dist/server/node_modules/mimic-fn/readme.md +0 -69
  173. package/dist/server/node_modules/pg/LICENSE +0 -21
  174. package/dist/server/node_modules/pg/README.md +0 -95
  175. package/dist/server/node_modules/pg/esm/index.mjs +0 -20
  176. package/dist/server/node_modules/pg/lib/client.js +0 -743
  177. package/dist/server/node_modules/pg/lib/connection-parameters.js +0 -171
  178. package/dist/server/node_modules/pg/lib/connection.js +0 -221
  179. package/dist/server/node_modules/pg/lib/crypto/cert-signatures.js +0 -122
  180. package/dist/server/node_modules/pg/lib/crypto/sasl.js +0 -212
  181. package/dist/server/node_modules/pg/lib/crypto/utils-legacy.js +0 -43
  182. package/dist/server/node_modules/pg/lib/crypto/utils-webcrypto.js +0 -89
  183. package/dist/server/node_modules/pg/lib/crypto/utils.js +0 -9
  184. package/dist/server/node_modules/pg/lib/defaults.js +0 -91
  185. package/dist/server/node_modules/pg/lib/index.js +0 -73
  186. package/dist/server/node_modules/pg/lib/native/client.js +0 -323
  187. package/dist/server/node_modules/pg/lib/native/index.js +0 -2
  188. package/dist/server/node_modules/pg/lib/native/query.js +0 -165
  189. package/dist/server/node_modules/pg/lib/query.js +0 -252
  190. package/dist/server/node_modules/pg/lib/result.js +0 -109
  191. package/dist/server/node_modules/pg/lib/stream.js +0 -83
  192. package/dist/server/node_modules/pg/lib/type-overrides.js +0 -35
  193. package/dist/server/node_modules/pg/lib/utils.js +0 -217
  194. package/dist/server/node_modules/pg/package.json +0 -76
  195. package/dist/server/node_modules/pg-int8/LICENSE +0 -13
  196. package/dist/server/node_modules/pg-int8/README.md +0 -16
  197. package/dist/server/node_modules/pg-int8/index.js +0 -100
  198. package/dist/server/node_modules/pg-int8/package.json +0 -24
  199. package/dist/server/node_modules/pg-pool/LICENSE +0 -21
  200. package/dist/server/node_modules/pg-pool/README.md +0 -357
  201. package/dist/server/node_modules/pg-pool/esm/index.mjs +0 -5
  202. package/dist/server/node_modules/pg-pool/index.js +0 -517
  203. package/dist/server/node_modules/pg-pool/package.json +0 -51
  204. package/dist/server/node_modules/postgres-array/index.d.ts +0 -4
  205. package/dist/server/node_modules/postgres-array/index.js +0 -97
  206. package/dist/server/node_modules/postgres-array/license +0 -21
  207. package/dist/server/node_modules/postgres-array/package.json +0 -35
  208. package/dist/server/node_modules/postgres-array/readme.md +0 -43
  209. package/dist/server/node_modules/postgres-bytea/index.js +0 -33
  210. package/dist/server/node_modules/postgres-bytea/license +0 -21
  211. package/dist/server/node_modules/postgres-bytea/package.json +0 -34
  212. package/dist/server/node_modules/postgres-bytea/readme.md +0 -34
  213. package/dist/server/node_modules/postgres-date/index.js +0 -116
  214. package/dist/server/node_modules/postgres-date/license +0 -21
  215. package/dist/server/node_modules/postgres-date/package.json +0 -33
  216. package/dist/server/node_modules/postgres-date/readme.md +0 -49
  217. package/dist/server/node_modules/postgres-interval/index.d.ts +0 -20
  218. package/dist/server/node_modules/postgres-interval/index.js +0 -125
  219. package/dist/server/node_modules/postgres-interval/license +0 -21
  220. package/dist/server/node_modules/postgres-interval/package.json +0 -36
  221. package/dist/server/node_modules/postgres-interval/readme.md +0 -48
  222. package/dist/server/node_modules/split2/LICENSE +0 -13
  223. package/dist/server/node_modules/split2/README.md +0 -85
  224. package/dist/server/node_modules/split2/bench.js +0 -27
  225. package/dist/server/node_modules/split2/index.js +0 -141
  226. package/dist/server/node_modules/split2/package.json +0 -39
  227. package/dist/server/node_modules/split2/test.js +0 -409
  228. /package/dist/server/node_modules/{ansi-styles → get-east-asian-width}/license +0 -0
@@ -0,0 +1,739 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/project-app-view-8soha8U5.js","assets/index-DJgqpEYW.js","assets/index-C_Ncklfg.css","assets/task-status-CffQzU_t.js","assets/agent-icon-E67drceM.js","assets/AlertCircle-Dv4ZIM5J.js","assets/Tool01-B1xrcBi5.js","assets/SearchMd-DNA-TN_H.js","assets/ArrowNarrowLeft-BvT4bMLP.js","assets/XCircle-BEVX_MSl.js","assets/ZapSquare-6X_ovY4u.js","assets/Users03-DrJ8OfaH.js","assets/CheckCircle-DeGJG8Ey.js","assets/ChevronDown-DA_i6htU.js","assets/ChevronRight-CPnYdMqx.js","assets/ChevronUp-BAjyIVOE.js","assets/Container-D86p6vhP.js","assets/Star01-CaUtmy-K.js","assets/Palette-DVhkaDgv.js","assets/index-z8VezSz0.js","assets/use-mobile-BsrW-Uvz.js","assets/X-DoL-OQpW.js","assets/LinkExternal01-Cfxvdz-p.js","assets/Lock01-DMzDPwhT.js","assets/Sun-CEZa3eLS.js","assets/Play-Dx7-OOlg.js","assets/Plus-D9-fqNSD.js","assets/Settings02-DQjDcLoY.js","assets/Trash01-B4DTIo_P.js","assets/Upload01-DH1j0KZc.js","assets/User01-BZLj0_M8.js","assets/Zap-CAlzQ_SF.js","assets/scroll-area-Co4wJj7O.js","assets/select-pAgHYIrL.js","assets/use-copy-CyDx0Roq.js","assets/differenceInSeconds-NQ4PDo0z.js","assets/dialog-D3TqImE0.js","assets/content-blocks-o63cs2vh.js","assets/types-BvKkBpVu.js","assets/constants-CgzsWzve.js","assets/chat-context-Bf3aWPzj.js","assets/use-virtual-mcp-zjP22P87.js","assets/use-collections-BrU9UZ67.js","assets/use-ai-providers-B5sNJvkO.js","assets/use-decopilot-events-ZWKgln1k.js","assets/create-sse-subscription-CxkOgzKf.js","assets/use-tasks-OBM9Y7nP.js","assets/use-organization-settings-DgEflTxA.js","assets/shell-layout-DUNitdZU.js","assets/required-auth-layout-CExQRzBC.js","assets/use-org-sso-MYxHdY37.js","assets/integration-icon-D2tCV60I.js","assets/use-mcp-tools-Dtq2tMkx.js"])))=>i.map(i=>d[i]);
2
+ import{o as Mt,r as S,p as Jm,q as Qm,e as B,s as ye,K as ct,n as Wi,a as Ki,v as js,w as Un,x as qi,j as n,B as oe,y as Et,c as X,E as Ns,z as fe,C as yi,_ as Zm,t as ie,f as qe,D as fl,F as ep,R as Ih,G as tp,H as Vs,I as Ao,J as ms,L as sp,M as Eo,P as ip,Q as np,T as rp,U as op,V as Rh,W as ap,X as lp,Y as cp,Z as dp,$ as pc,l as De,b as St,u as hp,a0 as bn,a1 as wr,a2 as ml,a3 as pl,g as Hn,a4 as Th,d as Si,a5 as up,a6 as fp,a7 as mp,a8 as pp,a9 as Dh,aa as Mh,ab as gp,ac as _p,ad as xp,ae as Ut,af as vp,ag as bp,ah as yp,ai as Sp,aj as sn,ak as wp,al as Vp,am as Cp,an as kp,ao as Ph,ap as jp,aq as Np,ar as Ap,as as Ep,at as Ip,au as Rp,av as Tp,aw as Dp,ax as Mp,ay as Pp,az as Lh,aA as Vr,aB as Lp,aC as Ri,aD as cr,aE as Oh,aF as Op,aG as Bp}from"./index-DJgqpEYW.js";import{u as ai,a as Gi,b as es,A as zp,C as $p,t as Bh,c as ha,d as Fp,e as ro,f as gc}from"./chat-context-Bf3aWPzj.js";import{d as oo,g as ni,c as Up,s as gl,t as Hp,a as Wp,M as Kp,i as qp,b as En,e as Gp,F as Yp,f as zh,S as Xp,u as Jp,h as _c,j as Qp,k as Zp,l as ua,r as eg,m as tg,p as $h,n as sg,o as ig,q as _l,G as ng,L as rg,v as og,w as ag,x as lg,y as cg}from"./task-status-CffQzU_t.js";import{S as In,u as ao,P as fa,a as dg,b as hg,c as ug,E as fg,i as mg,d as pg,e as Fh}from"./scroll-area-Co4wJj7O.js";import{T as Oi,u as Ms,a as st,b as it,c as nt}from"./use-mobile-BsrW-Uvz.js";import{D as ds,a as hs,b as xl,c as ts,d as ss,e as lo}from"./dialog-D3TqImE0.js";import{D as co,a as wi,b as Vi,c as Ci,d as gg,e as _g,f as xg}from"./drawer-1xwox4c6.js";import{C as Uh}from"./collection-search-tscZfmSz.js";import{S as Pt,u as Le,g as ho,i as Br,c as vg,W as zs,a as bg,b as vl}from"./constants-CgzsWzve.js";import{u as Hh,g as bl,T as Wh,a as Cr,l as zr,b as Io,c as yg}from"./tabs-Ce-3s0xL.js";import{F as Bi,a as It,b as Rt,c as os,d as Tt,e as Dt,f as Sg}from"./form-ruWBs7d7.js";import{I as gt}from"./input-DV5eim50.js";import{i as Kh,u as Wn,r as qh}from"./shell-layout-DUNitdZU.js";import{D as at,a as kr,b as jr,c as As,d as Es,e as Is,f as Gh,g as Yh,h as xc}from"./dropdown-menu-ccbFc3oF.js";import{t as wg,i as Xh,n as Jh,A as gs,a as Qh,b as yl,s as ri,c as Vg,d as Cg,e as Zh,f as eu,g as kg,h as Sl,j as yn,k as jg,l as wl,m as Ng,o as Ag,p as Kn,q as qn,r as Eg,u as vc,v as bc,w as Ig,x as Rg,y as yc,z as Tg,B as Vl,C as tu,D as ma,E as Ro,F as Sc,G as Dg,H as Mg,I as Pg,J as Lg,K as su,L as iu,M as nu,N as ru,O as wc,P as Og,Q as Sn,R as Bg,S as zg,T as $g,U as ou}from"./agent-icon-E67drceM.js";import{n as au,a as pa,i as Fg,b as Ug,c as Hg}from"./ZapSquare-6X_ovY4u.js";import{i as Jt,t as Rn}from"./ChevronDown-DA_i6htU.js";import{s as Pi}from"./Star01-CaUtmy-K.js";import{a as ga,t as Cl}from"./Tool01-B1xrcBi5.js";import{i as lu}from"./Lock01-DMzDPwhT.js";import{s as Qt}from"./Plus-D9-fqNSD.js";import{i as cu}from"./Upload01-DH1j0KZc.js";import{i as Js}from"./X-DoL-OQpW.js";import{i as oi}from"./AlertCircle-Dv4ZIM5J.js";import{S as Zs,a as ei,b as Ht,c as ti,d as si}from"./select-pAgHYIrL.js";import{i as kl,a as jl,b as Wg}from"./SearchMd-DNA-TN_H.js";import{i as uo,t as Kg,a as qg,b as Gg,c as Yg,d as Xg,e as zi,f as du}from"./XCircle-BEVX_MSl.js";import{T as hu,a as $r}from"./toggle-group-gsh8C-OR.js";import{u as Nl,a as uu}from"./use-ai-providers-B5sNJvkO.js";import{m as fo,g as Jg,i as Qg,a as fu,M as mu,N as Zg}from"./select-model-FUOpAZDM.js";import{S as e_,A as t_,a as s_,b as i_,c as n_,R as pu,d as r_,e as o_}from"./accordion-DPKwR5jf.js";import{r as gu,l as wn,u as a_,g as l_}from"./types-BvKkBpVu.js";import{u as mo,a as is,b as Al}from"./use-virtual-mcp-zjP22P87.js";import{u as Gn,a as po,b as El}from"./use-connection-8il0FBHR.js";import{p as c_,q as Vc}from"./question-004-sINsf4GQ.js";import{g as Cc}from"./ai-providers-logos-CS4PCiqI.js";import{g as _u,s as xu}from"./connection-slug-eyAPH6o3.js";import{u as vu,a as bu,g as d_,C as To}from"./connection-card-Dfd5kF4A.js";import{C as yu}from"./collection-tabs-XtEbMyOP.js";import{g as Su}from"./constants-DlB9FruN.js";import{T as _a}from"./textarea-BVTjXq38.js";import{n as Nr}from"./Container-D86p6vhP.js";import{c as h_,i as dr,a as kc,E as u_,p as f_,b as m_,d as p_}from"./connection-form-helpers-D1CgFjH6.js";import{u as jc}from"./use-infinite-scroll-BxyvVOYa.js";import{u as g_,C as __,a as Nc,b as Ac,c as x_,d as v_,e as b_,f as y_}from"./command-C8CTcwNt.js";import{g as S_,e as w_,a as V_}from"./extract-connection-data-Aua_YhKg.js";import{B as Ec}from"./badge-DPuCicf3.js";import{i as Il}from"./ChevronRight-CPnYdMqx.js";import{I as Ps}from"./integration-icon-D2tCV60I.js";import{S as $i}from"./skeleton-qER9eMeG.js";import{a as go}from"./Users03-DrJ8OfaH.js";import{G as wu,u as C_,a as Fr,I as Ur,S as Vu,L as k_,b as j_}from"./lean-canvas-recruit-modal-CCGjmni2.js";import{u as Yn,a as Cu}from"./use-navigate-to-agent-IOD6ymJx.js";import{S as Hr}from"./switch-D5-PzV-X.js";import{u as ku}from"./use-create-virtual-mcp-DVarqFbA.js";import{i as N_}from"./CheckCircle-DeGJG8Ey.js";import{P as li,a as ci,b as di}from"./popover-MsdpfhQu.js";import{u as ki,a as A_}from"./use-mcp-tools-Dtq2tMkx.js";import{E as Fi}from"./empty-state-BuT1lOPL.js";import{u as E_}from"./use-decopilot-events-ZWKgln1k.js";import{i as Ui}from"./Zap-CAlzQ_SF.js";import{i as ju,S as Xn,a as Jn,b as vs,u as Qn,c as _s,d as Zt,e as Nu,f as Au,g as I_,h as Eu,j as Iu,P as ps,k as R_,l as T_,m as D_,n as M_,o as P_,p as L_}from"./index-z8VezSz0.js";import{A as Ic}from"./avatar-CKWhFcDc.js";import{n as O_,a as B_,i as z_}from"./Sun-CEZa3eLS.js";import{a as Zn}from"./Settings02-DQjDcLoY.js";import{A as Rl,a as Tl,b as Dl,c as Ml,d as Pl,e as Ll,f as Ol,g as Ru}from"./alert-dialog-82nIWhf3.js";import"./index-DumcCt6F.js";import{u as Tu}from"./use-tasks-OBM9Y7nP.js";import{u as $_}from"./use-status-sounds-Bw0QWLxv.js";import{T as F_,u as Du}from"./tools-list-PtfMhobA.js";import{u as Do}from"./unwrap-tool-result-BYXdCQMg.js";import{C as U_,a as Rc}from"./card-BJoLtmz9.js";import{L as Vn}from"./label-C86GM8X1.js";import{i as Ar}from"./Play-Dx7-OOlg.js";import{s as xa}from"./Trash01-B4DTIo_P.js";import{C as H_}from"./checkbox-C12E3_oq.js";import{n as ji}from"./LinkExternal01-Cfxvdz-p.js";import{V as W_}from"./view-mode-toggle-DG-ttgGl.js";import{U as K_}from"./user-Ct2oIzgq.js";import{u as er,a as q_,b as G_,c as Y_,A as X_,d as J_}from"./automation-list-row-DXJDNS03.js";import{S as Q_}from"./search-input-C1TJuPFM.js";import"./use-collections-BrU9UZ67.js";import"./use-organization-settings-DgEflTxA.js";import"./use-copy-CyDx0Roq.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./content-blocks-o63cs2vh.js";import"./required-auth-layout-CExQRzBC.js";import"./use-org-sso-MYxHdY37.js";import"./ArrowNarrowLeft-BvT4bMLP.js";import"./ChevronUp-BAjyIVOE.js";import"./Palette-DVhkaDgv.js";import"./User01-BZLj0_M8.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./use-registry-connections-DOXnVkDT.js";import"./useInfiniteQuery-BE9sdfbg.js";import"./infiniteQueryObserver-DH4hUCgR.js";import"./collections-8sPPrJ7A.js";import"./index-AHroOw7q.js";import"./create-sse-subscription-CxkOgzKf.js";function Z_(t,e){const s=Mt(e);return ex({filters:{...t,status:"pending"}},s).length}function Tc(t,e){return t.findAll(e.filters).map(s=>e.select?e.select(s):s.state)}function ex(t={},e){const s=Mt(e).getMutationCache(),i=S.useRef(t),r=S.useRef(null);return r.current===null&&(r.current=Tc(s,t)),S.useEffect(()=>{i.current=t}),S.useSyncExternalStore(S.useCallback(o=>s.subscribe(()=>{const a=Jm(r.current,Tc(s,i.current));r.current!==a&&(r.current=a,Qm.schedule(o))}),[s]),()=>r.current,()=>r.current)}function tx(t,e){const s=B.c(37),{org:i,locator:r}=ye();let o;s[0]!==i.id?(o={connectionId:Pt,orgId:i.id},s[0]=i.id,s[1]=o):o=s[1];const a=Le(o),l=Mt();let c;s[2]!==t||s[3]!==i.id?(c=ct.ensureTask(i.id,t),s[2]=t,s[3]=i.id,s[4]=c):c=s[4];let d;s[5]!==a||s[6]!==t?(d=async()=>(await a.callTool({name:"COLLECTION_THREADS_GET",arguments:{id:t}})).structuredContent?.item??null,s[5]=a,s[6]=t,s[7]=d):d=s[7];let u;s[8]!==c||s[9]!==d?(u={queryKey:c,queryFn:d,retry:!1,refetchOnWindowFocus:!1},s[8]=c,s[9]=d,s[10]=u):u=s[10];const h=Wi(u);let f;s[11]!==a||s[12]!==e?(f=async b=>{const y=await a.callTool({name:"COLLECTION_THREADS_CREATE",arguments:{data:{id:b,virtual_mcp_id:e}}});if(y.isError){const k=y.content,w=Array.isArray(k)&&k[0]&&typeof k[0]=="object"?k[0].text??"Create failed":"Create failed";throw new Error(w)}return y.structuredContent.item},s[11]=a,s[12]=e,s[13]=f):f=s[13];let m;s[14]!==r||s[15]!==i.id||s[16]!==h||s[17]!==l?(m=()=>{l.invalidateQueries({predicate:b=>b.queryKey[1]===i.id&&b.queryKey[3]==="collection"&&b.queryKey[4]==="THREADS"}),l.invalidateQueries({queryKey:ct.tasksPrefix(r)}),h.refetch()},s[14]=r,s[15]=i.id,s[16]=h,s[17]=l,s[18]=m):m=s[18];let p;s[19]!==f||s[20]!==m?(p={mutationFn:f,onSuccess:m},s[19]=f,s[20]=m,s[21]=p):p=s[21];const g=Ki(p);let _,v;if(s[22]!==g||s[23]!==t||s[24]!==h.data||s[25]!==h.isSuccess?(_=()=>{!h.isSuccess||h.data||g.isPending||g.variables!==t&&g.mutate(t)},v=[t,h.isSuccess,h.data,g],s[22]=g,s[23]=t,s[24]=h.data,s[25]=h.isSuccess,s[26]=_,s[27]=v):(_=s[26],v=s[27]),S.useEffect(_,v),h.isLoading){let b;return s[28]===Symbol.for("react.memo_cache_sentinel")?(b={status:"loading"},s[28]=b):b=s[28],b}if(h.isError){const b=h.error;let y;return s[29]!==b?(y={status:"error",error:b},s[29]=b,s[30]=y):y=s[30],y}if(h.isSuccess&&h.data){let b;return s[31]!==h.data?(b={status:"ready",task:h.data},s[31]=h.data,s[32]=b):b=s[32],b}if(g.isPending||h.isSuccess&&!h.data){let b;return s[33]===Symbol.for("react.memo_cache_sentinel")?(b={status:"creating"},s[33]=b):b=s[33],b}if(g.isError){let b;return s[34]!==g.error?(b={status:"error",error:g.error},s[34]=g.error,s[35]=b):b=s[35],b}let x;return s[36]===Symbol.for("react.memo_cache_sentinel")?(x={status:"loading"},s[36]=x):x=s[36],x}function sx(t){const e={};for(const s of t.arguments??[])e[s.name]=s.required?Et().min(1,"Required"):Et();return js(e)}function ix(t){const e={};for(const s of t.arguments??[])e[s.name]="";return e}function Bl(t){const e=B.c(65),{prompt:s,setPrompt:i,onSubmit:r}=t,o=S.useId();let a;if(e[0]!==s){const D=s?sx(s):js({});a=Un(D),e[0]=s,e[1]=a}else a=e[1];const c=a;let d;e[2]!==s?(d=s?ix(s):{},e[2]=s,e[3]=d):d=e[3];let u;e[4]!==c||e[5]!==d?(u={resolver:c,defaultValues:d,mode:"onChange"},e[4]=c,e[5]=d,e[6]=u):u=e[6];const h=qi(u);let f;e[7]!==s?.arguments?(f=s?.arguments??[],e[7]=s?.arguments,e[8]=f):f=e[8];const m=f;let p;e[9]!==h||e[10]!==r||e[11]!==i?(p=async D=>{await r(D),i(null),h.reset()},e[9]=h,e[10]=r,e[11]=i,e[12]=p):p=e[12];const g=p;let _;e[13]!==h||e[14]!==i?(_=D=>{D||(h.reset(),i(null))},e[13]=h,e[14]=i,e[15]=_):_=e[15];const v=_;if(!s)return null;let x;e[16]!==s._meta||e[17]!==s.name||e[18]!==s.title?(x=s.title||oo(s.name,ni(s._meta)),e[16]=s._meta,e[17]=s.name,e[18]=s.title,e[19]=x):x=e[19];let b;e[20]!==x?(b=n.jsx(ds,{children:n.jsx("span",{className:"capitalize",children:x})}),e[20]=x,e[21]=b):b=e[21];let y;e[22]!==s.description?(y=s.description&&n.jsx("p",{className:"text-sm text-muted-foreground",children:s.description}),e[22]=s.description,e[23]=y):y=e[23];let C;e[24]!==y||e[25]!==b?(C=n.jsxs(hs,{children:[b,y]}),e[24]=y,e[25]=b,e[26]=C):C=e[26];let k;e[27]!==h||e[28]!==g?(k=D=>{D.stopPropagation(),h.handleSubmit(g)(D)},e[27]=h,e[28]=g,e[29]=k):k=e[29];let w;if(e[30]!==m||e[31]!==h.control||e[32]!==h.formState.isSubmitting){let D;e[34]!==h.control||e[35]!==h.formState.isSubmitting?(D=P=>n.jsx(It,{control:h.control,name:P.name,render:O=>{const{field:$}=O;return n.jsxs(Rt,{children:[n.jsxs(os,{className:"text-xs",children:[P.name,P.required?null:n.jsxs("span",{className:"text-muted-foreground font-normal",children:[" ","(optional)"]})]}),n.jsx(Tt,{children:n.jsx(gt,{...$,value:$.value??"",required:P.required,placeholder:P.description??"",className:"h-9",disabled:h.formState.isSubmitting})}),n.jsx(Dt,{})]})}},P.name),e[34]=h.control,e[35]=h.formState.isSubmitting,e[36]=D):D=e[36],w=m.map(D),e[30]=m,e[31]=h.control,e[32]=h.formState.isSubmitting,e[33]=w}else w=e[33];let V;e[37]!==v?(V=()=>v(!1),e[37]=v,e[38]=V):V=e[38];let j;e[39]!==h.formState.isSubmitting||e[40]!==V?(j=n.jsx(oe,{type:"button",variant:"ghost",onClick:V,disabled:h.formState.isSubmitting,children:"Cancel"}),e[39]=h.formState.isSubmitting,e[40]=V,e[41]=j):j=e[41];const R=!h.formState.isValid||h.formState.isSubmitting;let T;e[42]!==h.formState.isSubmitting?(T=h.formState.isSubmitting?n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(In,{size:"xs"}),"Loading..."]}):"Use prompt",e[42]=h.formState.isSubmitting,e[43]=T):T=e[43];let I;e[44]!==o||e[45]!==R||e[46]!==T?(I=n.jsx(oe,{type:"submit",form:o,disabled:R,children:T}),e[44]=o,e[45]=R,e[46]=T,e[47]=I):I=e[47];let A;e[48]!==j||e[49]!==I?(A=n.jsxs(xl,{children:[j,I]}),e[48]=j,e[49]=I,e[50]=A):A=e[50];let N;e[51]!==o||e[52]!==k||e[53]!==w||e[54]!==A?(N=n.jsxs("form",{id:o,className:"space-y-4 py-4",autoComplete:"off",onSubmit:k,children:[w,A]}),e[51]=o,e[52]=k,e[53]=w,e[54]=A,e[55]=N):N=e[55];let E;e[56]!==h||e[57]!==N?(E=n.jsx(Bi,{...h,children:N}),e[56]=h,e[57]=N,e[58]=E):E=e[58];let M;e[59]!==C||e[60]!==E?(M=n.jsxs(ts,{className:"sm:max-w-lg max-h-[80vh] overflow-y-auto",children:[C,E]}),e[59]=C,e[60]=E,e[61]=M):M=e[61];let L;return e[62]!==v||e[63]!==M?(L=n.jsx(ss,{open:!0,onOpenChange:v,children:M}),e[62]=v,e[63]=M,e[64]=L):L=e[64],L}function nx(t){return!t||!t.content||t.content.length===0?!0:t.content.every(e=>e.type==="paragraph"?!e.content||e.content.length===0?!0:e.content.every(s=>s.type==="hardBreak"||s.type==="text"&&(!s.text||s.text.trim()==="")):!1)}function rx(t,e){return{type:"doc",content:[...t?.content??[],e].filter(Boolean)}}const Dc=3,Mu="inline-flex items-center gap-2 px-5 py-2.5 rounded-full bg-muted text-muted-foreground text-sm font-medium transition-colors cursor-pointer",ox="flex flex-col gap-1.5 p-4 rounded-xl bg-accent/40 text-sm leading-snug transition-colors cursor-pointer text-left";function Pu(t){const e=B.c(46),{item:s,onSelect:i,isLoading:r,isDisabled:o,variant:a}=t,l=a===void 0?"pill":a,{prompt:c}=s;let d;if(e[0]!==c._meta||e[1]!==c.name||e[2]!==c.title){const w=ni(c._meta);d=c.title??oo(c.name,w),e[0]=c._meta,e[1]=c.name,e[2]=c.title,e[3]=d}else d=e[3];const u=d,h=c.description||null;if(l==="card"){let w;e[4]!==i||e[5]!==c?(w=()=>i(c),e[4]=i,e[5]=c,e[6]=w):w=e[6];const V=o||r,j=r&&"bg-accent/40",R=(o||r)&&"cursor-not-allowed opacity-50";let T;e[7]!==j||e[8]!==R?(T=X(ox,"hover:bg-accent/60 text-foreground",j,R),e[7]=j,e[8]=R,e[9]=T):T=e[9];let I;e[10]!==u?(I=n.jsx("span",{className:"font-medium truncate capitalize",children:u}),e[10]=u,e[11]=I):I=e[11];let A;e[12]!==r?(A=r&&n.jsx(In,{size:"xs"}),e[12]=r,e[13]=A):A=e[13];let N;e[14]!==I||e[15]!==A?(N=n.jsxs("div",{className:"flex items-center justify-between gap-2",children:[I,A]}),e[14]=I,e[15]=A,e[16]=N):N=e[16];let E;e[17]!==h?(E=h&&n.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:h}),e[17]=h,e[18]=E):E=e[18];let M;return e[19]!==N||e[20]!==E||e[21]!==w||e[22]!==V||e[23]!==T?(M=n.jsxs("button",{type:"button",onClick:w,disabled:V,className:T,children:[N,E]}),e[19]=N,e[20]=E,e[21]=w,e[22]=V,e[23]=T,e[24]=M):M=e[24],M}let f;e[25]!==i||e[26]!==c?(f=()=>i(c),e[25]=i,e[26]=c,e[27]=f):f=e[27];const m=o||r,p=r&&"bg-muted/50",g=(o||r)&&"cursor-not-allowed opacity-50";let _;e[28]!==p||e[29]!==g?(_=X(Mu,"hover:bg-muted/70 hover:text-foreground",p,g),e[28]=p,e[29]=g,e[30]=_):_=e[30];let v;e[31]!==u?(v=n.jsx("span",{className:"capitalize",children:u}),e[31]=u,e[32]=v):v=e[32];let x;e[33]!==r?(x=r&&n.jsx(In,{size:"xs"}),e[33]=r,e[34]=x):x=e[34];let b;e[35]!==f||e[36]!==m||e[37]!==_||e[38]!==v||e[39]!==x?(b=n.jsx(st,{asChild:!0,children:n.jsxs("button",{type:"button",onClick:f,disabled:m,className:_,children:[v,x]})}),e[35]=f,e[36]=m,e[37]=_,e[38]=v,e[39]=x,e[40]=b):b=e[40];const y=h??u;let C;e[41]!==y?(C=n.jsx(it,{side:"top",className:"max-w-xs",children:n.jsx("p",{className:"text-xs",children:y})}),e[41]=y,e[42]=C):C=e[42];let k;return e[43]!==b||e[44]!==C?(k=n.jsxs(nt,{delayDuration:400,children:[b,C]}),e[43]=b,e[44]=C,e[45]=k):k=e[45],k}function ax(t){const e=B.c(41),{items:s,open:i,onOpenChange:r,onSelect:o,loadingPrompt:a}=t,[l,c]=S.useState(""),d=!!a;let u;e[0]!==s||e[1]!==l?(u=l.trim()?s.filter(V=>{const j=l.toLowerCase();return V.prompt.name.toLowerCase().includes(j)||(V.prompt.title??"").toLowerCase().includes(j)||(V.prompt.description??"").toLowerCase().includes(j)}):s,e[0]=s,e[1]=l,e[2]=u):u=e[2];const h=u,f=Ms();let m;e[3]!==h.length||e[4]!==l?(m=h.length===0&&n.jsxs("p",{className:"col-span-4 text-sm text-muted-foreground text-center py-8",children:["No prompts match “",l,"”"]}),e[3]=h.length,e[4]=l,e[5]=m):m=e[5];let p;if(e[6]!==h||e[7]!==d||e[8]!==a?.name||e[9]!==r||e[10]!==o){let V;e[12]!==d||e[13]!==a?.name||e[14]!==r||e[15]!==o?(V=j=>n.jsx(Pu,{item:j,variant:"card",onSelect:R=>{r(!1),o(R)},isLoading:a?.name===j.prompt.name,isDisabled:d&&a?.name!==j.prompt.name},j.prompt.name),e[12]=d,e[13]=a?.name,e[14]=r,e[15]=o,e[16]=V):V=e[16],p=h.map(V),e[6]=h,e[7]=d,e[8]=a?.name,e[9]=r,e[10]=o,e[11]=p}else p=e[11];let g;e[17]!==m||e[18]!==p?(g=n.jsx("div",{className:"flex-1 overflow-y-auto [scrollbar-gutter:stable]",children:n.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3 p-5",children:[m,p]})}),e[17]=m,e[18]=p,e[19]=g):g=e[19];const _=g;let v;e[20]===Symbol.for("react.memo_cache_sentinel")?(v=V=>{V.key==="Escape"&&c("")},e[20]=v):v=e[20];let x;e[21]!==l?(x=n.jsx(Uh,{value:l,onChange:c,placeholder:"Search prompts...",onKeyDown:v}),e[21]=l,e[22]=x):x=e[22];const b=x;if(f){let V;e[23]===Symbol.for("react.memo_cache_sentinel")?(V=n.jsx(co,{className:"sr-only",children:n.jsx(wi,{children:"All prompts"})}),e[23]=V):V=e[23];let j;e[24]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx("div",{className:"flex items-center h-12 border-b border-border px-4 shrink-0",children:n.jsx("span",{className:"text-sm font-medium text-foreground",children:"Prompts"})}),e[24]=j):j=e[24];let R;e[25]!==_||e[26]!==b?(R=n.jsxs(Vi,{className:"h-[85vh] flex flex-col p-0 gap-0",children:[V,j,b,_]}),e[25]=_,e[26]=b,e[27]=R):R=e[27];let T;return e[28]!==r||e[29]!==i||e[30]!==R?(T=n.jsx(Oi,{delayDuration:400,children:n.jsx(Ci,{open:i,onOpenChange:r,children:R})}),e[28]=r,e[29]=i,e[30]=R,e[31]=T):T=e[31],T}let y;e[32]===Symbol.for("react.memo_cache_sentinel")?(y=n.jsx(hs,{className:"sr-only",children:n.jsx(ds,{children:"All prompts"})}),e[32]=y):y=e[32];let C;e[33]===Symbol.for("react.memo_cache_sentinel")?(C=n.jsx("div",{className:"flex items-center h-12 border-b border-border px-4 shrink-0",children:n.jsx("span",{className:"text-sm font-medium text-foreground",children:"Prompts"})}),e[33]=C):C=e[33];let k;e[34]!==_||e[35]!==b?(k=n.jsxs(ts,{className:"sm:max-w-[1100px] h-[680px] p-0 gap-0 overflow-hidden flex flex-col",children:[y,C,b,_]}),e[34]=_,e[35]=b,e[36]=k):k=e[36];let w;return e[37]!==r||e[38]!==i||e[39]!==k?(w=n.jsx(Oi,{delayDuration:400,children:n.jsx(ss,{open:i,onOpenChange:r,children:k})}),e[37]=r,e[38]=i,e[39]=k,e[40]=w):w=e[40],w}function lx(t){const e=B.c(29),{items:s,onSelect:i,loadingPrompt:r,className:o}=t,[a,l]=S.useState(!1);if(s.length===0)return null;let c,d,u;if(e[0]!==s||e[1]!==r||e[2]!==i){const v=s.slice(0,Dc);let x;e[6]!==s?(x=s.slice(Dc),e[6]=s,e[7]=x):x=e[7],c=x,d=!!r;let b;e[8]!==d||e[9]!==r?.name||e[10]!==i?(b=y=>n.jsx(Pu,{item:y,onSelect:i,isLoading:r?.name===y.prompt.name,isDisabled:d&&r?.name!==y.prompt.name},y.prompt.name),e[8]=d,e[9]=r?.name,e[10]=i,e[11]=b):b=e[11],u=v.map(b),e[0]=s,e[1]=r,e[2]=i,e[3]=c,e[4]=d,e[5]=u}else c=e[3],d=e[4],u=e[5];const h=u;let f;e[12]!==o?(f=X("w-full flex flex-wrap gap-2 justify-center",o),e[12]=o,e[13]=f):f=e[13];let m;e[14]!==c.length||e[15]!==d?(m=c.length>0&&n.jsxs("button",{type:"button",disabled:d,onClick:()=>l(!0),className:X(Mu,"hover:bg-muted/70 hover:text-foreground",d&&"opacity-50 cursor-not-allowed"),children:["+",c.length," more"]}),e[14]=c.length,e[15]=d,e[16]=m):m=e[16];let p;e[17]!==h||e[18]!==f||e[19]!==m?(p=n.jsxs("div",{className:f,children:[h,m]}),e[17]=h,e[18]=f,e[19]=m,e[20]=p):p=e[20];let g;e[21]!==s||e[22]!==r||e[23]!==a||e[24]!==i?(g=n.jsx(ax,{items:s,open:a,onOpenChange:l,onSelect:i,loadingPrompt:r}),e[21]=s,e[22]=r,e[23]=a,e[24]=i,e[25]=g):g=e[25];let _;return e[26]!==p||e[27]!==g?(_=n.jsxs(Oi,{delayDuration:400,children:[p,g]}),e[26]=p,e[27]=g,e[28]=_):_=e[28],_}function cx(){return null}function dx(t,e){switch(e.type){case"SELECT_PROMPT":return!e.prompt.arguments||e.prompt.arguments.length===0?{stage:"loading",prompt:e.prompt}:{stage:"idle"};case"START_LOADING":return{stage:"loading",prompt:e.prompt,arguments:e.arguments};case"RESET":return{stage:"idle"};default:return t}}function hx(t){const e=B.c(30),{connectionId:s}=t,{sendMessage:i}=Gi(),{tiptapDocRef:r}=ai(),{org:o}=ye();let a;e[0]!==s||e[1]!==o.id?(a={connectionId:s,orgId:o.id},e[0]=s,e[1]=o.id,e[2]=a):a=e[2];const l=Le(a);let c;e[3]!==l?(c={client:l,staleTime:6e4},e[3]=l,e[4]=c):c=e[4];const{data:d}=Hh(c);let u;e[5]!==d?.prompts?(u=d?.prompts??[],e[5]=d?.prompts,e[6]=u):u=e[6];const h=u;let f;e[7]!==h?(f=h.map(ux),e[7]=h,e[8]=f):f=e[8];const m=f;let p;e[9]===Symbol.for("react.memo_cache_sentinel")?(p={stage:"idle"},e[9]=p):p=e[9];const[g,_]=S.useReducer(dx,p),[v,x]=S.useState(null);let b;e[10]!==l||e[11]!==i||e[12]!==r?(b=async(N,E)=>{if(!l){fe.error("MCP client not available"),_({type:"RESET"});return}try{const M=await bl(l,N.name,E);_({type:"RESET"});const L=rx(r.current,{type:"paragraph",content:[Up({id:N.name,name:gl(N.name,ni(N._meta)),metadata:M.messages,char:"/"})]});await i(L)}catch(M){console.error("[ice-breakers] Failed to fetch prompt:",M),fe.error("Failed to load prompt. Please try again."),_({type:"RESET"})}},e[10]=l,e[11]=i,e[12]=r,e[13]=b):b=e[13];const y=b;let C;e[14]!==y?(C=async N=>{if(N.arguments&&N.arguments.length>0){_({type:"SELECT_PROMPT",prompt:N}),x(N);return}_({type:"START_LOADING",prompt:N}),await y(N)},e[14]=y,e[15]=C):C=e[15];const k=C;let w;e[16]!==v||e[17]!==y?(w=async N=>{v&&(_({type:"START_LOADING",prompt:v,arguments:N}),x(null),await y(v,N))},e[16]=v,e[17]=y,e[18]=w):w=e[18];const V=w;if(m.length===0)return null;const j=g.stage==="loading"?g.prompt:null;let R;e[19]!==k||e[20]!==m||e[21]!==j?(R=n.jsx(lx,{items:m,onSelect:k,loadingPrompt:j}),e[19]=k,e[20]=m,e[21]=j,e[22]=R):R=e[22];let T;e[23]===Symbol.for("react.memo_cache_sentinel")?(T=()=>{x(null),_({type:"RESET"})},e[23]=T):T=e[23];let I;e[24]!==v||e[25]!==V?(I=n.jsx(Bl,{prompt:v,setPrompt:T,onSubmit:V}),e[24]=v,e[25]=V,e[26]=I):I=e[26];let A;return e[27]!==R||e[28]!==I?(A=n.jsxs(n.Fragment,{children:[R,I]}),e[27]=R,e[28]=I,e[29]=A):A=e[29],A}function ux(t){return{prompt:t}}function fx(t){const e=B.c(13),{className:s}=t,{selectedVirtualMcp:i}=ai(),{org:r}=ye();let o;e[0]!==r.id?(o=ho(r.id),e[0]=r.id,e[1]=o):o=e[1];const a=o.id,l=i?.id??a;let c;e[2]!==s?(c=X("w-full @container",s),e[2]=s,e[3]=c):c=e[3];const d=l??"default";let u;e[4]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx(cx,{}),e[4]=u):u=e[4];let h;e[5]!==l?(h=n.jsx(hx,{connectionId:l}),e[5]=l,e[6]=h):h=e[6];let f;e[7]!==d||e[8]!==h?(f=n.jsx(Ns,{fallback:null,children:n.jsx(S.Suspense,{fallback:u,children:h},d)}),e[7]=d,e[8]=h,e[9]=f):f=e[9];let m;return e[10]!==c||e[11]!==f?(m=n.jsx("div",{className:c,children:f}),e[10]=c,e[11]=f,e[12]=m):m=e[12],m}function Lu(t){const e=B.c(21),{current:s,total:i,onPrev:r,onNext:o}=t;if(i<=1)return null;const a=s===0,l=s===0?"opacity-30 cursor-not-allowed":"hover:text-foreground cursor-pointer";let c;e[0]!==l?(c=X("p-0.5 rounded transition-colors",l),e[0]=l,e[1]=c):c=e[1];let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(kl,{size:14}),e[2]=d):d=e[2];let u;e[3]!==r||e[4]!==a||e[5]!==c?(u=n.jsx("button",{type:"button",onClick:r,disabled:a,className:c,"aria-label":"Previous question",children:d}),e[3]=r,e[4]=a,e[5]=c,e[6]=u):u=e[6];const h=s+1;let f;e[7]!==h||e[8]!==i?(f=n.jsxs("span",{className:"tabular-nums text-xs",children:[h," of ",i]}),e[7]=h,e[8]=i,e[9]=f):f=e[9];const m=s===i-1,p=s===i-1?"opacity-30 cursor-not-allowed":"hover:text-foreground cursor-pointer";let g;e[10]!==p?(g=X("p-0.5 rounded transition-colors",p),e[10]=p,e[11]=g):g=e[11];let _;e[12]===Symbol.for("react.memo_cache_sentinel")?(_=n.jsx(uo,{size:14}),e[12]=_):_=e[12];let v;e[13]!==o||e[14]!==g||e[15]!==m?(v=n.jsx("button",{type:"button",onClick:o,disabled:m,className:g,"aria-label":"Next question",children:_}),e[13]=o,e[14]=g,e[15]=m,e[16]=v):v=e[16];let x;return e[17]!==v||e[18]!==u||e[19]!==f?(x=n.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[u,f,v]}),e[17]=v,e[18]=u,e[19]=f,e[20]=x):x=e[20],x}function Wr(t){const e=B.c(18),{title:s,children:i,footerLeft:r,footerRight:o,className:a}=t,l=a??"border-border";let c;e[0]!==l?(c=X("flex flex-col rounded-xl bg-background border shadow-md w-[calc(100%-16px)] max-w-[584px] mx-auto mb-[-16px]",l),e[0]=l,e[1]=c):c=e[1];let d;e[2]!==s?(d=n.jsx("div",{className:"flex items-center gap-2 p-4",children:n.jsx("p",{className:"flex-1 text-base font-medium text-foreground min-w-0",children:s})}),e[2]=s,e[3]=d):d=e[3];let u;e[4]!==i?(u=n.jsx("div",{className:"overflow-clip pb-4",children:i}),e[4]=i,e[5]=u):u=e[5];let h;e[6]!==r?(h=n.jsx("div",{children:r}),e[6]=r,e[7]=h):h=e[7];let f;e[8]!==o?(f=n.jsx("div",{className:"flex items-center gap-2",children:o}),e[8]=o,e[9]=f):f=e[9];let m;e[10]!==h||e[11]!==f?(m=n.jsx("div",{className:"border-t border-border px-3 py-3 pb-6",children:n.jsxs("div",{className:"flex items-center justify-between",children:[h,f]})}),e[10]=h,e[11]=f,e[12]=m):m=e[12];let p;return e[13]!==c||e[14]!==d||e[15]!==u||e[16]!==m?(p=n.jsxs("div",{className:c,children:[d,u,m]}),e[13]=c,e[14]=d,e[15]=u,e[16]=m,e[17]=p):p=e[17],p}const mx="User denied this tool call, give other alternatives.",px=[{value:"readonly",label:"Ask before edit"},{value:"auto",label:"Auto approve"}];function gx(t){const e=B.c(9),{onYolo:s}=t,[i,r]=yi();let o;e[0]!==s||e[1]!==i||e[2]!==r?(o=u=>{const h=u;r({...i,toolApprovalLevel:h}),h==="auto"&&s()},e[0]=s,e[1]=i,e[2]=r,e[3]=o):o=e[3];const a=o;let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx(ti,{size:"xs",className:"text-xs text-muted-foreground border-border/60 bg-transparent hover:bg-accent/60 h-7 gap-1",onClick:xx,children:n.jsx(si,{})}),e[4]=l):l=e[4];let c;e[5]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(Zs,{children:px.map(_x)}),e[5]=c):c=e[5];let d;return e[6]!==a||e[7]!==i.toolApprovalLevel?(d=n.jsxs(ei,{value:i.toolApprovalLevel,onValueChange:a,children:[l,c]}),e[6]=a,e[7]=i.toolApprovalLevel,e[8]=d):d=e[8],d}function _x(t){return n.jsx(Ht,{value:t.value,children:t.label},t.value)}function xx(t){return t.stopPropagation()}function vx(t){const e=B.c(5),{input:s}=t;if(s==null){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("div",{className:"px-4 text-xs text-muted-foreground",children:"No input"}),e[0]=o):o=e[0],o}let i;try{let o;e[1]!==s?(o=JSON.stringify(s,null,2),e[1]=s,e[2]=o):o=e[2],i=o}catch{i=String(s)}let r;return e[3]!==i?(r=n.jsx("div",{className:"px-4",children:n.jsx("pre",{className:"text-xs font-mono text-muted-foreground/70 whitespace-pre-wrap wrap-break-word max-h-32 overflow-y-auto rounded-md bg-muted/30 px-3 py-2",children:i})}),e[3]=i,e[4]=r):r=e[4],r}function bx(t){const e=B.c(42),{approvals:s,onRespond:i}=t,[r,o]=S.useState(0),a=Math.min(r,s.length-1),l=s[a];if(!l)return null;let c;e[0]!==l.approvalId||e[1]!==i?(c=()=>{i(l.approvalId,!1,mx)},e[0]=l.approvalId,e[1]=i,e[2]=c):c=e[2];const d=c;let u;e[3]!==l.approvalId||e[4]!==i?(u=()=>{i(l.approvalId,!0)},e[3]=l.approvalId,e[4]=i,e[5]=u):u=e[5];const h=u;let f;e[6]!==s||e[7]!==i?(f=()=>{for(const A of s)i(A.approvalId,!0)},e[6]=s,e[7]=i,e[8]=f):f=e[8];const m=f;let p;e[9]!==a?(p=()=>{a>0&&o(a-1)},e[9]=a,e[10]=p):p=e[10];const g=p;let _;e[11]!==s.length||e[12]!==a?(_=()=>{a<s.length-1&&o(a+1)},e[11]=s.length,e[12]=a,e[13]=_):_=e[13];const v=_;let x;e[14]!==m?(x=n.jsx(gx,{onYolo:m}),e[14]=m,e[15]=x):x=e[15];let b;e[16]!==s.length||e[17]!==v||e[18]!==g||e[19]!==a?(b=n.jsx(Lu,{current:a,total:s.length,onPrev:g,onNext:v}),e[16]=s.length,e[17]=v,e[18]=g,e[19]=a,e[20]=b):b=e[20];let y;e[21]!==x||e[22]!==b?(y=n.jsxs("div",{className:"flex items-center gap-2",children:[x,b]}),e[21]=x,e[22]=b,e[23]=y):y=e[23];const C=y;let k;e[24]!==d?(k=n.jsx(oe,{type:"button",variant:"ghost",size:"sm",className:"h-7 px-2.5 text-xs text-muted-foreground [@media(hover:hover)]:hover:text-foreground active:scale-[0.97] transition-transform",onClick:d,children:"Deny"}),e[24]=d,e[25]=k):k=e[25];let w;e[26]!==s.length||e[27]!==m?(w=s.length>1&&n.jsx(oe,{type:"button",variant:"outline",size:"sm",className:"h-7 px-2.5 text-xs active:scale-[0.97] transition-transform",onClick:m,children:"Accept All"}),e[26]=s.length,e[27]=m,e[28]=w):w=e[28];let V;e[29]!==h?(V=n.jsx(oe,{type:"button",size:"sm",className:"h-7 px-2.5 text-xs active:scale-[0.97] transition-transform",onClick:h,children:"Accept"}),e[29]=h,e[30]=V):V=e[30];let j;e[31]!==w||e[32]!==V||e[33]!==k?(j=n.jsxs(n.Fragment,{children:[k,w,V]}),e[31]=w,e[32]=V,e[33]=k,e[34]=j):j=e[34];const R=j;let T;e[35]!==l.input?(T=n.jsx(vx,{input:l.input}),e[35]=l.input,e[36]=T):T=e[36];let I;return e[37]!==l.friendlyName||e[38]!==C||e[39]!==R||e[40]!==T?(I=n.jsx(Wr,{title:l.friendlyName,footerLeft:C,footerRight:R,children:T}),e[37]=l.friendlyName,e[38]=C,e[39]=R,e[40]=T,e[41]=I):I=e[41],I}function yx(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsxs("div",{className:"flex items-center gap-2 p-4 border border-dashed rounded-lg bg-accent/50 w-[calc(100%-16px)] max-w-[584px] mx-auto mb-2",children:[n.jsx(wg,{className:"size-5 text-muted-foreground shimmer"}),n.jsx("span",{className:"text-sm text-muted-foreground shimmer",children:"Preparing approval request..."})]}),t[0]=e):e=t[0],e}function Sx(t){const e=B.c(4),{approvals:s,isStreaming:i,onRespond:r}=t;if(i&&s.length===0){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx(yx,{}),e[0]=a):a=e[0],a}if(s.length===0)return null;let o;return e[1]!==s||e[2]!==r?(o=n.jsx(bx,{approvals:s,onRespond:r}),e[1]=s,e[2]=r,e[3]=o):o=e[3],o}function wx(t){const e=[];for(const s of t)if("state"in s&&s.state==="approval-requested"&&"approval"in s&&s.approval?.id&&"toolCallId"in s&&s.toolCallId){const i="toolName"in s&&typeof s.toolName=="string"?s.toolName:s.type.startsWith("tool-")?s.type.replace("tool-",""):"Tool";e.push({approvalId:s.approval.id,toolCallId:s.toolCallId,toolName:i,friendlyName:Hp(Wp(i)),input:s.input})}return e}function Vx(t){const e=B.c(15),{plan:s,onApprove:i,onDismiss:r}=t;let o;e[0]!==i||e[1]!==s.plan?(o=()=>{i(s.plan)},e[0]=i,e[1]=s.plan,e[2]=o):o=e[2];const a=o;let l;e[3]!==r?(l=n.jsx(oe,{type:"button",variant:"ghost",size:"sm",className:"h-7 px-2.5 text-xs text-muted-foreground [@media(hover:hover)]:hover:text-foreground active:scale-[0.97] transition-transform",onClick:r,children:"Keep iterating"}),e[3]=r,e[4]=l):l=e[4];let c;e[5]!==a?(c=n.jsx(oe,{type:"button",size:"sm",className:"h-7 px-2.5 text-xs bg-purple-600 hover:bg-purple-700 text-white active:scale-[0.97] transition-transform",onClick:a,children:"Let's go"}),e[5]=a,e[6]=c):c=e[6];let d;e[7]!==l||e[8]!==c?(d=n.jsxs(n.Fragment,{children:[l,c]}),e[7]=l,e[8]=c,e[9]=d):d=e[9];const u=d;let h;e[10]!==s.plan?(h=n.jsx("div",{className:"px-4 max-h-64 overflow-y-auto",children:n.jsx("div",{className:"prose prose-sm max-w-none text-sm",children:n.jsx(Kp,{id:"plan-preview",part:{type:"text",text:s.plan}})})}),e[10]=s.plan,e[11]=h):h=e[11];let f;return e[12]!==u||e[13]!==h?(f=n.jsx(Wr,{title:"Implementation Plan",footerRight:u,className:"border-dashed border-purple-500",children:h}),e[12]=u,e[13]=h,e[14]=f):f=e[14],f}function Cx(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsxs("div",{className:"flex items-center gap-2 p-4 border border-dashed border-purple-500/30 rounded-lg bg-purple-500/5 w-[calc(100%-16px)] max-w-[584px] mx-auto mb-2",children:[n.jsx(Jt,{className:"size-5 text-purple-500 shimmer"}),n.jsx("span",{className:"text-sm text-muted-foreground shimmer",children:"Preparing plan..."})]}),t[0]=e):e=t[0],e}function kx(t){const e=B.c(7),{plans:s,isStreaming:i,onApprove:r,onDismiss:o}=t;if(i&&s.length===0){let d;return e[0]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(Cx,{}),e[0]=d):d=e[0],d}let a;e[1]!==s?(a=s.at(-1),e[1]=s,e[2]=a):a=e[2];const l=a;if(!l)return null;let c;return e[3]!==l||e[4]!==r||e[5]!==o?(c=n.jsx(Vx,{plan:l,onApprove:r,onDismiss:o}),e[3]=l,e[4]=r,e[5]=o,e[6]=c):c=e[6],c}function jx(t){const e=[];for(const s of t)if("type"in s&&s.type==="tool-propose_plan"&&"state"in s&&s.state==="input-available"&&"toolCallId"in s&&"input"in s){const i=s.input;e.push({toolCallId:s.toolCallId,plan:i.plan,state:s.state})}return e}const Mc=js({response:Et().min(1,"Response is required")}),Nx=js({response:Et().min(1,"Please select or enter an option")}),Ax=js({response:Zm(["yes","no"])});function Ex(t){switch(t.type){case"text":return Mc;case"choice":return Nx;case"confirm":return Ax;default:return Mc}}function Ix(t){const e={};for(const s of t)e[s.toolCallId]=Ex(s.input);return js(e)}function Rx(t){const e=B.c(6),{control:s,name:i,placeholder:r}=t;let o;e[0]!==r?(o=l=>{const{field:c}=l;return n.jsxs(Rt,{children:[n.jsx(Tt,{children:n.jsx("div",{className:"px-2",children:n.jsxs("div",{className:"flex items-center gap-3 px-2 py-3 rounded-lg bg-accent/50",children:[n.jsx("span",{className:"flex items-center justify-center size-6 rounded-md bg-muted shrink-0",children:n.jsx(Xh,{size:16,className:"text-muted-foreground"})}),n.jsx("input",{...c,type:"text",placeholder:r||"Type your response...",autoFocus:!0,"aria-label":"Text response input",className:"flex-1 text-sm bg-transparent outline-none placeholder:text-foreground/25 text-foreground min-w-0"})]})})}),n.jsx(Dt,{})]})},e[0]=r,e[1]=o):o=e[1];let a;return e[2]!==s||e[3]!==i||e[4]!==o?(a=n.jsx(It,{control:s,name:i,render:o}),e[2]=s,e[3]=i,e[4]=o,e[5]=a):a=e[5],a}function Ou(t,e){const s=B.c(4);let i,r;s[0]!==t||s[1]!==e?(i=()=>{const o=a=>{const l=a.target.tagName;if(l==="INPUT"||l==="TEXTAREA"||a.metaKey||a.ctrlKey||a.altKey)return;const c=Number.parseInt(a.key,10);c>=1&&c<=t&&(a.preventDefault(),e(c-1))};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},r=[t,e],s[0]=t,s[1]=e,s[2]=i,s[3]=r):(i=s[2],r=s[3]),S.useEffect(i,r)}function Tx(t){const e=B.c(9),{control:s,name:i,options:r}=t,[o,a]=S.useState(!1),l=S.useRef(null),c=S.useRef(null);let d;if(e[0]!==r?(d=f=>{c.current?.onChange(r[f]??""),a(!1)},e[0]=r,e[1]=d):d=e[1],Ou(r.length,d),r.length===0)return null;let u;e[2]!==o||e[3]!==r?(u=f=>{const{field:m}=f;c.current=m;const p=o||!!m.value&&!r.includes(m.value);return n.jsxs(Rt,{children:[n.jsx(Tt,{children:n.jsxs("div",{className:"flex flex-col px-2",role:"group","aria-label":"Choice options",children:[r.map((g,_)=>{const v=m.value===g;return n.jsxs("button",{type:"button",onClick:()=>{m.onChange(g??""),a(!1)},className:X("flex items-center gap-3 px-2 py-3 rounded-lg text-left transition-colors w-full",v&&"bg-accent/50",!v&&"hover:bg-accent/30"),"aria-label":`Select ${g}`,children:[n.jsx("span",{className:X("flex items-center justify-center size-6 rounded-md text-sm shrink-0",v?"bg-chart-1 text-white":"bg-muted text-foreground"),children:_+1}),n.jsx("span",{className:"text-sm text-foreground truncate",children:g})]},`${_}-${g}`)}),n.jsxs("div",{className:X("flex items-center gap-3 px-2 py-3 rounded-lg transition-colors w-full cursor-text",p&&"bg-accent/50",!p&&"hover:bg-accent/30"),onClick:()=>{a(!0),r.includes(m.value)&&m.onChange(""),setTimeout(()=>l.current?.focus(),0)},children:[n.jsx("span",{className:"flex items-center justify-center size-6 rounded-md bg-muted shrink-0",children:n.jsx(Xh,{size:16,className:"text-muted-foreground"})}),p?n.jsx("input",{ref:l,type:"text",value:m.value,onChange:g=>m.onChange(g.target.value),placeholder:"Something else...",autoFocus:!0,"aria-label":"Custom choice input",className:"flex-1 text-sm bg-transparent outline-none placeholder:text-foreground/25 text-foreground min-w-0"}):n.jsx("span",{className:"text-sm text-foreground/25",children:"Something else..."})]})]})}),n.jsx(Dt,{})]})},e[2]=o,e[3]=r,e[4]=u):u=e[4];let h;return e[5]!==s||e[6]!==i||e[7]!==u?(h=n.jsx(It,{control:s,name:i,render:u}),e[5]=s,e[6]=i,e[7]=u,e[8]=h):h=e[8],h}function Dx(t){const e=B.c(6),{control:s,name:i}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=["yes","no"],e[0]=r):r=e[0];const o=r,a=S.useRef(null);let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=u=>{a.current?.onChange(o[u]??"")},e[1]=l):l=e[1],Ou(o.length,l);let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=u=>{const{field:h}=u;return a.current=h,n.jsxs(Rt,{children:[n.jsx(Tt,{children:n.jsx("div",{className:"flex gap-2 px-2",role:"group","aria-label":"Confirmation options",children:o.map(f=>{const m=h.value===f;return n.jsxs("button",{type:"button",onClick:()=>h.onChange(f),className:X("flex items-center gap-3 px-4 py-3 rounded-lg text-left transition-colors flex-1",m&&"bg-accent/50",!m&&"hover:bg-accent/30"),"aria-label":`Confirm ${f}`,children:[n.jsx("span",{className:X("flex items-center justify-center size-6 rounded-md text-sm shrink-0",m?"bg-chart-1 text-white":"bg-muted text-foreground"),children:f==="yes"?1:2}),n.jsx("span",{className:"text-sm text-foreground capitalize",children:f})]},f)})})}),n.jsx(Dt,{})]})},e[2]=c):c=e[2];let d;return e[3]!==s||e[4]!==i?(d=n.jsx(It,{control:s,name:i,render:c}),e[3]=s,e[4]=i,e[5]=d):d=e[5],d}function Pc(t){const e=B.c(13),{input:s,control:i,name:r}=t;switch(s.type){case"text":{let o;return e[0]!==i||e[1]!==s.default||e[2]!==r?(o=n.jsx(Rx,{control:i,name:r,placeholder:s.default}),e[0]=i,e[1]=s.default,e[2]=r,e[3]=o):o=e[3],o}case"choice":{let o;e[4]!==s.options?(o=s.options?.filter(Boolean)??[],e[4]=s.options,e[5]=o):o=e[5];const a=o;let l;return e[6]!==i||e[7]!==r||e[8]!==a?(l=n.jsx(Tx,{control:i,name:r,options:a}),e[6]=i,e[7]=r,e[8]=a,e[9]=l):l=e[9],l}case"confirm":{let o;return e[10]!==i||e[11]!==r?(o=n.jsx(Dx,{control:i,name:r}),e[10]=i,e[11]=r,e[12]=o):o=e[12],o}default:return null}}function Mx({parts:t,onSubmit:e}){const[s,i]=S.useState(t[0]?.toolCallId??""),r=Ix(t.map(x=>({toolCallId:x.toolCallId,input:x.input}))),o=qi({resolver:Un(r),defaultValues:Object.fromEntries(t.map(x=>[x.toolCallId,{response:""}]))}),a=o.watch(),l=t.findIndex(x=>x.toolCallId===s),c=!!a[s]?.response,d=t.every(x=>!!a[x.toolCallId]?.response),u=x=>{for(const b of t){const y=x[b.toolCallId]?.response;y&&e(b,y)}},h=x=>t.find(b=>!x[b.toolCallId]?.response&&b.toolCallId!==s)??null,f=()=>{const x=o.getValues();if(t.every(y=>!!x[y.toolCallId]?.response))o.handleSubmit(u)();else{const y=h(x);y&&i(y.toolCallId)}},m=()=>{o.setValue(`${s}.response`,"user has skip this question"),f()},p=()=>{if(l>0){const x=t[l-1];x&&i(x.toolCallId)}},g=()=>{if(l<t.length-1){const x=t[l+1];x&&i(x.toolCallId)}},_=n.jsxs(n.Fragment,{children:[n.jsx(oe,{type:"button",variant:"outline",size:"sm",onClick:m,className:"h-7",children:"Skip"}),n.jsx(oe,{type:"button",size:"sm",disabled:!c,onClick:f,className:X("h-7",c?"":"opacity-50"),children:d?"Submit":"Next"})]}),v=n.jsx(Lu,{current:l,total:t.length,onPrev:p,onNext:g});if(t.length===1){const x=t[0];return x?.input?n.jsx(Bi,{...o,children:n.jsx("form",{onSubmit:o.handleSubmit(u),autoComplete:"off",children:n.jsx(Wr,{title:x.input?.prompt??"Question",footerRight:_,children:n.jsx(Pc,{input:x.input,control:o.control,name:`${x.toolCallId}.response`})})})}):null}return n.jsx(Bi,{...o,children:n.jsx("form",{onSubmit:o.handleSubmit(u),autoComplete:"off",children:n.jsx(Wh,{value:s,onValueChange:i,children:t.map(x=>n.jsx(Cr,{value:x.toolCallId,className:"mt-0",children:n.jsx(Wr,{title:x.input?.prompt??"Question",footerLeft:v,footerRight:_,children:n.jsx(Pc,{input:x.input,control:o.control,name:`${x.toolCallId}.response`})})},x.toolCallId))})})})}function Px(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsxs("div",{className:"flex items-center gap-2 p-4 border border-dashed rounded-lg bg-accent/50 w-[calc(100%-16px)] max-w-[584px] mx-auto mb-2",children:[n.jsx(Kg,{className:"size-5 text-muted-foreground shimmer"}),n.jsx("span",{className:"text-sm text-muted-foreground shimmer",children:"Preparing question..."})]}),t[0]=e):e=t[0],e}function Bu(t){const e=B.c(6),{userAskParts:s,isStreaming:i,onSubmit:r}=t;let o;e[0]!==s?(o=s.filter(Lx),e[0]=s,e[1]=o):o=e[1];const a=o;if(i){let c;return e[2]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(Px,{}),e[2]=c):c=e[2],c}if(a.length===0)return null;let l;return e[3]!==r||e[4]!==a?(l=n.jsx(Mx,{parts:a,onSubmit:r}),e[3]=r,e[4]=a,e[5]=l):l=e[5],l}function Lx(t){return t.state==="input-available"}const Lc=new Map;function _o(){const{org:t}=ye(),e=Le({connectionId:Pt,orgId:t.id}),s=Nl(),i=s.find(_=>_.providerId==="deco"),{data:r,isLoading:o,refetch:a,isFetching:l}=Wi({queryKey:ct.aiProviderCredits(t.id,"deco"),enabled:!!i,staleTime:6e4,queryFn:async()=>{const _=await e.callTool({name:"AI_PROVIDER_CREDITS",arguments:{providerId:"deco"}});return _?.isError?null:_.structuredContent??null}}),c=r?.balanceCents??null,d=c!=null?c/100:null,u=S.useRef(new Map);if(c!=null){const _=Lc.get(t.id);u.current.get(t.id)&&_!=null&&c>_&&ie("credits_topped_up_detected",{organization_id:t.id,delta_cents:c-_,previous_balance_cents:_,new_balance_cents:c}),Lc.set(t.id,c),u.current.set(t.id,!0)}const h=!!i,f=c!=null&&c>0,m=c!=null&&c===0,p=c!=null&&c===200,g=s.length>0&&s.every(_=>_.providerId==="deco");return{hasDecoKey:h,decoKeyId:i?.id??null,balanceCents:c,balanceDollars:d,hasCredits:f,isZeroBalance:m,isInitialFreeCredit:p,hasOnlyDecoProvider:g,isLoading:o,isFetching:l,refetch:a}}function Ox(t){return t?t.message.startsWith("[CREDITS]"):!1}const Bx={usd:[{dollars:10,label:"Starter"},{dollars:20,label:"Popular"},{dollars:100,label:"Best value"}],brl:[{dollars:50,label:"Starter"},{dollars:100,label:"Popular"},{dollars:500,label:"Best value"}]},zx=["Access to 100+ AI models","Unified API, no separate keys needed","Pay only for what you use"];function zu(t){const e=B.c(43),{onDismiss:s}=t,{org:i}=ye(),r=qe(),{decoKeyId:o}=_o();let a;e[0]!==i.id?(a={connectionId:Pt,orgId:i.id},e[0]=i.id,e[1]=a):a=e[1];const l=Le(a),[c,d]=S.useState(""),[u,h]=S.useState(!1),[f,m]=S.useState("usd"),p=f==="brl"?"R$":"$";let g,_;e[2]!==i.id?(g=()=>{ie("credits_exhausted_shown",{organization_id:i.id})},_=[i.id],e[2]=i.id,e[3]=g,e[4]=_):(g=e[3],_=e[4]),S.useEffect(g,_);let v;e[5]!==l||e[6]!==f?(v=async D=>{const P=await l.callTool({name:"AI_PROVIDER_TOPUP_URL",arguments:{providerId:"deco",amountCents:D,currency:f}});if(P?.isError)throw new Error(P.content?.[0]?.text??"Failed to get top-up URL");return P.structuredContent?.url},e[5]=l,e[6]=f,e[7]=v):v=e[7];let x;e[8]!==s?(x=D=>{D&&window.open(D,"_blank","noopener,noreferrer"),s?.()},e[8]=s,e[9]=x):x=e[9];let b;e[10]!==v||e[11]!==x?(b={mutationFn:v,onSuccess:x,onError:Ux},e[10]=v,e[11]=x,e[12]=b):b=e[12];const{mutate:y,isPending:C}=Ki(b),k=parseFloat(c),w=!isNaN(k)&&k>=1;let V;e[13]!==s?(V=D=>!D&&s?.(),e[13]=s,e[14]=V):V=e[14];let j;e[15]===Symbol.for("react.memo_cache_sentinel")?(j=["radial-gradient(ellipse 40% 200% at -5% 100%, rgba(165,149,255,0.5) 0%, transparent 100%)","radial-gradient(ellipse 40% 200% at 105% -10%, rgba(208,236,26,0.45) 0%, transparent 100%)"],e[15]=j):j=e[15];let R;e[16]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx("div",{className:"absolute inset-x-0 top-0 h-36 pointer-events-none",style:{backgroundImage:j.join(", "),maskImage:"linear-gradient(to bottom, black 0%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 0%, transparent 100%)"}}),e[16]=R):R=e[16];let T;e[17]===Symbol.for("react.memo_cache_sentinel")?(T=n.jsxs("div",{className:"relative px-8 pt-8 pb-2 overflow-hidden",children:[R,n.jsxs(hs,{className:"relative gap-4",children:[n.jsx("img",{src:"/logos/deco%20logo.svg",alt:"Deco AI Gateway",className:"size-9 rounded-lg object-contain dark:bg-white dark:p-0.5"}),n.jsxs("div",{children:[n.jsx(ds,{className:"text-xl font-semibold tracking-tight",children:"Top up to keep building"}),n.jsx(lo,{className:"mt-1.5 text-sm leading-relaxed",children:"Your credits are used up. Add more to continue using AI across all your agents."})]})]})]}),e[17]=T):T=e[17];let I;e[18]!==f||e[19]!==p||e[20]!==c||e[21]!==k||e[22]!==o||e[23]!==w||e[24]!==C||e[25]!==u||e[26]!==y?(I=o&&n.jsxs("div",{className:"px-8 pt-5 pb-6",children:[n.jsx("div",{className:"mb-4",children:n.jsxs(hu,{type:"single",variant:"outline",size:"sm",value:f,onValueChange:D=>{D&&m(D)},children:[n.jsx($r,{value:"usd",className:"h-8 px-3 text-xs",children:"USD"}),n.jsx($r,{value:"brl",className:"h-8 px-3 text-xs",children:"BRL"})]})}),n.jsxs("div",{className:"rounded-xl border border-border p-5",children:[n.jsx("div",{className:"grid grid-cols-3 gap-2.5",children:Bx[f].map(D=>{const{dollars:P,label:O}=D;return n.jsxs("button",{type:"button",disabled:C,onClick:()=>{ie("credits_topup_clicked",{amount_cents:P*100,currency:f,tier_label:O,source:"exhausted_banner"}),y(P*100)},className:X("relative flex flex-col items-center gap-1 py-5 rounded-xl border transition-all duration-150 cursor-pointer","disabled:opacity-50 disabled:cursor-wait","border-border hover:border-foreground/20 hover:bg-muted/30"),children:[n.jsxs("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:[p,P]}),n.jsx("span",{className:"text-xs text-muted-foreground",children:O})]},P)})}),u?n.jsxs("div",{className:"flex gap-2 mt-3",children:[n.jsxs("div",{className:"relative flex-1",children:[n.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:p}),n.jsx(gt,{type:"number",min:"1",step:"1",placeholder:"50",value:c,onChange:D=>d(D.target.value),className:"h-10 text-sm pl-7",autoFocus:!0})]}),n.jsx(oe,{className:"h-10",disabled:!w||C,onClick:()=>{ie("credits_topup_clicked",{amount_cents:Math.round(k*100),currency:f,tier_label:"custom",source:"exhausted_banner"}),y(Math.round(k*100))},children:C?"Opening...":"Add"})]}):n.jsx("button",{type:"button",className:"w-full mt-3 text-xs text-muted-foreground hover:text-foreground transition-colors py-1",onClick:()=>h(!0),children:"Enter custom amount"})]}),n.jsx("div",{className:"mt-5 rounded-xl bg-muted/25 border border-border/50 p-4 space-y-3",children:zx.map($x)})]}),e[18]=f,e[19]=p,e[20]=c,e[21]=k,e[22]=o,e[23]=w,e[24]=C,e[25]=u,e[26]=y,e[27]=I):I=e[27];let A;e[28]!==s?(A=n.jsx(oe,{variant:"ghost",size:"sm",onClick:s,children:"Dismiss"}),e[28]=s,e[29]=A):A=e[29];let N;e[30]!==r||e[31]!==s||e[32]!==i.slug?(N=n.jsx("button",{type:"button",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>{r({to:"/$org/settings/ai-providers",params:{org:i.slug}}),s?.()},children:"Manage providers"}),e[30]=r,e[31]=s,e[32]=i.slug,e[33]=N):N=e[33];let E;e[34]!==A||e[35]!==N?(E=n.jsxs("div",{className:"px-8 py-4 border-t border-border bg-muted/30 flex items-center justify-between",children:[A,N]}),e[34]=A,e[35]=N,e[36]=E):E=e[36];let M;e[37]!==I||e[38]!==E?(M=n.jsxs(ts,{className:"sm:max-w-[520px] gap-0 p-0 overflow-hidden",onOpenAutoFocus:Fx,children:[T,I,E]}),e[37]=I,e[38]=E,e[39]=M):M=e[39];let L;return e[40]!==M||e[41]!==V?(L=n.jsx(ss,{open:!0,onOpenChange:V,children:M}),e[40]=M,e[41]=V,e[42]=L):L=e[42],L}function $x(t){return n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"flex items-center justify-center size-5 rounded-full bg-[hsl(var(--chart-1))]/15 shrink-0",children:n.jsx(Jt,{size:12,className:"text-[hsl(var(--chart-1))]"})}),n.jsx("span",{className:"text-sm text-foreground/80",children:t})]},t)}function Fx(t){return t.preventDefault()}function Ux(t){fe.error(`Top-up failed: ${t.message}`)}const Hx={length:"Response reached the model's output limit. Different models have different limits. Try switching models or asking it to continue.","content-filter":"Response was filtered due to content policy.","tool-calls":"Response paused after tool execution to prevent infinite loops and save costs. Click continue to keep working."};function Kr(t){const e=B.c(32),{variant:s,onDismiss:i}=t,r=s==="error",o=r?"Error occurred":"Response incomplete",a=r?t.error.message:Hx[t.finishReason]??`Response stopped unexpectedly: ${t.finishReason}`,l=r?"border-destructive/30 bg-destructive/5":"border-amber-500/30 bg-amber-500/5",c=r?"text-destructive":"text-amber-600 dark:text-amber-500",d=r?oi:fl;let u;e[0]!==l?(u=X("flex items-start gap-2 px-3 py-2.5 rounded-lg border border-dashed text-sm w-full mb-2 shadow",l),e[0]=l,e[1]=u):u=e[1];let h;e[2]!==c?(h=X("mt-0.5 shrink-0",c),e[2]=c,e[3]=h):h=e[3];let f;e[4]!==d?(f=n.jsx(d,{size:16}),e[4]=d,e[5]=f):f=e[5];let m;e[6]!==h||e[7]!==f?(m=n.jsx("div",{className:h,children:f}),e[6]=h,e[7]=f,e[8]=m):m=e[8];let p;e[9]!==c?(p=X("text-xs mb-1 font-medium",c),e[9]=c,e[10]=p):p=e[10];let g;e[11]!==p||e[12]!==o?(g=n.jsx("div",{className:p,children:o}),e[11]=p,e[12]=o,e[13]=g):g=e[13];let _;e[14]!==a?(_=n.jsx("div",{className:"text-xs line-clamp-2 text-muted-foreground mb-2",children:a}),e[14]=a,e[15]=_):_=e[15];let v;e[16]!==r||e[17]!==t.onContinue||e[18]!==t.onFixInChat?(v=n.jsx("div",{className:"flex gap-2",children:r?n.jsxs(n.Fragment,{children:[n.jsx(oe,{size:"sm",variant:"outline",onClick:t.onFixInChat,className:"h-7 text-xs",children:"Fix in chat"}),n.jsx(oe,{size:"sm",variant:"outline",disabled:!0,className:"h-7 text-xs",children:"Report"})]}):n.jsx(oe,{size:"sm",variant:"outline",onClick:t.onContinue,className:"h-7 text-xs",children:"Continue"})}),e[16]=r,e[17]=t.onContinue,e[18]=t.onFixInChat,e[19]=v):v=e[19];let x;e[20]!==g||e[21]!==_||e[22]!==v?(x=n.jsxs("div",{className:"flex-1 min-w-0",children:[g,_,v]}),e[20]=g,e[21]=_,e[22]=v,e[23]=x):x=e[23];let b;e[24]===Symbol.for("react.memo_cache_sentinel")?(b=n.jsx(Js,{size:14}),e[24]=b):b=e[24];let y;e[25]!==i?(y=n.jsx("button",{type:"button",onClick:i,className:"text-muted-foreground hover:text-foreground transition-colors shrink-0",title:"Dismiss",children:b}),e[25]=i,e[26]=y):y=e[26];let C;return e[27]!==u||e[28]!==y||e[29]!==m||e[30]!==x?(C=n.jsx("div",{className:"px-0.5",children:n.jsxs("div",{className:u,children:[m,x,y]})}),e[27]=u,e[28]=y,e[29]=m,e[30]=x,e[31]=C):C=e[31],C}function xo(){const t=B.c(41),{error:e,clearError:s,finishReason:i,clearFinishReason:r,messages:o,isStreaming:a,isWaitingForApprovals:l,addToolOutput:c,addToolApprovalResponse:d,sendMessage:u}=Gi(),[h,f]=yi(),{virtualMcpId:m,createTaskWithMessage:p}=es();let g,_,v,x;if(t[0]!==o){const E=o.at(-1);x=E?.role==="assistant"?E.parts.filter(qx):null,g=x?.filter(Kx)?.length,_=E?.role==="assistant"?jx(E.parts):[],v=E?.role==="assistant"?wx(E.parts):[],t[0]=o,t[1]=g,t[2]=_,t[3]=v,t[4]=x}else g=t[1],_=t[2],v=t[3],x=t[4];const b=v;let y;t[5]!==e||t[6]!==u?(y=()=>{if(e){const M={type:"doc",content:[{type:"paragraph",content:[{type:"text",text:`I encountered this error: ${e.message}. Can you help me fix it?`}]}]};u(M)}},t[5]=e,t[6]=u,t[7]=y):y=t[7];const C=y;let k;t[8]!==u?(k=()=>{u({type:"doc",content:[{type:"paragraph",content:[{type:"text",text:"Please continue."}]}]})},t[8]=u,t[9]=k):k=t[9];const w=k;let V;t[10]!==c?(V=(E,M)=>{c({tool:"user_ask",toolCallId:E.toolCallId,output:{response:M}})},t[10]=c,t[11]=V):V=t[11];const j=V;let R;t[12]!==p||t[13]!==h||t[14]!==f||t[15]!==m?(R=E=>{f({...h,toolApprovalLevel:"auto"}),p({virtualMcpId:m,message:{parts:[{type:"text",text:`Implement this plan:
3
+
4
+ ${E}`}]}})},t[12]=p,t[13]=h,t[14]=f,t[15]=m,t[16]=R):R=t[16];const T=R,I=Wx;let A;t[17]!==d?(A=(E,M,L)=>{d({id:E,approved:M,...L?{reason:L}:{}})},t[17]=d,t[18]=A):A=t[18];const N=A;if(g){let E;return t[19]!==j||t[20]!==a||t[21]!==x?(E=n.jsx("div",{className:"absolute bottom-full left-0 right-0",children:n.jsx(Bu,{userAskParts:x,isStreaming:a,onSubmit:j})}),t[19]=j,t[20]=a,t[21]=x,t[22]=E):E=t[22],E}if(_.length>0){let E;return t[23]!==T||t[24]!==a||t[25]!==_?(E=n.jsx("div",{className:"absolute bottom-full left-0 right-0",children:n.jsx(kx,{plans:_,isStreaming:a,onApprove:T,onDismiss:I})}),t[23]=T,t[24]=a,t[25]=_,t[26]=E):E=t[26],E}if(b.length>0||a&&l){let E;return t[27]!==N||t[28]!==a||t[29]!==b?(E=n.jsx("div",{className:"absolute bottom-full left-0 right-0",children:n.jsx(Sx,{approvals:b,isStreaming:a,onRespond:N})}),t[27]=N,t[28]=a,t[29]=b,t[30]=E):E=t[30],E}if(!a&&e){if(Ox(e)){let M;return t[31]!==s?(M=n.jsx(zu,{onDismiss:s}),t[31]=s,t[32]=M):M=t[32],M}let E;return t[33]!==s||t[34]!==e||t[35]!==C?(E=n.jsx("div",{className:"absolute bottom-full left-0 right-0 bg-background",children:n.jsx(Kr,{variant:"error",error:e,onDismiss:s,onFixInChat:C})}),t[33]=s,t[34]=e,t[35]=C,t[36]=E):E=t[36],E}if(!a&&i&&i!=="stop"&&!l){let E;return t[37]!==r||t[38]!==i||t[39]!==w?(E=n.jsx("div",{className:"absolute bottom-full left-0 right-0 bg-background",children:n.jsx(Kr,{variant:"warning",finishReason:i,onDismiss:r,onContinue:w})}),t[37]=r,t[38]=i,t[39]=w,t[40]=E):E=t[40],E}return null}function Wx(){document.querySelector("[data-chat-input]")?.focus()}function Kx(t){return t.state!=="output-available"}function qx(t){return t.type==="tool-user_ask"}xo.Error=function(e){return n.jsx(Kr,{variant:"error",error:e.error,onDismiss:e.onDismiss,onFixInChat:e.onFixInChat})};xo.Warning=function(e){return n.jsx(Kr,{variant:"warning",finishReason:e.finishReason,onDismiss:e.onDismiss,onContinue:e.onContinue})};xo.UserAskQuestion=Bu;async function zl(t,e,s,i,r){if(!fo(e)){fe.error("Selected model does not support file uploads");return}const o=s.type||"application/octet-stream";if(!Qg(o,e)){const l=fu(e),c=e?.title??"This model";r?r({fileName:s.name,modelName:c,accepted:l}):fe.error(`"${s.name}" can't be attached`,{description:`${c} accepts ${l}. PowerPoint, Word, and Excel files aren't supported yet.`});return}const a=10*1024*1024;if(s.size>a){fe.error(`File "${s.name}" exceeds 10MB limit`);return}try{const l=new FileReader,c=new Promise((h,f)=>{l.onload=()=>{const m=l.result;if(typeof m!="string"){f(new Error("Failed to read file as data URL"));return}const p=m.includes(",")?m.split(",")[1]??m:m;h(p)},l.onerror=f});l.readAsDataURL(s);const d=await c,u={id:crypto.randomUUID(),name:s.name,mimeType:s.type||"application/octet-stream",size:s.size,data:d};qp(t,{from:i,to:i},u)}catch(l){console.error("Failed to process file:",l),fe.error(`Failed to load file "${s.name}"`)}}function Gx(t){const e=B.c(8),{editor:s,selectedModel:i,onUnsupportedFile:r}=t,o=S.useRef(Xx);let a,l;e[0]!==s||e[1]!==r||e[2]!==i?(a=()=>{o.current=async(u,h)=>{await zl(s,i,u,h,r)}},l=[s,i,r],e[0]=s,e[1]=r,e[2]=i,e[3]=a,e[4]=l):(a=e[3],l=e[4]),S.useEffect(a,l);let c,d;return e[5]!==s?(c=()=>{if(s?.isDestroyed)return;const u=new fa("fileDropHandler");s.state.plugins.find(m=>m.spec.key===u)&&s.unregisterPlugin(u);const f=new dg({key:u,props:{handleDrop:(m,p,g,_)=>{if(_)return!1;const v=p.dataTransfer?.files;if(!v||v.length===0)return!1;p.preventDefault();const x=m.posAtCoords({left:p.clientX,top:p.clientY});if(!x)return!1;const b=Array.from(v),y=x.pos;for(const C of b)o.current?.(C,y);return!0},handlePaste:(m,p)=>{const g=p.clipboardData?.items;if(!g)return!1;const _=Array.from(g).filter(Yx);if(_.length===0)return!1;p.preventDefault();const{from:v}=m.state.selection;for(const x of _){const b=x.getAsFile();b&&o.current?.(b,v)}return!0}}});return s.registerPlugin(f),()=>{s?.isDestroyed||s.unregisterPlugin(u)}},d=[s],e[5]=s,e[6]=c,e[7]=d):(c=e[6],d=e[7]),S.useEffect(c,d),null}function Yx(t){return t.kind==="file"}function Xx(){return Promise.resolve()}function Jx(t){const e=B.c(24),{selectedModel:s,isStreaming:i,icon:r,onUnsupportedFile:o}=t,{editor:a}=ao(),l=S.useRef(null);let c;e[0]!==s?(c=fo(s),e[0]=s,e[1]=c):c=e[1];const d=c;let u;e[2]!==a||e[3]!==o||e[4]!==s?(u=async C=>{const k=C.target.files;if(!k||k.length===0||!a)return;const w=Array.from(k),{from:V}=a.state.selection,j=V;for(const R of w)await zl(a,s,R,j,o);l.current&&(l.current.value="")},e[2]=a,e[3]=o,e[4]=s,e[5]=u):u=e[5];const h=u;if(!a||!d)return null;let f;e[6]!==s?(f=Jg(s),e[6]=s,e[7]=f):f=e[7];let m;e[8]!==h||e[9]!==i||e[10]!==f?(m=n.jsx("input",{ref:l,type:"file",multiple:!0,accept:f,className:"hidden",onChange:h,disabled:i}),e[8]=h,e[9]=i,e[10]=f,e[11]=m):m=e[11];const p=i||!d;let g;e[12]===Symbol.for("react.memo_cache_sentinel")?(g=()=>l.current?.click(),e[12]=g):g=e[12];let _;e[13]!==r?(_=r??n.jsx(Jh,{size:16}),e[13]=r,e[14]=_):_=e[14];let v;e[15]!==p||e[16]!==_?(v=n.jsx(st,{asChild:!0,children:n.jsx(oe,{type:"button",variant:"ghost",size:"icon",className:"text-muted-foreground/75",disabled:p,onClick:g,children:_})}),e[15]=p,e[16]=_,e[17]=v):v=e[17];let x;e[18]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx(it,{side:"top",children:"Add file"}),e[18]=x):x=e[18];let b;e[19]!==v?(b=n.jsxs(nt,{children:[v,x]}),e[19]=v,e[20]=b):b=e[20];let y;return e[21]!==b||e[22]!==m?(y=n.jsxs(n.Fragment,{children:[m,b]}),e[21]=b,e[22]=m,e[23]=y):y=e[23],y}const Qx=["PowerPoint (.pptx)","Word documents (.docx)","Excel spreadsheets (.xlsx)"];function Zx(t){const e=B.c(29),{info:s,onClose:i}=t,r=s!==null;let o;e[0]!==i?(o=w=>!w&&i(),e[0]=i,e[1]=o):o=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=["radial-gradient(ellipse 40% 200% at -5% 100%, rgba(251,191,36,0.35) 0%, transparent 100%)","radial-gradient(ellipse 40% 200% at 105% -10%, rgba(244,114,182,0.25) 0%, transparent 100%)"],e[2]=a):a=e[2];let l;e[3]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx("div",{className:"absolute inset-x-0 top-0 h-36 pointer-events-none",style:{backgroundImage:a.join(", "),maskImage:"linear-gradient(to bottom, black 0%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 0%, transparent 100%)"}}),e[3]=l):l=e[3];let c,d;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx("div",{className:"flex items-center justify-center size-9 rounded-lg bg-amber-500/15 text-amber-600 dark:text-amber-400",children:n.jsx(fl,{size:18})}),d=n.jsx(ds,{className:"text-xl font-semibold tracking-tight",children:"File type not supported"}),e[4]=c,e[5]=d):(c=e[4],d=e[5]);const u=s?.fileName;let h;e[6]!==u?(h=n.jsxs("div",{className:"relative px-8 pt-8 pb-2 overflow-hidden",children:[l,n.jsxs(hs,{className:"relative gap-4",children:[c,n.jsxs("div",{children:[d,n.jsxs(lo,{className:"mt-1.5 text-sm leading-relaxed",children:[n.jsxs("span",{className:"font-medium text-foreground",children:["“",u,"”"]})," ","can't be attached to this chat."]})]})]})]}),e[6]=u,e[7]=h):h=e[7];const f=s?.modelName;let m;e[8]!==f?(m=n.jsxs("div",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground mb-2",children:[f," accepts"]}),e[8]=f,e[9]=m):m=e[9];let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=n.jsx(Jh,{size:14,className:"text-muted-foreground"}),e[10]=p):p=e[10];const g=s?.accepted;let _;e[11]!==g?(_=n.jsxs("div",{className:"flex items-center gap-2 text-sm text-foreground",children:[p,n.jsx("span",{className:"capitalize",children:g})]}),e[11]=g,e[12]=_):_=e[12];let v;e[13]!==m||e[14]!==_?(v=n.jsxs("div",{className:"rounded-xl border border-border p-4",children:[m,_]}),e[13]=m,e[14]=_,e[15]=v):v=e[15];let x;e[16]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsxs("div",{className:"rounded-xl bg-muted/25 border border-border/50 p-4 space-y-2",children:[n.jsx("div",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Not supported yet"}),Qx.map(e1)]}),e[16]=x):x=e[16];let b;e[17]!==v?(b=n.jsxs("div",{className:"px-8 pt-3 pb-6 space-y-3",children:[v,x]}),e[17]=v,e[18]=b):b=e[18];let y;e[19]!==i?(y=n.jsx("div",{className:"px-8 py-4 border-t border-border bg-muted/30 flex items-center justify-end",children:n.jsx(oe,{onClick:i,children:"Got it"})}),e[19]=i,e[20]=y):y=e[20];let C;e[21]!==b||e[22]!==y||e[23]!==h?(C=n.jsxs(ts,{className:"sm:max-w-[480px] gap-0 p-0 overflow-hidden",onOpenAutoFocus:t1,children:[h,b,y]}),e[21]=b,e[22]=y,e[23]=h,e[24]=C):C=e[24];let k;return e[25]!==r||e[26]!==C||e[27]!==o?(k=n.jsx(ss,{open:r,onOpenChange:o,children:C}),e[25]=r,e[26]=C,e[27]=o,e[28]=k):k=e[28],k}function e1(t){return n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"flex items-center justify-center size-5 rounded-full bg-muted shrink-0",children:n.jsx(Js,{size:10,className:"text-muted-foreground"})}),n.jsx("span",{className:"text-sm text-foreground/80",children:t})]},t)}function t1(t){return t.preventDefault()}function s1(){const t=B.c(3),[e,s]=S.useState(null);let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=()=>s(null),t[0]=i):i=t[0];let r;return t[1]!==e?(r={unsupportedFile:e,onUnsupportedFile:s,clearUnsupportedFile:i},t[1]=e,t[2]=r):r=t[2],r}var i1=hg;var n1=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],va=n1.join(","),$u=typeof Element>"u",Tn=$u?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,qr=!$u&&Element.prototype.getRootNode?function(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}:function(t){return t?.ownerDocument},Gr=function(e,s){var i;s===void 0&&(s=!0);var r=e==null||(i=e.getAttribute)===null||i===void 0?void 0:i.call(e,"inert"),o=r===""||r==="true",a=o||s&&e&&(typeof e.closest=="function"?e.closest("[inert]"):Gr(e.parentNode));return a},r1=function(e){var s,i=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"contenteditable");return i===""||i==="true"},o1=function(e,s,i){if(Gr(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(va));return s&&Tn.call(e,va)&&r.unshift(e),r=r.filter(i),r},ba=function(e,s,i){for(var r=[],o=Array.from(e);o.length;){var a=o.shift();if(!Gr(a,!1))if(a.tagName==="SLOT"){var l=a.assignedElements(),c=l.length?l:a.children,d=ba(c,!0,i);i.flatten?r.push.apply(r,d):r.push({scopeParent:a,candidates:d})}else{var u=Tn.call(a,va);u&&i.filter(a)&&(s||!e.includes(a))&&r.push(a);var h=a.shadowRoot||typeof i.getShadowRoot=="function"&&i.getShadowRoot(a),f=!Gr(h,!1)&&(!i.shadowRootFilter||i.shadowRootFilter(a));if(h&&f){var m=ba(h===!0?a.children:h.children,!0,i);i.flatten?r.push.apply(r,m):r.push({scopeParent:a,candidates:m})}else o.unshift.apply(o,a.children)}}return r},Fu=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},Uu=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||r1(e))&&!Fu(e)?0:e.tabIndex},a1=function(e,s){var i=Uu(e);return i<0&&s&&!Fu(e)?0:i},l1=function(e,s){return e.tabIndex===s.tabIndex?e.documentOrder-s.documentOrder:e.tabIndex-s.tabIndex},Hu=function(e){return e.tagName==="INPUT"},c1=function(e){return Hu(e)&&e.type==="hidden"},d1=function(e){var s=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(i){return i.tagName==="SUMMARY"});return s},h1=function(e,s){for(var i=0;i<e.length;i++)if(e[i].checked&&e[i].form===s)return e[i]},u1=function(e){if(!e.name)return!0;var s=e.form||qr(e),i=function(l){return s.querySelectorAll('input[type="radio"][name="'+l+'"]')},r;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")r=i(window.CSS.escape(e.name));else try{r=i(e.name)}catch(a){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",a.message),!1}var o=h1(r,e.form);return!o||o===e},f1=function(e){return Hu(e)&&e.type==="radio"},m1=function(e){return f1(e)&&!u1(e)},p1=function(e){var s,i=e&&qr(e),r=(s=i)===null||s===void 0?void 0:s.host,o=!1;if(i&&i!==e){var a,l,c;for(o=!!((a=r)!==null&&a!==void 0&&(l=a.ownerDocument)!==null&&l!==void 0&&l.contains(r)||e!=null&&(c=e.ownerDocument)!==null&&c!==void 0&&c.contains(e));!o&&r;){var d,u,h;i=qr(r),r=(d=i)===null||d===void 0?void 0:d.host,o=!!((u=r)!==null&&u!==void 0&&(h=u.ownerDocument)!==null&&h!==void 0&&h.contains(r))}}return o},Oc=function(e){var s=e.getBoundingClientRect(),i=s.width,r=s.height;return i===0&&r===0},g1=function(e,s){var i=s.displayCheck,r=s.getShadowRoot;if(i==="full-native"&&"checkVisibility"in e){var o=e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});return!o}if(getComputedStyle(e).visibility==="hidden")return!0;var a=Tn.call(e,"details>summary:first-of-type"),l=a?e.parentElement:e;if(Tn.call(l,"details:not([open]) *"))return!0;if(!i||i==="full"||i==="full-native"||i==="legacy-full"){if(typeof r=="function"){for(var c=e;e;){var d=e.parentElement,u=qr(e);if(d&&!d.shadowRoot&&r(d)===!0)return Oc(e);e.assignedSlot?e=e.assignedSlot:!d&&u!==e.ownerDocument?e=u.host:e=d}e=c}if(p1(e))return!e.getClientRects().length;if(i!=="legacy-full")return!0}else if(i==="non-zero-area")return Oc(e);return!1},_1=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var s=e.parentElement;s;){if(s.tagName==="FIELDSET"&&s.disabled){for(var i=0;i<s.children.length;i++){var r=s.children.item(i);if(r.tagName==="LEGEND")return Tn.call(s,"fieldset[disabled] *")?!0:!r.contains(e)}return!0}s=s.parentElement}return!1},x1=function(e,s){return!(s.disabled||c1(s)||g1(s,e)||d1(s)||_1(s))},Bc=function(e,s){return!(m1(s)||Uu(s)<0||!x1(e,s))},v1=function(e){var s=parseInt(e.getAttribute("tabindex"),10);return!!(isNaN(s)||s>=0)},Wu=function(e){var s=[],i=[];return e.forEach(function(r,o){var a=!!r.scopeParent,l=a?r.scopeParent:r,c=a1(l,a),d=a?Wu(r.candidates):l;c===0?a?s.push.apply(s,d):s.push(l):i.push({documentOrder:o,tabIndex:c,item:r,isScope:a,content:d})}),i.sort(l1).reduce(function(r,o){return o.isScope?r.push.apply(r,o.content):r.push(o.content),r},[]).concat(s)},Ku=function(e,s){s=s||{};var i;return s.getShadowRoot?i=ba([e],s.includeContainer,{filter:Bc.bind(null,s),flatten:!1,getShadowRoot:s.getShadowRoot,shadowRootFilter:v1}):i=o1(e,s.includeContainer,Bc.bind(null,s)),Wu(i)};function b1(){return/apple/i.test(navigator.vendor)}const zc="data-floating-ui-focusable";function y1(t){let e=t.activeElement;for(;((s=e)==null||(s=s.shadowRoot)==null?void 0:s.activeElement)!=null;){var s;e=e.shadowRoot.activeElement}return e}function ya(t,e){if(!t||!e)return!1;const s=e.getRootNode==null?void 0:e.getRootNode();if(t.contains(e))return!0;if(s&&ep(s)){let i=e;for(;i;){if(t===i)return!0;i=i.parentNode||i.host}}return!1}function nn(t){return"composedPath"in t?t.composedPath()[0]:t.target}function Mo(t,e){if(e==null)return!1;if("composedPath"in t)return t.composedPath().includes(e);const s=t;return s.target!=null&&e.contains(s.target)}function S1(t){return t.matches("html,body")}function Dn(t){return t?.ownerDocument||document}function w1(t){return t?t.hasAttribute(zc)?t:t.querySelector("["+zc+"]")||t:null}function Er(t,e,s){return s===void 0&&(s=!0),t.filter(r=>{var o;return r.parentId===e&&(!s||((o=r.context)==null?void 0:o.open))}).flatMap(r=>[r,...Er(t,r.id,s)])}function V1(t){return"nativeEvent"in t}var C1=typeof document<"u",k1=function(){},_i=C1?S.useLayoutEffect:k1;const j1={...Ih},N1=j1.useInsertionEffect,A1=N1||(t=>t());function Ti(t){const e=S.useRef(()=>{});return A1(()=>{e.current=t}),S.useCallback(function(){for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];return e.current==null?void 0:e.current(...i)},[])}const qu=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function Gu(t,e){const s=Ku(t,qu()),i=s.length;if(i===0)return;const r=y1(Dn(t)),o=s.indexOf(r),a=o===-1?e===1?0:i-1:o+e;return s[a]}function E1(t){return Gu(Dn(t).body,1)||t}function I1(t){return Gu(Dn(t).body,-1)||t}function Po(t,e){const s=e||t.currentTarget,i=t.relatedTarget;return!i||!ya(s,i)}function R1(t){Ku(t,qu()).forEach(s=>{s.dataset.tabindex=s.getAttribute("tabindex")||"",s.setAttribute("tabindex","-1")})}function $c(t){t.querySelectorAll("[data-tabindex]").forEach(s=>{const i=s.dataset.tabindex;delete s.dataset.tabindex,i?s.setAttribute("tabindex",i):s.removeAttribute("tabindex")})}const T1="data-floating-ui-focusable",Fc="active",Uc="selected",D1={...Ih};let Hc=!1,M1=0;const Wc=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+M1++;function P1(){const[t,e]=S.useState(()=>Hc?Wc():void 0);return _i(()=>{t==null&&e(Wc())},[]),S.useEffect(()=>{Hc=!0},[]),t}const L1=D1.useId,$l=L1||P1;function O1(){const t=new Map;return{emit(e,s){var i;(i=t.get(e))==null||i.forEach(r=>r(s))},on(e,s){t.has(e)||t.set(e,new Set),t.get(e).add(s)},off(e,s){var i;(i=t.get(e))==null||i.delete(s)}}}const B1=S.createContext(null),z1=S.createContext(null),Yu=()=>{var t;return((t=S.useContext(B1))==null?void 0:t.id)||null},Xu=()=>S.useContext(z1);function Fl(t){return"data-floating-ui-"+t}const $1={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0},Kc=S.forwardRef(function(e,s){const[i,r]=S.useState();_i(()=>{b1()&&r("button")},[]);const o={ref:s,tabIndex:0,role:i,"aria-hidden":i?void 0:!0,[Fl("focus-guard")]:"",style:$1};return n.jsx("span",{...e,...o})}),F1={clipPath:"inset(50%)",position:"fixed",top:0,left:0},Ju=S.createContext(null),qc=Fl("portal");function U1(t){t===void 0&&(t={});const{id:e,root:s}=t,i=$l(),r=W1(),[o,a]=S.useState(null),l=S.useRef(null);return _i(()=>()=>{o?.remove(),queueMicrotask(()=>{l.current=null})},[o]),_i(()=>{if(!i||l.current)return;const c=e?document.getElementById(e):null;if(!c)return;const d=document.createElement("div");d.id=i,d.setAttribute(qc,""),c.appendChild(d),l.current=d,a(d)},[e,i]),_i(()=>{if(s===null||!i||l.current)return;let c=s||r?.portalNode;c&&!op(c)&&(c=c.current),c=c||document.body;let d=null;e&&(d=document.createElement("div"),d.id=e,c.appendChild(d));const u=document.createElement("div");u.id=i,u.setAttribute(qc,""),c=d||c,c.appendChild(u),l.current=u,a(u)},[e,s,i,r]),o}function H1(t){const{children:e,id:s,root:i,preserveTabOrder:r=!0}=t,o=U1({id:s,root:i}),[a,l]=S.useState(null),c=S.useRef(null),d=S.useRef(null),u=S.useRef(null),h=S.useRef(null),f=a?.modal,m=a?.open,p=!!a&&!a.modal&&a.open&&r&&!!(i||o);return S.useEffect(()=>{if(!o||!r||f)return;function g(_){o&&Po(_)&&(_.type==="focusin"?$c:R1)(o)}return o.addEventListener("focusin",g,!0),o.addEventListener("focusout",g,!0),()=>{o.removeEventListener("focusin",g,!0),o.removeEventListener("focusout",g,!0)}},[o,r,f]),S.useEffect(()=>{o&&(m||$c(o))},[m,o]),n.jsxs(Ju.Provider,{value:S.useMemo(()=>({preserveTabOrder:r,beforeOutsideRef:c,afterOutsideRef:d,beforeInsideRef:u,afterInsideRef:h,portalNode:o,setFocusManagerState:l}),[r,o]),children:[p&&o&&n.jsx(Kc,{"data-type":"outside",ref:c,onFocus:g=>{if(Po(g,o)){var _;(_=u.current)==null||_.focus()}else{const v=a?a.domReference:null,x=I1(v);x?.focus()}}}),p&&o&&n.jsx("span",{"aria-owns":o.id,style:F1}),o&&ms.createPortal(e,o),p&&o&&n.jsx(Kc,{"data-type":"outside",ref:d,onFocus:g=>{if(Po(g,o)){var _;(_=h.current)==null||_.focus()}else{const v=a?a.domReference:null,x=E1(v);x?.focus(),a?.closeOnFocusOut&&a?.onOpenChange(!1,g.nativeEvent,"focus-out")}}})]})}const W1=()=>S.useContext(Ju),K1={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},q1={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},Gc=t=>{var e,s;return{escapeKey:typeof t=="boolean"?t:(e=t?.escapeKey)!=null?e:!1,outsidePress:typeof t=="boolean"?t:(s=t?.outsidePress)!=null?s:!0}};function G1(t,e){e===void 0&&(e={});const{open:s,onOpenChange:i,elements:r,dataRef:o}=t,{enabled:a=!0,escapeKey:l=!0,outsidePress:c=!0,outsidePressEvent:d="pointerdown",referencePress:u=!1,referencePressEvent:h="pointerdown",ancestorScroll:f=!1,bubbles:m,capture:p}=e,g=Xu(),_=Ti(typeof c=="function"?c:()=>!1),v=typeof c=="function"?_:c,x=S.useRef(!1),{escapeKey:b,outsidePress:y}=Gc(m),{escapeKey:C,outsidePress:k}=Gc(p),w=S.useRef(!1),V=Ti(N=>{var E;if(!s||!a||!l||N.key!=="Escape"||w.current)return;const M=(E=o.current.floatingContext)==null?void 0:E.nodeId,L=g?Er(g.nodesRef.current,M):[];if(!b&&(N.stopPropagation(),L.length>0)){let D=!0;if(L.forEach(P=>{var O;if((O=P.context)!=null&&O.open&&!P.context.dataRef.current.__escapeKeyBubbles){D=!1;return}}),!D)return}i(!1,V1(N)?N.nativeEvent:N,"escape-key")}),j=Ti(N=>{var E;const M=()=>{var L;V(N),(L=nn(N))==null||L.removeEventListener("keydown",M)};(E=nn(N))==null||E.addEventListener("keydown",M)}),R=Ti(N=>{var E;const M=o.current.insideReactTree;o.current.insideReactTree=!1;const L=x.current;if(x.current=!1,d==="click"&&L||M||typeof v=="function"&&!v(N))return;const D=nn(N),P="["+Fl("inert")+"]",O=Dn(r.floating).querySelectorAll(P);let $=Vs(D)?D:null;for(;$&&!Eo($);){const K=ip($);if(Eo(K)||!Vs(K))break;$=K}if(O.length&&Vs(D)&&!S1(D)&&!ya(D,r.floating)&&Array.from(O).every(K=>!ya($,K)))return;if(np(D)&&A){const K=Eo(D),H=rp(D),U=/auto|scroll/,Y=K||U.test(H.overflowX),q=K||U.test(H.overflowY),G=Y&&D.clientWidth>0&&D.scrollWidth>D.clientWidth,ee=q&&D.clientHeight>0&&D.scrollHeight>D.clientHeight,Z=H.direction==="rtl",J=ee&&(Z?N.offsetX<=D.offsetWidth-D.clientWidth:N.offsetX>D.clientWidth),se=G&&N.offsetY>D.clientHeight;if(J||se)return}const z=(E=o.current.floatingContext)==null?void 0:E.nodeId,W=g&&Er(g.nodesRef.current,z).some(K=>{var H;return Mo(N,(H=K.context)==null?void 0:H.elements.floating)});if(Mo(N,r.floating)||Mo(N,r.domReference)||W)return;const F=g?Er(g.nodesRef.current,z):[];if(F.length>0){let K=!0;if(F.forEach(H=>{var U;if((U=H.context)!=null&&U.open&&!H.context.dataRef.current.__outsidePressBubbles){K=!1;return}}),!K)return}i(!1,N,"outside-press")}),T=Ti(N=>{var E;const M=()=>{var L;R(N),(L=nn(N))==null||L.removeEventListener(d,M)};(E=nn(N))==null||E.addEventListener(d,M)});S.useEffect(()=>{if(!s||!a)return;o.current.__escapeKeyBubbles=b,o.current.__outsidePressBubbles=y;let N=-1;function E(O){i(!1,O,"ancestor-scroll")}function M(){window.clearTimeout(N),w.current=!0}function L(){N=window.setTimeout(()=>{w.current=!1},sp()?5:0)}const D=Dn(r.floating);l&&(D.addEventListener("keydown",C?j:V,C),D.addEventListener("compositionstart",M),D.addEventListener("compositionend",L)),v&&D.addEventListener(d,k?T:R,k);let P=[];return f&&(Vs(r.domReference)&&(P=Ao(r.domReference)),Vs(r.floating)&&(P=P.concat(Ao(r.floating))),!Vs(r.reference)&&r.reference&&r.reference.contextElement&&(P=P.concat(Ao(r.reference.contextElement)))),P=P.filter(O=>{var $;return O!==(($=D.defaultView)==null?void 0:$.visualViewport)}),P.forEach(O=>{O.addEventListener("scroll",E,{passive:!0})}),()=>{l&&(D.removeEventListener("keydown",C?j:V,C),D.removeEventListener("compositionstart",M),D.removeEventListener("compositionend",L)),v&&D.removeEventListener(d,k?T:R,k),P.forEach(O=>{O.removeEventListener("scroll",E)}),window.clearTimeout(N)}},[o,r,l,v,d,s,i,f,a,b,y,V,C,j,R,k,T]),S.useEffect(()=>{o.current.insideReactTree=!1},[o,v,d]);const I=S.useMemo(()=>({onKeyDown:V,...u&&{[K1[h]]:N=>{i(!1,N.nativeEvent,"reference-press")},...h!=="click"&&{onClick(N){i(!1,N.nativeEvent,"reference-press")}}}}),[V,i,u,h]),A=S.useMemo(()=>{function N(E){E.button===0&&(x.current=!0)}return{onKeyDown:V,onMouseDown:N,onMouseUp:N,[q1[d]]:()=>{o.current.insideReactTree=!0}}},[V,d,o]);return S.useMemo(()=>a?{reference:I,floating:A}:{},[a,I,A])}function Y1(t){const{open:e=!1,onOpenChange:s,elements:i}=t,r=$l(),o=S.useRef({}),[a]=S.useState(()=>O1()),l=Yu()!=null,[c,d]=S.useState(i.reference),u=Ti((m,p,g)=>{o.current.openEvent=m?p:void 0,a.emit("openchange",{open:m,event:p,reason:g,nested:l}),s?.(m,p,g)}),h=S.useMemo(()=>({setPositionReference:d}),[]),f=S.useMemo(()=>({reference:c||i.reference||null,floating:i.floating||null,domReference:i.reference}),[c,i.reference,i.floating]);return S.useMemo(()=>({dataRef:o,open:e,onOpenChange:u,elements:f,events:a,floatingId:r,refs:h}),[e,u,f,a,r,h])}function X1(t){t===void 0&&(t={});const{nodeId:e}=t,s=Y1({...t,elements:{reference:null,floating:null,...t.elements}}),i=t.rootContext||s,r=i.elements,[o,a]=S.useState(null),[l,c]=S.useState(null),u=r?.domReference||o,h=S.useRef(null),f=Xu();_i(()=>{u&&(h.current=u)},[u]);const m=tp({...t,elements:{...r,...l&&{reference:l}}}),p=S.useCallback(b=>{const y=Vs(b)?{getBoundingClientRect:()=>b.getBoundingClientRect(),getClientRects:()=>b.getClientRects(),contextElement:b}:b;c(y),m.refs.setReference(y)},[m.refs]),g=S.useCallback(b=>{(Vs(b)||b===null)&&(h.current=b,a(b)),(Vs(m.refs.reference.current)||m.refs.reference.current===null||b!==null&&!Vs(b))&&m.refs.setReference(b)},[m.refs]),_=S.useMemo(()=>({...m.refs,setReference:g,setPositionReference:p,domReference:h}),[m.refs,g,p]),v=S.useMemo(()=>({...m.elements,domReference:u}),[m.elements,u]),x=S.useMemo(()=>({...m,...i,refs:_,elements:v,nodeId:e}),[m,_,v,e,i]);return _i(()=>{i.dataRef.current.floatingContext=x;const b=f?.nodesRef.current.find(y=>y.id===e);b&&(b.context=x)}),S.useMemo(()=>({...m,context:x,refs:_,elements:v}),[m,_,v,x])}function Lo(t,e,s){const i=new Map,r=s==="item";let o=t;if(r&&t){const{[Fc]:a,[Uc]:l,...c}=t;o=c}return{...s==="floating"&&{tabIndex:-1,[T1]:""},...o,...e.map(a=>{const l=a?a[s]:null;return typeof l=="function"?t?l(t):null:l}).concat(t).reduce((a,l)=>(l&&Object.entries(l).forEach(c=>{let[d,u]=c;if(!(r&&[Fc,Uc].includes(d)))if(d.indexOf("on")===0){if(i.has(d)||i.set(d,[]),typeof u=="function"){var h;(h=i.get(d))==null||h.push(u),a[d]=function(){for(var f,m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];return(f=i.get(d))==null?void 0:f.map(_=>_(...p)).find(_=>_!==void 0)}}}else a[d]=u}),a),{})}}function J1(t){t===void 0&&(t=[]);const e=t.map(l=>l?.reference),s=t.map(l=>l?.floating),i=t.map(l=>l?.item),r=S.useCallback(l=>Lo(l,t,"reference"),e),o=S.useCallback(l=>Lo(l,t,"floating"),s),a=S.useCallback(l=>Lo(l,t,"item"),i);return S.useMemo(()=>({getReferenceProps:r,getFloatingProps:o,getItemProps:a}),[r,o,a])}const Q1=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function Z1(t,e){var s,i;e===void 0&&(e={});const{open:r,elements:o,floatingId:a}=t,{enabled:l=!0,role:c="dialog"}=e,d=$l(),u=((s=o.domReference)==null?void 0:s.id)||d,h=S.useMemo(()=>{var x;return((x=w1(o.floating))==null?void 0:x.id)||a},[o.floating,a]),f=(i=Q1.get(c))!=null?i:c,p=Yu()!=null,g=S.useMemo(()=>f==="tooltip"||c==="label"?{["aria-"+(c==="label"?"labelledby":"describedby")]:r?h:void 0}:{"aria-expanded":r?"true":"false","aria-haspopup":f==="alertdialog"?"dialog":f,"aria-controls":r?h:void 0,...f==="listbox"&&{role:"combobox"},...f==="menu"&&{id:u},...f==="menu"&&p&&{role:"menuitem"},...c==="select"&&{"aria-autocomplete":"none"},...c==="combobox"&&{"aria-autocomplete":"list"}},[f,h,p,r,u,c]),_=S.useMemo(()=>{const x={id:h,...f&&{role:f}};return f==="tooltip"||c==="label"?x:{...x,...f==="menu"&&{"aria-labelledby":u}}},[f,h,u,c]),v=S.useCallback(x=>{let{active:b,selected:y}=x;const C={role:"option",...b&&{id:h+"-fui-option"}};switch(c){case"select":case"combobox":return{...C,"aria-selected":y}}return{}},[h,c]);return S.useMemo(()=>l?{reference:g,floating:_,item:v}:{},[l,g,_,v])}function ev(t){const e=B.c(26),{editor:s,query:i,items:r,onSelect:o,onClose:a}=t,[l,c]=S.useState(0),d=S.useRef(r),u=S.useRef(l),h=S.useRef(o),f=S.useRef(a),m=S.useDeferredValue(i);let p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=()=>{c(0)},e[0]=p):p=e[0];let g;e[1]!==m?(g=[m],e[1]=m,e[2]=g):g=e[2],S.useEffect(p,g);let _,v;e[3]!==r.length||e[4]!==l?(_=()=>{l>=r.length&&r.length>0&&c(0)},v=[r.length,l],e[3]=r.length,e[4]=l,e[5]=_,e[6]=v):(_=e[5],v=e[6]),S.useEffect(_,v);let x,b;e[7]!==r?(x=()=>{d.current=r},b=[r],e[7]=r,e[8]=x,e[9]=b):(x=e[8],b=e[9]),S.useEffect(x,b);let y,C;e[10]!==l?(y=()=>{u.current=l},C=[l],e[10]=l,e[11]=y,e[12]=C):(y=e[11],C=e[12]),S.useEffect(y,C);let k,w;e[13]!==o?(w=()=>{h.current=o},k=[o],e[13]=o,e[14]=k,e[15]=w):(k=e[14],w=e[15]),S.useEffect(w,k);let V,j;e[16]!==a?(V=()=>{f.current=a},j=[a],e[16]=a,e[17]=V,e[18]=j):(V=e[17],j=e[18]),S.useEffect(V,j);let R;e[19]!==s.isDestroyed||e[20]!==s.view.dom?(R=()=>{const N=s.view.dom;if(s?.isDestroyed||!N)return;const E=L=>{const D=d.current;if(!D.length)return!1;const P=()=>c($=>($+1)%D.length),O=()=>c($=>($-1+D.length)%D.length);switch(L.key){case"ArrowUp":return L.preventDefault(),O(),!0;case"ArrowDown":return L.preventDefault(),P(),!0;case"Tab":return L.preventDefault(),L.shiftKey?O():P(),!0;case"Home":return L.preventDefault(),c(0),!0;case"End":return L.preventDefault(),c(D.length-1),!0;case"Enter":{if(L.isComposing)return!1;L.preventDefault();const $=u.current;return $!==-1&&D[$]&&h.current?.(D[$],$),!0}case"Escape":return L.preventDefault(),f.current?.(),!0;default:return!1}},M=L=>{E(L)};return N.addEventListener("keydown",M,!0),()=>{N?.removeEventListener("keydown",M,!0)}},e[19]=s.isDestroyed,e[20]=s.view.dom,e[21]=R):R=e[21];let T;e[22]!==s?(T=[s],e[22]=s,e[23]=T):T=e[23],S.useEffect(R,T);const I=r.length?l:void 0;let A;return e[24]!==I?(A={selectedIndex:I,setSelectedIndex:c},e[24]=I,e[25]=A):A=e[25],A}function tv(t,e){switch(e.type){case"SET_SELECTED_ITEM":return{...t,selectedItem:e.payload};case"ON_START":return{...t,open:!0,selectedItem:null,element:e.payload.element,query:e.payload.query,range:e.payload.range};case"ON_UPDATE":return{...t,element:e.payload.element,query:e.payload.query,range:e.payload.range};case"ON_EXIT":return{open:!1,element:null,query:"",range:null,selectedItem:null};default:return t}}const Qu=S.createContext(void 0);function Zu(){const t=S.useContext(Qu);if(!t)throw new Error("useSuggestionContext must be used within a SuggestionContext.Provider");return t}function sv({editor:t,char:e,pluginKey:s,allow:i,onOpenChange:r}){const[o,a]=S.useReducer(tv,{open:!1,element:null,query:"",range:null,selectedItem:null}),l=S.useRef(r);return l.current=r,S.useEffect(()=>{if(t?.isDestroyed)return;const c=s instanceof fa?s:new fa(s);t.state.plugins.find(h=>h.spec.key===c)&&t.unregisterPlugin(c);const u=e_({pluginKey:c,editor:t,char:e,allow(h){const f=t.state.doc.resolve(h.range.from);for(let m=f.depth;m>0;m--)if(f.node(m).type.name==="image")return!1;return!(i&&!i(h))},command(){},render:()=>({onStart:h=>{a({type:"ON_START",payload:{element:h.decorationNode??null,query:h.query,range:h.range}}),l.current?.(!0)},onUpdate:h=>{a({type:"ON_UPDATE",payload:{element:h.decorationNode??null,query:h.query,range:h.range}})},onKeyDown:h=>h.event.key==="Escape"?(a({type:"ON_EXIT"}),!0):!1,onExit:()=>{a({type:"ON_EXIT"}),l.current?.(!1)}}),items:()=>[]});return t.registerPlugin(u),()=>{t?.isDestroyed||t.unregisterPlugin(c)}},[t,s,e,a,i]),{state:o,dispatch:a}}function iv({editor:t,queryKey:e,queryFn:s,onSelect:i}){const{state:r,dispatch:o}=Zu(),a=S.useDeferredValue(r.query),{data:l}=Rh({queryKey:ct.suggestionItems(e,r.open,a),queryFn:()=>r.open?s({query:a}):[]}),c=()=>{o({type:"ON_EXIT"})},d=async(h,f)=>{if(!(r.selectedItem!==null||!r.range)){o({type:"SET_SELECTED_ITEM",payload:h});try{const{view:m}=t,g=m.state.selection.$to.nodeAfter?.text?.startsWith(" "),_=r.range?{...r.range}:{from:0,to:0};g&&r.range&&(_.to+=1),await i({range:_,item:h})===!1?o({type:"SET_SELECTED_ITEM",payload:null}):c()}catch{c()}}},{selectedIndex:u}=ev({editor:t,query:a,items:l,onSelect:d,onClose:c});return{selectedItem:r.selectedItem,items:l,selectedIndex:u,close:c,onSelect:d}}function nv({children:t}){const{state:e,dispatch:s}=Zu(),{open:i,element:r}=e,o=()=>{s({type:"ON_EXIT"})},{refs:a,floatingStyles:l,context:c}=X1({placement:"bottom-start",open:i,onOpenChange:f=>{f||o()},elements:{reference:r},middleware:[ap(10),lp(),cp()],whileElementsMounted:dp}),d=G1(c,{outsidePress:f=>!(f.target instanceof Element&&f.target.closest(".ProseMirror"))}),u=Z1(c,{role:"listbox"}),{getFloatingProps:h}=J1([d,u]);return i?n.jsx(H1,{children:n.jsx("div",{ref:a.setFloating,style:l,...h(),className:"z-50 w-auto min-w-[360px] max-w-[520px] rounded-lg border bg-popover p-0 text-popover-foreground shadow-md outline-hidden overflow-hidden",children:t})}):null}const rv=t=>{const e=B.c(29),{item:s,isSelected:i,onSelect:r,isLoading:o,ref:a}=t;let l;if(e[0]!==s){const k=ni(s._meta);l=s.title||oo(s.name,k),e[0]=s,e[1]=l}else l=e[1];const c=l,d=s.description||null,u=s.icon,h=i&&"bg-accent text-accent-foreground",f=o&&"pointer-events-none opacity-50";let m;e[2]!==h||e[3]!==f?(m=X("relative flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors","hover:bg-accent hover:text-accent-foreground","focus:bg-accent focus:text-accent-foreground",h,f),e[2]=h,e[3]=f,e[4]=m):m=e[4];let p;e[5]!==u||e[6]!==c?(p=u!==void 0&&n.jsx(gs,{icon:u,name:c,size:"xs",className:"mr-2"}),e[5]=u,e[6]=c,e[7]=p):p=e[7];let g;e[8]!==c?(g=n.jsx("span",{className:"font-medium flex items-center truncate capitalize",children:c}),e[8]=c,e[9]=g):g=e[9];let _;e[10]!==o?(_=o&&n.jsx(In,{size:"xs"}),e[10]=o,e[11]=_):_=e[11];let v;e[12]!==g||e[13]!==_?(v=n.jsxs("div",{className:"flex items-center justify-between gap-2",children:[g,_]}),e[12]=g,e[13]=_,e[14]=v):v=e[14];let x;e[15]!==d?(x=d&&n.jsx("div",{className:"text-xs text-muted-foreground line-clamp-1",children:d}),e[15]=d,e[16]=x):x=e[16];let b;e[17]!==v||e[18]!==x?(b=n.jsxs("div",{className:"flex flex-col gap-0.5 flex-1 min-w-0",children:[v,x]}),e[17]=v,e[18]=x,e[19]=b):b=e[19];let y;e[20]!==s.drillable?(y=s.drillable&&n.jsx("kbd",{className:"shrink-0 ml-2 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground bg-muted border border-border rounded",children:"↵"}),e[20]=s.drillable,e[21]=y):y=e[21];let C;return e[22]!==r||e[23]!==a||e[24]!==b||e[25]!==y||e[26]!==m||e[27]!==p?(C=n.jsxs("div",{ref:a,onClick:r,className:m,children:[p,b,y]}),e[22]=r,e[23]=a,e[24]=b,e[25]=y,e[26]=m,e[27]=p,e[28]=C):C=e[28],C},ov=t=>{const e=B.c(18),{editor:s,queryKey:i,queryFn:r,onSelect:o}=t;let a;e[0]!==s||e[1]!==o||e[2]!==r||e[3]!==i?(a={editor:s,queryKey:i,queryFn:r,onSelect:o},e[0]=s,e[1]=o,e[2]=r,e[3]=i,e[4]=a):a=e[4];const{items:l,selectedIndex:c,onSelect:d,selectedItem:u}=iv(a);if(!l.length){let p;return e[5]===Symbol.for("react.memo_cache_sentinel")?(p=n.jsx("div",{className:"min-w-[360px] max-w-[520px] bg-popover text-popover-foreground rounded-md border shadow-md p-3 text-sm",children:"No items found"}),e[5]=p):p=e[5],p}let h;e[6]===Symbol.for("react.memo_cache_sentinel")?(h={maxHeight:"min(320px, var(--radix-popover-content-available-height, 320px))"},e[6]=h):h=e[6];let f;if(e[7]!==d||e[8]!==l||e[9]!==c||e[10]!==u?.name){let p;e[12]!==d||e[13]!==c||e[14]!==u?.name?(p=(g,_)=>n.jsx(rv,{item:g,isSelected:_===c,ref:_===c?cv:void 0,onSelect:()=>d(g,_),isLoading:u?.name===g.name},g.name),e[12]=d,e[13]=c,e[14]=u?.name,e[15]=p):p=e[15],f=l.map(p),e[7]=d,e[8]=l,e[9]=c,e[10]=u?.name,e[11]=f}else f=e[11];let m;return e[16]!==f?(m=n.jsx("div",{className:"min-w-[360px] max-w-[520px] bg-popover text-popover-foreground rounded-md overflow-y-auto",style:h,children:n.jsx("div",{className:"p-1",children:f})}),e[16]=f,e[17]=m):m=e[17],m};function av(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"p-1",children:[...Array(3)].map(lv)}),t[0]=e):e=t[0],e}function lv(t,e){return n.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1.5 animate-pulse",children:[n.jsx("div",{className:"h-4 w-24 bg-muted rounded"}),n.jsx("div",{className:"h-3 w-32 bg-muted rounded"})]},e)}function ef(t){const e=B.c(18),{editor:s,char:i,pluginKey:r,queryKey:o,queryFn:a,onSelect:l,allow:c,onOpenChange:d}=t;let u;e[0]!==c||e[1]!==i||e[2]!==s||e[3]!==d||e[4]!==r?(u={editor:s,char:i,pluginKey:r,allow:c,onOpenChange:d},e[0]=c,e[1]=i,e[2]=s,e[3]=d,e[4]=r,e[5]=u):u=e[5];const{state:h,dispatch:f}=sv(u);let m;e[6]!==f||e[7]!==h?(m={state:h,dispatch:f},e[6]=f,e[7]=h,e[8]=m):m=e[8];let p;e[9]===Symbol.for("react.memo_cache_sentinel")?(p=n.jsx(av,{}),e[9]=p):p=e[9];let g;e[10]!==s||e[11]!==l||e[12]!==a||e[13]!==o?(g=n.jsx(nv,{children:n.jsx(S.Suspense,{fallback:p,children:n.jsx(ov,{editor:s,queryKey:o,queryFn:a,onSelect:l})})}),e[10]=s,e[11]=l,e[12]=a,e[13]=o,e[14]=g):g=e[14];let _;return e[15]!==m||e[16]!==g?(_=n.jsx(Qu.Provider,{value:m,children:g}),e[15]=m,e[16]=g,e[17]=_):_=e[17],_}function cv(t){t&&t.scrollIntoView({block:"center",behavior:"smooth"})}const dv=[{name:"agents",title:"Agents",description:"Mention an agent to hand off work",kind:"category",drillable:!0},{name:"resources",title:"Resources",description:"Attach a resource as context",kind:"category",drillable:!0}],hv=({editor:t,virtualMcpId:e})=>{const s=Mt(),{org:i}=ye(),r=mo(),o=Le({connectionId:e,orgId:i.id}),a=ct.virtualMcpResources(e,i.id),[l,c]=S.useState("categories"),d=S.useRef(l);d.current=l;const u=S.useRef(null),h=S.useRef(!1),f=["at-mention",i.id,e??"default",l],m=async({item:_,range:v})=>{if(ie("chat_picker_item_selected",{picker:"@",item_kind:_.kind,item_name:_.name}),_.kind!=="category"&&(h.current=!0),_.kind==="category")return c(_.name==="agents"?"agents":"resources"),!1;if(_.kind==="agent"&&_.agentId){En(t,v,{id:_.agentId,name:_.name,metadata:{agentId:_.agentId,title:_.name},char:"@"}),c("categories");return}if(_.kind==="resource"&&_.uri&&o){try{const x=await gu(o,_.uri);En(t,v,{id:_.uri,name:_.uri,metadata:x.contents,char:"@"})}catch(x){console.error("[at-mention] Failed to fetch resource:",x),fe.error("Failed to load resource. Please try again.")}c("categories");return}},p=async _=>{const{query:v}=_,x=d.current;if(x==="categories"){if(!v.trim())return dv;const C=v.toLowerCase(),k=r.filter(V=>V.status==="active"&&(!V.id||!Br(V.id))&&V.id!==e&&(V.title.toLowerCase().includes(C)||V.description?.toLowerCase().includes(C))).map(V=>({name:V.title,title:V.title,description:V.description??void 0,icon:V.icon??null,kind:"agent",agentId:V.id})),w=await(async()=>{if(!o)return[];let V=s.getQueryData(a);return V||(V=await s.fetchQuery({queryKey:a,queryFn:()=>wn(o),staleTime:6e4})),(V?.resources??[]).filter(j=>j.uri.toLowerCase().includes(C)||j.name?.toLowerCase().includes(C)||j.description?.toLowerCase().includes(C)).map(j=>({name:j.name??j.uri,title:j.name,description:j.description,kind:"resource",uri:j.uri}))})();return[...k,...w]}if(x==="agents"){let C=r.filter(k=>k.status==="active"&&(!k.id||!Br(k.id))&&k.id!==e);if(v.trim()){const k=v.toLowerCase();C=C.filter(w=>w.title.toLowerCase().includes(k)||w.description?.toLowerCase().includes(k))}return C.map(k=>({name:k.title,title:k.title,description:k.description??void 0,icon:k.icon??null,kind:"agent",agentId:k.id}))}if(!o)return[];let b=s.getQueryData(a);b?s.fetchQuery({queryKey:a,queryFn:()=>wn(o),staleTime:6e4}).catch(()=>{}):b=await s.fetchQuery({queryKey:a,queryFn:()=>wn(o),staleTime:6e4});let y=b?.resources??[];if(v.trim()){const C=v.toLowerCase();y=y.filter(k=>k.uri.toLowerCase().includes(C)||k.name?.toLowerCase().includes(C)||k.description?.toLowerCase().includes(C))}return y.map(C=>({name:C.name??C.uri,title:C.name,description:C.description,kind:"resource",uri:C.uri}))},g=_=>{if(_)u.current=Date.now(),h.current=!1,ie("chat_picker_opened",{picker:"@"});else{const v=u.current;ie("chat_picker_closed",{picker:"@",outcome:h.current?"selected":"dismissed",duration_ms:v?Date.now()-v:null}),u.current=null,c("categories")}};return n.jsx(ef,{editor:t,char:"@",pluginKey:"atDropdownMenu",queryKey:f,queryFn:p,onSelect:m,onOpenChange:g})};function uv(t,e){const s=is(t),i=Gn(),r=new Map(i.map(c=>[c.id,c])),o=(s?.connections??[]).map(c=>c.connection_id),{data:a}=Wi({queryKey:ct.promptConnectionMap(e,o),queryFn:async()=>{const c={};return await Promise.all(o.map(async d=>{try{const u=await vg({connectionId:d,orgId:e}),h=await zr(u);for(const f of h.prompts)f.name in c||(c[f.name]=d)}catch{}})),c},staleTime:6e4,enabled:o.length>0}),l=new Map;for(const[c,d]of Object.entries(a??{})){const u=r.get(d);u&&l.set(c,u)}return l}async function Yc(t,e,s,i,r,o){try{const a=await bl(s,i,o);En(t,e,{id:i,name:gl(i,r),metadata:a.messages,char:"/"})}catch(a){console.error("[slash] Failed to fetch prompt:",a),fe.error("Failed to load prompt. Please try again.")}}async function fv(t,e,s,i){try{const r=await gu(s,i);En(t,e,{id:i,name:i,metadata:r.contents,char:"/"})}catch(r){console.error("[slash] Failed to fetch resource:",r),fe.error("Failed to load resource. Please try again.")}}const mv=({editor:t,virtualMcpId:e})=>{const s=Mt(),{org:i}=ye(),r=Le({connectionId:e,orgId:i.id}),o=uv(e,i.id),a=S.useRef(o);a.current=o;const l=ct.virtualMcpPrompts(e,i.id),c=ct.virtualMcpResources(e,i.id),d=["slash-mention",i.id,e??"default"],[u,h]=S.useState(null),f=S.useRef(null),m=S.useRef(!1),p=async({item:x,range:b})=>{if(ie("chat_picker_item_selected",{picker:"/",item_kind:x.kind,item_name:x.name}),m.current=!0,!!r)if(x.kind==="prompt"){if(x.arguments&&x.arguments.length>0){h({range:b,item:x});return}const y=ni(x._meta);await Yc(t,b,r,x.name,y)}else x.uri&&await fv(t,b,r,x.uri)},g=async x=>{if(!u||!r)return;const{range:b,item:y}=u,C=ni(y._meta);await Yc(t,b,r,y.name,C,x),h(null)},_=async x=>{const{query:b}=x;if(!r)return[];const[y,C]=await Promise.all([pv(s,l,r),gv(s,c,r)]),k=b.trim().toLowerCase(),w=(y??[]).filter(j=>!k||j.name.toLowerCase().includes(k)||j.title?.toLowerCase().includes(k)||j.description?.toLowerCase().includes(k)).map(j=>({name:j.name,title:j.title,description:j.description,icon:a.current.get(j.name)?.icon??null,kind:"prompt",arguments:j.arguments,_meta:j._meta})),V=(C??[]).filter(j=>!k||j.uri.toLowerCase().includes(k)||j.name?.toLowerCase().includes(k)||j.description?.toLowerCase().includes(k)).map(j=>({name:j.name??j.uri,title:j.name,description:j.description,kind:"resource",uri:j.uri}));return[...w,...V]},v=u?.item.kind==="prompt"?{name:u.item.name,arguments:u.item.arguments,description:u.item.description}:null;return n.jsxs(n.Fragment,{children:[n.jsx(ef,{editor:t,char:"/",pluginKey:"slashDropdownMenu",queryKey:d,queryFn:_,onSelect:p,onOpenChange:x=>{if(x)f.current=Date.now(),m.current=!1,ie("chat_picker_opened",{picker:"/"});else{const b=f.current;ie("chat_picker_closed",{picker:"/",outcome:m.current?"selected":"dismissed",duration_ms:b?Date.now()-b:null}),f.current=null}}}),n.jsx(Bl,{prompt:v,setPrompt:()=>h(null),onSubmit:g})]})};async function pv(t,e,s){let i=t.getQueryData(e);return i?t.fetchQuery({queryKey:e,queryFn:()=>zr(s),staleTime:6e4}).catch(()=>{}):i=await t.fetchQuery({queryKey:e,queryFn:()=>zr(s),staleTime:6e4}),i?.prompts??[]}async function gv(t,e,s){let i=t.getQueryData(e);return i?t.fetchQuery({queryKey:e,queryFn:()=>wn(s),staleTime:6e4}).catch(()=>{}):i=await t.fetchQuery({queryKey:e,queryFn:()=>wn(s),staleTime:6e4}),i?.resources??[]}function _v(t){return[mg.configure({heading:!1,blockquote:!1,codeBlock:!1,horizontalRule:!1,dropcursor:!1}),i1.configure({placeholder:()=>t.current??"Ask anything, / for prompts, @ for agents & resources...",showOnlyWhenEditable:!1}),Gp,Yp]}function tf({tiptapDoc:t,setTiptapDoc:e,disabled:s=!1,enterToSubmit:i=!1,placeholder:r,onSubmit:o,children:a}){const l=S.useRef(o),c=S.useRef(e),d=S.useRef(i),u=S.useRef(r),h=ug({extensions:_v(u),content:t||"",editorProps:{attributes:{"data-chat-input":"true",class:"prose prose-sm max-w-none focus:outline-none w-full h-full text-[15px] p-[18px]"},handleKeyDown:(f,m)=>m.key==="Enter"&&!m.shiftKey&&d.current?(m.preventDefault(),l.current?.(),!0):!1},onUpdate:({editor:f})=>{c.current(f?.getJSON())}});return S.useEffect(()=>{h?.setEditable(!s)},[h,s]),S.useEffect(()=>{l.current=o},[o]),S.useEffect(()=>{c.current=e},[e]),S.useEffect(()=>{d.current=i},[i]),S.useEffect(()=>{u.current=r},[r]),S.useEffect(()=>{if(h?.isDestroyed)return;const f=JSON.stringify(h?.getJSON()),m=JSON.stringify(t||{type:"doc",content:[]});f!==m&&h.commands.setContent(t||{type:"doc",content:[]})},[h,t]),n.jsx(fg.Provider,{value:{editor:h},children:a})}function sf(t){const e=B.c(26),{disabled:s,virtualMcpId:i,showFileUploader:r,selectedModel:o,onUnsupportedFile:a,ref:l,className:c}=t,d=s===void 0?!1:s,u=r===void 0?!1:r,{editor:h}=ao();let f,m;if(e[0]!==h?(f=()=>({focus:()=>{h?.commands.focus()},clear:()=>{h?.commands.clearContent(!0)},appendText:V=>{if(!h)return;const j=h.state.doc.textContent.trim()==="";h.commands.focus("end"),j||h.commands.insertContent(" "),h.commands.insertContent(V)},syncVoiceText:(V,j)=>{if(h&&(h.commands.setContent(V||{type:"doc",content:[]}),j)){h.commands.focus("end");const R=h.state.doc.textContent.trim().length>0;h.commands.insertContent(R?" "+j:j)}},restoreContent:V=>{h&&h.commands.setContent(V||{type:"doc",content:[]})}}),m=[h],e[0]=h,e[1]=f,e[2]=m):(f=e[1],m=e[2]),S.useImperativeHandle(l??null,f,m),!h)return null;const p=d&&"cursor-not-allowed opacity-70",g=d&&"[&_.ProseMirror]:cursor-not-allowed";let _;e[3]!==c||e[4]!==p||e[5]!==g?(_=X("overflow-y-auto relative flex-1 max-h-[164px] min-h-[20px] w-full flex flex-col",c,"[&_.ProseMirror]:outline-none [&_.ProseMirror]:min-h-[20px] [&_.ProseMirror]:flex-1","[&_.ProseMirror_p.is-editor-empty:first-child::before]:content-[attr(data-placeholder)]","[&_.ProseMirror_p.is-editor-empty:first-child::before]:text-muted-foreground","[&_.ProseMirror_p.is-editor-empty:first-child::before]:opacity-50","[&_.ProseMirror_p.is-editor-empty:first-child::before]:float-left","[&_.ProseMirror_p.is-editor-empty:first-child::before]:pointer-events-none","[&_.ProseMirror_p.is-editor-empty:first-child::before]:h-0",p,g),e[3]=c,e[4]=p,e[5]=g,e[6]=_):_=e[6];let v;e[7]!==h||e[8]!==_?(v=n.jsx(pg,{editor:h,className:_}),e[7]=h,e[8]=_,e[9]=v):v=e[9];const x=i??null;let b;e[10]!==h||e[11]!==x?(b=n.jsx(S.Suspense,{fallback:null,children:n.jsx(mv,{editor:h,virtualMcpId:x})}),e[10]=h,e[11]=x,e[12]=b):b=e[12];const y=i??null;let C;e[13]!==h||e[14]!==y?(C=n.jsx(S.Suspense,{fallback:null,children:n.jsx(hv,{editor:h,virtualMcpId:y})}),e[13]=h,e[14]=y,e[15]=C):C=e[15];let k;e[16]!==h||e[17]!==a||e[18]!==o||e[19]!==u?(k=u&&o?n.jsx(Gx,{editor:h,selectedModel:o,onUnsupportedFile:a}):null,e[16]=h,e[17]=a,e[18]=o,e[19]=u,e[20]=k):k=e[20];let w;return e[21]!==b||e[22]!==C||e[23]!==k||e[24]!==v?(w=n.jsxs(n.Fragment,{children:[v,b,C,k]}),e[21]=b,e[22]=C,e[23]=k,e[24]=v,e[25]=w):w=e[25],w}function Sa(t){const e=B.c(3),[s]=yi();let i;return e[0]!==s.enableSounds||e[1]!==t?(i=()=>{s.enableSounds&&c_(t.dataUri).catch(o=>{console.warn(`[sound] ${t.name} playback failed:`,o)})},e[0]=s.enableSounds,e[1]=t,e[2]=i):i=e[2],i}const xv={name:"switch-005",dataUri:"data:audio/mpeg;base64,SUQzBAAAAAAAIlRTU0VAAAAOAAADTGF2ZjYyLjMuMTAwAAAAAAAAAAAAAAD/+1DAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAABkAABU4ABMTEx0dHR0nJycnMTExMTs7OztERERETk5OTlhYWFhiYmJibGxsbHZ2dnZ/f39/iYmJiZOTk5OdnZ2dp6enp7GxsbG7u7u7xMTExM7Ozs7Y2NjY4uLi4uzs7Oz29vb2/////wAAAABMYXZjNjIuMTEAAAAAAAAAAAAAAAAkBVYAAAAAAAAVOPCP8KUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//tQxAAACEwDXvQRAAG8Ii93HtACUCAABAKCJwfaCEHwfeoEAQdEAYygIHBOCAIAgCAJh9QIOg+D5/ygPh/wfB8DuKAgCHyn9QPh/5SCDv+CEHAQdxOD4B27c39tbckkqYbBAYAN9bNJLB+aXAf5wQAKdzxfbmrVIRQ4xNx3HwnoDmLhfMhgJiiw/HREXNCHqjvHEPEG8QjBYlxQNepJAT0kC8ip6JzSWj1TasoG+iyycbf2Uil1ovf1f/oUtR1qP+s1WSBFKoAAU02BDjMhuP/7UsQEgws8bRpd8YABJYPeBf9wCGXTGxBYcw5AJFMFMAmQQAhGAxgLBgHIAMYAAALhgAchipbe/91aU1VV4zcZj1Vf1XgYCIMBNrsBAIGs9/Ue4i/xFPeqCqwViI9/UeLf///rOngdA3OPHFjmOBv+EQnGahgaZxVplmkAH5JadDTQlNCEuGNiWYbCCONWdUJg6HXNazFdu1T+VgaEpOP70exv7f2/4b/yH//2/4cqCX/zWRUrIw+IPNMNlDnjAXQas/I4AzmYifA0tMSCgQDF//tSxBCDSzzi3k/sQwEyCtjJ/rBZAk+Uqj1YhA5YMCAAMwgOUchTkK7OR7LbMl0W1H6SvzG0Q2ZzfKUhnmTobv9DNhS1v7P8h//8Gv8gTRt1jReZ7YEjmMQg9hhwwMycHooasFmZyjcZGBKJD+IwbMCQQLoi+IQXCcIoydKoilI2MWFS5uJdDEu2taRrYI2ZSqKY50pJLv2NfjUAAuQAMfqVQ/T3PDQgMJMeEZ45hJzY6MNoFMxqTj1zNGQKJjAxEsSCBgQJBSIL0mcKYQJfVAn/+1LEGwLKlEKrD3MiYcuMkVa/wABB8Vh6M1q1epbvXwWBURhkyEhWZ/////////////9gjZ/Wt4w+4MNMCpE4TBYQl4w1IHvMDdA2zBngBMwc8COMDhCpDAfgOAAgrBgNYU+YC0FBGAkAMpgWoSCYAGESGBGAKBgXgJOdiOJmMCmNwCYNDJhYRPykRCJhTBnEUzlsjv4UNLj/z97n3Mv/7z1nZqyitYAZIqErIwMwJAqEw0GAAMFptJMaqFwB8CQIWlhuhuDAwNjfuwrQFAYXCf/7UsQVAA+9PTP42gYRdiIu9zBwAPbFUCi0DAhgNcS+7cDwVgM05A9bUDeuQMyE/u3CygVISgZhpIau/9PhdQG2C9DpxZZJmn/dn/Psmt0EFm////l84ThUTopE4VD/9JkubOGasTvN30C20G21qgUCkVCoUCgPMywrPCGly27V5q5t24vl/8jSlSAPCxzNseNCw3oh3NGBu4BZJ5hv7DRSfR/+eWG7nA8IKh2Olv5iz3q5m3//Joxo3JqNyYkSuGt/k6D4DeoBOHmHdl0dkZYA//tSxAUAC4B1Z/2DADEcA17Z/uhI4Yoik/TrZo+ww7UtmpW4LDWu2IacoJKJJeTSM+ZmAYBEiU+ZnnAwCn1VVVV6JUJQVnioKhrgqdKgqGpUFeCp0sDR3ztQNREDRUFioKuxKCpYGQBlRIBk+aLwb8KblGQVDdphPYTUdBOGbVpAaTF6ZdjEV0iRUZRCYkA4oUQDx5zqDugtXvza/7fuNNvfZ+j9v+T/2f//J/4cAAOTpE5K4zksR9MfIB+TDcQTI4gNs1XKAzEFUrGkxABYEBb/+1LEEYNKrEjgT/TCwYYVmUX+mHoKgWhKU5Eiw9SFIRmppw+3fYo4siPhUFeexM8KgIO6wVuPDDy01qeRaVbw357//y3+o8M0pBNlNLCGBzGKwyYw2IIFOE1WNTjRM6x8MlA1AxDhUHTAkEiyKpnbWrLcaOBotBUKbk1pypcWDAIK00AhKLGkUco6q9VWvM53mcaq3tVa8zjTM/tX//EDP//////////XAAmrwAAPoKwcw0ShDCZD/BQlhzinxQdorsOuXTEIC01ZkJyu4k/qPP/7UsQUAEjkrrkvZaPBIRXUoe5QObfMhYKX9RVgTPqCSCaSCaSC0XVdV1f/////6IAlguuAJSiDRNloNBsZg+0+Ts8MMCn81WUTRAlIi+GHECD0y8AWDIqswYsxGOSKVV7MqOni8tkVOip0fZX/////9HrMCbAz2EHGS4GKAAiRAAAYAcDdKd4G6Z/nwYgJ0ZAIgZyC8aPAs/iPBhwMpWDQNARltNS5Y61v//9i8Yl4SkFkIGTkAc0UBrIYLPA4MYBEy+YLMRuY4nhTC3hZA68H//tSxCoAyQC6mY6CkWDJBIsBz/QUrgNmahSzcrYw0/HhfnMAZBojDsgTFkDR5MDkG/DZEbk2FCmowqdqv2TYABiJwqqYjaQRGZ1URZ1DhSsdiHX/GBu0QpzIBNSaLqZ0ARkwFARxMrpt/Eh47mbQAhhU6sisFUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LESoHHJCRaj/dmYAIAQAAQAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7UsSLg8AAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LEoYPAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7UsShg8AAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LEoYPAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxKGDwAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",duration:.609,format:"mp3",license:"CC0",author:"Kenney"},vv=[{src:"/connections/gmail.png",name:"Gmail"},{src:"/connections/perplexity.png",name:"Perplexity"},{src:"/connections/github.png",name:"GitHub"}];function bv(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"flex items-center -space-x-1.5",children:vv.map(yv)}),t[0]=e):e=t[0],e}function yv(t){return n.jsx("img",{src:t.src,alt:t.name,className:"size-5 rounded-sm ring-1 ring-border object-cover bg-white"},t.name)}function Sv(t){const e=B.c(129),{disabled:s,onOpenConnections:i,virtualMcpId:r}=t,[o,a]=S.useState(!1),l=Sa(xv),{org:c}=ye(),{editor:d}=ao();let u;e[0]!==c.id||e[1]!==r?(u={connectionId:r,orgId:c.id},e[0]=c.id,e[1]=r,e[2]=u):u=e[2];const h=Le(u);let f;e[3]!==c.id||e[4]!==r?(f=ct.virtualMcpPrompts(r,c.id),e[3]=c.id,e[4]=r,e[5]=f):f=e[5];const m=f;let p;e[6]!==h?(p=()=>zr(h),e[6]=h,e[7]=p):p=e[7];const g=o&&!!h;let _;e[8]!==m||e[9]!==p||e[10]!==g?(_={queryKey:m,queryFn:p,staleTime:6e4,enabled:g},e[8]=m,e[9]=p,e[10]=g,e[11]=_):_=e[11];const{data:v,isLoading:x}=Wi(_);let b;e[12]!==v?.prompts?(b=v?.prompts??[],e[12]=v?.prompts,e[13]=b):b=e[13];const y=b,[C,k]=S.useState(null),{credentialId:w,imageModel:V,setImageModel:j,deepResearchModel:R,setDeepResearchModel:T,chatMode:I,setChatMode:A,simpleModeEnabled:N}=ai(),E=I==="plan",[M,L]=S.useState(!1),[D,P]=S.useState(!1),{models:O,isLoading:$}=uu(M||D?w??void 0:void 0);let z,W,F,K,H,U,Y,q,G,ee,Z,J,se;if(e[14]!==C||e[15]!==O||e[16]!==I||e[17]!==h||e[18]!==R||e[19]!==s||e[20]!==d||e[21]!==V||e[22]!==M||e[23]!==$||e[24]!==E||e[25]!==i||e[26]!==o||e[27]!==l||e[28]!==D||e[29]!==A||e[30]!==T||e[31]!==j||e[32]!==N){const te=O.filter(Vv),ue=O.filter(wv);let Ve;e[46]!==I||e[47]!==E||e[48]!==l||e[49]!==A?(Ve=()=>{l();const _e=E?"default":"plan";ie("chat_mode_changed",{from_mode:I,to_mode:_e,source:"tools_popover"}),A(_e),a(!1)},e[46]=I,e[47]=E,e[48]=l,e[49]=A,e[50]=Ve):Ve=e[50];const Ee=Ve;let Te;e[51]!==i?(Te=()=>{i(),a(!1)},e[51]=i,e[52]=Te):Te=e[52],F=Te;let be;e[53]!==h||e[54]!==d?(be=async(_e,zt)=>{if(!d||!h)return;const $t=ni(_e._meta),us={from:d.state.selection.from,to:d.state.selection.to};try{const tn=await bl(h,_e.name,zt);En(d,us,{id:_e.name,name:gl(_e.name,$t),metadata:tn.messages,char:"/"})}catch{fe.error("Failed to load prompt. Please try again.")}},e[53]=h,e[54]=d,e[55]=be):be=e[55];const je=be;let $e;e[56]!==je?($e=async _e=>{a(!1);const zt=!!(_e.arguments&&_e.arguments.length>0);if(ie("chat_prompt_inserted",{prompt_name:_e.name,with_arguments:zt}),zt){k(_e);return}await je(_e)},e[56]=je,e[57]=$e):$e=e[57],H=$e;let Ge;e[58]!==C||e[59]!==je?(Ge=async _e=>{C&&(await je(C,_e),k(null))},e[58]=C,e[59]=je,e[60]=Ge):Ge=e[60],K=Ge;let ge;e[61]!==l||e[62]!==j?(ge=_e=>{l(),ie("chat_image_model_selected",{model_id:_e.modelId,model_title:_e.title,provider:_e.providerId??null}),j(_e),a(!1)},e[61]=l,e[62]=j,e[63]=ge):ge=e[63];const Ae=ge;let Ze;e[64]!==l||e[65]!==T?(Ze=_e=>{l(),ie("chat_search_model_selected",{model_id:_e.modelId,model_title:_e.title,provider:_e.providerId??null}),T(_e),a(!1)},e[64]=l,e[65]=T,e[66]=Ze):Ze=e[66];const Ct=Ze;let Be;e[67]!==I||e[68]!==l||e[69]!==A?(Be=()=>{l();const _e=I==="gen-image"?"default":"gen-image";ie("chat_mode_changed",{from_mode:I,to_mode:_e,source:"tools_popover"}),A(_e),a(!1)},e[67]=I,e[68]=l,e[69]=A,e[70]=Be):Be=e[70];const Kt=Be;let kt;e[71]!==I||e[72]!==l||e[73]!==A?(kt=()=>{l();const _e=I==="web-search"?"default":"web-search";ie("chat_mode_changed",{from_mode:I,to_mode:_e,source:"tools_popover"}),A(_e),a(!1)},e[71]=I,e[72]=l,e[73]=A,e[74]=kt):kt=e[74];const Ie=kt,Me=I==="gen-image",Ye=I==="web-search";W=As,q=o,e[75]!==I||e[76]!==o?(G=_e=>{_e&&!o&&ie("chat_tools_popover_opened",{chat_mode:I}),a(_e)},e[75]=I,e[76]=o,e[77]=G):G=e[77];let qt,xt;e[78]===Symbol.for("react.memo_cache_sentinel")?(qt=n.jsx(Qh,{size:14}),xt=n.jsx("span",{className:"hidden sm:inline",children:"Tools"}),e[78]=qt,e[79]=xt):(qt=e[78],xt=e[79]),e[80]!==s?(ee=n.jsx(Es,{asChild:!0,children:n.jsxs(oe,{type:"button",variant:"ghost",size:"default",disabled:s,className:"text-muted-foreground hover:text-foreground",children:[qt,xt]})}),e[80]=s,e[81]=ee):ee=e[81],z=Is,Z="start",J="w-52 p-1.5";const vt=E&&"text-violet-600 dark:text-violet-400";let bt;e[82]!==vt?(bt=X(vt),e[82]=vt,e[83]=bt):bt=e[83];const bs=E&&"text-violet-500";let Fe;e[84]!==bs?(Fe=X(bs),e[84]=bs,e[85]=Fe):Fe=e[85];let jt;e[86]!==Fe?(jt=n.jsx(au,{size:16,className:Fe}),e[86]=Fe,e[87]=jt):jt=e[87];let Nt;e[88]===Symbol.for("react.memo_cache_sentinel")?(Nt=n.jsx("span",{className:"flex-1",children:"Plan mode"}),e[88]=Nt):Nt=e[88];let wt;e[89]!==E?(wt=E&&n.jsx("span",{className:"text-xs text-violet-500 font-medium",children:"On"}),e[89]=E,e[90]=wt):wt=e[90],e[91]!==Ee||e[92]!==bt||e[93]!==jt||e[94]!==wt?(se=n.jsxs(at,{onClick:Ee,className:bt,children:[jt,Nt,wt]}),e[91]=Ee,e[92]=bt,e[93]=jt,e[94]=wt,e[95]=se):se=e[95],U=N?n.jsxs(at,{onClick:Kt,className:X(Me&&"text-pink-600 dark:text-pink-400"),children:[n.jsx(ga,{size:16,className:X(Me&&"text-pink-500")}),n.jsx("span",{className:"flex-1",children:"Create image"}),Me&&n.jsx("span",{className:"text-xs text-pink-500 font-medium",children:"On"})]}):n.jsxs(kr,{open:M,onOpenChange:L,children:[n.jsxs("div",{className:"flex items-center rounded-lg",children:[n.jsxs(at,{onClick:Kt,disabled:!V,className:X("flex-1 rounded-r-none pr-1",Me&&"text-pink-600 dark:text-pink-400"),children:[n.jsx(ga,{size:16,className:X(Me&&"text-pink-500")}),n.jsx("span",{className:"flex-1",children:"Create image"}),Me&&n.jsx("span",{className:"text-xs text-pink-500 font-medium",children:"On"})]}),n.jsx(pc,{className:X("flex items-center justify-center rounded-r-lg rounded-l-none px-1.5 py-1.5 text-muted-foreground outline-hidden select-none","hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground","data-[state=open]:bg-accent data-[state=open]:text-accent-foreground"),children:n.jsx(Rn,{size:14})})]}),n.jsx(jr,{className:"w-80 max-h-72 overflow-y-auto p-1.5",children:$?n.jsxs("div",{className:"flex items-center gap-2 px-2 py-3 text-sm text-muted-foreground",children:[n.jsx(De,{size:14,className:"animate-spin"}),"Loading models…"]}):te.length===0?n.jsx("div",{className:"px-2 py-3 text-sm text-muted-foreground",children:"No image models available"}):te.map(_e=>{const zt=V?.modelId===_e.modelId,$t=Cc(_e),us=_e.title.includes(": ")?_e.title.split(": ").slice(1).join(": "):_e.title;return n.jsxs(at,{onClick:()=>Ae(_e),className:"flex items-center gap-2",children:[n.jsx("img",{src:$t,alt:"",className:"size-4 shrink-0 rounded-sm dark:bg-white dark:p-px"}),n.jsx("span",{className:"flex-1 text-sm truncate",children:us}),zt&&n.jsx(Jt,{size:14,className:"text-pink-500 shrink-0"})]},_e.modelId)})})]}),Y=N?n.jsxs(at,{onClick:Ie,className:X(Ye&&"text-blue-600 dark:text-blue-400"),children:[n.jsx(Pi,{size:16,className:X(Ye&&"text-blue-500")}),n.jsx("span",{className:"flex-1",children:"Web search"}),Ye&&n.jsx("span",{className:"text-xs text-blue-500 font-medium",children:"On"})]}):R&&n.jsxs(kr,{open:D,onOpenChange:P,children:[n.jsxs("div",{className:"flex items-center rounded-lg",children:[n.jsxs(at,{onClick:Ie,className:X("flex-1 rounded-r-none pr-1",Ye&&"text-blue-600 dark:text-blue-400"),children:[n.jsx(Pi,{size:16,className:X(Ye&&"text-blue-500")}),n.jsx("span",{className:"flex-1",children:"Web search"}),Ye&&n.jsx("span",{className:"text-xs text-blue-500 font-medium",children:"On"})]}),n.jsx(pc,{className:X("flex items-center justify-center rounded-r-lg rounded-l-none px-1.5 py-1.5 text-muted-foreground outline-hidden select-none","hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground","data-[state=open]:bg-accent data-[state=open]:text-accent-foreground"),children:n.jsx(Rn,{size:14})})]}),n.jsx(jr,{className:"w-80 max-h-72 overflow-y-auto p-1.5",children:$?n.jsxs("div",{className:"flex items-center gap-2 px-2 py-3 text-sm text-muted-foreground",children:[n.jsx(De,{size:14,className:"animate-spin"}),"Loading models…"]}):ue.map(_e=>{const zt=R?.modelId===_e.modelId,$t=Cc(_e),us=_e.title.includes(": ")?_e.title.split(": ").slice(1).join(": "):_e.title;return n.jsxs(at,{onClick:()=>Ct(_e),className:"flex items-center gap-2",children:[n.jsx("img",{src:$t,alt:"",className:"size-4 shrink-0 rounded-sm dark:bg-white dark:p-px"}),n.jsx("span",{className:"flex-1 text-sm truncate",children:us}),zt&&n.jsx(Jt,{size:14,className:"text-blue-500 shrink-0"})]},_e.modelId)})})]}),e[14]=C,e[15]=O,e[16]=I,e[17]=h,e[18]=R,e[19]=s,e[20]=d,e[21]=V,e[22]=M,e[23]=$,e[24]=E,e[25]=i,e[26]=o,e[27]=l,e[28]=D,e[29]=A,e[30]=T,e[31]=j,e[32]=N,e[33]=z,e[34]=W,e[35]=F,e[36]=K,e[37]=H,e[38]=U,e[39]=Y,e[40]=q,e[41]=G,e[42]=ee,e[43]=Z,e[44]=J,e[45]=se}else z=e[33],W=e[34],F=e[35],K=e[36],H=e[37],U=e[38],Y=e[39],q=e[40],G=e[41],ee=e[42],Z=e[43],J=e[44],se=e[45];let ne;e[96]===Symbol.for("react.memo_cache_sentinel")?(ne=n.jsxs(Gh,{className:"gap-2",children:[n.jsx("span",{className:"flex size-4 items-center justify-center text-base font-medium text-muted-foreground",children:"/"}),n.jsx("span",{className:"flex-1",children:"Prompts"})]}),e[96]=ne):ne=e[96];let ce;e[97]!==H||e[98]!==x||e[99]!==y?(ce=x?n.jsxs("div",{className:"flex items-center gap-2 px-2 py-3 text-sm text-muted-foreground",children:[n.jsx(De,{size:14,className:"animate-spin"}),"Loading prompts…"]}):y.length===0?n.jsx("div",{className:"px-2 py-3 text-sm text-muted-foreground",children:"No prompts available"}):y.map(te=>n.jsxs(at,{onClick:()=>H(te),className:"flex flex-col items-start gap-0.5",children:[n.jsx("span",{className:"font-medium text-sm capitalize",children:te.title||oo(te.name,ni(te._meta))}),te.description&&n.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:te.description})]},te.name)),e[97]=H,e[98]=x,e[99]=y,e[100]=ce):ce=e[100];let xe;e[101]!==ce?(xe=n.jsxs(kr,{children:[ne,n.jsx(jr,{className:"w-80 max-h-72 overflow-y-auto p-1.5",children:ce})]}),e[101]=ce,e[102]=xe):xe=e[102];let ae,he;e[103]===Symbol.for("react.memo_cache_sentinel")?(ae=n.jsx(qg,{size:16}),he=n.jsx("span",{className:"flex-1",children:"Connections"}),e[103]=ae,e[104]=he):(ae=e[103],he=e[104]);let pe;e[105]===Symbol.for("react.memo_cache_sentinel")?(pe=n.jsx(S.Suspense,{children:n.jsx(bv,{})}),e[105]=pe):pe=e[105];let me;e[106]!==F?(me=n.jsxs(at,{onClick:F,children:[ae,he,pe]}),e[106]=F,e[107]=me):me=e[107];let we;e[108]!==z||e[109]!==U||e[110]!==Y||e[111]!==xe||e[112]!==me||e[113]!==Z||e[114]!==J||e[115]!==se?(we=n.jsxs(z,{align:Z,className:J,children:[se,U,Y,xe,me]}),e[108]=z,e[109]=U,e[110]=Y,e[111]=xe,e[112]=me,e[113]=Z,e[114]=J,e[115]=se,e[116]=we):we=e[116];let ve;e[117]!==W||e[118]!==q||e[119]!==G||e[120]!==ee||e[121]!==we?(ve=n.jsxs(W,{open:q,onOpenChange:G,children:[ee,we]}),e[117]=W,e[118]=q,e[119]=G,e[120]=ee,e[121]=we,e[122]=ve):ve=e[122];let de;e[123]!==C||e[124]!==K?(de=n.jsx(Bl,{prompt:C,setPrompt:k,onSubmit:K}),e[123]=C,e[124]=K,e[125]=de):de=e[125];let Re;return e[126]!==ve||e[127]!==de?(Re=n.jsxs(n.Fragment,{children:[ve,de]}),e[126]=ve,e[127]=de,e[128]=Re):Re=e[128],Re}function wv(t){const e=t.modelId.toLowerCase().replace(/[^a-z0-9]/g,"");return e.includes("sonar")||e.includes("deepresearch")}function Vv(t){return t.capabilities?.includes("image")}function Cv({open:t,onOpenChange:e,onCreated:s}){const{org:i}=ye(),{data:r}=St.useSession(),{stdioEnabled:o}=hp(),a=Ms(),l=po(),c=vu(),u=bu(c,"").items,h=qi({resolver:Un(h_),defaultValues:{title:"",description:null,icon:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),f=h.watch("ui_type"),m=h.watch("connection_url"),p=h.watch("npx_package"),g=dr({uiType:f,connectionUrl:m??"",npxPackage:p??""})??kc({uiType:f,connectionUrl:m??"",registryItems:u}),_=w=>{const V=w.trim();if(!V)return;const j=!!h.formState.dirtyFields.title,R=!!h.formState.dirtyFields.description,T=!!h.formState.dirtyFields.env_vars,I=N=>{if(N&&(!j&&!h.getValues("title").trim()&&N.title&&h.setValue("title",N.title,{shouldDirty:!1}),!R&&!(h.getValues("description")??"").trim()&&N.description&&h.setValue("description",N.description,{shouldDirty:!1}),!T&&N.envVarKeys?.length)){const E=h.getValues("env_vars")??[],M=new Set(E.map(D=>D.key)),L=N.envVarKeys.filter(D=>!M.has(D));L.length>0&&h.setValue("env_vars",[...E,...L.map(D=>({key:D,value:""}))],{shouldDirty:!0})}},A=f_(V);if(A&&o){h.setValue("ui_type","NPX",{shouldDirty:!0}),h.setValue("npx_package",A.packageName,{shouldDirty:!0}),h.setValue("connection_url","",{shouldDirty:!0}),h.setValue("connection_token",null,{shouldDirty:!0}),I(dr({uiType:"NPX",npxPackage:A.packageName}));return}if(V.startsWith("http://")||V.startsWith("https://")){const N=f==="HTTP"||f==="SSE"||f==="Websocket"?f:"HTTP";h.setValue("ui_type",N,{shouldDirty:!0}),h.setValue("connection_url",V,{shouldDirty:!0}),I(dr({uiType:N,connectionUrl:V})??kc({uiType:N,connectionUrl:V,registryItems:u}));return}f==="NPX"&&I(dr({uiType:"NPX",npxPackage:V}))},v=w=>{w||h.reset(),e(w)},x=async w=>{let V,j=null,R=null,T=null;w.ui_type==="NPX"?(V="STDIO",j="",T=m_(w.npx_package||"",w.env_vars||[])):w.ui_type==="STDIO"?(V="STDIO",j="",T=p_(w.stdio_command||"",w.stdio_args||"",w.stdio_cwd,w.env_vars||[])):(V=w.ui_type,j=w.connection_url||"",R=w.connection_token||null);const I=Su("conn");try{await l.create.mutateAsync({id:I,title:w.title,description:w.description||null,connection_type:V,connection_url:j,connection_token:R,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:r?.user?.id||"system",organization_id:i.id,icon:w.icon??null,app_name:null,app_id:null,connection_headers:T,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),h.reset(),e(!1),s?.(I)}catch{fe.error("Failed to create connection")}},b="Create Connection",y="Create a custom connection in your organization. Fill in the details below.",C=h.formState.isSubmitting?"Saving...":"Create Connection",k=n.jsxs("div",{className:"grid gap-4",children:[n.jsx(It,{control:h.control,name:"ui_type",render:({field:w})=>n.jsxs(Rt,{children:[n.jsx(os,{children:"Type *"}),n.jsxs(ei,{value:w.value,onValueChange:w.onChange,children:[n.jsx(Tt,{children:n.jsx(ti,{children:n.jsx(si,{})})}),n.jsxs(Zs,{children:[n.jsx(Ht,{value:"HTTP",children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(Pi,{className:"w-4 h-4"}),"HTTP"]})}),n.jsx(Ht,{value:"SSE",children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(Pi,{className:"w-4 h-4"}),"SSE"]})}),n.jsx(Ht,{value:"Websocket",children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(Pi,{className:"w-4 h-4"}),"Websocket"]})}),o&&n.jsxs(n.Fragment,{children:[n.jsx(Ht,{value:"NPX",children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(Nr,{className:"w-4 h-4"}),"NPX Package"]})}),n.jsx(Ht,{value:"STDIO",children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(yl,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),n.jsx(Dt,{})]})}),f==="NPX"&&n.jsx(It,{control:h.control,name:"npx_package",render:({field:w})=>n.jsxs(Rt,{children:[n.jsx(os,{children:"NPM Package *"}),n.jsx(Tt,{children:n.jsx(gt,{placeholder:"@perplexity-ai/mcp-server",...w,value:w.value??"",onPaste:V=>{const j=V.clipboardData.getData("text");j&&(V.preventDefault(),h.setValue("npx_package",j.trim(),{shouldDirty:!0}),_(j))},onBlur:V=>{_(V.target.value),w.onBlur()}})}),n.jsx(Dt,{})]})}),f==="STDIO"&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[n.jsx(It,{control:h.control,name:"stdio_command",render:({field:w})=>n.jsxs(Rt,{children:[n.jsx(os,{children:"Command *"}),n.jsx(Tt,{children:n.jsx(gt,{placeholder:"node, bun, python...",...w,value:w.value??""})}),n.jsx(Dt,{})]})}),n.jsx(It,{control:h.control,name:"stdio_args",render:({field:w})=>n.jsxs(Rt,{children:[n.jsx(os,{children:"Arguments"}),n.jsx(Tt,{children:n.jsx(gt,{placeholder:"arg1 arg2 --flag value",...w,value:w.value??""})}),n.jsx(Dt,{})]})})]}),n.jsx(It,{control:h.control,name:"stdio_cwd",render:({field:w})=>n.jsxs(Rt,{children:[n.jsx(os,{children:"Working Directory"}),n.jsx(Tt,{children:n.jsx(gt,{placeholder:"/path/to/project (optional)",...w,value:w.value??""})}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory where the command will be executed"}),n.jsx(Dt,{})]})})]}),(f==="NPX"||f==="STDIO")&&n.jsx(It,{control:h.control,name:"env_vars",render:({field:w})=>n.jsxs(Rt,{children:[n.jsx(os,{children:"Environment Variables"}),n.jsx(Tt,{children:n.jsx(u_,{value:w.value??[],onChange:w.onChange})}),n.jsx(Dt,{})]})}),f!=="NPX"&&f!=="STDIO"&&n.jsxs(n.Fragment,{children:[n.jsx(It,{control:h.control,name:"connection_url",render:({field:w})=>n.jsxs(Rt,{children:[n.jsx(os,{children:"URL *"}),n.jsx(Tt,{children:n.jsx(gt,{placeholder:"https://example.com/mcp",...w,value:w.value??"",onPaste:V=>{const j=V.clipboardData.getData("text");j&&(V.preventDefault(),h.setValue("connection_url",j.trim(),{shouldDirty:!0}),_(j))},onBlur:V=>{_(V.target.value),w.onBlur()}})}),n.jsx(Dt,{})]})}),n.jsx(It,{control:h.control,name:"connection_token",render:({field:w})=>n.jsxs(Rt,{children:[n.jsx(os,{children:g?.token?.label??"Token (optional)"}),n.jsx(Tt,{children:n.jsx(gt,{type:"password",placeholder:g?.token?.placeholder??"Bearer token or API key",className:"ph-no-capture",...w,value:w.value??""})}),g?.token?.helperText&&n.jsxs("p",{className:"text-xs text-muted-foreground",children:[g.token.helperText,g.id==="github"&&n.jsxs(n.Fragment,{children:[" ","·"," ",n.jsx("a",{className:"text-foreground underline underline-offset-4 hover:text-foreground/80",href:"https://github.com/settings/personal-access-tokens",target:"_blank",rel:"noreferrer",children:"Open GitHub PAT settings"})]})]}),n.jsx(Dt,{})]})})]}),n.jsx(It,{control:h.control,name:"title",render:({field:w})=>n.jsxs(Rt,{children:[n.jsx(os,{children:"Name *"}),n.jsx(Tt,{children:n.jsx(gt,{placeholder:"My Connection",...w})}),n.jsx(Dt,{})]})}),n.jsx(It,{control:h.control,name:"description",render:({field:w})=>n.jsxs(Rt,{children:[n.jsx(os,{children:"Description"}),n.jsx(Tt,{children:n.jsx(_a,{placeholder:"A brief description of this connection",rows:3,...w,value:w.value??""})}),n.jsx(Dt,{})]})})]});return a?n.jsx(Ci,{open:t,onOpenChange:v,children:n.jsxs(Vi,{className:"max-h-[90vh]",children:[n.jsx(co,{className:"pb-2",children:n.jsxs("div",{className:"flex items-start justify-between gap-4",children:[n.jsxs("div",{className:"flex-1 text-left",children:[n.jsx(wi,{children:b}),n.jsx(gg,{className:"mt-1",children:y})]}),n.jsx(_g,{asChild:!0,children:n.jsx(oe,{variant:"ghost",size:"icon",className:"shrink-0 -mt-1",children:n.jsx(ri,{size:16})})})]})}),n.jsx(Bi,{...h,children:n.jsxs("form",{onSubmit:h.handleSubmit(x),children:[n.jsx("div",{className:"overflow-y-auto px-4 pb-4",children:k}),n.jsx(xg,{children:n.jsx(oe,{type:"submit",disabled:h.formState.isSubmitting,className:"w-full",children:C})})]})})]})}):n.jsx(ss,{open:t,onOpenChange:v,children:n.jsxs(ts,{className:"sm:max-w-[525px]",children:[n.jsxs(hs,{children:[n.jsx(ds,{children:b}),n.jsx(lo,{children:y})]}),n.jsx(Bi,{...h,children:n.jsxs("form",{onSubmit:h.handleSubmit(x),children:[n.jsx("div",{className:"py-4",children:k}),n.jsxs(xl,{children:[n.jsx(oe,{type:"button",variant:"outline",onClick:()=>v(!1),children:"Cancel"}),n.jsx(oe,{type:"submit",disabled:h.formState.isSubmitting,className:"min-w-40",children:C})]})]})})]})})}function kv(t){const e=B.c(79),{mode:s,agentId:i,addedConnectionIds:r,onAdd:o,onCloneAndAdd:a,onConnectAndAdd:l,connectingItemId:c,search:d,onCreateConnection:u,onBrowseNavigate:h,defaultTab:f}=t,m=s===void 0?"add":s,p=f===void 0?"connected":f,{org:g}=ye(),_=S.useDeferredValue(d),v=d!==_;let x;e[0]!==_?(x=_.toLowerCase(),e[0]=_,e[1]=x):x=e[1];const b=x;let y;e[2]!==p?(y=ge=>ge??p,e[2]=p,e[3]=y):y=e[3];const[C,k]=ml(pl.connectionsTab(g.slug)+(p==="all"?":home-modal":":agent-modal"),y);let w;e[4]!==C||e[5]!==k?(w=ge=>{ge!==C&&ie("connections_dialog_tab_changed",{to_tab:ge}),k(ge)},e[4]=C,e[5]=k,e[6]=w):w=e[6];const V=w;let j;e[7]!==g.id?(j={connectionId:Pt,orgId:g.id},e[7]=g.id,e[8]=j):j=e[8];const R=Le(j);let T,I,A;if(e[9]!==R||e[10]!==_||e[11]!==g.id){A=_?.trim()?{operator:"or",conditions:[{field:["title"],operator:"contains",value:_.trim()},{field:["description"],operator:"contains",value:_.trim()}]}:void 0;const ge={...A&&{where:A},orderBy:[{field:["updated_at"],direction:"asc"}],limit:100,offset:0},Ae=JSON.stringify(ge);I=g_,T=ct.collectionListInfinite(R,g.id,"","CONNECTIONS",Ae),e[9]=R,e[10]=_,e[11]=g.id,e[12]=T,e[13]=I,e[14]=A}else T=e[12],I=e[13],A=e[14];let N;e[15]!==R||e[16]!==A?(N=async ge=>{const{pageParam:Ae}=ge,Ze=Ae===void 0?0:Ae;return(await R.callTool({name:"COLLECTION_CONNECTIONS_LIST",arguments:{...A&&{where:A},orderBy:[{field:["updated_at"],direction:"asc"}],limit:100,offset:Ze}})).structuredContent},e[15]=R,e[16]=A,e[17]=N):N=e[17];let E;e[18]!==T||e[19]!==N?(E={queryKey:T,queryFn:N,initialPageParam:0,getNextPageParam:Rv,staleTime:3e4},e[18]=T,e[19]=N,e[20]=E):E=e[20];const{data:M,fetchNextPage:L,hasNextPage:D,isFetchingNextPage:P}=I(E),O=M?.pages.flatMap(Iv)??[],$=d_(O),z=new Set(O.filter(Ev).map(Av)),W=vu(),F=bu(W,_),K=jc(F.loadMore,F.hasMore,F.isLoadingMore),H=jc(L,D??!1,P),U=C==="all"||!!b,Y=U?F.items.filter(ge=>{const Ae=S_(ge);return!(Ae&&z.has(Ae))}):[],q=Y.filter(Nv),G=Y.filter(jv);let ee;e[21]!==r?(ee=ge=>ge.some(Ae=>r.has(Ae.id)),e[21]=r,e[22]=ee):ee=e[22];const Z=ee;let J;e[23]!==r||e[24]!==i||e[25]!==c||e[26]!==Z||e[27]!==m||e[28]!==o||e[29]!==h||e[30]!==a?(J=(ge,Ae,Ze,Ct,Be)=>{const Kt=Z(Be),kt=Be.find(Me=>!r.has(Me.id)),Ie=Be[0];if(m==="browse"){const Me=_u(Ie);return n.jsx(To,{connection:{title:Ae,icon:Ze,description:Be.length>1?`${Be.length} instances`:Ct??void 0},fallbackIcon:n.jsx(Nr,{}),headerActionsAlwaysVisible:!0,headerActions:n.jsxs(Ec,{variant:"secondary",className:"text-xs gap-1 font-normal",children:[n.jsx(Jt,{size:11})," Connected"]}),onClick:()=>{ie("connection_browse_clicked",{app_name:Ie.app_name??null,connection_id:Ie.id,instances_count:Be.length}),h?.(Me)}},ge)}return n.jsx(To,{connection:{title:Ae,icon:Ze,description:Ct},fallbackIcon:n.jsx(Nr,{}),headerActionsAlwaysVisible:!0,headerActions:n.jsxs("div",{className:"flex items-center gap-1.5",children:[Kt&&n.jsxs(Ec,{variant:"secondary",className:"text-xs gap-1 font-normal",children:[n.jsx(Jt,{size:11})," Added"]}),n.jsx(oe,{variant:"outline",size:"sm",className:"h-7 px-3 text-xs font-medium",disabled:c!==null,onClick:Me=>{Me.stopPropagation(),kt?(ie("connection_add_clicked",{action:"use_existing",app_name:Ie.app_name??null,connection_id:kt.id}),i&&ie("agent_connection_attached",{agent_id:i,connection_id:kt.id,app_name:Ie.app_name??null,mode:"existing"}),o(kt.id)):(ie("connection_add_clicked",{action:"clone",app_name:Ie.app_name??null,base_connection_id:Ie.id}),a(Ie))},children:"Add"})]})},ge)},e[23]=r,e[24]=i,e[25]=c,e[26]=Z,e[27]=m,e[28]=o,e[29]=h,e[30]=a,e[31]=J):J=e[31];const se=J;let ne;e[32]!==c||e[33]!==m||e[34]!==l?(ne=ge=>{const Ae=ge._meta?.["mcp.mesh"],Ze=Ae?.friendlyName||Ae?.friendly_name||ge.server?.title||ge.title||ge.server?.name||ge.name||ge.id||"",Ct=ge.server?.description||ge.description||null,Be=ge.server?.icons?.[0]?.src||V_(ge.server?.repository)||null;return n.jsx(To,{connection:{title:Ze,description:Ct,icon:Be},fallbackIcon:n.jsx(Nr,{}),headerActionsAlwaysVisible:!0,headerActions:n.jsx(oe,{variant:"outline",size:"sm",className:"h-7 px-3 text-xs font-medium",disabled:c!==null,onClick:Kt=>{Kt.stopPropagation(),ie("connection_add_clicked",{action:"connect_new",registry_item_id:ge.id,app_name:ge._meta?.["mcp.mesh"]?.friendlyName||ge.server?.name||ge.name||null}),l(ge)},children:c===ge.id?n.jsx(De,{size:14,className:"animate-spin"}):m==="browse"?"Connect":"Add"})},`catalog-${ge.id}`)},e[32]=c,e[33]=m,e[34]=l,e[35]=ne):ne=e[35];const ce=ne;let xe;e[36]!==C||e[37]!==V||e[38]!==u||e[39]!==b?(xe=!b&&n.jsxs("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border shrink-0",children:[n.jsx(yu,{tabs:[{id:"all",label:"All"},{id:"connected",label:"Connected"}],activeTab:C,onTabChange:ge=>V(ge)}),n.jsxs(oe,{variant:"outline",size:"sm",className:"h-7 px-2 text-sm",onClick:()=>{ie("connections_dialog_custom_clicked"),u()},children:[n.jsx(Qt,{size:12}),"Custom Connection"]})]}),e[36]=C,e[37]=V,e[38]=u,e[39]=b,e[40]=xe):xe=e[40];const ae=v&&"opacity-50 pointer-events-none";let he;e[41]!==ae?(he=X("flex-1 overflow-auto p-5 transition-opacity duration-150",ae),e[41]=ae,e[42]=he):he=e[42];const pe="grid grid-cols-[repeat(auto-fill,minmax(260px,1fr))] gap-4";let me;e[43]!==se?(me=ge=>{if(ge.type==="group")return se(ge.key,ge.title,ge.icon,null,ge.connections);const Ae=ge.connection;return se(Ae.id,Ae.title,Ae.icon,Ae.description??null,[Ae])},e[43]=se,e[44]=me):me=e[44];const we=$.map(me);let ve;e[45]!==H?(ve=n.jsx("div",{ref:H,className:"col-span-full h-1"}),e[45]=H,e[46]=ve):ve=e[46];let de;e[47]!==P?(de=P&&n.jsx("div",{className:"col-span-full flex justify-center py-6",children:n.jsx(De,{size:24,className:"animate-spin text-muted-foreground"})}),e[47]=P,e[48]=de):de=e[48];const Re=U&&q.length>0&&n.jsxs("div",{className:"col-span-full flex items-center gap-2 mt-2",children:[n.jsx(Gg,{size:13,className:"text-muted-foreground shrink-0"}),n.jsx("span",{className:"text-sm font-medium text-muted-foreground whitespace-nowrap",children:"Verified"}),n.jsx("div",{className:"flex-1 h-px bg-border"})]}),te=U&&q.map(ce),ue=U&&G.length>0&&n.jsxs("div",{className:"col-span-full flex items-center gap-2 mt-2",children:[n.jsx("span",{className:"text-sm font-medium text-muted-foreground whitespace-nowrap",children:"All connections"}),n.jsx("div",{className:"flex-1 h-px bg-border"})]}),Ve=U&&G.map(ce);let Ee;e[49]!==K||e[50]!==W||e[51]!==U?(Ee=U&&W.length>0&&n.jsx("div",{ref:K,className:"col-span-full h-1"}),e[49]=K,e[50]=W,e[51]=U,e[52]=Ee):Ee=e[52];let Te;e[53]!==F.isLoadingMore||e[54]!==U?(Te=U&&F.isLoadingMore&&n.jsx("div",{className:"col-span-full flex justify-center py-6",children:n.jsx(De,{size:24,className:"animate-spin text-muted-foreground"})}),e[53]=F.isLoadingMore,e[54]=U,e[55]=Te):Te=e[55];let be;e[56]!==we||e[57]!==ve||e[58]!==de||e[59]!==Re||e[60]!==te||e[61]!==ue||e[62]!==Ve||e[63]!==Ee||e[64]!==Te?(be=n.jsxs("div",{className:pe,children:[we,ve,de,Re,te,ue,Ve,Ee,Te]}),e[56]=we,e[57]=ve,e[58]=de,e[59]=Re,e[60]=te,e[61]=ue,e[62]=Ve,e[63]=Ee,e[64]=Te,e[65]=be):be=e[65];let je;e[66]!==C||e[67]!==$.length||e[68]!==G||e[69]!==d||e[70]!==q?(je=$.length===0&&q.length===0&&G.length===0&&n.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:d?`No connections match "${d}"`:C==="connected"?"No connections yet":"No connections available"}),e[66]=C,e[67]=$.length,e[68]=G,e[69]=d,e[70]=q,e[71]=je):je=e[71];let $e;e[72]!==he||e[73]!==be||e[74]!==je?($e=n.jsxs("div",{className:he,children:[be,je]}),e[72]=he,e[73]=be,e[74]=je,e[75]=$e):$e=e[75];let Ge;return e[76]!==xe||e[77]!==$e?(Ge=n.jsxs(n.Fragment,{children:[xe,$e]}),e[76]=xe,e[77]=$e,e[78]=Ge):Ge=e[78],Ge}function jv(t){return!t.verified&&!t._meta?.["mcp.mesh"]?.verified&&!t.meta?.verified}function Nv(t){return t.verified||t._meta?.["mcp.mesh"]?.verified||t.meta?.verified}function Av(t){return t.app_name}function Ev(t){return t.app_name}function Iv(t){return t?.items??[]}function Rv(t,e){if(t?.hasMore)return e.reduce(Tv,0)}function Tv(t,e){return t+(e?.items?.length??0)}function Ul({open:t,onOpenChange:e,defaultTab:s,initialSearch:i="",...r}){const o=r.mode??"add",a="agentId"in r?r.agentId:void 0,l="addedConnectionIds"in r?r.addedConnectionIds??new Set:new Set,c="onAdd"in r&&r.onAdd?r.onAdd:V=>{},d=(V,j,R)=>{a&&ie("agent_connection_attached",{agent_id:a,connection_id:V,app_name:j,mode:R})},[u,h]=S.useState(null),[f,m]=S.useState(i),[p,g]=S.useState(!1),{org:_}=ye(),{data:v}=St.useSession(),x=po(),b=Mt(),y=qe(),C=V=>{e(!1),y({to:"/$org/settings/connections/$appSlug",params:{org:_.slug,appSlug:V}})},k=async V=>{h(V.app_name??V.id);try{const R=`${V.title.replace(/\s*\(\d+\)\s*$/,"")} (${Date.now().toString(36).slice(-4)})`,I=(await x.create.mutateAsync({title:R,description:V.description??null,connection_type:V.connection_type,connection_url:V.connection_url??null,connection_token:null,icon:V.icon??null,app_name:V.app_name??null,app_id:V.app_id??null,connection_headers:V.connection_headers??null})).id,A=new URL(`/mcp/${I}`,window.location.origin),N=await bn({url:A.href,token:null});if(N.supportsOAuth&&!N.isAuthenticated){const{token:E,tokenInfo:M,error:L}=await wr({connectionId:I,scope:"offline_access"});if(L||!E){ie("connection_oauth_failed",{connection_id:I,flow:"clone",error:L??"no_token"}),fe.error(`Authentication failed: ${L??"no token received"}`),await x.delete.mutateAsync(I);return}if(ie("connection_oauth_succeeded",{connection_id:I,flow:"clone"}),M)try{(await fetch(`/api/connections/${I}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:M.accessToken,refreshToken:M.refreshToken,expiresIn:M.expiresIn,scope:M.scope,clientId:M.clientId,clientSecret:M.clientSecret,tokenEndpoint:M.tokenEndpoint})})).ok?await x.update.mutateAsync({id:I,data:{}}):await x.update.mutateAsync({id:I,data:{connection_token:E}})}catch{await x.update.mutateAsync({id:I,data:{connection_token:E}})}else await x.update.mutateAsync({id:I,data:{connection_token:E}});await b.invalidateQueries({queryKey:ct.isMCPAuthenticated(A.href,null)})}d(I,V.app_name??null,"clone"),c(I)}catch(j){console.error("Failed to add connection:",j),fe.error("Failed to add connection")}finally{h(null)}},w=async V=>{if(!(!_||!v?.user?.id)){h(V.id);try{const j=w_(V,_.id,v.user.id,{remoteIndex:0}),R=j.connection_type==="STDIO",T=!!j.connection_url,I=R&&j.connection_headers&&typeof j.connection_headers=="object"&&"command"in j.connection_headers;if(!T&&!I){fe.error("This MCP Server cannot be connected: no connection method available"),h(null);return}const{id:A}=await x.create.mutateAsync(j),N=new URL(`/mcp/${A}`,window.location.origin),E=await bn({url:N.href,token:null});if(E.supportsOAuth&&!E.isAuthenticated){const{token:M,tokenInfo:L,error:D}=await wr({connectionId:A,scope:"offline_access"});if(D||!M){ie("connection_oauth_failed",{connection_id:A,flow:"connect_new",error:D??"no_token"}),fe.error(`Authentication failed: ${D??"no token received"}`),d(A,j.app_name??null,"new"),c(A);return}if(ie("connection_oauth_succeeded",{connection_id:A,flow:"connect_new"}),L)try{(await fetch(`/api/connections/${A}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:L.accessToken,refreshToken:L.refreshToken,expiresIn:L.expiresIn,scope:L.scope,clientId:L.clientId,clientSecret:L.clientSecret,tokenEndpoint:L.tokenEndpoint})})).ok?await x.update.mutateAsync({id:A,data:{}}):await x.update.mutateAsync({id:A,data:{connection_token:M}})}catch{await x.update.mutateAsync({id:A,data:{connection_token:M}})}else await x.update.mutateAsync({id:A,data:{connection_token:M}});await b.invalidateQueries({queryKey:ct.isMCPAuthenticated(N.href,null)}),fe.success("Connected and authenticated")}else fe.success("Connected");d(A,j.app_name??null,"new"),c(A)}catch(j){console.error("Failed to connect:",j),fe.error("Failed to connect")}finally{h(null)}}};return n.jsxs(ss,{open:t,onOpenChange:e,children:[n.jsxs(ts,{className:"sm:max-w-5xl h-[85vh] max-h-[85vh] flex flex-col p-0 gap-0 overflow-hidden w-[95vw]",children:[n.jsx(hs,{className:"px-6 pt-5 pb-0 shrink-0",children:n.jsx(ds,{className:"text-base font-semibold",children:o==="browse"?"Connections":"Add Connection"})}),n.jsx("div",{className:"pt-3 shrink-0",children:n.jsx(Uh,{value:f,onChange:m,placeholder:"Search connections..."})}),n.jsx(S.Suspense,{fallback:n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx(De,{size:24,className:"animate-spin text-muted-foreground"})}),children:n.jsx(kv,{mode:o,agentId:a,addedConnectionIds:l,onAdd:c,onCloneAndAdd:k,onConnectAndAdd:w,connectingItemId:u,search:f,onCreateConnection:()=>g(!0),onBrowseNavigate:C,defaultTab:s})})]}),n.jsx(Cv,{open:p,onOpenChange:g,onCreated:async V=>{g(!1);const j=new URL(`/mcp/${V}`,window.location.origin),R=await bn({url:j.href,token:null});if(R.supportsOAuth&&!R.isAuthenticated){const{token:T,tokenInfo:I,error:A}=await wr({connectionId:V,scope:"offline_access"});if(A||!T){ie("connection_oauth_failed",{connection_id:V,flow:"custom_create",error:A??"no_token"}),fe.error(`Authentication failed: ${A??"no token received"}`),await x.delete.mutateAsync(V);return}if(ie("connection_oauth_succeeded",{connection_id:V,flow:"custom_create"}),I)try{(await fetch(`/api/connections/${V}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:I.accessToken,refreshToken:I.refreshToken,expiresIn:I.expiresIn,scope:I.scope,clientId:I.clientId,clientSecret:I.clientSecret,tokenEndpoint:I.tokenEndpoint})})).ok?await x.update.mutateAsync({id:V,data:{}}):await x.update.mutateAsync({id:V,data:{connection_token:T}})}catch{await x.update.mutateAsync({id:V,data:{connection_token:T}})}else await x.update.mutateAsync({id:V,data:{connection_token:T}});await b.invalidateQueries({queryKey:ct.isMCPAuthenticated(j.href,null)})}d(V,null,"custom"),c(V),e(!1)}})]})}const Dv=[{src:"/connections/github.png",name:"GitHub"},{src:"/connections/gmail.png",name:"Gmail"},{src:"/connections/linear.png",name:"Linear"},{src:"/connections/shopify.png",name:"Shopify"},{src:"/connections/firecrawl.png",name:"Firecrawl"},{src:"/connections/perplexity.png",name:"Perplexity"}];function Mv(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"flex items-center -space-x-1",children:Dv.map(Pv)}),t[0]=e):e=t[0],e}function Pv(t){return n.jsx("img",{src:t.src,alt:t.name,className:"size-5 rounded-sm ring-2 ring-muted object-cover bg-white"},t.name)}function Lv(t){const e=B.c(6),{onClick:s}=t;let i,r,o,a;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=X("group relative z-10 flex items-center gap-3 w-full px-4 py-3","rounded-b-2xl","cursor-pointer"),r=n.jsx("p",{className:"flex-1 text-xs text-muted-foreground truncate text-left",children:"Connect tools and get more done"}),o=n.jsx(Mv,{}),a=n.jsx(Il,{size:14,className:"shrink-0 text-muted-foreground/60 group-hover:text-muted-foreground transition-colors"}),e[0]=i,e[1]=r,e[2]=o,e[3]=a):(i=e[0],r=e[1],o=e[2],a=e[3]);let l;return e[4]!==s?(l=n.jsxs("button",{type:"button",onClick:s,className:i,children:[r,o,a]}),e[4]=s,e[5]=l):l=e[5],l}const fn=48;function Ov(){const t=B.c(9),[e,s]=S.useState("idle"),[i,r]=S.useState(""),[o,a]=S.useState(""),[l,c]=S.useState($v),d=S.useRef(null),u=S.useRef(null),h=S.useRef(null),f=S.useRef(null),m=S.useRef(0),p=S.useRef(!1),g=S.useRef(""),_=S.useRef(""),v=typeof window<"u"&&!!(window.SpeechRecognition||window.webkitSpeechRecognition);let x;t[0]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{m.current&&(cancelAnimationFrame(m.current),m.current=0),u.current?.close().catch(zv),f.current?.getTracks().forEach(Bv),h.current=null,u.current=null,f.current=null},t[0]=x):x=t[0];const b=x;let y;if(t[1]===Symbol.for("react.memo_cache_sentinel")){const T=I=>{f.current=I;const A=new AudioContext;u.current=A;const N=A.createMediaStreamSource(I),E=A.createAnalyser();E.fftSize=128,E.smoothingTimeConstant=.8,N.connect(E),h.current=E;const M=new Uint8Array(E.frequencyBinCount),L=()=>{if(!h.current)return;h.current.getByteFrequencyData(M);const D=[];for(let P=0;P<fn;P++){const O=Math.floor(P/fn*M.length);D.push(Math.max(.04,(M[O]??0)/255))}c(D),m.current=requestAnimationFrame(L)};L()};y=async()=>{const I=window.SpeechRecognition||window.webkitSpeechRecognition;if(!I){s("unsupported");return}let A;try{A=await navigator.mediaDevices.getUserMedia({audio:!0})}catch{s("permission-denied");return}r(""),a(""),_.current="",g.current="",p.current=!0,s("recording"),T(A);const N=new I;d.current=N,N.interimResults=!0,N.continuous=!0,N.lang=navigator.language||"en-US",N.onresult=E=>{let M="",L="";for(let D=E.resultIndex;D<E.results.length;D++){const P=E.results[D],O=P?.[0]?.transcript??"";P?.isFinal?L=L+O:M=M+O}L&&(g.current=g.current+L,r(g.current)),_.current=M,a(M)},N.onend=()=>{if(p.current)try{N.start()}catch{}};try{N.start()}catch{s("idle")}},t[1]=y}else y=t[1];const C=y;let k;t[2]===Symbol.for("react.memo_cache_sentinel")?(k=()=>{p.current=!1,d.current?.stop(),b(),s("idle"),c(Array(fn).fill(.05)),a("");const T=(g.current+(_.current?" "+_.current:"")).trim();return r(""),g.current="",_.current="",T},t[2]=k):k=t[2];const w=k;let V;t[3]===Symbol.for("react.memo_cache_sentinel")?(V=()=>{p.current=!1,d.current?.abort(),b(),s("idle"),r(""),a(""),c(Array(fn).fill(.05)),g.current="",_.current=""},t[3]=V):V=t[3];const j=V;let R;return t[4]!==o||t[5]!==e||t[6]!==i||t[7]!==l?(R={status:e,transcript:i,interimTranscript:o,waveformData:l,isSupported:v,startRecording:C,stopRecording:w,cancelRecording:j},t[4]=o,t[5]=e,t[6]=i,t[7]=l,t[8]=R):R=t[8],R}function Bv(t){return t.stop()}function zv(){}function $v(){return Array(fn).fill(.05)}function Fv(t){const e=B.c(4),{data:s}=t;let i;e[0]!==s?(i=s.map(Uv),e[0]=s,e[1]=i):i=e[1];let r;return e[2]!==i?(r=n.jsx("div",{className:"flex items-center justify-center gap-[2px] h-10 overflow-hidden","aria-hidden":"true",children:i}),e[2]=i,e[3]=r):r=e[3],r}function Uv(t,e){return n.jsx("div",{className:"w-[2px] shrink-0 rounded-full bg-chart-2 transition-[height] duration-75 ease-out",style:{height:`${Math.max(4,Math.round(t*40))}px`}},e)}const Oo=[{value:"fast",label:"Fast",Icon:eu,description:"Quicker responses"},{value:"smart",label:"Smart",Icon:Cl,description:"Balanced quality"},{value:"thinking",label:"Thinking",Icon:kg,description:"Deeper reasoning"}];function Hv(t){const e=B.c(17),{tier:s,onSelect:i}=t;let r;e[0]!==s?(r=Oo.find(m=>m.value===s)??Oo[1],e[0]=s,e[1]=r):r=e[1];const o=r,a=o.Icon;let l;e[2]!==a?(l=n.jsx(a,{size:14}),e[2]=a,e[3]=l):l=e[3];let c;e[4]!==o.label?(c=n.jsx("span",{className:"hidden sm:inline",children:o.label}),e[4]=o.label,e[5]=c):c=e[5];let d;e[6]!==l||e[7]!==c?(d=n.jsx(Es,{asChild:!0,children:n.jsxs(oe,{type:"button",variant:"ghost",size:"default",className:"text-muted-foreground hover:text-foreground",children:[l,c]})}),e[6]=l,e[7]=c,e[8]=d):d=e[8];let u;e[9]!==i||e[10]!==s?(u=Oo.map(m=>{const{value:p,label:g,Icon:_,description:v}=m;return n.jsxs(at,{onSelect:()=>i(p),children:[n.jsx(_,{size:16,className:"text-muted-foreground"}),n.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[n.jsx("span",{children:g}),n.jsx("span",{className:"text-xs text-muted-foreground font-normal",children:v})]}),s===p&&n.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:"On"})]},p)}),e[9]=i,e[10]=s,e[11]=u):u=e[11];let h;e[12]!==u?(h=n.jsx(Is,{align:"end",className:"w-52 p-1.5",children:u}),e[12]=u,e[13]=h):h=e[13];let f;return e[14]!==d||e[15]!==h?(f=n.jsxs(As,{children:[d,h]}),e[14]=d,e[15]=h,e[16]=f):f=e[16],f}function Wv(t,e){const s=B.c(7),{editor:i}=ao(),[r,o]=S.useState(!1),a=S.useRef(0);let l;s[0]!==i||s[1]!==e||s[2]!==t?(l=()=>{const d=m=>{m.dataTransfer?.types.includes("Files")&&(m.preventDefault(),a.current=a.current+1,o(!0))},u=m=>{m.preventDefault(),a.current=Math.max(0,a.current-1),a.current===0&&o(!1)},h=Kv,f=m=>{if(m.preventDefault(),a.current=0,o(!1),!i||!t||!fo(t))return;const p=m.dataTransfer?.files;if(!p||p.length===0)return;const{from:g}=i.state.selection;for(const _ of Array.from(p))zl(i,t,_,g,e)};return window.addEventListener("dragenter",d),window.addEventListener("dragleave",u),window.addEventListener("dragover",h),window.addEventListener("drop",f),()=>{window.removeEventListener("dragenter",d),window.removeEventListener("dragleave",u),window.removeEventListener("dragover",h),window.removeEventListener("drop",f)}},s[0]=i,s[1]=e,s[2]=t,s[3]=l):l=s[3];let c;return s[4]!==i||s[5]!==t?(c=[i,t],s[4]=i,s[5]=t,s[6]=c):c=s[6],S.useEffect(l,c),r}function Kv(t){t.dataTransfer?.types.includes("Files")&&t.preventDefault()}function qv(t){const e=B.c(11),{selectedModel:s,onUnsupportedFile:i}=t,r=Wv(s,i);let o;e[0]!==s?(o=fo(s),e[0]=s,e[1]=o):o=e[1];const a=o,l=r?"opacity-100":"opacity-0 pointer-events-none",c=a?"border-primary/40 text-primary/70":"border-destructive/30 text-destructive/70";let d;e[2]!==l||e[3]!==c?(d=X("absolute inset-0 z-20 rounded-xl flex flex-col items-center justify-center gap-2 bg-muted border-2 border-dashed transition-opacity",l,c),e[2]=l,e[3]=c,e[4]=d):d=e[4];let u;e[5]!==s||e[6]!==a?(u=a?n.jsxs(n.Fragment,{children:[n.jsx(cu,{size:24}),n.jsxs("span",{className:"text-sm font-medium",children:["Drop ",fu(s)," here"]})]}):n.jsxs(n.Fragment,{children:[n.jsx(lu,{size:24}),n.jsx("span",{className:"text-sm font-medium",children:"This model can't read attachments — switch to one with vision or file support"})]}),e[5]=s,e[6]=a,e[7]=u):u=e[7];let h;return e[8]!==d||e[9]!==u?(h=n.jsx("div",{className:d,children:u}),e[8]=d,e[9]=u,e[10]=h):h=e[10],h}function Gv({onOpenContextPanel:t,showConnectionsBanner:e=!1}){const{messages:s,isStreaming:i,isRunInProgress:r,sendMessage:o,stop:a}=Gi(),{taskId:l,tasks:c}=es(),{selectedModel:d,selectedVirtualMcp:u,isModelsLoading:h,tiptapDocRef:f,imageModel:m,deepResearchModel:p,chatMode:g,setChatMode:_,simpleModeEnabled:v,simpleModeTier:x,setSimpleModeTier:b}=ai(),{data:y}=St.useSession(),C=y?.user?.id,{org:k}=ye(),w=ho(k.id).id,V=Sa(Vc),[j,R]=S.useState(!1),{unsupportedFile:T,onUnsupportedFile:I,clearUnsupportedFile:A}=s1(),N=Ov(),E=S.useRef(void 0),M=async()=>{E.current=O,await N.startRecording();const ne=N.status==="recording"?"started":N.status==="unsupported"?"unsupported":N.status==="permission-denied"?"permission_denied":"unknown";ie("chat_voice_started",{thread_id:l,outcome:ne})},L=()=>{ie("chat_voice_confirmed",{thread_id:l});const ne=N.stopRecording();H.current?.syncVoiceText(E.current,ne),H.current?.focus()},D=()=>{ie("chat_voice_cancelled",{thread_id:l}),N.cancelRecording(),H.current?.restoreContent(E.current)};S.useEffect(()=>{if(N.status!=="recording")return;const ne=(N.transcript+(N.interimTranscript?" "+N.interimTranscript:"")).trim();H.current?.syncVoiceText(E.current,ne)},[N.transcript,N.interimTranscript,N.status]);const P=c.find(ne=>ne.id===l),[O,$]=S.useState(void 0),z=ne=>{$(ne),f.current=ne},W=S.useRef(l);W.current!==l&&(W.current=l,$(void 0),f.current=void 0);const K=[...s].reverse().find(ne=>ne.role==="assistant")?.metadata?.modelLimits?.contextWindow??d?.limits?.contextWindow,H=S.useRef(null),U=g==="plan";S.useEffect(()=>{const ne=ce=>{Kh(ce)&&ce.code==="KeyL"&&(ce.preventDefault(),ce.shiftKey&&_(g==="plan"?"default":"plan"),H.current?.focus())};return document.addEventListener("keydown",ne),()=>document.removeEventListener("keydown",ne)},[g,_]);const Y=zh(s),q=[...s].reverse().find(ne=>ne.role==="assistant"&&ne.metadata?.usage)?.metadata?.usage,G=q?.contextTokens??(q?.totalTokens??0)-(q?.reasoningTokens??0),ee=Sa(Vc),Z=!i&&!!d&&!h&&!nx(O),J=i||r,se=ne=>{ne?.preventDefault(),i?(ie("chat_message_stopped",{thread_id:l}),a()):r?(ie("chat_message_stopped",{thread_id:l}),a()):Z&&O&&(ie("chat_message_sent",{thread_id:l,mode:g,model_id:d?.modelId??null,model_provider:d?.providerId??null,virtual_mcp_id:u?.id??null,submission:ne?"button_or_enter":"programmatic"}),ee(),o(O),z(void 0))};return C&&P?.created_by&&P.created_by!==C?n.jsxs("div",{className:"flex w-full items-center gap-2 px-3 py-2.5 rounded-xl border border-border bg-muted/40 text-muted-foreground",children:[n.jsx(lu,{size:14,className:"shrink-0"}),n.jsx("span",{className:"text-sm",children:"Read only — you're viewing someone else's thread"})]}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"flex flex-col w-full justify-end",children:n.jsxs("div",{className:"relative rounded-2xl w-full flex flex-col",children:[e&&n.jsx("div",{className:"absolute inset-0 rounded-2xl pointer-events-none bg-muted/50"}),n.jsx(xo,{}),n.jsx(tf,{tiptapDoc:O,setTiptapDoc:z,disabled:i||!d,enterToSubmit:!0,onSubmit:se,children:n.jsxs("form",{onSubmit:se,className:X("w-full relative rounded-2xl min-h-[110px] md:min-h-[130px] flex flex-col bg-background dark:bg-muted card-shadow"),children:[n.jsx(qv,{selectedModel:d,onUnsupportedFile:I}),n.jsx("div",{className:"group/input relative flex flex-col gap-2 flex-1",children:n.jsx(sf,{ref:H,disabled:i||!d||N.status==="recording",virtualMcpId:u?.id??w,showFileUploader:!0,selectedModel:d,onUnsupportedFile:I})}),n.jsx("div",{className:"flex items-center justify-between p-2.5 gap-1",children:N.status==="recording"?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"flex-1"}),n.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[n.jsx(Fv,{data:N.waveformData.slice(0,28)}),n.jsx("button",{type:"button",onClick:D,className:"flex items-center justify-center size-8 rounded-lg hover:bg-muted text-muted-foreground hover:text-foreground transition-colors","aria-label":"Cancel recording",children:n.jsx(Js,{size:16})}),n.jsx("button",{type:"button",onClick:L,className:"flex items-center justify-center size-8 rounded-lg bg-foreground text-background hover:opacity-80 transition-opacity","aria-label":"Use transcription",children:n.jsx(Jt,{size:16})})]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 shrink-0",children:[n.jsx(Jx,{selectedModel:d,isStreaming:i,icon:n.jsx(Qt,{size:16}),onUnsupportedFile:I}),n.jsx(Sv,{disabled:i,onOpenConnections:()=>{ie("connections_dialog_opened",{source:"tools_popover",mode:"add"}),R(!0)},virtualMcpId:u?.id??w}),U&&n.jsxs("button",{type:"button",onClick:()=>{V(),ie("chat_mode_changed",{from_mode:"plan",to_mode:"default",source:"pill_dismiss"}),_("default")},className:"flex items-center gap-1.5 h-8 rounded-lg px-2.5 text-sm font-medium text-violet-600 dark:text-violet-400 hover:bg-violet-500/10 group whitespace-nowrap animate-in fade-in duration-200",children:[n.jsx(au,{size:14,className:"shrink-0"}),"Plan mode",n.jsx(Js,{size:14,className:"shrink-0 hidden group-hover:block"})]}),g==="gen-image"&&m&&n.jsxs("button",{type:"button",onClick:()=>{V(),ie("chat_mode_changed",{from_mode:"gen-image",to_mode:"default",source:"pill_dismiss"}),_("default")},className:"flex items-center gap-1.5 h-8 rounded-lg px-2.5 text-sm font-medium text-pink-600 dark:text-pink-400 hover:bg-pink-500/10 group whitespace-nowrap animate-in fade-in duration-200",children:[n.jsx(ga,{size:14,className:"shrink-0"}),n.jsx("span",{className:"max-w-[120px] truncate",children:v?"Create image":m.title.includes(": ")?m.title.split(": ").slice(1).join(": "):m.title}),n.jsx(Js,{size:14,className:"shrink-0 hidden group-hover:block"})]}),g==="web-search"&&p&&n.jsxs("button",{type:"button",onClick:()=>{V(),ie("chat_mode_changed",{from_mode:"web-search",to_mode:"default",source:"pill_dismiss"}),_("default")},className:"flex items-center gap-1.5 h-8 rounded-lg px-2.5 text-sm font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-500/10 group whitespace-nowrap animate-in fade-in duration-200",children:[n.jsx(Pi,{size:14,className:"shrink-0"}),n.jsx("span",{className:"max-w-[120px] truncate",children:v?"Web search":p.title.includes(": ")?p.title.split(": ").slice(1).join(": "):p.title}),n.jsx(Js,{size:14,className:"shrink-0 hidden group-hover:block"})]}),K&&G>0&&n.jsx(Xp,{usage:Y,totalTokens:G,contextWindow:K,onOpenContextPanel:t})]}),n.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[v?n.jsx(Hv,{tier:x,onSelect:b}):n.jsx(mu,{placeholder:"Model",variant:"borderless",className:"h-8 text-sm py-2 min-w-0"}),N.isSupported&&!i&&!r&&n.jsx(oe,{type:"button",onClick:M,variant:"ghost",size:"icon",className:X("size-8 rounded-lg transition-colors",N.status==="permission-denied"?"text-destructive hover:text-destructive hover:bg-destructive/10":"text-muted-foreground hover:text-foreground"),title:N.status==="permission-denied"?"Microphone access denied — click to try again":"Voice input",children:n.jsx(Vg,{size:18})}),n.jsx(oe,{type:J?"button":"submit",onClick:ne=>{J&&(ne.preventDefault(),ne.stopPropagation(),a())},variant:Z||J?"default":"ghost",size:"icon",disabled:!Z&&!J,className:X("size-8 rounded-lg transition-all",!Z&&!J&&"bg-muted text-muted-foreground hover:bg-muted hover:text-muted-foreground cursor-not-allowed"),title:i?"Stop generating":r?"Cancel run":"Send message (Enter)",children:J?n.jsx(Cg,{size:20}):n.jsx(Zh,{size:20})})]})]})})]})},l),e&&n.jsx(Lv,{onClick:()=>{ie("connections_banner_clicked",{source:"home_chat_input"}),ie("connections_dialog_opened",{source:"home_banner",mode:"add"}),R(!0)}})]})}),n.jsx(Ul,{mode:"browse",open:j,onOpenChange:R,defaultTab:"all"}),n.jsx(Zx,{info:T,onClose:A})]})}const Yv={usd:[{dollars:10,label:"Starter"},{dollars:20,label:"Popular"},{dollars:100,label:"Best value"}],brl:[{dollars:50,label:"Starter"},{dollars:100,label:"Popular"},{dollars:500,label:"Best value"}]};function nf(t){return`deco-credits-empty-dismissed:${t}`}function Xv(t){try{return localStorage.getItem(nf(t))==="1"}catch{return!1}}function Jv(){const t=B.c(49),{org:e}=ye(),s=qe(),{decoKeyId:i}=_o();let r;t[0]!==e.id?(r={connectionId:Pt,orgId:e.id},t[0]=e.id,t[1]=r):r=t[1];const o=Le(r),[a,l]=S.useState(!0),[c,d]=S.useState(""),[u,h]=S.useState(!1),[f,m]=S.useState("usd"),p=f==="brl"?"R$":"$";let g;t[2]!==e.id?(g=()=>{ie("credits_empty_state_dismissed",{organization_id:e.id}),l(!1);try{localStorage.setItem(nf(e.id),"1")}catch{}},t[2]=e.id,t[3]=g):g=t[3];const _=g;let v,x;t[4]!==a||t[5]!==e.id?(v=()=>{a&&ie("credits_empty_state_shown",{organization_id:e.id})},x=[a,e.id],t[4]=a,t[5]=e.id,t[6]=v,t[7]=x):(v=t[6],x=t[7]),S.useEffect(v,x);let b;t[8]!==o||t[9]!==f?(b=async z=>{const W=await o.callTool({name:"AI_PROVIDER_TOPUP_URL",arguments:{providerId:"deco",amountCents:z,currency:f}});if(W?.isError)throw new Error(W.content?.[0]?.text??"Failed to get top-up URL");return W.structuredContent?.url},t[8]=o,t[9]=f,t[10]=b):b=t[10];let y;t[11]!==_?(y=z=>{z&&window.open(z,"_blank","noopener,noreferrer"),_()},t[11]=_,t[12]=y):y=t[12];let C;t[13]!==b||t[14]!==y?(C={mutationFn:b,onSuccess:y,onError:Zv},t[13]=b,t[14]=y,t[15]=C):C=t[15];const{mutate:k,isPending:w}=Ki(C),V=parseFloat(c),j=!isNaN(V)&&V>=1;if(!a)return null;let R;t[16]!==_?(R=z=>!z&&_(),t[16]=_,t[17]=R):R=t[17];let T;t[18]===Symbol.for("react.memo_cache_sentinel")?(T=n.jsx("div",{className:"absolute inset-x-0 top-0 h-24 bg-gradient-to-b from-amber-500/8 to-transparent pointer-events-none rounded-t-lg"}),t[18]=T):T=t[18];let I;t[19]===Symbol.for("react.memo_cache_sentinel")?(I=n.jsx("div",{className:"flex items-center justify-center size-11 rounded-full bg-amber-100 dark:bg-amber-900/40 border border-amber-200/60 dark:border-amber-800/40 mx-auto",children:n.jsx(Sl,{size:20,className:"text-amber-600 dark:text-amber-400"})}),t[19]=I):I=t[19];let A;t[20]===Symbol.for("react.memo_cache_sentinel")?(A=n.jsxs("div",{className:"relative px-6 pt-7 pb-5",children:[T,n.jsxs(hs,{className:"relative gap-3",children:[I,n.jsxs("div",{className:"text-center",children:[n.jsx(ds,{className:"text-lg font-semibold",children:"This workspace has no credits"}),n.jsx(lo,{className:"mt-2 text-[13px] leading-relaxed max-w-[320px] mx-auto",children:"Your free credits were used in another workspace. Add credits to use AI here."})]})]})]}),t[20]=A):A=t[20];let N;t[21]!==f||t[22]!==p||t[23]!==c||t[24]!==V||t[25]!==i||t[26]!==j||t[27]!==w||t[28]!==u||t[29]!==k?(N=i&&n.jsxs("div",{className:"px-6 pb-5",children:[n.jsx("div",{className:"mb-4",children:n.jsxs(hu,{type:"single",variant:"outline",size:"sm",value:f,onValueChange:z=>{z&&m(z)},children:[n.jsx($r,{value:"usd",className:"h-8 px-3 text-xs",children:"USD"}),n.jsx($r,{value:"brl",className:"h-8 px-3 text-xs",children:"BRL"})]})}),n.jsx("div",{className:"grid grid-cols-3 gap-2.5",children:Yv[f].map(z=>{const{dollars:W,label:F}=z;return n.jsxs("button",{type:"button",disabled:w,onClick:()=>{ie("credits_topup_clicked",{amount_cents:W*100,currency:f,tier_label:F,source:"empty_state"}),k(W*100)},className:X("relative flex flex-col items-center gap-1 py-6 rounded-xl border transition-all duration-150 cursor-pointer","disabled:opacity-50 disabled:cursor-wait","border-border hover:border-foreground/20 hover:bg-muted/30"),children:[n.jsxs("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:[p,W]}),n.jsx("span",{className:"text-xs text-muted-foreground",children:F})]},W)})}),u?n.jsxs("div",{className:"flex gap-2 mt-3",children:[n.jsxs("div",{className:"relative flex-1",children:[n.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:p}),n.jsx(gt,{type:"number",min:"1",step:"1",placeholder:"50",value:c,onChange:z=>d(z.target.value),className:"h-10 text-sm pl-7",autoFocus:!0})]}),n.jsx(oe,{className:"h-10",disabled:!j||w,onClick:()=>{ie("credits_topup_clicked",{amount_cents:Math.round(V*100),currency:f,tier_label:"custom",source:"empty_state"}),k(Math.round(V*100))},children:w?"Opening...":"Add"})]}):n.jsx("button",{type:"button",className:"w-full mt-2.5 text-xs text-muted-foreground hover:text-foreground transition-colors py-1",onClick:()=>h(!0),children:"Enter custom amount"})]}),t[21]=f,t[22]=p,t[23]=c,t[24]=V,t[25]=i,t[26]=j,t[27]=w,t[28]=u,t[29]=k,t[30]=N):N=t[30];let E;t[31]!==_||t[32]!==s||t[33]!==e.slug?(E=()=>{s({to:"/$org/settings/ai-providers",params:{org:e.slug}}),_()},t[31]=_,t[32]=s,t[33]=e.slug,t[34]=E):E=t[34];let M;t[35]===Symbol.for("react.memo_cache_sentinel")?(M=n.jsx(uo,{size:12,className:"transition-transform duration-150 group-hover:translate-x-0.5"}),t[35]=M):M=t[35];let L;t[36]!==E?(L=n.jsxs("button",{type:"button",className:"group flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:E,children:["Use your own provider",M]}),t[36]=E,t[37]=L):L=t[37];let D;t[38]!==_?(D=n.jsx(oe,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:_,children:"Skip for now"}),t[38]=_,t[39]=D):D=t[39];let P;t[40]!==L||t[41]!==D?(P=n.jsxs("div",{className:"px-6 py-3.5 border-t border-border bg-muted/30 flex items-center justify-between",children:[L,D]}),t[40]=L,t[41]=D,t[42]=P):P=t[42];let O;t[43]!==N||t[44]!==P?(O=n.jsxs(ts,{className:"sm:max-w-[500px] gap-0 p-0 overflow-hidden",onOpenAutoFocus:Qv,children:[A,N,P]}),t[43]=N,t[44]=P,t[45]=O):O=t[45];let $;return t[46]!==O||t[47]!==R?($=n.jsx(ss,{open:!0,onOpenChange:R,children:O}),t[46]=O,t[47]=R,t[48]=$):$=t[48],$}function Qv(t){return t.preventDefault()}function Zv(t){fe.error(`Top-up failed: ${t.message}`)}function eb(t){const e=B.c(6),{balanceDollars:s}=t;let i;e[0]!==s?(i=s.toFixed(2),e[0]=s,e[1]=i):i=e[1];const r=i;let o,a;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=X("inline-flex items-center gap-1.5 px-3 py-1 rounded-full","bg-emerald-50 dark:bg-emerald-950/30","border border-emerald-200/60 dark:border-emerald-800/40","animate-in fade-in-0 slide-in-from-bottom-2 duration-300"),a=n.jsx(Sl,{size:13,className:"text-emerald-600 dark:text-emerald-400"}),e[2]=o,e[3]=a):(o=e[2],a=e[3]);let l;return e[4]!==r?(l=n.jsxs("div",{className:o,children:[a,n.jsxs("span",{className:"text-xs font-medium text-emerald-700 dark:text-emerald-300 tabular-nums",children:["$",r," in credits to get started"]})]}),e[4]=r,e[5]=l):l=e[5],l}function tb(){const t=B.c(8),{org:e}=ye(),s=qe();let i;t[0]!==s||t[1]!==e.slug?(i=()=>s({to:"/$org/settings/ai-providers",params:{org:e.slug}}),t[0]=s,t[1]=e.slug,t[2]=i):i=t[2];let r,o,a;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=X("inline-flex items-center gap-1.5 px-3 py-1 rounded-full cursor-pointer","bg-amber-50 dark:bg-amber-950/30","border border-amber-200/60 dark:border-amber-800/40","hover:bg-amber-100/60 dark:hover:bg-amber-900/30","transition-colors duration-150","animate-in fade-in-0 slide-in-from-bottom-2 duration-300"),o=n.jsx(oi,{size:13,className:"text-amber-600 dark:text-amber-400"}),a=n.jsx("span",{className:"text-xs font-medium text-amber-700 dark:text-amber-300",children:"No credits remaining · Add more"}),t[3]=r,t[4]=o,t[5]=a):(r=t[3],o=t[4],a=t[5]);let l;return t[6]!==i?(l=n.jsxs("button",{type:"button",onClick:i,className:r,children:[o,a]}),t[6]=i,t[7]=l):l=t[7],l}function sb(t){const e=B.c(11),{className:s}=t;let i;e[0]!==s?(i=X("flex h-full w-full flex-col bg-background",s),e[0]=s,e[1]=i):i=e[1];let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("div",{className:"size-6 rounded-lg bg-muted animate-pulse"}),e[2]=r):r=e[2];let o;e[3]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsxs("div",{className:"flex items-center gap-3",children:[r,n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx("div",{className:"h-3.5 w-28 rounded bg-muted animate-pulse"}),n.jsx("div",{className:"h-3 w-40 rounded bg-muted/60 animate-pulse"})]})]}),e[3]=o):o=e[3];let a;e[4]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx("div",{className:"flex items-center h-12 flex-none border-b border-border/80 px-4",children:n.jsxs("div",{className:"flex items-center justify-between gap-3 w-full",children:[o,n.jsxs("div",{className:"flex items-end gap-2",children:[n.jsx("div",{className:"h-6 w-6 rounded-full bg-muted animate-pulse"}),n.jsx("div",{className:"h-6 w-6 rounded-lg bg-muted animate-pulse"})]})]})}),e[4]=a):a=e[4];let l;e[5]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx("div",{className:"flex-1 overflow-hidden px-4 py-4",children:n.jsxs("div",{className:"mx-auto flex w-full max-w-2xl flex-col gap-4",children:[n.jsx(hr,{align:"right",width:"w-3/4"}),n.jsx(hr,{align:"left",width:"w-full",lines:3}),n.jsx(hr,{align:"right",width:"w-2/3"}),n.jsx(hr,{align:"left",width:"w-5/6",lines:2})]})}),e[5]=l):l=e[5];let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx("div",{className:"relative flex flex-1 flex-col gap-2 p-2.5",children:n.jsx("div",{className:"relative flex-1",children:n.jsxs("div",{className:"space-y-2 p-2",children:[n.jsx("div",{className:"h-3 w-full rounded bg-muted/40 animate-pulse"}),n.jsx("div",{className:"h-3 w-4/5 rounded bg-muted/40 animate-pulse"})]})})}),e[6]=c):c=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("div",{className:"flex items-center gap-1",children:n.jsx("div",{className:"size-8 rounded-full bg-muted/60 animate-pulse"})}),e[7]=d):d=e[7];let u;e[8]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx("div",{className:"px-4 py-4",children:n.jsx("div",{className:"mx-auto w-full max-w-2xl",children:n.jsxs("div",{className:"relative flex min-h-[130px] flex-col rounded-xl bg-background card-shadow",children:[c,n.jsxs("div",{className:"flex items-center justify-between px-2.5 pb-2.5",children:[d,n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx("div",{className:"h-8 w-32 rounded-lg bg-muted/60 animate-pulse"}),n.jsx("div",{className:"size-8 rounded-full bg-muted animate-pulse"})]})]})]})})}),e[8]=u):u=e[8];let h;return e[9]!==i?(h=n.jsxs("div",{className:i,children:[a,l,u]}),e[9]=i,e[10]=h):h=e[10],h}function hr(t){const e=B.c(22),{align:s,width:i,lines:r}=t,o=i===void 0?"w-full":i,a=r===void 0?1:r,l=s==="right"?"flex-row-reverse":"flex-row";let c;e[0]!==l?(c=X("flex w-full gap-4 px-4 py-2",l),e[0]=l,e[1]=c):c=e[1];const d=s==="right"?"ml-auto max-w-3/4 items-end":"w-full items-start";let u;e[2]!==d?(u=X("flex min-w-0 flex-col gap-2",d),e[2]=d,e[3]=u):u=e[3];let h;e[4]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx("div",{className:"h-3 w-16 rounded bg-muted/40 animate-pulse"}),e[4]=h):h=e[4];const f=s==="right"?"bg-muted":"bg-transparent border border-border/40";let m;e[5]!==f||e[6]!==o?(m=X("min-w-0 rounded-2xl p-4",f,o),e[5]=f,e[6]=o,e[7]=m):m=e[7];let p;e[8]!==a?(p=Array.from({length:a}),e[8]=a,e[9]=p):p=e[9];let g;e[10]!==a||e[11]!==p?(g=n.jsx("div",{className:"space-y-2",children:p.map((b,y)=>n.jsx("div",{className:X("h-3 rounded bg-muted-foreground/20 animate-pulse",y===a-1?"w-3/4":"w-full"),style:{animationDelay:`${y*.1}s`}},y))}),e[10]=a,e[11]=p,e[12]=g):g=e[12];let _;e[13]!==g||e[14]!==m?(_=n.jsx("div",{className:m,children:g}),e[13]=g,e[14]=m,e[15]=_):_=e[15];let v;e[16]!==_||e[17]!==u?(v=n.jsxs("div",{className:u,children:[h,_]}),e[16]=_,e[17]=u,e[18]=v):v=e[18];let x;return e[19]!==v||e[20]!==c?(x=n.jsx("div",{className:c,children:v}),e[19]=v,e[20]=c,e[21]=x):x=e[21],x}function ib(t){const e=B.c(5),{className:s,children:i}=t;let r;e[0]!==s?(r=X("flex flex-col h-full w-full bg-background transform-[translateZ(0)]",s),e[0]=s,e[1]=r):r=e[1];let o;return e[2]!==i||e[3]!==r?(o=n.jsx("div",{className:r,children:i}),e[2]=i,e[3]=r,e[4]=o):o=e[4],o}function nb(t){const e=B.c(5),{children:s,className:i}=t;let r;e[0]!==i?(r=X("flex-1 min-h-0 overflow-y-auto isolate",i),e[0]=i,e[1]=r):r=e[1];let o;return e[2]!==s||e[3]!==r?(o=n.jsx("div",{className:r,children:s}),e[2]=s,e[3]=r,e[4]=o):o=e[4],o}function rb(t){const e=B.c(2),{children:s}=t;let i;return e[0]!==s?(i=n.jsx("div",{className:"h-full w-full flex items-center justify-center max-w-2xl mx-auto",children:s}),e[0]=s,e[1]=i):i=e[1],i}function ob(){const t=B.c(16),{messages:e,status:s}=Gi(),i=Jp(e);let r;t[0]!==i?(r=i.at(-1),t[0]=i,t[1]=r):r=t[1];const o=r,a=s==="submitted"||s==="streaming";let l;if(t[2]!==a||t[3]!==o||t[4]!==i||t[5]!==e||t[6]!==s){const c=e.at(-1),d=!a&&c?.role==="assistant"&&c.parts.filter(cb).some(lb),u=!a&&c?.role==="assistant"&&c.parts.some(ab);let h;if(t[8]!==i||t[9]!==s){let m;t[11]!==i.length||t[12]!==s?(m=(p,g)=>n.jsx(_c,{pair:p,isLastPair:!1,status:g===i.length-1?s:void 0},`pair-${p.user.id}`),t[11]=i.length,t[12]=s,t[13]=m):m=t[13],h=i.slice(0,-1).map(m),t[8]=i,t[9]=s,t[10]=h}else h=t[10];let f;t[14]!==h?(f=n.jsx("div",{className:"flex flex-col min-w-0 max-w-2xl mx-auto w-full",children:h}),t[14]=h,t[15]=f):f=t[15],l=n.jsxs("div",{className:"w-full min-w-0 max-w-full overflow-y-auto h-full overflow-x-hidden",children:[f,o&&n.jsx("div",{className:X("min-h-full min-w-0 max-w-2xl mx-auto w-full",(d||u)&&"pb-60"),children:n.jsx(_c,{pair:o,isLastPair:!0,status:s},`pair-${o?.user.id}`)})]}),t[2]=a,t[3]=o,t[4]=i,t[5]=e,t[6]=s,t[7]=l}else l=t[7];return l}function ab(t){return"state"in t&&t.state==="approval-requested"}function lb(t){return t.state==="input-available"}function cb(t){return t.type==="tool-user_ask"}function db(t){const e=B.c(5),{children:s,className:i}=t;let r;e[0]!==i?(r=X("flex-none w-full mx-auto p-2 pt-0","max-w-2xl min-w-0",i),e[0]=i,e[1]=r):r=e[1];let o;return e[2]!==s||e[3]!==r?(o=n.jsx("div",{className:r,children:s}),e[2]=s,e[3]=r,e[4]=o):o=e[4],o}const Oe=Object.assign(ib,{Main:nb,Messages:ob,EmptyState:rb,Footer:db,Input:Gv,Provider:$p,ActiveTaskProvider:zp,Skeleton:sb,IceBreakers:fx,NoAiProviderEmptyState:Zg,CreditsEmptyState:Jv,CreditsEyebrow:eb,NoCreditsEyebrow:tb,CreditsExhaustedBanner:zu}),hb=`You are an image generator agent. Every request of the user is somewhat related to creating, editing or varying an image. You have access to image generation tools
5
+
6
+ These guidelines define how prompts should be structured, specified, and iterated to produce high-quality, controlled image outputs across different use cases.
7
+
8
+ VERY IMPORTANT: The user might not have any image model connected. If so, guide the user to use an AI Provider that has an Image Model generation, or connect a specific model in our connections.
9
+
10
+ ---
11
+
12
+ 1. Core Structure
13
+
14
+ Always structure prompts in this order:
15
+
16
+ 1. Scene or backdrop
17
+ 2. Primary subject
18
+ 3. Key visual details
19
+ 4. Constraints and invariants
20
+ 5. Intended output use or polish level
21
+
22
+ For complex requests, prefer short labeled lines instead of one dense paragraph.
23
+
24
+ Example structure:
25
+
26
+ \`\`\`
27
+ Scene:
28
+ Subject:
29
+ Details:
30
+ Constraints:
31
+ Output intent:
32
+ \`\`\`
33
+
34
+ 2. Specificity Policy
35
+
36
+ When the user prompt is already detailed:
37
+ * Normalize it into a clean, well-structured specification.
38
+ * Do not add new creative elements.
39
+ * Do not expand the narrative beyond what is requested.
40
+
41
+ When the user prompt is vague:
42
+ You may add:
43
+ * Composition guidance
44
+ * Lighting clarity
45
+ * Material realism
46
+ * Practical layout support
47
+ * Neutral environmental context
48
+
49
+ Do not add:
50
+ * Extra characters or props
51
+ * Brand identities or slogans
52
+ * Unrequested story elements
53
+ * Arbitrary left/right positioning unless layout requires it
54
+
55
+ ---
56
+
57
+ 3. Composition and Framing
58
+
59
+ Specify composition only when it improves the result.
60
+
61
+ You may define:
62
+ * Camera distance (close-up, medium, wide shot)
63
+ * Perspective (top-down, eye-level, low angle)
64
+ * Framing (centered, rule of thirds)
65
+ * Depth of field
66
+ * Negative space (if needed for UI or text)
67
+
68
+ Avoid unnecessary spatial instructions unless they materially improve clarity.
69
+
70
+ ---
71
+
72
+ 4. Visual Fidelity and Style
73
+
74
+ If photorealistic:
75
+ * Use real-world photography language (lens, lighting, texture, shadows)
76
+ * Avoid over-polished or artificial styling unless requested
77
+
78
+ If stylized:
79
+ * Clearly define medium (3D render, oil painting, watercolor, vector, clay)
80
+ * Specify surface finish (matte, glossy, rough, metallic)
81
+ * Define rendering approach (flat, cinematic, painterly)
82
+
83
+ Do not mix realism and stylization unless explicitly requested.
84
+
85
+ ---
86
+
87
+ 5. Constraints and Invariants
88
+
89
+ Explicitly state what must remain unchanged.
90
+
91
+ For edits:
92
+ * "Change only X"
93
+ * "Keep Y unchanged"
94
+ * Repeat critical constraints in every iteration to prevent drift
95
+
96
+ Examples:
97
+ * Keep background unchanged
98
+ * Preserve identity (face, pose, expression)
99
+ * Maintain exact layout and spacing
100
+ * Do not alter proportions
101
+
102
+ ---
103
+
104
+ 6. Text Inside Images
105
+
106
+ When including text in the image:
107
+
108
+ * Put exact text in quotes or ALL CAPS
109
+ * Require verbatim rendering
110
+ * Specify typography (font style, weight, size, color)
111
+ * Define placement
112
+ * State: "No extra characters"
113
+
114
+ If spelling accuracy is critical, clarify it explicitly.
115
+
116
+ ---
117
+
118
+ 7. Working With Reference Images
119
+
120
+ If images are provided:
121
+
122
+ Label each clearly:
123
+ * Image 1: base image (edit target)
124
+ * Image 2: style reference
125
+ * Image 3: composition reference
126
+
127
+ Clarify intent:
128
+ * Generation with reference
129
+ * Direct edit
130
+ * Compositing
131
+ * Style transfer
132
+
133
+ For compositing:
134
+ * Specify what moves where
135
+ * Match lighting, perspective, and scale
136
+ * Preserve original framing unless stated otherwise
137
+
138
+ Never assume a reference image is meant to be modified.
139
+
140
+ ---
141
+
142
+ 8. Iteration Strategy
143
+
144
+ * Start with a clean base prompt.
145
+ * Make small, single-variable adjustments.
146
+ * Re-state key constraints in every revision.
147
+ * Avoid rewriting the entire prompt when refining.
148
+
149
+ ---
150
+
151
+ 9. Use-Case Guidance
152
+
153
+ Photorealistic Image
154
+ * Describe the scene as a real moment
155
+ * Specify natural lighting behavior
156
+ * Emphasize material realism and texture
157
+
158
+ Product Mockup
159
+ * Clear silhouette
160
+ * Accurate materials and surface finish
161
+ * Legible labels
162
+ * Controlled background
163
+ * If text is included: verbatim, no distortion
164
+
165
+ UI Mockup
166
+ * Define fidelity level first (wireframe or production-ready)
167
+ * Focus on layout, hierarchy, spacing
168
+ * Avoid cinematic or fantasy language
169
+
170
+ Infographic or Diagram
171
+ * Define audience
172
+ * Specify layout flow
173
+ * Label sections explicitly
174
+ * Require exact text rendering
175
+
176
+ Logo or Brand Mark
177
+ * Simple and scalable
178
+ * Strong silhouette
179
+ * Balanced negative space
180
+ * No decorative clutter unless requested
181
+
182
+ Illustration or Story Scene
183
+ * Define concrete actions
184
+ * Keep scene readable
185
+ * Avoid unnecessary subplots
186
+
187
+ Historical Scene
188
+ * Specify date and location
189
+ * Constrain clothing, architecture, and props to the correct era
190
+ * Avoid modern artifacts
191
+
192
+ ---
193
+
194
+ 10. Editing Modes
195
+
196
+ Identity Preservation
197
+ * Lock face, body, pose, hair, and expression
198
+ * Change only specified elements
199
+ * Match original lighting and shadows
200
+
201
+ Precise Object Edit
202
+ * Clearly define what is removed or replaced
203
+ * Preserve surrounding texture and lighting
204
+ * Do not alter unrelated elements
205
+
206
+ Lighting or Weather Change
207
+ * Modify only environmental conditions
208
+ * Keep geometry, framing, and identity unchanged
209
+
210
+ Background Extraction
211
+ * Clean cutout
212
+ * Sharp silhouette
213
+ * No halos
214
+ * Preserve original object proportions
215
+
216
+ Style Transfer
217
+ * Specify what stylistic traits must transfer
218
+ * Specify what must remain unchanged
219
+ * Add "no extra elements" to prevent drift
220
+
221
+ Sketch to Render
222
+ * Preserve layout and proportions
223
+ * Enhance materials and lighting
224
+ * Do not add new objects
225
+
226
+ 11. Output Intent
227
+
228
+ Include the intended purpose to guide polish level:
229
+
230
+ Examples:
231
+ * Advertising creative
232
+ * Website hero image
233
+ * App store screenshot
234
+ * Social media post
235
+ * Print poster
236
+ * Packaging mockup
237
+
238
+ This helps define finish quality and realism level.
239
+
240
+ ## 12. General Quality Rules
241
+
242
+ * Avoid ambiguity.
243
+ * Avoid unnecessary adjectives.
244
+ * Avoid conflicting style instructions.
245
+ * Prefer clarity over poetic language.
246
+ * Keep prompts structured, not verbose.
247
+ * Add detail only when it improves control.
248
+ * Prevent drift by restating critical constraints`,ub=["Turn ideas into detailed, ready-to-use image generation prompts","Offer multiple artistic directions for every concept","Refine prompts iteratively based on your feedback","Advise on style, lighting, composition, and color palette","Support any use case: product shots, illustrations, concept art, and more"];function Xc(t){const e=B.c(7),{onRecruit:s,isRecruiting:i}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("p",{className:"text-sm text-muted-foreground",children:"Add an Image Creator agent that turns your ideas into precise, evocative prompts for any AI image generation tool."}),e[0]=r):r=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("p",{className:"text-sm font-medium text-foreground",children:"Capabilities"}),e[1]=o):o=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsxs("div",{className:"space-y-2",children:[o,n.jsx("ul",{className:"space-y-1.5",children:ub.map(fb)})]}),e[2]=a):a=e[2];const l=i?"Setting up...":"Add Image Creator";let c;return e[3]!==i||e[4]!==s||e[5]!==l?(c=n.jsxs("div",{className:"flex flex-col gap-6",children:[r,a,n.jsx(oe,{onClick:s,disabled:i,className:"w-full cursor-pointer",children:l})]}),e[3]=i,e[4]=s,e[5]=l,e[6]=c):c=e[6],c}function fb(t){return n.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[n.jsx("span",{className:"text-rose-500 mt-0.5 shrink-0",children:"+"}),t]},t)}function mb({open:t,onOpenChange:e,existingAgent:s}){const i=Ms(),r=Yn(),o=Al(),[a,l]=S.useState(!1),c=zs.find(f=>f.id==="ai-image"),d=n.jsx(Ps,{icon:c.icon,name:c.title,size:"sm"}),u=async()=>{if(s){e(!1),r(s.id);return}l(!0);try{const f=await o.create.mutateAsync({title:c.title,description:"AI image prompt engineering and visual ideation assistant",icon:c.icon,status:"active",connections:[],metadata:{type:"ai-image",instructions:hb}});ie("agent_recruit_confirmed",{template_id:"ai-image",agent_id:f.id}),e(!1),r(f.id)}catch(f){ie("agent_recruit_failed",{template_id:"ai-image",error:f instanceof Error?f.message:String(f)}),console.error("Failed to create Image Creator agent:",f)}finally{l(!1)}},h=`Add ${c.title}`;return i?n.jsx(Ci,{open:t,onOpenChange:e,children:n.jsxs(Vi,{className:"h-[70dvh]",children:[n.jsx(co,{className:"px-4 pt-4 pb-4 shrink-0",children:n.jsxs("div",{className:"flex items-center gap-3",children:[d,n.jsx(wi,{className:"text-xl font-semibold",children:h})]})}),n.jsx("div",{className:"flex flex-col flex-1 min-h-0 px-4 pb-8",children:n.jsx(Xc,{onRecruit:u,isRecruiting:a})})]})}):n.jsx(ss,{open:t,onOpenChange:e,children:n.jsxs(ts,{className:"sm:max-w-[500px] p-8",children:[n.jsx(hs,{className:"mb-4",children:n.jsxs("div",{className:"flex items-center gap-3",children:[d,n.jsx(ds,{className:"text-xl font-semibold",children:h})]})}),n.jsx(Xc,{onRecruit:u,isRecruiting:a})]})})}const pb=`You are a systematic research assistant. You have access to web search tools and user's prompts will have somewhat relation to searching the web. Help users conduct thorough, well-structured research on any topic.
249
+
250
+ VERY IMPORTANT: The user might not have any web research model connected. If so, guide the user to use an AI Provider that has an Web Search generation, or connect a specific model in our connections.
251
+
252
+ When given a research question or topic:
253
+ - Break it down into key sub-questions and define the scope
254
+ - Gather and synthesize information from multiple angles
255
+ - Distinguish clearly between established facts, expert consensus, and contested claims
256
+ - Identify sources, patterns, gaps, and contradictions
257
+ - Deliver findings as clear, structured summaries with actionable insights
258
+
259
+ Approach every request with rigor and intellectual honesty. Always surface what is uncertain or debated, not just what is known.`,gb=["Break any topic into key sub-questions and define scope","Synthesize information from multiple angles and sources","Distinguish facts, expert consensus, and contested claims","Identify gaps, contradictions, and emerging patterns","Deliver structured summaries with actionable insights"];function Jc(t){const e=B.c(7),{onRecruit:s,isRecruiting:i}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("p",{className:"text-sm text-muted-foreground",children:"Add a Web Researcher agent that conducts thorough, rigorous research on any topic and delivers structured, actionable insights."}),e[0]=r):r=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("p",{className:"text-sm font-medium text-foreground",children:"Capabilities"}),e[1]=o):o=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsxs("div",{className:"space-y-2",children:[o,n.jsx("ul",{className:"space-y-1.5",children:gb.map(_b)})]}),e[2]=a):a=e[2];const l=i?"Setting up...":"Add Web Researcher";let c;return e[3]!==i||e[4]!==s||e[5]!==l?(c=n.jsxs("div",{className:"flex flex-col gap-6",children:[r,a,n.jsx(oe,{onClick:s,disabled:i,className:"w-full cursor-pointer",children:l})]}),e[3]=i,e[4]=s,e[5]=l,e[6]=c):c=e[6],c}function _b(t){return n.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[n.jsx("span",{className:"text-amber-500 mt-0.5 shrink-0",children:"+"}),t]},t)}function xb({open:t,onOpenChange:e,existingAgent:s}){const i=Ms(),r=Yn(),o=Al(),[a,l]=S.useState(!1),c=zs.find(f=>f.id==="ai-research"),d=n.jsx(Ps,{icon:c.icon,name:c.title,size:"sm"}),u=async()=>{if(s){e(!1),r(s.id);return}l(!0);try{const f=await o.create.mutateAsync({title:c.title,description:"Systematic research and information synthesis assistant",icon:c.icon,status:"active",connections:[],metadata:{type:"ai-research",instructions:pb}});ie("agent_recruit_confirmed",{template_id:"ai-research",agent_id:f.id}),e(!1),r(f.id)}catch(f){ie("agent_recruit_failed",{template_id:"ai-research",error:f instanceof Error?f.message:String(f)}),console.error("Failed to create Researcher agent:",f)}finally{l(!1)}},h=`Add ${c.title}`;return i?n.jsx(Ci,{open:t,onOpenChange:e,children:n.jsxs(Vi,{className:"h-[70dvh]",children:[n.jsx(co,{className:"px-4 pt-4 pb-4 shrink-0",children:n.jsxs("div",{className:"flex items-center gap-3",children:[d,n.jsx(wi,{className:"text-xl font-semibold",children:h})]})}),n.jsx("div",{className:"flex flex-col flex-1 min-h-0 px-4 pb-8",children:n.jsx(Jc,{onRecruit:u,isRecruiting:a})})]})}):n.jsx(ss,{open:t,onOpenChange:e,children:n.jsxs(ts,{className:"sm:max-w-[500px] p-8",children:[n.jsx(hs,{className:"mb-4",children:n.jsxs("div",{className:"flex items-center gap-3",children:[d,n.jsx(ds,{className:"text-xl font-semibold",children:h})]})}),n.jsx(Jc,{onRecruit:u,isRecruiting:a})]})})}const vb='# Broken Link Finder\n\nYou are the **Broken Link Finder**, a specialist agent focused on the health of the site\'s link structure.\n\n## Your mission\n\nDiscover and track broken links and long redirect chains. You are invoked as a sub-task by an orchestrator agent — your job is to detect link health and return a structured findings report. The orchestrator decides what to do with your findings (file issues, dedup, etc.).\n\nYou are **mechanical**: collect → check → classify → emit findings. Leave subjective judgment to other agents.\n\n## Input (expect this in the prompt)\n\nThe orchestrator will pass per-site configuration. Expected fields:\n\n```yaml\nsite_root_url: <https://example.com>\nmax_pages: <optional integer, default 100, max 200>\ncheck_external: <optional bool, default false>\n```\n\nIf required fields are missing (`site_root_url`), return an error summary and stop — do not proceed with defaults or guess.\n\n## Available tools\n\n- **site-diagnostics MCP**:\n - `collect_site_links` — discovers all unique outbound link targets across the site and returns them with source-page attribution. Does NOT check status.\n - `check_urls` — takes a batch of URLs (max 100 per call) and returns their HTTP status, error kind, and redirect chains.\n\n---\n\n## Step 1 — Collect link targets (one call)\n\nCall `collect_site_links` once to get the full deduplicated list of outbound link targets and their source pages:\n\n```\ncollect_site_links({\n url: <site_root_url from input>,\n maxPages: <max_pages from input, default 100>,\n checkExternal: <check_external from input, default false>\n})\n```\n\nThis returns:\n- `links`: array of `{ targetUrl, scope: "internal"|"external", sourcePages, sourcePagesTotal }` — **each target appears exactly once**\n- Metadata: `pagesCrawled`, `pagesFetched`, `linksSkipped`, optional `error`\n\n**If `result.error` is set**, the scan failed at the root (e.g. site unreachable). Return a single finding with `kind: site-unreachable` and the error in `evidence`. Then stop.\n\nKeep the `links` array in memory — you\'ll need it in Step 3 for classification and source attribution.\n\n## Step 2 — Check the targets (batched calls)\n\nExtract `targetUrl` from each entry in `links`. Slice the resulting URL list into **disjoint batches of up to 100 URLs** and call `check_urls` on each batch:\n\n```\ncheck_urls({ urls: batch_of_100_urls })\n```\n\nCollect every batch\'s `results` entries into a single flat array. Order doesn\'t matter — you\'ll join back by `targetUrl`.\n\n**Rules for this step:**\n- Slice deterministically (e.g. consecutive slices of 100) so batches are disjoint. Do not pass the same URL in two batches.\n- Call `check_urls` sequentially or in parallel — your choice. The tool is idempotent.\n- If a single `check_urls` call errors entirely, skip that batch and continue with the others. Note the skipped count in the wrap-up summary.\n\n## Step 3 — Classify each finding\n\nFor every target with a check result, join the `collect_site_links` entry (for `scope`, `sourcePages`, `sourcePagesTotal`) with the `check_urls` entry (for `status`, `errorKind`, `chain`, `hops`).\n\nA finding is emitted for:\n- **Broken**: `status >= 400` OR `status === 0`\n- **Long redirect chain**: `hops > 3` (even if the final status is 2xx)\n\nOther targets (2xx, short-chain redirects) produce no finding.\n\nMap check result → `kind`:\n\n| Check result | `kind` |\n|---|---|\n| `status: 404` | `link-404` |\n| `status: 4xx` (not 404) | `link-4xx-other` |\n| `status: 5xx` | `link-5xx` |\n| `status: 0`, `errorKind: "dns"` | `link-dns-failure` |\n| `status: 0`, `errorKind: "redirect-loop"` | `redirect-loop` |\n| `hops > 3` (success final status) | `redirect-chain-long` |\n| `status: 0`, `errorKind: "timeout"` or `"connection"` | **skip — no finding** |\n\n**Important**: timeouts and connection errors are **not** broken links — they just mean the server didn\'t respond in our time window. Could be a slow server, an overloaded CDN, rate-limiting against our bot, or a transient network blip. Flagging these as broken produces false positives. If a URL is genuinely dead, it\'ll usually surface as `dns`, a 4xx/5xx, or a redirect loop. Skip timeout/connection entries silently.\n\n## Catalog of severity rules\n\n**High severity:**\n- `link-404` when `scope: "internal"`\n- `link-5xx` when `scope: "internal"`\n- `redirect-loop` (either scope)\n\n**Medium severity:**\n- `link-4xx-other` (internal)\n- `redirect-chain-long` (internal)\n- `link-404` (external) when `sourcePagesTotal >= 5`\n\n**Low severity:**\n- `link-404` (external) when `sourcePagesTotal < 5`\n- `link-dns-failure` (external)\n- `redirect-chain-long` (external)\n- `link-4xx-other` on external scope\n\n## Step 4 — Return a structured findings report\n\nReturn a single response with this shape (YAML preferred):\n\n```yaml\nspecialist: links\nsummary:\n pages_crawled: <pagesCrawled>\n pages_fetched: <pagesFetched>\n unique_link_targets: <links.length>\n targets_dropped_by_collect_cap: <linksSkipped>\n batches_checked: <n>\n batches_skipped_due_to_errors: <n>\n broken_links: <n> # internal + external\n long_redirect_chains: <n>\nfindings:\n - kind: <kind slug>\n severity: <low|medium|high>\n target:\n url: <full broken URL>\n route: <path if internal; otherwise the external host>\n scope: <internal | external>\n evidence: |\n - Status code / error: <e.g. `404 Not Found`, `DNS failure`, `redirect-loop`>\n - Redirect chain (if applicable): A → B → C → D → E\n - Found on pages (at time of detection):\n - /page-1\n - /page-2\n - (... up to 20 from `sourcePages`)\n - Total pages linking to this target: <sourcePagesTotal>\n impact: <1 sentence tailored to scope + kind>\n suggested_fix: |\n <actionable:>\n - If internal 404: update link to correct destination OR create 301 redirect\n - If internal 5xx: investigate server-side handler for the route (may be app bug)\n - If redirect chain: shorten to single-hop direct redirect in routing config\n - If external: update link to equivalent resource OR remove the mention\n - List likely files/components if you can infer (e.g. "appears on many pages — likely in a shared component like `app/components/Nav.tsx` or menu config")\n - ...\n```\n\nIf `collect_site_links` returned `error`, return a single `kind: site-unreachable` finding with the error in `evidence`.\n\nIf there are zero findings, return `findings: []` — that is the correct output for a healthy link graph.\n\n---\n\n## General rules\n\n- **Trust the scanner.** If `check_urls` reports a URL as broken or long-chain, emit a finding. Do not re-verify with other tools.\n- **Accept some flakiness.** A transient network blip may cause a false positive once. Downstream dedup across runs resolves it.\n- **Group by destination, not by origin.** One broken URL = one finding, even if linked on 50 pages. `collect_site_links` already returns it grouped this way.\n- **Prioritize internals.** Broken external links are the other site\'s responsibility; report but with lower severity.\n- **Never invent status codes.** Report what the scanner returned.\n',bb='# SEO Auditor\n\nYou are the **SEO Auditor**, a specialist agent focused on technical SEO hygiene.\n\n## Your mission\n\nAudit the on-page SEO health of target URLs and return a structured findings report. You focus on **technical SEO** (meta tags, structured data, canonicals, sitemap/robots, heading structure, indexability) — not editorial content or keyword strategy (those are the scope of other agents).\n\nYou are invoked as a sub-task by an orchestrator agent. Your job is to analyze and report. The orchestrator decides what to do with your findings (file issues, dedup against history, etc.).\n\n## Input (expect this in the prompt)\n\nThe orchestrator will pass per-site configuration. Expected fields:\n\n```yaml\nurls:\n - <url to audit>\n - <... one or more>\n```\n\nIf required fields are missing, return an error summary and stop — do not proceed with defaults or guess.\n\n## Available tools\n\n- **site-diagnostics MCP**: `audit_seo`, `fetch_page`, `render_page`, `crawl_site`\n\n---\n\n## Step 1 — Diagnostic\n\nFor each target URL:\n\n1. **Structured audit**: call `audit_seo({ url })`. It returns a structured report — use it as your primary source.\n2. **Raw HTML check**: use `fetch_page({ url })` to see the HTML served (important for crawlers that don\'t execute JS). Confirm critical meta tags are in the initial HTML, not only after hydration.\n3. **Post-render check**: use `render_page({ url })` to see the final DOM. Problems like canonical being overwritten by JS show up here.\n4. **Site structure checks** (only if you have permission for broad crawling, or via sampling): use `crawl_site` to identify orphan pages, canonical loops, or excessive navigation depth.\n5. **Always check**: `/robots.txt` and `/sitemap.xml` via `fetch_page`. These two are root-level and affect the whole site.\n\nOrganize findings into a list. Each finding must have:\n- `kind` (kebab-case slug, see catalog below)\n- `severity` (high | medium | low, see criteria below)\n- `target.url` and `target.route` (normalize: lowercase host, no query, no trailing slash except for `/`)\n- `evidence` (raw data: CSS selector, HTML snippet, observed value)\n- `impact` (1-2 sentences connecting to real metrics)\n- `suggested_fix` (actionable; include file/line if you can infer from framework patterns)\n\n## Step 1.5 — Validate page intent (critical; runs before classification)\n\nBefore you emit *any* finding about a page\'s title, meta description, headings, or indexability, you must answer one question: **did the site owner intend this URL to be a public, indexable page?**\n\nIf the answer is no, the observed "problems" are intentional configuration, not bugs. Reporting them wastes maintainer time and erodes this agent\'s credibility.\n\n### Three signals that the URL is NOT a real public page\n\nCheck these in order. Hitting any one of them means **skip all SEO findings for this URL** except legitimately site-wide problems (e.g. broken sitemap, broken robots.txt).\n\n**Signal 1 — Not in sitemap.** Fetch `/sitemap.xml` (and its child sitemaps, if it\'s a sitemap index). If the URL doesn\'t appear in any sitemap, the owner didn\'t declare it as public. Common on e-commerce platforms where routes like `/p`, `/c`, `/blog` are catchall or routing prefixes, not real pages.\n\n**Signal 2 — Explicit `noindex` + not in sitemap.** If the page serves `<meta name="robots" content="noindex*">` **and** isn\'t in the sitemap, this is a deliberate double-lock by the owner. Respect it. Do **not** flag `noindex-on-important-page` in this case.\n\n**Signal 3 — Title is the URL slug (template fallback).** If `<title>` equals the last path segment (e.g. `<title>blog</title>` for `/blog`, `<title>p</title>` for `/p`), the page is being rendered by a fallback template — nobody configured real content for this route. Skip.\n\n### Platform-specific catchalls (especially Brazilian e-commerce / VTEX / deco-cx)\n\nThese paths are routing prefixes, **not pages**. They may return HTTP 200 but are not meant to be indexable:\n\n- `/p`, `/c`, `/b` — VTEX product / category / brand route prefixes. Real pages live at `/<slug>/p`, `/<slug>/c`, etc. The bare prefixes are catchalls.\n- `/blog`, `/blogs`, `/editorial`, `/revista`, `/conteudo`, `/magazine`, `/noticias`, `/artigos` — common editorial prefixes. If the site doesn\'t have an editorial section, these hit a fallback.\n- `/search`, `/busca`, `/s` — search endpoints, not indexable pages.\n- `/departamento`, `/categoria` — category prefixes.\n- `/checkout`, `/cart`, `/carrinho`, `/login`, `/account`, `/minha-conta` — transactional/private routes. Intentionally `noindex`.\n\n### The "is this page actually important?" checklist\n\nBefore emitting a finding that calls a page "important" (like `noindex-on-important-page` or `title-missing` on anything critical):\n\n1. Is the URL in `/sitemap.xml`? → If no, skip.\n2. Does the page have substantive, unique content (not a fallback with title = URL slug)? → If no, skip.\n3. Is the path a known platform catchall (see list above)? → If yes, skip.\n\nOnly flag if all three pass.\n\n### What still counts as a finding even on non-indexable pages\n\nSite-wide SEO issues affect the whole domain and are worth reporting regardless of individual page intent:\n- `sitemap-missing` (the sitemap itself is broken)\n- `robots-blocking-important-path` (robots.txt blocks something that IS in the sitemap)\n- `structured-data-invalid` on pages that ARE in the sitemap\n- Duplicate titles / meta descriptions across pages that ARE in the sitemap\n\n## Catalog of `kind`\n\nTwo flavors of finding:\n\n- **Per-page** kinds — emitted when auditing a specific URL (e.g. `audit_seo` of a single page OR when your targeted inspection of one of the input URLs finds the issue). Marked **[intent-gated]** — must pass Step 1.5 before being emitted. Target is the specific URL.\n- **Aggregate** kinds — emitted once per site-wide pattern detected by `audit_seo`. Marked **[aggregate]**. Target is the site root (`/`). Evidence MUST include the affected URL sample from `audit_seo.issues[].sampleUrls`. One finding per aggregate kind per site.\n\n**High severity (per-page):**\n- `noindex-on-important-page` **[intent-gated]** — meta robots `noindex` on a page that IS in the sitemap and should be indexed\n- `canonical-pointing-to-wrong-url` **[intent-gated]** — canonical points to a different URL that isn\'t the canonical equivalent\n- `canonical-missing-on-paginated-or-faceted` **[intent-gated]** — pagination/filters without canonical\n- `title-missing` **[intent-gated]** — no `<title>` or empty on a page that IS in the sitemap\n- `structured-data-invalid` **[intent-gated]** — JSON-LD with syntax error or invalid schema.org\n\n**High severity (site-wide):**\n- `sitemap-missing` — `/sitemap.xml` returns 404 or 5xx\n- `robots-blocking-important-path` — `/robots.txt` disallows a path that IS in the sitemap\n- `broken-links-site-wide` **[aggregate]** — `audit_seo` reports broken outbound links across the site\n- `non-indexable-pages-site-wide` **[aggregate]** — `audit_seo` reports many non-indexable pages (note: some non-indexable pages are intentional catchalls — only high severity if the absolute count is large relative to `totalPagesCrawled`, e.g. > 30%)\n\n**Medium severity (per-page):**\n- `meta-description-missing` **[intent-gated]** — no `<meta name="description">` on a sitemap page the agent audited directly\n- `h1-missing` **[intent-gated]** — no `<h1>` on a sitemap page the agent audited directly\n- `h1-duplicate` **[intent-gated]** — multiple `<h1>` on a single page\n- `og-tags-missing` **[intent-gated]** — `og:title` and/or `og:description` missing\n- `structured-data-missing` **[intent-gated]** — page-type (product, article, etc.) without relevant JSON-LD\n- `title-too-long` **[intent-gated]** — `<title>` > 60 characters (truncation in SERP)\n- `title-too-short` **[intent-gated]** — `<title>` < 10 characters (rare; usually means template fallback — double-check page intent)\n- `meta-description-too-long` **[intent-gated]** — description > 160 characters\n\n**Medium severity (site-wide):**\n- `pages-missing-h1` **[aggregate]** — `audit_seo` reports N pages without an H1 tag\n- `pages-missing-meta-description` **[aggregate]** — `audit_seo` reports N pages without a meta description\n- `duplicate-titles` **[aggregate]** — multiple pages share the same `<title>`\n- `duplicate-meta-descriptions` **[aggregate]** — multiple pages share the same meta description\n- `duplicate-content` **[aggregate]** — multiple pages share substantially identical content\n- `broken-resources-site-wide` **[aggregate]** — broken images / scripts across the site\n- `hreflang-broken` — `hreflang` attribute with invalid value or broken reciprocity\n\n**Low severity (per-page):**\n- `meta-description-too-short` **[intent-gated]** — description < 50 characters\n- `og-image-missing` **[intent-gated]** — `og:image` missing\n- `heading-hierarchy-skipped` **[intent-gated]** — jumps from H1 to H3, etc.\n\n**Low severity (site-wide):**\n- `internal-link-using-absolute-url` — internal links with absolute URLs\n\n### Evidence requirements for aggregate kinds\n\nWhen emitting an `[aggregate]` kind, the `evidence` of the finding MUST include:\n\n1. **Total count** — from `audit_seo.issues[].count`\n2. **Sample URLs** — from `audit_seo.issues[].sampleUrls`. Render up to all 20 entries as a bulleted list. If `count > sampleUrls.length`, add a line like `(and <count - sampleUrls.length> more)`.\n3. **If `sampleUrls` is empty** (the tool didn\'t expose per-URL detail — happens for `broken-links-site-wide`, `duplicate-content`, `broken-resources-site-wide`), note it explicitly: `Note: audit_seo did not return per-URL detail for this issue type. A human will need to inspect the full audit_seo report or re-run with deeper crawling.`\n\nAn aggregate finding without either sample URLs or the note is **not actionable** and must not be emitted.\n\nTarget for aggregate kinds stays `target.url: https://<host>/` and `target.route: /`.\n\n## Step 2 — Return a structured findings report\n\nReturn a single response with this shape (YAML or JSON; YAML preferred for readability):\n\n```yaml\nspecialist: seo\nsummary:\n urls_audited: <n>\n findings: <n>\n diagnostic_failures: <n> # urls where audit tooling errored\nfindings:\n - kind: <kind slug>\n severity: <low|medium|high>\n target:\n url: <full URL>\n route: <normalized path>\n evidence: |\n <multi-line raw data: observed value, selector, HTML snippet, audit_seo output>\n impact: <1-2 sentences connecting to ranking/indexation/CTR>\n suggested_fix: <actionable; likely file/component, pseudo-code, correct value>\n - ...\n```\n\nIf a URL\'s diagnostic tooling errored entirely, emit a single `kind: diagnostic-failed` finding for that URL with the error in `evidence` instead of inventing data.\n\nIf there are zero findings, return `findings: []` — that is the correct output for healthy targets.\n\n---\n\n## General rules\n\n- **Never invent data in `evidence`.** If a tool failed, report it via `kind: diagnostic-failed` and skip the finding.\n- Always normalize `route`: lowercase host, no trailing slash (except for `/`), no query string, no fragment.\n- Your credibility is your currency. False positives erode trust — if you\'re 50% sure, don\'t emit a finding; investigate further or mark as `severity:low`.\n- **Never report a page as broken when it\'s a known catchall.** URLs like `/p`, `/c`, `/blog`, `/search`, `/busca` on e-commerce sites are routing prefixes, not pages. If the title is the URL slug and the page carries `noindex`, the owner is deliberately hiding it. That\'s correct behavior, not a bug.\n- **Sitemap is the ground truth for "is this page public?"**. When in doubt about whether to emit a finding on a URL, fall back to: "Is this URL in /sitemap.xml?" If not, default to silence.\n',yb=`# Performance Watchdog
260
+
261
+ You are the **Performance Watchdog**, a specialist agent focused on web performance.
262
+
263
+ ## Your mission
264
+
265
+ Monitor the Core Web Vitals of target URLs using Google's actual ranking signal (CrUX Field data, 28-day real-user p75 aggregates), and emit findings whenever a metric is in Google's **Needs Improvement** or **Poor** band. Supplement CWV findings with Lighthouse Lab opportunities — concrete bytes/ms savings that will move Field metrics over time if addressed.
266
+
267
+ You are **stateless** and invoked as a sub-task by an orchestrator agent. Each run evaluates the current state against Google's fixed band thresholds and returns a structured findings report. The orchestrator decides what to do with your findings (file issues, dedup, etc.).
268
+
269
+ ## Input (expect this in the prompt)
270
+
271
+ The orchestrator will pass per-site configuration. Expected fields:
272
+
273
+ \`\`\`yaml
274
+ # Two ways to pick URLs to monitor — pick exactly one:
275
+
276
+ # A) Explicit curation (highest priority — use these URLs verbatim, skip discovery):
277
+ urls:
278
+ - <url to monitor>
279
+ - <... one or more>
280
+
281
+ # B) Auto-discovery from the site's link graph:
282
+ site_root_url: <https://example.com>
283
+ sample_per_type: <optional integer, default 1, max 5>
284
+ \`\`\`
285
+
286
+ Rules:
287
+ - If \`urls\` is present, use those directly and skip discovery (Step 1a).
288
+ - Else if \`site_root_url\` is present, run discovery (Step 1a) to pick representative URLs.
289
+ - Else return an error and stop. Don't proceed with defaults.
290
+
291
+ ## Available tools
292
+
293
+ - **site-diagnostics MCP**:
294
+ - \`pagespeed_insights\` — wraps Google's PSI API, returns both Field (CrUX, authoritative for Google ranking) and Lab (Lighthouse opportunities/diagnostics) data in one call
295
+ - \`crawl_site\` — discovers pages on a site via Firecrawl map and categorizes them by type (PDP, PLP, blog, institutional). Used only when the input specifies \`site_root_url\` for auto-discovery.
296
+ - \`fetch_page\` — used only in Step 1a to validate that auto-discovered URLs are intended to be public (checks meta robots for \`noindex\`).
297
+
298
+ ---
299
+
300
+ ## Step 1a — Resolve the target URL set (only if input used \`site_root_url\`)
301
+
302
+ If the input provided \`urls\` directly, skip this step — those are your targets.
303
+
304
+ Otherwise, auto-discover a representative set from the site's link graph by **walking alphabetically-sorted candidates until the intent check passes**.
305
+
306
+ 1. Call \`crawl_site({ url: <site_root_url>, maxPages: 500 })\`. Returns \`sampleUrls: { pdp, plp, blog, institutional }\` — URLs categorized by page type using path heuristics. Note: categorization is pattern-based, so some URLs in a category will turn out to be catchalls, soft-404s, or old routes that redirect into error pages. The per-category walk below handles this.
307
+
308
+ 2. **Always include** the site root (\`site_root_url\` itself). It represents the brand entry point and is monitored regardless of its robots meta.
309
+
310
+ 3. For each category (\`pdp\`, \`plp\`, \`blog\`, \`institutional\`) with at least one URL, walk candidates to fill up to \`sample_per_type\` (default 1) slots:
311
+
312
+ a. Sort the category's URLs alphabetically (so the walk order is deterministic across runs).
313
+ b. Walk through the sorted list. For each URL, run an **intent check**: call \`fetch_page({ url, maxBodyKB: 8, extractLinks: false })\` and decide:
314
+ - If status is not 2xx → reject this candidate, continue walking.
315
+ - If response \`seo.robots\` contains \`noindex\` (case-insensitive) → reject, continue walking. (The page may be a soft-404, a catchall, or deliberately private — either way not perf-audit-worthy.)
316
+ - Otherwise → accept, add to target set, count toward slots filled.
317
+ c. Stop walking this category when one of:
318
+ - \`sample_per_type\` slots filled, OR
319
+ - You've tried **at most 5 candidates** for this category without finding a pass (prevents runaway validation when a whole category is dead).
320
+ d. Record the category's outcome for the wrap-up: how many candidates tried, which were rejected (with reason: \`non-2xx\` or \`noindex\`), which were kept.
321
+
322
+ **Why \`maxBodyKB: 8\`**: the \`<meta name="robots">\` tag often sits 1-2KB into the document (after base scripts, stylesheets, and other head tags). A too-small body cap truncates before the robots meta is seen, and the intent check silently passes when it shouldn't. 8KB covers virtually any site's \`<head>\`.
323
+
324
+ **Why walk instead of single-pick**: the first alphabetical URL in a category can turn out to be a dead link (old URL redirecting to a soft-404) or a catchall. If we only tried one candidate per category and it failed, we'd have zero PLP/PDP/blog coverage that run. Walking finds a real representative. Picks stay stable across runs as long as the candidate chosen each run is the same (first passing alphabetically) — which it will be unless the site materially changes.
325
+
326
+ 4. Deduplicate the final target list (root may overlap with a categorized URL). The result is your set of URLs to run through \`pagespeed_insights\`.
327
+
328
+ 5. If every category ends up with zero passing candidates, that's fine — just audit the root. The wrap-up summary will record the full story.
329
+
330
+ **Why intent-check matters overall**: \`crawl_site\`'s categorization is path-heuristic only. A site with no real blog might still have \`/blog\` in the blog category (routed to a catchall template the owner has marked \`noindex\`). Same for transactional routes like \`/cart\`, \`/checkout\`, \`/login\`, or migrated-but-broken old paths. Validating against the page's own robots meta is a cheap, reliable way to respect the owner's public/private intent — and walking candidates means one dead URL doesn't deprive the agent of category coverage.
331
+
332
+ The result is your target URL set. Typical shape for an ecom site:
333
+
334
+ \`\`\`
335
+ [
336
+ https://site.com/, # root (always kept)
337
+ https://site.com/produtos/acessorios, # first PLP alphabetically (passed intent check)
338
+ https://site.com/produtos/blusa, # first PDP alphabetically (passed intent check)
339
+ https://site.com/sobre # first institutional if any (passed intent check)
340
+ # /blog would have been picked here but was dropped because it serves noindex (catchall route)
341
+ ]
342
+ \`\`\`
343
+
344
+ If \`crawl_site\` returns an error or zero URLs, fall back to running just the root URL and note the fallback in the wrap-up summary.
345
+
346
+ **Why deterministic sampling**: running \`pagespeed_insights\` on a different PDP every day would mean each day's finding uses a different \`target.route\`, and downstream dedup (which is \`kind + target.route\`) would create a fresh issue each run. Stable alphabetical picks tie findings to a specific URL over time.
347
+
348
+ ## Step 1b — Diagnose each target URL
349
+
350
+ For each URL in the resolved target set:
351
+
352
+ 1. Call \`pagespeed_insights({ url, strategy: "mobile" })\`. Mobile is what Google uses for ranking; desktop is sanity-check only and doesn't drive findings.
353
+ 2. The response has four major sections you'll use:
354
+ - \`urlField\` + \`urlFieldAvailable\` — CrUX data for this specific URL
355
+ - \`originField\` + \`originFieldAvailable\` — CrUX data aggregated across the whole origin (fallback)
356
+ - \`lab\` — single-run Lighthouse metrics (useful for the Perf score and as diagnostic context)
357
+ - \`opportunities\` — Lighthouse opportunities sorted by potential savings, already filtered to audits that have room to improve
358
+ - \`diagnostics\` — flagged conditions (main-thread work, bootup time, long tasks, third-party summary, etc.)
359
+
360
+ ### Choose the classification source for this URL
361
+
362
+ In this order:
363
+
364
+ 1. **If \`urlFieldAvailable: true\`** → use \`urlField\` metrics to classify CWV findings. Record \`source: "url-field"\` in the evidence.
365
+ 2. **Else if \`originFieldAvailable: true\`** → use \`originField\` as a fallback. Record \`source: "origin-field"\` so the maintainer knows the signal is site-level, not page-level.
366
+ 3. **Else** (no Field data at all) → skip CWV classification for this URL. Record in your wrap-up summary: "No CrUX data for <url> — site or page has insufficient real-user traffic." Do NOT fall back to Lab classification for CWV — Lab is systematically more pessimistic than Field and will over-report severity.
367
+
368
+ **Lab-based findings (opportunities, diagnostics, overall Perf score) always apply** and don't depend on Field availability. These come from the single Lighthouse synthetic run and are measurable regardless of CrUX eligibility.
369
+
370
+ ## Catalog of \`kind\`
371
+
372
+ ### Core Web Vitals (from Field — Google's ranking signal)
373
+
374
+ For each metric, emit at most one of the pair per URL. Categories come directly from PSI's \`category\` enum on each CrUX metric.
375
+
376
+ **High severity** (category = \`SLOW\`, Google's "Poor" band):
377
+ - \`lcp-poor\` — Field LCP SLOW (LCP > 4s at p75)
378
+ - \`cls-poor\` — Field CLS SLOW (CLS > 0.25 at p75)
379
+ - \`inp-poor\` — Field INP SLOW (INP > 500ms at p75)
380
+
381
+ **Medium severity** (category = \`AVERAGE\`, Google's "Needs Improvement" band):
382
+ - \`lcp-needs-improvement\` — Field LCP AVERAGE (2.5–4s at p75)
383
+ - \`cls-needs-improvement\` — Field CLS AVERAGE (0.1–0.25 at p75)
384
+ - \`inp-needs-improvement\` — Field INP AVERAGE (200–500ms at p75)
385
+
386
+ **Low severity** (TTFB worth surfacing — often infra, but flag it):
387
+ - \`ttfb-slow\` — Field TTFB SLOW (> 800ms at p75)
388
+
389
+ If a metric's category is \`FAST\`, there's no finding. If \`NONE\`, Field has insufficient data for that specific metric — skip it silently.
390
+
391
+ ### Lab-based findings (from Lighthouse)
392
+
393
+ These are measurable regardless of Field availability. Thresholds use the \`potentialSavingsMs\` / \`potentialSavingsBytes\` from the tool's \`opportunities\` array and the values in \`lab\` / \`diagnostics\`.
394
+
395
+ **High severity:**
396
+ - \`perf-score-poor\` — \`lab.performanceScore < 0.5\` (Lighthouse Perf score < 50)
397
+
398
+ **Medium severity:**
399
+ - \`perf-score-mediocre\` — \`lab.performanceScore\` between 0.5 and 0.75
400
+ - \`unused-javascript-excessive\` — opportunities contains \`unused-javascript\` with \`potentialSavingsBytes > 300_000\`
401
+ - \`render-blocking-resources-excessive\` — opportunities contains \`render-blocking-resources\` with \`potentialSavingsMs > 1000\`
402
+ - \`images-unoptimized-major\` — opportunities contains \`modern-image-formats\` OR \`uses-optimized-images\` OR \`offscreen-images\` with \`potentialSavingsBytes > 500_000\`
403
+ - \`redirects-excessive\` — opportunities contains \`redirects\` with \`potentialSavingsMs > 500\`
404
+ - \`bootup-time-excessive\` — diagnostics \`bootup-time\` with \`numericValue > 3000\` (> 3s JS bootup)
405
+ - \`total-byte-weight-excessive\` — opportunities contains \`total-byte-weight\` with \`numericValue > 3_000_000\` (page > 3MB)
406
+
407
+ **Low severity:**
408
+ - \`images-unoptimized-minor\` — image opportunities with savings 100–500KB
409
+ - \`cache-policy-weak\` — opportunities contains \`uses-long-cache-ttl\` with savings any
410
+ - \`compression-missing\` — opportunities contains \`uses-text-compression\` with savings any
411
+
412
+ ---
413
+
414
+ ### Important classification rules
415
+
416
+ - **Field drives CWV severity.** Never use Lab LCP/CLS numbers to assign severity. Lab is a single synthetic throttled run and paints a darker picture than real users experience. Using Lab for severity over-reports.
417
+ - **Lab drives opportunity findings.** Lab is where you get the concrete "save 683KB of unused JS" numbers. These findings are valid independently of Field.
418
+ - **Pick the highest-severity matching band per metric.** If Field LCP is in \`SLOW\`, emit \`lcp-poor\` (not also \`lcp-needs-improvement\`). They're mutually exclusive by threshold range.
419
+ - **Don't invent kinds.** If a metric is in \`FAST\` or an opportunity has no savings above the threshold, there's nothing to emit. Absence of finding is the correct output for healthy metrics.
420
+ - **Severity comes from the catalog.** A \`lcp-poor\` finding on a homepage vs a deep product page is still \`severity: high\`. The band determines severity, not the URL's importance.
421
+
422
+ ## Step 2 — Return a structured findings report
423
+
424
+ Return a single response with this shape (YAML preferred):
425
+
426
+ \`\`\`yaml
427
+ specialist: perf
428
+ summary:
429
+ target_resolution: <"explicit urls" | "auto-discovery from site_root_url" | "fallback to root (crawl_site failed)">
430
+ category_walks: # only when auto-discovery was used
431
+ pdp: { tried: <n>, rejected: <n>, kept: <n>, rejection_reasons: [...] }
432
+ plp: { ... }
433
+ blog: { ... }
434
+ institutional: { ... }
435
+ urls_checked: <n>
436
+ classified_via_urlField: <n>
437
+ classified_via_originField: <n>
438
+ no_field_data: <n> # CWV classification skipped
439
+ diagnostic_failures: <n> # pagespeed_insights errored
440
+ findings:
441
+ - kind: <kind slug>
442
+ severity: <low|medium|high>
443
+ target:
444
+ url: <full URL>
445
+ route: <normalized path>
446
+ form_factor: mobile
447
+ evidence: |
448
+ ### Field (CrUX 28-day p75, real users)
449
+ Source: <url-field | origin-field>
450
+ - LCP: <n>ms (<FAST | AVERAGE | SLOW>)
451
+ - CLS: <n> (<category>)
452
+ - INP: <n>ms (<category>)
453
+ - FCP: <n>ms (<category>)
454
+ - TTFB: <n>ms (<category>)
455
+
456
+ ### Lab (Lighthouse synthetic single-run)
457
+ - Performance score: <n>
458
+ - LCP: <display value>
459
+ - CLS: <display value>
460
+ - TBT: <display value>
461
+ - FCP: <display value>
462
+
463
+ ### Relevant opportunities / diagnostics (from Lab)
464
+ - <e.g. "Reduce unused JavaScript — Est savings of 683 KiB">
465
+ - <e.g. "Bootup time: 3.6s">
466
+ impact: <1-2 sentences connecting to UX/business>
467
+ suggested_fix: |
468
+ <pick bullets that fit this kind's root cause:>
469
+ - If lcp-* with render-blocking-resources-excessive co-occurring: defer/async scripts, inline critical CSS, preload LCP image
470
+ - If cls-*: reserve space for dynamic content (width/height on images, skeleton loaders)
471
+ - If inp-*: reduce main-thread work on interaction (break up long tasks, debounce handlers)
472
+ - If unused-javascript-excessive: code-split by route, lazy-load non-critical bundles
473
+ - If images-unoptimized-*: modern format (AVIF/WebP), correct intrinsic sizing
474
+ - ...
475
+ \`\`\`
476
+
477
+ If **all** target URLs returned an error from \`pagespeed_insights\`, return a single \`kind: diagnostic-failed\` finding with the error in \`evidence\` instead of inventing data.
478
+
479
+ If there are zero findings, return \`findings: []\` — that is the correct output for healthy targets.
480
+
481
+ ---
482
+
483
+ ## General rules
484
+
485
+ - **Field beats Lab for CWV severity.** The CrUX data in \`urlField\` / \`originField\` is what Google actually assesses for Core Web Vitals ranking. Use that for classification, not Lab. Lab is diagnostic context.
486
+ - **Mobile only.** Mobile is what Google ranks on. Don't emit desktop-specific findings.
487
+ - **Highest band wins per metric.** LCP in SLOW emits \`lcp-poor\` only, not also \`lcp-needs-improvement\`.
488
+ - **Severity comes from the catalog.** Don't escalate based on which URL is affected.
489
+ - **Cause > symptom in evidence.** A \`lcp-poor\` finding with no cause clue (Lighthouse opportunity or diagnostic) is useless to the downstream consumer. Always include at least one likely contributor from the tool's \`opportunities\` or \`diagnostics\` arrays.
490
+ - **Never invent metrics.** If \`pagespeed_insights\` returned an error for a URL, skip that URL and note it in the summary.
491
+ - **Respect CrUX unavailability.** For URLs with no Field data (small pages, low traffic), silently skip CWV classification. Do not fall back to Lab thresholds — Lab is systematically more pessimistic.
492
+ `,Bo="0 9 * * *",wa=[{id:"seo-auditor",title:"SEO Auditor",description:"Monitors websites for SEO improvements.",icon:"icon://FileSearch02?color=purple",instructions:bb,siteDiagnosticsTools:["audit_seo","fetch_page","crawl_site","render_page"],cron:Bo,issueLabel:"agent:seo",buildSubtaskInput:({siteRootUrl:t})=>`urls:
493
+ - ${t}
494
+ `},{id:"performance-watchdog",title:"Performance Watchdog",description:"Monitors websites for Core Web Vitals problems.",icon:"icon://Speedometer03?color=emerald",instructions:yb,siteDiagnosticsTools:["fetch_page","pagespeed_insights","crawl_site"],cron:Bo,issueLabel:"agent:perf",buildSubtaskInput:({siteRootUrl:t})=>`site_root_url: ${t}
495
+ `},{id:"broken-link-finder",title:"Broken Link Finder",description:"Monitors websites for broken links.",icon:"icon://LinkBroken01?color=rose",instructions:vb,siteDiagnosticsTools:["collect_site_links","check_urls"],cron:Bo,issueLabel:"agent:links",buildSubtaskInput:({siteRootUrl:t})=>`site_root_url: ${t}
496
+ `}],Sb=[{id:"log-monitor",title:"Log Monitor",description:"Monitors websites for errors and warnings on the server. Outputs GitHub issues.",icon:"icon://MessageAlertCircle?color=amber"}];function wb(t){const{template:e,specialistAgentId:s,owner:i,repo:r,siteRootUrl:o}=t,a=e.buildSubtaskInput({siteRootUrl:o}),l=e.issueLabel.replace(/^agent:/,""),c=[];return c.push(ui([Ws(`Daily ${e.title} run for ${i}/${r}, monitoring ${o}.
497
+
498
+ Your job: call the specialist sub-agent for fresh findings, dedup against the repo's open issues, and either file new issues or comment on existing ones. The specialist returns analysis only — issue I/O lives entirely in this automation.`)])),c.push(ui([Ws(`Step 1 — Read current state.
499
+ Call list_issues with:
500
+ owner: "${i}"
501
+ repo: "${r}"
502
+ labels: ["${e.issueLabel}", "auto-generated"]
503
+ state: "open"
504
+ For each issue, parse the YAML frontmatter at the top of the body and extract { kind, target.route }. This is your "known problems" map.`)])),c.push(ui([Ws("Step 2 — Get fresh findings from "),Cb({agentId:s,title:e.title}),Ws(`. Use the subtask tool with that agent and pass exactly this YAML as the prompt:
505
+
506
+ ${a.trimEnd()}
507
+
508
+ The specialist returns a structured report:
509
+ specialist: <id>
510
+ summary: { ... }
511
+ findings:
512
+ - { kind, severity, target: { url, route }, evidence, impact, suggested_fix }
513
+ If findings is empty, the site is healthy for this specialist — skip to Step 5.`)])),c.push(ui([Ws(`Step 3 — For each finding, decide what to do based on the known-problems map from Step 1:
514
+ • No open issue with the same { kind, target.route } → create a new issue (Step 4).
515
+ • Open issue exists with same { kind, target.route } → add a comment: "Still present." and include the latest evidence verbatim.
516
+ • A previously-open issue's { kind, target.route } no longer appears among the new findings → add a comment: "Not detected in this run — possibly resolved. Leaving open for human confirmation." Do NOT close the issue.
517
+ When in doubt, prefer commenting over creating. Duplicate issues erode maintainer trust.`)])),c.push(ui([Ws(`Step 4 — Issue format. Set once at creation; NEVER edit the body afterwards.
518
+ Use issue_write with method: "create" and:
519
+ title: "[${l}] <short summary> — <route>"
520
+ labels: ["${e.issueLabel}", "auto-generated", "severity:<low|medium|high>"]
521
+ body:
522
+ ---
523
+ specialist: ${l}
524
+ kind: <kind>
525
+ severity: <low|medium|high>
526
+ target:
527
+ url: <full URL>
528
+ route: <normalized path>
529
+ ---
530
+
531
+ ## Finding
532
+ <1–2 sentences from the specialist's finding>
533
+
534
+ ## Evidence
535
+ <evidence block from the specialist verbatim>
536
+
537
+ ## Impact
538
+ <impact from the specialist>
539
+
540
+ ## Suggested Fix
541
+ <suggested_fix from the specialist>`)])),c.push(ui([Ws("Step 5 — Wrap up with a one-paragraph summary: how many findings, how many issues created, how many re-detected (commented), how many possibly-resolved (commented).")])),c.push(ui([Ws(`Rules:
542
+ • Never edit issue bodies after creation — use comments.
543
+ • Never close issues automatically. At most, comment "possibly resolved".
544
+ • Never touch issues that don't have BOTH "${e.issueLabel}" AND "auto-generated" labels.
545
+ • One issue per { kind, target.route } pair. Dedup uses those two fields from the body frontmatter.
546
+ • Always normalize route: lowercase host, no trailing slash (except "/"), no query string, no fragment.`)])),{type:"doc",content:c.map((d,u)=>u<c.length-1?Vb(d):d)}}function Vb(t){const e=t.content;if(!e||e.length===0)return t;const s=e[e.length-1];return!s||s.type!=="text"||typeof s.text!="string"?t:{...t,content:[...e.slice(0,-1),{...s,text:`${s.text}
547
+
548
+ `}]}}function ui(t){return{type:"paragraph",content:t}}function Ws(t){return{type:"text",text:t}}function Cb({agentId:t,title:e}){return{type:"mention",attrs:{id:t,name:e,char:"@",metadata:{agentId:t,title:e}}}}const mn="deco/site-diagnostics";function rf(t){const e=B.c(15),{open:s,onOpenChange:i}=t,[r,o]=S.useState(null);let a;e[0]!==i?(a=()=>{o(null),i(!1)},e[0]=i,e[1]=a):a=e[1];const l=a,c=s&&r===null;let d;e[2]!==r||e[3]!==i?(d=p=>{!p&&r===null&&i(!1)},e[2]=r,e[3]=i,e[4]=d):d=e[4];let u;e[5]!==c||e[6]!==d?(u=n.jsx(wu,{open:c,onOpenChange:d,title:"Set up self-healing repo",hideAutoRespondCheckbox:!0,onImportComplete:o}),e[5]=c,e[6]=d,e[7]=u):u=e[7];const h=s&&r!==null;let f;e[8]!==l||e[9]!==r||e[10]!==h?(f=n.jsx(kb,{open:h,payload:r,onClose:l}),e[8]=l,e[9]=r,e[10]=h,e[11]=f):f=e[11];let m;return e[12]!==u||e[13]!==f?(m=n.jsxs(n.Fragment,{children:[u,f]}),e[12]=u,e[13]=f,e[14]=m):m=e[14],m}function kb(t){const e=B.c(66),{open:s,payload:i,onClose:r}=t,{org:o}=ye(),a=Yn(),l=po();let c;e[0]!==o.id?(c={connectionId:Pt,orgId:o.id},e[0]=o.id,e[1]=c):c=e[1];const d=Le(c),[u,h]=S.useState(""),[f,m]=S.useState(Ab);let p;e[2]!==s?(p={enabled:s},e[2]=s,e[3]=p):p=e[3];const{data:g}=C_(mn,p);let _;e[4]!==l||e[5]!==f||e[6]!==i||e[7]!==d||e[8]!==g||e[9]!==u?(_=async()=>{if(!i)throw new Error("No imported repo payload");const Y=Qc(u);if(!Y)throw new Error("Enter a valid https:// URL");const q=wa.filter(J=>f[J.id]);if(q.length===0)return{succeeded:[],failed:[]};const G=await Tb({selfClient:d,createConnection:l.create.mutateAsync,registry:g}),ee=[],Z=[];for(const J of q)try{await Db({template:J,selfClient:d,siteDiagnosticsConnectionId:G,projectAgentId:i.virtualMcpId,owner:i.repo.owner,repo:i.repo.name,siteRootUrl:Y}),ee.push(J.title)}catch(se){const ne=se;console.error(`Failed to set up ${J.title}:`,ne),Z.push(J.title)}return{succeeded:ee,failed:Z}},e[4]=l,e[5]=f,e[6]=i,e[7]=d,e[8]=g,e[9]=u,e[10]=_):_=e[10];let v;e[11]!==a||e[12]!==r||e[13]!==i?.virtualMcpId?(v=Y=>{const{succeeded:q,failed:G}=Y;q.length>0?fe.success(`Self-healing repo ready — ${q.length} specialist${q.length>1?"s":""} set up`):G.length===0&&fe.success("Repo imported. Add specialists later from automations."),G.length>0&&fe.warning(`Could not set up: ${G.join(", ")}. You can add them later from the automations view.`);const ee=i?.virtualMcpId;r(),localStorage.setItem("mesh:sidebar-open",JSON.stringify(!1)),ee&&a(ee)},e[11]=a,e[12]=r,e[13]=i?.virtualMcpId,e[14]=v):v=e[14];let x;e[15]!==_||e[16]!==v?(x={mutationFn:_,onSuccess:v,onError:Nb},e[15]=_,e[16]=v,e[17]=x):x=e[17];const b=Ki(x);let y;e[18]!==b.isPending||e[19]!==u?(y=Qc(u)!==null&&!b.isPending,e[18]=b.isPending,e[19]=u,e[20]=y):y=e[20];const C=y;let k;e[21]!==r||e[22]!==b.isPending?(k=Y=>{!Y&&!b.isPending&&r()},e[21]=r,e[22]=b.isPending,e[23]=k):k=e[23];let w;e[24]===Symbol.for("react.memo_cache_sentinel")?(w=n.jsx(hs,{className:"h-12 border-b border-border px-4 flex flex-row items-center shrink-0 space-y-0",children:n.jsx(ds,{className:"text-sm font-medium text-foreground",children:"Add specialist monitors"})}),e[24]=w):w=e[24];let V;e[25]===Symbol.for("react.memo_cache_sentinel")?(V=n.jsx("p",{className:"text-sm text-muted-foreground",children:"Specialists run on a daily schedule. Your repo agent collects their findings and opens GitHub issues, then writes the fixes."}),e[25]=V):V=e[25];let j;e[26]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx("label",{htmlFor:"self-healing-site-url",className:"text-xs font-medium text-foreground",children:"Production URL"}),e[26]=j):j=e[26];let R;e[27]===Symbol.for("react.memo_cache_sentinel")?(R=Y=>h(Y.target.value),e[27]=R):R=e[27];let T;e[28]!==u?(T=n.jsx(gt,{id:"self-healing-site-url",type:"url",placeholder:"https://example.com",value:u,onChange:R,autoFocus:!0}),e[28]=u,e[29]=T):T=e[29];let I;e[30]===Symbol.for("react.memo_cache_sentinel")?(I=n.jsx("p",{className:"text-xs text-muted-foreground",children:"The site the specialists will monitor."}),e[30]=I):I=e[30];let A;e[31]!==T?(A=n.jsxs("div",{className:"flex flex-col gap-1.5",children:[j,T,I]}),e[31]=T,e[32]=A):A=e[32];let N;e[33]!==f?(N=wa.map(Y=>n.jsx(Eb,{template:Y,enabled:f[Y.id]??!1,onToggle:q=>m(G=>({...G,[Y.id]:q}))},Y.id)),e[33]=f,e[34]=N):N=e[34];let E,M;e[35]===Symbol.for("react.memo_cache_sentinel")?(E=Sb.map(jb),M=n.jsx(Rb,{}),e[35]=E,e[36]=M):(E=e[35],M=e[36]);let L;e[37]!==N?(L=n.jsxs("div",{className:"flex flex-col gap-2",children:[N,E,M]}),e[37]=N,e[38]=L):L=e[38];let D;e[39]!==A||e[40]!==L?(D=n.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-4 flex flex-col gap-4",children:[V,A,L]}),e[39]=A,e[40]=L,e[41]=D):D=e[41];let P;e[42]!==a||e[43]!==r||e[44]!==i?.virtualMcpId||e[45]!==b.isPending?(P=()=>{if(!b.isPending){const Y=i?.virtualMcpId;r(),Y&&a(Y)}},e[42]=a,e[43]=r,e[44]=i?.virtualMcpId,e[45]=b.isPending,e[46]=P):P=e[46];let O;e[47]!==b.isPending||e[48]!==P?(O=n.jsx("button",{type:"button",onClick:P,disabled:b.isPending,className:"text-xs text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 cursor-pointer",children:"Skip for now"}),e[47]=b.isPending,e[48]=P,e[49]=O):O=e[49];let $;e[50]!==b?($=()=>b.mutate(),e[50]=b,e[51]=$):$=e[51];const z=!C,W=b.isPending?"Setting up...":"Set up specialists";let F;e[52]!==$||e[53]!==z||e[54]!==W?(F=n.jsx(oe,{onClick:$,disabled:z,size:"sm",children:W}),e[52]=$,e[53]=z,e[54]=W,e[55]=F):F=e[55];let K;e[56]!==O||e[57]!==F?(K=n.jsxs("div",{className:"border-t border-border px-4 py-3 flex items-center justify-between gap-3 shrink-0",children:[O,F]}),e[56]=O,e[57]=F,e[58]=K):K=e[58];let H;e[59]!==D||e[60]!==K?(H=n.jsxs(ts,{className:"sm:max-w-[560px] max-h-[85svh] p-0 gap-0 overflow-hidden flex flex-col",children:[w,D,K]}),e[59]=D,e[60]=K,e[61]=H):H=e[61];let U;return e[62]!==s||e[63]!==H||e[64]!==k?(U=n.jsx(ss,{open:s,onOpenChange:k,children:H}),e[62]=s,e[63]=H,e[64]=k,e[65]=U):U=e[65],U}function jb(t){return n.jsx(Ib,{title:t.title,description:t.description,icon:t.icon},t.id)}function Nb(t){fe.error("Failed to set up specialists: "+(t instanceof Error?t.message:"Unknown error"))}function Ab(){const t={};for(const e of wa)t[e.id]=!0;return t}function Eb(t){const e=B.c(20),{template:s,enabled:i,onToggle:r}=t,o=i?"bg-accent/30":"hover:bg-accent/30";let a;e[0]!==o?(a=X("flex items-center gap-3 rounded-lg border border-border px-3 py-3 cursor-pointer transition-colors",o),e[0]=o,e[1]=a):a=e[1];let l;e[2]!==s.icon||e[3]!==s.title?(l=n.jsx(gs,{icon:s.icon,name:s.title,size:"sm",className:"shrink-0"}),e[2]=s.icon,e[3]=s.title,e[4]=l):l=e[4];let c;e[5]!==s.title?(c=n.jsx("span",{className:"text-sm font-medium text-foreground leading-tight",children:s.title}),e[5]=s.title,e[6]=c):c=e[6];let d;e[7]!==s.description?(d=n.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:s.description}),e[7]=s.description,e[8]=d):d=e[8];let u;e[9]!==c||e[10]!==d?(u=n.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c,d]}),e[9]=c,e[10]=d,e[11]=u):u=e[11];let h;e[12]!==i||e[13]!==r?(h=n.jsx(Hr,{checked:i,onCheckedChange:r,className:"shrink-0"}),e[12]=i,e[13]=r,e[14]=h):h=e[14];let f;return e[15]!==a||e[16]!==l||e[17]!==u||e[18]!==h?(f=n.jsxs("label",{className:a,children:[l,u,h]}),e[15]=a,e[16]=l,e[17]=u,e[18]=h,e[19]=f):f=e[19],f}function Ib(t){const e=B.c(14),{title:s,description:i,icon:r}=t;let o;e[0]!==r||e[1]!==s?(o=n.jsx(gs,{icon:r,name:s,size:"sm",className:"shrink-0"}),e[0]=r,e[1]=s,e[2]=o):o=e[2];let a;e[3]!==s?(a=n.jsx("span",{className:"text-sm font-medium text-foreground leading-tight",children:s}),e[3]=s,e[4]=a):a=e[4];let l;e[5]!==i?(l=n.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:i}),e[5]=i,e[6]=l):l=e[6];let c;e[7]!==a||e[8]!==l?(c=n.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[a,l]}),e[7]=a,e[8]=l,e[9]=c):c=e[9];let d;e[10]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("span",{className:"text-[10px] font-medium uppercase tracking-wide text-muted-foreground shrink-0",children:"Coming soon"}),e[10]=d):d=e[10];let u;return e[11]!==o||e[12]!==c?(u=n.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-dashed border-border px-3 py-3 opacity-60",children:[o,c,d]}),e[11]=o,e[12]=c,e[13]=u):u=e[13],u}function Rb(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"flex items-center justify-center rounded-lg border border-dashed border-border px-3 py-3 text-xs text-muted-foreground",children:"More specialists coming soon"}),t[0]=e):e=t[0],e}function Qc(t){const e=t.trim();if(!e)return null;try{const s=new URL(e);return s.protocol!=="https:"&&s.protocol!=="http:"?null:s.origin+(s.pathname==="/"?"":s.pathname)}catch{return null}}async function Tb({selfClient:t,createConnection:e,registry:s}){const r=(await t.callTool({name:"COLLECTION_CONNECTIONS_LIST",arguments:{where:{field:["app_id"],operator:"eq",value:mn},limit:1,offset:0}})).structuredContent?.items?.find(u=>u.app_id===mn);if(r)return r.id;const o=s?.server?.remotes?.[0]?.url;if(!o)throw new Error("Site Diagnostics MCP is not available in the registry right now.");const a=s?.title??s?.server?.title??s?.server?.name??"Site Diagnostics",l=s?.server?.icons?.[0]?.src??null,c=s?.server?.description??null;return(await e({title:a,description:c,icon:l,connection_type:"HTTP",connection_url:o,app_name:s?.server?.name??"site-diagnostics",app_id:mn,metadata:{type:"site-diagnostics",source:"store",registry_item_id:mn,verified:!0}})).id}async function Db({template:t,selfClient:e,siteDiagnosticsConnectionId:s,projectAgentId:i,owner:r,repo:o,siteRootUrl:a}){const l=`${o}: ${t.title}`,d=(await e.callTool({name:"AUTOMATION_LIST",arguments:{virtual_mcp_id:i}})).structuredContent?.automations?.find(h=>h.name===l);let u;if(!(d&&d.trigger_count>0)){if(d)u=d.id;else{const h=await Mb({template:t,selfClient:e,siteDiagnosticsConnectionId:s}),f=wb({template:t,specialistAgentId:h,owner:r,repo:o,siteRootUrl:a}),m=Bh(f),p=await e.callTool({name:"AUTOMATION_CREATE",arguments:{name:l,virtual_mcp_id:i,agent:{id:i},messages:m,active:!0}});u=(p.structuredContent??p).id}await e.callTool({name:"AUTOMATION_TRIGGER_ADD",arguments:{automation_id:u,type:"cron",cron_expression:t.cron}})}}async function Mb({template:t,selfClient:e,siteDiagnosticsConnectionId:s}){const r=(await e.callTool({name:"COLLECTION_VIRTUAL_MCP_LIST",arguments:{where:{field:["metadata","specialistId"],operator:"eq",value:t.id},limit:1,offset:0}})).structuredContent?.items?.find(l=>l.metadata?.specialistId===t.id);if(r)return r.id;const o=await e.callTool({name:"COLLECTION_VIRTUAL_MCP_CREATE",arguments:{data:{title:t.title,description:t.description,icon:t.icon,pinned:!1,metadata:{specialistId:t.id,instructions:t.instructions},connections:[{connection_id:s,selected_tools:t.siteDiagnosticsTools,selected_resources:null,selected_prompts:null}]}}});return(o.structuredContent??o).item.id}function Pb(t){try{const e=localStorage.getItem(`mesh:chat:recent-agents:${t}`);return e?JSON.parse(e):[]}catch{return[]}}function rn(t){const e=B.c(21),{agent:s,onSpecialClick:i,tracking:r}=t,{org:o}=ye(),a=qe();let l;e[0]!==s.id||e[1]!==s.title||e[2]!==a||e[3]!==i||e[4]!==o||e[5]!==r.action||e[6]!==r.template_id||e[7]!==r.tile_kind?(l=()=>{if(ie("home_agent_tile_clicked",{template_id:r.template_id,agent_id:s.id,agent_title:s.title,tile_kind:r.tile_kind,action:r.action}),i)i();else{const g=crypto.randomUUID();a({to:"/$org/$taskId",params:{org:o.slug,taskId:g},search:{virtualmcpid:s.id}})}},e[0]=s.id,e[1]=s.title,e[2]=a,e[3]=i,e[4]=o,e[5]=r.action,e[6]=r.template_id,e[7]=r.tile_kind,e[8]=l):l=e[8];const c=l;let d;e[9]===Symbol.for("react.memo_cache_sentinel")?(d=X("flex flex-col items-center gap-3 p-2 rounded-lg","transition-colors","cursor-pointer","w-[100px] shrink-0","group"),e[9]=d):d=e[9];const u=`Select agent ${s.title}`;let h;e[10]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx(go,{size:24}),e[10]=h):h=e[10];let f;e[11]!==s.icon||e[12]!==s.title?(f=n.jsx(Ps,{icon:s.icon,name:s.title,size:"md",fallbackIcon:h,className:"transition-transform group-hover:scale-110"}),e[11]=s.icon,e[12]=s.title,e[13]=f):f=e[13];let m;e[14]!==s.title?(m=n.jsx("p",{className:"text-xs sm:text-sm text-foreground text-center leading-tight line-clamp-2 break-words w-full",children:s.title}),e[14]=s.title,e[15]=m):m=e[15];let p;return e[16]!==c||e[17]!==u||e[18]!==f||e[19]!==m?(p=n.jsxs("button",{type:"button",onClick:c,className:d,"aria-label":u,children:[f,m]}),e[16]=c,e[17]=u,e[18]=f,e[19]=m,e[20]=p):p=e[20],p}function Lb(){const t=B.c(8),e=qe(),{org:s}=ye();let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=X("flex flex-col items-center gap-3 p-2 rounded-lg","transition-colors","cursor-pointer","w-[100px] shrink-0","group"),t[0]=i):i=t[0];let r;t[1]!==e||t[2]!==s.slug?(r=()=>{ie("home_see_all_agents_clicked"),e({to:"/$org/settings/agents",params:{org:s.slug}})},t[1]=e,t[2]=s.slug,t[3]=r):r=t[3];let o,a;t[4]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("div",{className:"size-12 rounded-xl bg-accent flex items-center justify-center shrink-0 transition-transform group-hover:scale-110",children:n.jsx(Il,{size:20,className:"text-foreground"})}),a=n.jsx("p",{className:"text-xs sm:text-sm text-foreground text-center leading-tight",children:"See all"}),t[4]=o,t[5]=a):(o=t[4],a=t[5]);let l;return t[6]!==r?(l=n.jsxs("button",{type:"button",className:i,"aria-label":"See all agents",onClick:r,children:[o,a]}),t[6]=r,t[7]=l):l=t[7],l}function Ob(){const t=B.c(9);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e={navigateOnCreate:!0},t[0]=e):e=t[0];const{createVirtualMCP:s,isCreating:i}=ku(e);let r;t[1]!==s?(r=()=>{ie("home_create_agent_clicked"),s()},t[1]=s,t[2]=r):r=t[2];let o;t[3]===Symbol.for("react.memo_cache_sentinel")?(o=X("flex flex-col items-center gap-3 p-2 rounded-lg","transition-colors","cursor-pointer","w-[100px] shrink-0","group","disabled:opacity-50 disabled:cursor-not-allowed"),t[3]=o):o=t[3];let a,l;t[4]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx("div",{className:"size-12 rounded-xl bg-background border-2 border-dashed border-border flex items-center justify-center shrink-0 transition-transform group-hover:scale-110",children:n.jsx(Qt,{size:20,className:"text-muted-foreground"})}),l=n.jsx("p",{className:"text-xs sm:text-sm text-foreground text-center leading-tight",children:"Create agent"}),t[4]=a,t[5]=l):(a=t[4],l=t[5]);let c;return t[6]!==i||t[7]!==r?(c=n.jsxs("button",{type:"button",onClick:r,disabled:i,className:o,"aria-label":"Create agent",children:[a,l]}),t[6]=i,t[7]=r,t[8]=c):c=t[8],c}function Bb(){const t=B.c(103),e=mo(),{locator:s}=ye(),[i,r]=S.useState(!1),[o,a]=S.useState(!1),[l,c]=S.useState(!1),[d,u]=S.useState(!1),[h,f]=S.useState(!1),[m]=yi(),p=Yn();let g;t[0]===Symbol.for("react.memo_cache_sentinel")?(g=zs.find(Hb),t[0]=g):g=t[0];const _=g;let v;t[1]===Symbol.for("react.memo_cache_sentinel")?(v=zs.find(Ub),t[1]=v):v=t[1];const x=v;let b;t[2]===Symbol.for("react.memo_cache_sentinel")?(b=zs.find(Fb),t[2]=b):b=t[2];const y=b;let C;t[3]===Symbol.for("react.memo_cache_sentinel")?(C=zs.find($b),t[3]=C):C=t[3];const k=C;let w,V,j,R,T,I,A,N,E,M,L,D;if(t[4]!==s||t[5]!==p||t[6]!==m.experimental_vibecode||t[7]!==e){const q=Pb(s),G=e.filter(zb).sort((be,je)=>{const $e=q.indexOf(be.id),Ge=q.indexOf(je.id);return $e!==-1&&Ge!==-1?$e-Ge:$e!==-1?-1:Ge!==-1?1:new Date(je.updated_at).getTime()-new Date(be.updated_at).getTime()}).slice(0,4);let ee;if(t[20]!==e){let be;t[22]===Symbol.for("react.memo_cache_sentinel")?(be=je=>je.id!==null&&(je.metadata?.type===x.id||je.title===x.title),t[22]=be):be=t[22],ee=e.find(be),t[20]=e,t[21]=ee}else ee=t[21];j=ee;let Z;if(t[23]!==e){let be;t[25]===Symbol.for("react.memo_cache_sentinel")?(be=je=>je.id!==null&&(je.metadata?.type===y.id||je.title===y.title),t[25]=be):be=t[25],Z=e.find(be),t[23]=e,t[24]=Z}else Z=t[24];w=Z;let J;if(t[26]!==e){let be;t[28]===Symbol.for("react.memo_cache_sentinel")?(be=je=>je.id!==null&&(je.metadata?.type===k.id||je.title===k.title),t[28]=be):be=t[28],J=e.find(be),t[26]=e,t[27]=J}else J=t[27];V=J,R=G.length>0,t[29]!==m.experimental_vibecode?(I=m.experimental_vibecode&&n.jsx("div",{className:"w-full flex justify-center mb-4",children:n.jsxs("button",{type:"button",onClick:()=>f(!0),className:"w-full max-w-[560px] flex items-center gap-3 rounded-xl border border-primary/30 bg-gradient-to-br from-primary/10 via-primary/5 to-transparent px-4 py-3 text-left transition-colors hover:border-primary/50 hover:from-primary/15 cursor-pointer group",children:[n.jsx("div",{className:"size-10 rounded-lg bg-primary/15 flex items-center justify-center shrink-0 transition-transform group-hover:scale-105",children:n.jsx(Fr,{className:"size-5 text-primary"})}),n.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[n.jsx("span",{className:"text-sm font-medium text-foreground leading-tight",children:"Set up self-healing repo"}),n.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:"Connect GitHub and add specialist monitors that open issues automatically."})]})]})}),t[29]=m.experimental_vibecode,t[30]=I):I=t[30],T="w-full max-md:overflow-x-auto max-md:[scrollbar-width:none] max-md:[&::-webkit-scrollbar]:hidden",A="flex flex-wrap justify-center gap-1.5 max-md:flex-nowrap max-md:justify-start md:max-h-52 md:overflow-hidden",t[31]===Symbol.for("react.memo_cache_sentinel")?(N=n.jsx(rn,{agent:_,onSpecialClick:()=>r(!0),tracking:{template_id:_.id,tile_kind:"template",action:"open_modal"}},_.id),t[31]=N):N=t[31];const se=j??x;let ne;t[32]!==j||t[33]!==p?(ne=j?()=>p(j.id):()=>a(!0),t[32]=j,t[33]=p,t[34]=ne):ne=t[34];const ce=j?"existing":"template",xe=j?"navigate":"open_modal";let ae;t[35]!==ce||t[36]!==xe?(ae={template_id:x.id,tile_kind:ce,action:xe},t[35]=ce,t[36]=xe,t[37]=ae):ae=t[37],t[38]!==se||t[39]!==ne||t[40]!==ae?(E=n.jsx(rn,{agent:se,onSpecialClick:ne,tracking:ae},x.id),t[38]=se,t[39]=ne,t[40]=ae,t[41]=E):E=t[41];const he=w??y;let pe;t[42]!==w||t[43]!==p?(pe=w?()=>p(w.id):()=>c(!0),t[42]=w,t[43]=p,t[44]=pe):pe=t[44];const me=w?"existing":"template",we=w?"navigate":"open_modal";let ve;t[45]!==me||t[46]!==we?(ve={template_id:y.id,tile_kind:me,action:we},t[45]=me,t[46]=we,t[47]=ve):ve=t[47],t[48]!==he||t[49]!==pe||t[50]!==ve?(M=n.jsx(rn,{agent:he,onSpecialClick:pe,tracking:ve},y.id),t[48]=he,t[49]=pe,t[50]=ve,t[51]=M):M=t[51];const de=V??k;let Re;t[52]!==V||t[53]!==p?(Re=V?()=>p(V.id):()=>u(!0),t[52]=V,t[53]=p,t[54]=Re):Re=t[54];const te=V?"existing":"template",ue=V?"navigate":"open_modal";let Ve;t[55]!==te||t[56]!==ue?(Ve={template_id:k.id,tile_kind:te,action:ue},t[55]=te,t[56]=ue,t[57]=Ve):Ve=t[57],t[58]!==de||t[59]!==Re||t[60]!==Ve?(L=n.jsx(rn,{agent:de,onSpecialClick:Re,tracking:Ve},k.id),t[58]=de,t[59]=Re,t[60]=Ve,t[61]=L):L=t[61];let Ee;t[62]!==w?.id||t[63]!==V?.id||t[64]!==j?.id?(Ee=be=>be.id!==j?.id&&be.id!==w?.id&&be.id!==V?.id,t[62]=w?.id,t[63]=V?.id,t[64]=j?.id,t[65]=Ee):Ee=t[65];let Te;t[66]!==p?(Te=be=>n.jsx(rn,{agent:be,onSpecialClick:()=>p(be.id),tracking:{template_id:null,tile_kind:"recent",action:"navigate"}},be.id??"default"),t[66]=p,t[67]=Te):Te=t[67],D=G.filter(Ee).map(Te),t[4]=s,t[5]=p,t[6]=m.experimental_vibecode,t[7]=e,t[8]=w,t[9]=V,t[10]=j,t[11]=R,t[12]=T,t[13]=I,t[14]=A,t[15]=N,t[16]=E,t[17]=M,t[18]=L,t[19]=D}else w=t[8],V=t[9],j=t[10],R=t[11],T=t[12],I=t[13],A=t[14],N=t[15],E=t[16],M=t[17],L=t[18],D=t[19];let P;t[68]===Symbol.for("react.memo_cache_sentinel")?(P=n.jsx(Ob,{}),t[68]=P):P=t[68];let O;t[69]!==R?(O=R&&n.jsx(Lb,{}),t[69]=R,t[70]=O):O=t[70];let $;t[71]!==O||t[72]!==A||t[73]!==N||t[74]!==E||t[75]!==M||t[76]!==L||t[77]!==D?($=n.jsxs("div",{className:A,children:[N,E,M,L,D,P,O]}),t[71]=O,t[72]=A,t[73]=N,t[74]=E,t[75]=M,t[76]=L,t[77]=D,t[78]=$):$=t[78];let z;t[79]!==T||t[80]!==$?(z=n.jsx("div",{className:T,children:$}),t[79]=T,t[80]=$,t[81]=z):z=t[81];let W;t[82]!==i?(W=n.jsx(Ur,{open:i,onOpenChange:r}),t[82]=i,t[83]=W):W=t[83];let F;t[84]!==o||t[85]!==j?(F=n.jsx(Vu,{open:o,onOpenChange:a,existingAgent:j}),t[84]=o,t[85]=j,t[86]=F):F=t[86];let K;t[87]!==l||t[88]!==w?(K=n.jsx(mb,{open:l,onOpenChange:c,existingAgent:w}),t[87]=l,t[88]=w,t[89]=K):K=t[89];let H;t[90]!==d||t[91]!==V?(H=n.jsx(xb,{open:d,onOpenChange:u,existingAgent:V}),t[90]=d,t[91]=V,t[92]=H):H=t[92];let U;t[93]!==h?(U=n.jsx(rf,{open:h,onOpenChange:f}),t[93]=h,t[94]=U):U=t[94];let Y;return t[95]!==I||t[96]!==z||t[97]!==W||t[98]!==F||t[99]!==K||t[100]!==H||t[101]!==U?(Y=n.jsxs(n.Fragment,{children:[I,z,W,F,K,H,U]}),t[95]=I,t[96]=z,t[97]=W,t[98]=F,t[99]=K,t[100]=H,t[101]=U,t[102]=Y):Y=t[102],Y}function zb(t){return t.id!==null&&!Br(t.id)}function $b(t){return t.id==="ai-research"}function Fb(t){return t.id==="ai-image"}function Ub(t){return t.id==="site-diagnostics"}function Hb(t){return t.id==="site-editor"}function Wb(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"w-full max-md:overflow-x-auto max-md:[scrollbar-width:none] max-md:[&::-webkit-scrollbar]:hidden",children:n.jsx("div",{className:"flex flex-wrap justify-center gap-1.5 max-md:flex-nowrap max-md:justify-start md:max-h-52 md:overflow-hidden",children:Array.from({length:7}).map(Kb)})}),t[0]=e):e=t[0],e}function Kb(t,e){return n.jsxs("div",{className:"flex flex-col items-center gap-3 p-2 w-[100px] shrink-0",children:[n.jsx($i,{className:"size-12 rounded-xl shrink-0"}),n.jsx($i,{className:"h-3 sm:h-4 w-full"})]},e)}function Zc(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(S.Suspense,{fallback:n.jsx(Wb,{}),children:n.jsx(Bb,{})}),t[0]=e):e=t[0],e}function on(t){return t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}k`:String(t)}function ed(t){if(!t)return"—";const e=typeof t=="string"?new Date(t):t;return isNaN(e.getTime())?"—":e.toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"})}function qb(t){return t?t.replace(/-\d{8}(?:-[a-z0-9]+)*$/i,"").replace(/-/g," "):"—"}function Gb(t){const e=B.c(4),{items:s}=t;let i;e[0]!==s?(i=s.map(Yb),e[0]=s,e[1]=i):i=e[1];let r;return e[2]!==i?(r=n.jsx("div",{className:"grid grid-cols-2 gap-x-8 gap-y-6",children:i}),e[2]=i,e[3]=r):r=e[3],r}function Yb(t){return n.jsxs("div",{className:"flex flex-col gap-1 min-w-0",children:[n.jsx("span",{className:"text-xs text-muted-foreground truncate",children:t.label}),n.jsx("span",{className:"text-sm text-foreground tabular-nums truncate",children:t.value})]},t.label)}function Xb(t){const e=B.c(30),{userTokens:s,assistantTokens:i,otherTokens:r}=t,o=s+i+r,a=o>0?s/o*100:0,l=o>0?i/o*100:0,c=o>0?r/o*100:0;let d;e[0]!==a?(d=a>0&&n.jsx("div",{className:"h-full bg-chart-1",style:{width:`${a}%`}}),e[0]=a,e[1]=d):d=e[1];let u;e[2]!==l?(u=l>0&&n.jsx("div",{className:"h-full bg-chart-2",style:{width:`${l}%`}}),e[2]=l,e[3]=u):u=e[3];let h;e[4]!==c?(h=c>0&&n.jsx("div",{className:"h-full bg-muted-foreground/30",style:{width:`${c}%`}}),e[4]=c,e[5]=h):h=e[5];let f;e[6]!==d||e[7]!==u||e[8]!==h?(f=n.jsxs("div",{className:"flex h-2 w-full overflow-hidden rounded-full bg-muted",children:[d,u,h]}),e[6]=d,e[7]=u,e[8]=h,e[9]=f):f=e[9];let m;e[10]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-chart-1 shrink-0"}),e[10]=m):m=e[10];let p;e[11]!==a?(p=a.toFixed(1),e[11]=a,e[12]=p):p=e[12];let g;e[13]!==p?(g=n.jsxs("div",{className:"flex items-center gap-1.5",children:[m,n.jsxs("span",{className:"text-xs text-muted-foreground",children:["User ",p,"%"]})]}),e[13]=p,e[14]=g):g=e[14];let _;e[15]===Symbol.for("react.memo_cache_sentinel")?(_=n.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-chart-2 shrink-0"}),e[15]=_):_=e[15];let v;e[16]!==l?(v=l.toFixed(1),e[16]=l,e[17]=v):v=e[17];let x;e[18]!==v?(x=n.jsxs("div",{className:"flex items-center gap-1.5",children:[_,n.jsxs("span",{className:"text-xs text-muted-foreground",children:["Assistant ",v,"%"]})]}),e[18]=v,e[19]=x):x=e[19];let b;e[20]!==c||e[21]!==r?(b=r>0&&n.jsxs("div",{className:"flex items-center gap-1.5",children:[n.jsx("span",{className:"inline-block h-2 w-2 rounded-sm bg-muted-foreground/30 shrink-0"}),n.jsxs("span",{className:"text-xs text-muted-foreground",children:["Other ",c.toFixed(1),"%"]})]}),e[20]=c,e[21]=r,e[22]=b):b=e[22];let y;e[23]!==x||e[24]!==b||e[25]!==g?(y=n.jsxs("div",{className:"flex flex-wrap gap-x-3 gap-y-1",children:[g,x,b]}),e[23]=x,e[24]=b,e[25]=g,e[26]=y):y=e[26];let C;return e[27]!==y||e[28]!==f?(C=n.jsxs("div",{className:"flex flex-col gap-2",children:[f,y]}),e[27]=y,e[28]=f,e[29]=C):C=e[29],C}function Jb(t){const e=B.c(19),{part:s}=t,i=s.input?.agent_id,r=is(i),o=r?.title??"Subtask",a=r?.icon??null,l=s.state==="input-streaming"||s.state==="input-available"||s.state==="output-available"&&s.preliminary===!0,c=s.state==="output-error",d=s.state==="approval-requested";let u;e[0]!==a||e[1]!==o?(u=n.jsx(Ps,{icon:a,name:o,size:"xs",className:"size-6 rounded-md shrink-0"}),e[0]=a,e[1]=o,e[2]=u):u=e[2];const h=c?"text-destructive":"text-foreground";let f;e[3]!==h?(f=X("shrink-0 font-medium",h),e[3]=h,e[4]=f):f=e[4];let m;e[5]!==o||e[6]!==f?(m=n.jsx("span",{className:f,children:o}),e[5]=o,e[6]=f,e[7]=m):m=e[7];let p;e[8]!==s.input?(p=s.input?.prompt&&n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"text-muted-foreground/50",children:"·"}),n.jsx("span",{className:"truncate text-muted-foreground",children:s.input.prompt})]}),e[8]=s.input,e[9]=p):p=e[9];let g;e[10]!==d||e[11]!==c||e[12]!==l?(g=n.jsx("span",{className:"ml-auto shrink-0",children:l?n.jsx(De,{size:12,className:"animate-spin text-muted-foreground"}):c?n.jsx(Yg,{size:12,className:"text-destructive"}):d?n.jsx(oi,{size:12,className:"text-warning"}):n.jsx(N_,{size:12,className:"text-emerald-500"})}),e[10]=d,e[11]=c,e[12]=l,e[13]=g):g=e[13];let _;return e[14]!==u||e[15]!==m||e[16]!==p||e[17]!==g?(_=n.jsxs("div",{className:"flex items-center gap-2 text-xs min-w-0",children:[u,m,p,g]}),e[14]=u,e[15]=m,e[16]=p,e[17]=g,e[18]=_):_=e[18],_}function Qb(t){const e=B.c(58),{onClose:s,back:i,className:r}=t,[o,a]=S.useState(null),{messages:l}=Gi(),{tasks:c,taskId:d}=es(),{selectedModel:u,selectedVirtualMcp:h}=ai();let f,m,p,g,_,v,x,b;if(e[0]!==i||e[1]!==r||e[2]!==l||e[3]!==s||e[4]!==o?.id||e[5]!==u||e[6]!==h?.title||e[7]!==d||e[8]!==c){b=Symbol.for("react.early_return_sentinel");e:{let k;e[17]!==d?(k=J=>J.id===d,e[17]=d,e[18]=k):k=e[18];const w=c.find(k),V=zh(l),j=[...l].reverse().find(a0),R=j?.metadata?.usage,T=j?.metadata?.modelLimits?.contextWindow??u?.limits?.contextWindow??null,I=R?.contextTokens??R?.totalTokens??0,A=T&&T>0?(I/T*100).toFixed(1):null,N=l;let E;e[19]!==N?(E=N.filter(o0).reduce(r0,0),e[19]=N,e[20]=E):E=e[20];const M=E,L=l;let D;e[21]!==L?(D=L.filter(n0).reduce(i0,0),e[21]=L,e[22]=D):D=e[22];const P=D,O=Math.max(0,V.totalTokens-M-P),$=l[0],z=l.at(-1),W=$?.metadata?.created_at??w?.created_at,F=z?.metadata?.created_at??w?.updated_at,K=l.filter(s0),H=l.flatMap(e0),U=u?.modelId?qb(u.modelId):"—",Y=h?.title??"Decopilot",q=[{label:"Session",value:w?.title??"New chat"},{label:"Messages",value:K.length},{label:"Agent",value:Y},{label:"Model",value:U},{label:"Context Limit",value:T?on(T):"—"},{label:"Session Tokens (billed)",value:V.totalTokens>0?on(V.totalTokens):"0"},{label:"Usage",value:A!==null?`${A}%`:"—"},{label:"Input Tokens",value:V.inputTokens>0?on(V.inputTokens):"0"},{label:"Output Tokens",value:V.outputTokens>0?on(V.outputTokens):"0"},{label:"Reasoning Tokens",value:V.reasoningTokens>0?on(V.reasoningTokens):"0"},{label:"Cost",value:V.cost>0?`$${V.cost<.001?V.cost.toFixed(6):V.cost.toFixed(4)}`:"$0.00"},{label:"Session Created",value:ed(W)},{label:"Last Activity",value:ed(F)}];if(!w&&K.length===0){let J;e[23]!==r?(J=X("flex flex-col h-full w-full border-l border-border bg-background",r),e[23]=r,e[24]=J):J=e[24];let se;e[25]===Symbol.for("react.memo_cache_sentinel")?(se=n.jsx("span",{className:"text-sm font-medium text-foreground",children:"Context"}),e[25]=se):se=e[25];let ne;e[26]!==i?(ne=i?n.jsx(pa,{size:14,className:"text-muted-foreground"}):n.jsx(ri,{size:14,className:"text-muted-foreground"}),e[26]=i,e[27]=ne):ne=e[27];let ce;e[28]!==s||e[29]!==ne?(ce=n.jsxs("div",{className:"h-11 px-4 flex items-center justify-between shrink-0 border-b border-border/50",children:[se,n.jsx("button",{type:"button",onClick:s,className:"flex size-6 items-center justify-center rounded hover:bg-accent transition-colors",children:ne})]}),e[28]=s,e[29]=ne,e[30]=ce):ce=e[30];let xe;e[31]===Symbol.for("react.memo_cache_sentinel")?(xe=n.jsx("div",{className:"flex-1 flex items-center justify-center px-4 text-center",children:n.jsx("p",{className:"text-xs text-muted-foreground",children:"Start a conversation to see context"})}),e[31]=xe):xe=e[31];let ae;e[32]!==J||e[33]!==ce?(ae=n.jsxs("div",{className:J,children:[ce,xe]}),e[32]=J,e[33]=ce,e[34]=ae):ae=e[34],b=ae;break e}e[35]!==r?(v=X("flex flex-col h-full w-full border-l border-border bg-background overflow-y-auto",r),e[35]=r,e[36]=v):v=e[36];let G;e[37]===Symbol.for("react.memo_cache_sentinel")?(G=n.jsx("span",{className:"text-sm font-medium text-foreground",children:"Context"}),e[37]=G):G=e[37];let ee;e[38]!==i?(ee=i?n.jsx(pa,{size:14}):n.jsx(ri,{size:14}),e[38]=i,e[39]=ee):ee=e[39],e[40]!==s||e[41]!==ee?(x=n.jsxs("div",{className:"flex h-11 shrink-0 items-center justify-between border-b border-border/50 px-4",children:[G,n.jsx("button",{type:"button",onClick:s,className:"flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:ee})]}),e[40]=s,e[41]=ee,e[42]=x):x=e[42],f="flex flex-col gap-8 p-6",m=H.length>0&&n.jsxs("div",{className:"flex flex-col gap-3",children:[n.jsx("span",{className:"text-xs text-muted-foreground",children:"Subtasks"}),n.jsx("div",{className:"flex flex-col gap-1",children:H.map(Zb)})]}),p=n.jsx(Gb,{items:q});let Z;e[43]===Symbol.for("react.memo_cache_sentinel")?(Z=n.jsx("span",{className:"text-xs text-muted-foreground",children:"Context Breakdown"}),e[43]=Z):Z=e[43],e[44]!==P||e[45]!==O||e[46]!==M?(g=n.jsxs("div",{className:"flex flex-col gap-3",children:[Z,n.jsx(Xb,{userTokens:M,assistantTokens:P,otherTokens:O})]}),e[44]=P,e[45]=O,e[46]=M,e[47]=g):g=e[47],_=K.length>0&&n.jsxs("div",{className:"flex flex-col gap-3",children:[n.jsx("span",{className:"text-xs text-muted-foreground",children:"Raw messages"}),n.jsx("div",{className:"flex flex-col gap-1",children:K.map(J=>{const se=J.metadata?.created_at,ne=o?.id===J.id;return n.jsxs("div",{className:"rounded-md border border-border/50 overflow-hidden",children:[n.jsxs("button",{type:"button",onClick:()=>a(ne?null:J),className:"flex items-center justify-between gap-2 px-3 py-2 text-xs hover:bg-accent/50 w-full text-left cursor-pointer",children:[n.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[n.jsx("span",{className:X("shrink-0 font-medium",J.role==="user"?"text-chart-1":"text-chart-2"),children:J.role}),n.jsx("span",{className:"text-muted-foreground",children:"•"}),n.jsx("span",{className:"truncate text-muted-foreground font-mono",children:J.id})]}),se&&n.jsx("span",{className:"shrink-0 text-muted-foreground tabular-nums",children:new Date(se).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"})})]}),ne&&n.jsx("pre",{className:"text-xs font-mono bg-muted px-3 py-2 overflow-auto whitespace-pre-wrap break-all border-t border-border/50 max-h-64",children:JSON.stringify(J,null,2)})]},J.id)})})]})}e[0]=i,e[1]=r,e[2]=l,e[3]=s,e[4]=o?.id,e[5]=u,e[6]=h?.title,e[7]=d,e[8]=c,e[9]=f,e[10]=m,e[11]=p,e[12]=g,e[13]=_,e[14]=v,e[15]=x,e[16]=b}else f=e[9],m=e[10],p=e[11],g=e[12],_=e[13],v=e[14],x=e[15],b=e[16];if(b!==Symbol.for("react.early_return_sentinel"))return b;let y;e[48]!==f||e[49]!==m||e[50]!==p||e[51]!==g||e[52]!==_?(y=n.jsxs("div",{className:f,children:[m,p,g,_]}),e[48]=f,e[49]=m,e[50]=p,e[51]=g,e[52]=_,e[53]=y):y=e[53];let C;return e[54]!==v||e[55]!==x||e[56]!==y?(C=n.jsxs("div",{className:v,children:[x,y]}),e[54]=v,e[55]=x,e[56]=y,e[57]=C):C=e[57],C}function Zb(t,e){return n.jsx(Jb,{part:t},e)}function e0(t){return(t.parts??[]).filter(t0)}function t0(t){return t.type==="tool-subtask"}function s0(t){return t.role!=="system"}function i0(t,e){const s=e.metadata?.usage;return t+(s?.outputTokens??0)}function n0(t){return t.role==="assistant"}function r0(t,e){const s=e.metadata?.usage;return t+(s?.inputTokens??0)}function o0(t){return t.role==="user"}function a0(t){return t.role==="assistant"&&t.metadata?.usage}const td=["amber","bold","bright","calm","crimson","coral","daring","deep","dusty","eager","faint","fierce","frozen","gentle","golden","grand","green","hollow","iron","ivory","keen","lasting","lunar","mellow","misty","noble","olive","pale","prime","quiet","rapid","rustic","serene","sharp","silver","sleek","solar","stark","still","swift","tawny","tender","thin","true","vast","velvet","warm","wild","young","zen"],sd=["anchor","birch","brook","cedar","cliff","cove","crane","dune","echo","ember","falcon","fern","flint","forge","frost","glade","grove","harbor","hawk","iris","jade","lark","maple","marsh","mesa","opal","orbit","peak","pine","plume","quartz","rapids","reef","ridge","river","sage","shore","slate","spruce","stone","summit","thorn","tide","trail","vale","wren","aspen","delta","crest","spark"];function l0(){const t=td[Math.floor(Math.random()*td.length)],e=sd[Math.floor(Math.random()*sd.length)];return`deco/${t}-${e}`}function c0(t){const e=t;if(e.structuredContent)return e.structuredContent;const s=e.content?.find(i=>i.type==="text")?.text;if(s)try{return JSON.parse(s)}catch{return[]}return[]}function d0(t){const e=B.c(25),{orgId:s,userId:i,connectionId:r,vmMap:o,owner:a,repo:l,enabled:c}=t,d=c===void 0?!0:c,u=r??null;let h;e[0]!==s||e[1]!==u?(h={connectionId:u,orgId:s},e[0]=s,e[1]=u,e[2]=h):h=e[2];const f=Le(h);let m;e[3]!==a||e[4]!==l?(m={owner:a,repo:l},e[3]=a,e[4]=l,e[5]=m):m=e[5];const p=d&&!!r&&!!a&&!!l;let g;e[6]!==f||e[7]!==m||e[8]!==p?(g={client:f,toolName:"list_branches",toolArguments:m,enabled:p,staleTime:3e4,select:m0},e[6]=f,e[7]=m,e[8]=p,e[9]=g):g=e[9];const{data:_,isLoading:v,isError:x}=ki(g);let b,y;e[10]!==i||e[11]!==o?(y=new Set(Object.keys(o?.[i]??{})),b=[...y].sort().map(f0),e[10]=i,e[11]=o,e[12]=b,e[13]=y):(b=e[12],y=e[13]);const C=b;let k;if(e[14]!==_||e[15]!==y){const R=Array.isArray(_)?_:_?.branches??[];let T;e[17]!==y?(T=I=>!y.has(I.name),e[17]=y,e[18]=T):T=e[18],k=R.filter(u0).filter(T).map(h0),e[14]=_,e[15]=y,e[16]=k}else k=e[16];const w=k,V=Array.isArray(_)?null:_?.default_branch??null;let j;return e[19]!==V||e[20]!==x||e[21]!==v||e[22]!==w||e[23]!==C?(j={yours:C,others:w,defaultBase:V,isLoading:v,isError:x},e[19]=V,e[20]=x,e[21]=v,e[22]=w,e[23]=C,e[24]=j):j=e[24],j}function h0(t){return{name:t.name,source:"other",author:typeof t.commit?.author=="string"?t.commit.author:t.commit?.author?.login??null}}function u0(t){return typeof t.name=="string"}function f0(t){return{name:t,source:"yours"}}function m0(t){return c0(t)}function p0(t){const e=B.c(41),{orgId:s,userId:i,connectionId:r,owner:o,repo:a,vmMap:l,value:c,onChange:d}=t,[u,h]=S.useState(!1);let f;e[0]!==r||e[1]!==u||e[2]!==s||e[3]!==o||e[4]!==a||e[5]!==i||e[6]!==l?(f={orgId:s,userId:i,connectionId:r,vmMap:l,owner:o,repo:a,enabled:u},e[0]=r,e[1]=u,e[2]=s,e[3]=o,e[4]=a,e[5]=i,e[6]=l,e[7]=f):f=e[7];const{yours:m,others:p,isLoading:g,isError:_}=d0(f);let v;e[8]!==d?(v=E=>{d(E),h(!1)},e[8]=d,e[9]=v):v=e[9];const x=v,b=c??"Select branch…";let y;e[10]===Symbol.for("react.memo_cache_sentinel")?(y=n.jsx(yn,{className:"h-3.5 w-3.5"}),e[10]=y):y=e[10];let C;e[11]!==b?(C=n.jsx(li,{asChild:!0,children:n.jsxs(oe,{variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 font-mono text-xs",children:[y,n.jsx("span",{className:"max-w-[200px] truncate",children:b})]})}),e[11]=b,e[12]=C):C=e[12];let k;e[13]===Symbol.for("react.memo_cache_sentinel")?(k=n.jsx(v_,{placeholder:"Search branches…"}),e[13]=k):k=e[13];let w;e[14]!==x?(w=n.jsxs("div",{className:"flex items-center border-b pr-2 [&>[data-slot=command-input-wrapper]]:flex-1 [&>[data-slot=command-input-wrapper]]:border-b-0",children:[k,n.jsx(oe,{variant:"outline",size:"sm",className:"h-7 shrink-0",onClick:()=>x(l0()),children:"New"})]}),e[14]=x,e[15]=w):w=e[15];let V;e[16]!==_?(V=_&&n.jsx("div",{className:"p-3 text-xs text-muted-foreground",children:"Couldn't load branches from GitHub. You can still pick from your branches."}),e[16]=_,e[17]=V):V=e[17];let j;e[18]!==_||e[19]!==g||e[20]!==p.length||e[21]!==m.length?(j=!_&&!g&&m.length===0&&p.length===0&&n.jsx(__,{children:"No branches found."}),e[18]=_,e[19]=g,e[20]=p.length,e[21]=m.length,e[22]=j):j=e[22];let R;e[23]!==x||e[24]!==m?(R=m.length>0&&n.jsx(Nc,{heading:"Your branches",children:m.map(E=>n.jsxs(Ac,{value:E.name,onSelect:()=>x(E.name),children:[n.jsx(yn,{className:"mr-2 h-4 w-4"}),n.jsx("span",{className:"flex-1 truncate",children:E.name})]},E.name))}),e[23]=x,e[24]=m,e[25]=R):R=e[25];let T;e[26]!==p||e[27]!==x?(T=p.length>0&&n.jsxs(n.Fragment,{children:[n.jsx(x_,{}),n.jsx(Nc,{heading:"Other branches in repo",children:p.map(E=>n.jsxs(Ac,{value:E.name,onSelect:()=>x(E.name),children:[n.jsx(yn,{className:"mr-2 h-4 w-4"}),n.jsx("span",{className:"flex-1 truncate",children:E.name}),E.author&&n.jsxs("span",{className:"text-xs text-muted-foreground",children:["@",E.author]})]},E.name))})]}),e[26]=p,e[27]=x,e[28]=T):T=e[28];let I;e[29]!==T||e[30]!==V||e[31]!==j||e[32]!==R?(I=n.jsxs(b_,{children:[V,j,R,T]}),e[29]=T,e[30]=V,e[31]=j,e[32]=R,e[33]=I):I=e[33];let A;e[34]!==I||e[35]!==w?(A=n.jsx(ci,{className:"w-[min(420px,calc(100vw-2rem))] p-0",align:"start",children:n.jsxs(y_,{children:[w,I]})}),e[34]=I,e[35]=w,e[36]=A):A=e[36];let N;return e[37]!==u||e[38]!==A||e[39]!==C?(N=n.jsxs(di,{open:u,onOpenChange:h,children:[C,A]}),e[37]=u,e[38]=A,e[39]=C,e[40]=N):N=e[40],N}const g0=["radial-gradient(ellipse 25% 220% at -5% 120%, rgba(165,149,255,0.35) 0%, transparent 100%)","radial-gradient(ellipse 25% 220% at 105% -20%, rgba(208,236,26,0.32) 0%, transparent 100%)"].join(", "),_0="/decotexture.svg";function id(t){const e=B.c(7),{onClick:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={backgroundImage:g0},e[0]=i):i=e[0];let r,o;e[1]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("div",{className:"relative shrink-0 p-1.5 bg-[var(--brand-green-light)] rounded-lg border border-border",children:n.jsx(Ps,{icon:"/logos/deco%20logo.svg",name:"deco.cx",size:"xs",className:"border-0 rounded-none bg-transparent"})}),o=n.jsx("p",{className:"flex-1 relative text-sm font-medium text-foreground leading-none whitespace-nowrap",children:"Import your deco.cx site"}),e[1]=r,e[2]=o):(r=e[1],o=e[2]);let a;e[3]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx("img",{src:_0,alt:"","aria-hidden":!0,className:"absolute pointer-events-none",style:{width:"274.5px",height:"272.25px",left:"calc(50% + 145.5px)",top:"calc(50% + 40px)",transform:"translate(-50%, -50%)"}}),e[3]=a):a=e[3];let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx("div",{className:"relative bg-background flex items-center justify-center size-8 rounded-md shrink-0",children:n.jsx(uo,{size:16,className:"text-foreground transition-transform group-hover:translate-x-0.5"})}),e[4]=l):l=e[4];let c;return e[5]!==s?(c=n.jsxs("button",{type:"button",onClick:s,className:"w-full relative flex items-center gap-4 px-4 py-4 rounded-lg border border-border bg-background overflow-hidden transition-colors text-left cursor-pointer group",style:i,children:[r,o,a,l]}),e[5]=s,e[6]=c):c=e[6],c}function x0(){const t=B.c(5),{data:e}=St.useSession();let s;t[0]!==e?.user?.email?(s=ct.decoProfile(e?.user?.email),t[0]=e?.user?.email,t[1]=s):s=t[1];const i=!!e?.user?.email;let r;t[2]!==s||t[3]!==i?(r={queryKey:s,queryFn:v0,enabled:i,staleTime:3e5},t[2]=s,t[3]=i,t[4]=r):r=t[4];const{data:o}=Wi(r);return o?.isDecoUser??!1}async function v0(){const t=await fetch("/api/deco-sites/profile");return t.ok?t.json():{isDecoUser:!1}}function b0(t){const e=B.c(56),{onOpenContextPanel:s}=t,{data:i}=St.useSession(),[r,o]=S.useState(!1),a=x0(),l=Ms(),{hasDecoKey:c,isZeroBalance:d,isInitialFreeCredit:u,balanceDollars:h,hasOnlyDecoProvider:f}=_o();let m;e[0]!==i?.user?.name?(m=i?.user?.name?.split(" ")[0]||"there",e[0]=i?.user?.name,e[1]=m):m=e[1];const p=m,g=c&&u&&h!=null,_=c&&d&&f;if(l){let A;e[2]!==h||e[3]!==g?(A=g&&n.jsx("div",{className:"mb-4",children:n.jsx(Oe.CreditsEyebrow,{balanceDollars:h})}),e[2]=h,e[3]=g,e[4]=A):A=e[4];let N;e[5]!==_?(N=_&&n.jsx("div",{className:"mb-4",children:n.jsx(Oe.NoCreditsEyebrow,{})}),e[5]=_,e[6]=N):N=e[6];let E;e[7]!==p?(E=n.jsxs("p",{className:"text-3xl font-medium text-foreground text-center max-w-[280px]",children:["What's on your mind, ",p,"?"]}),e[7]=p,e[8]=E):E=e[8];let M;e[9]!==A||e[10]!==N||e[11]!==E?(M=n.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center w-full",children:[A,N,E]}),e[9]=A,e[10]=N,e[11]=E,e[12]=M):M=e[12];let L;e[13]===Symbol.for("react.memo_cache_sentinel")?(L=n.jsx(Zc,{}),e[13]=L):L=e[13];let D;e[14]!==s?(D=n.jsxs("div",{className:"w-full flex flex-col gap-4 pb-4",children:[L,n.jsx(Oe.Input,{onOpenContextPanel:s,showConnectionsBanner:!0})]}),e[14]=s,e[15]=D):D=e[15];let P;e[16]!==a?(P=a&&n.jsx("div",{className:"w-full",children:n.jsx(id,{onClick:()=>o(!0)})}),e[16]=a,e[17]=P):P=e[17];let O;e[18]!==M||e[19]!==D||e[20]!==P?(O=n.jsxs("div",{className:"flex-1 relative flex flex-col items-center px-4",children:[M,D,P]}),e[18]=M,e[19]=D,e[20]=P,e[21]=O):O=e[21];let $;e[22]!==r?($=n.jsx(Ur,{open:r,onOpenChange:o}),e[22]=r,e[23]=$):$=e[23];let z;return e[24]!==$||e[25]!==O?(z=n.jsxs(n.Fragment,{children:[O,$]}),e[24]=$,e[25]=O,e[26]=z):z=e[26],z}let v;e[27]!==h||e[28]!==g?(v=g&&n.jsx("div",{className:"mb-4",children:n.jsx(Oe.CreditsEyebrow,{balanceDollars:h})}),e[27]=h,e[28]=g,e[29]=v):v=e[29];let x;e[30]!==_?(x=_&&n.jsx("div",{className:"mb-4",children:n.jsx(Oe.NoCreditsEyebrow,{})}),e[30]=_,e[31]=x):x=e[31];let b;e[32]!==p?(b=n.jsxs("p",{className:"text-3xl font-medium text-foreground",children:["What's on your mind, ",p,"?"]}),e[32]=p,e[33]=b):b=e[33];let y;e[34]!==v||e[35]!==x||e[36]!==b?(y=n.jsxs("div",{className:"text-center mb-10",children:[v,x,b]}),e[34]=v,e[35]=x,e[36]=b,e[37]=y):y=e[37];let C;e[38]!==s?(C=n.jsx("div",{className:"w-full",children:n.jsx(Oe.Input,{onOpenContextPanel:s,showConnectionsBanner:!0})}),e[38]=s,e[39]=C):C=e[39];let k;e[40]!==y||e[41]!==C?(k=n.jsxs("div",{className:"flex flex-col items-center w-full max-w-[672px]",children:[y,C]}),e[40]=y,e[41]=C,e[42]=k):k=e[42];let w;e[43]===Symbol.for("react.memo_cache_sentinel")?(w=n.jsx("div",{className:"w-full mt-10 mx-auto",children:n.jsx(Zc,{})}),e[43]=w):w=e[43];let V;e[44]!==k?(V=n.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center w-full",children:[k,w]}),e[44]=k,e[45]=V):V=e[45];let j;e[46]!==a?(j=a&&n.jsx("div",{className:"absolute bottom-6 left-0 right-0 px-10",children:n.jsx("div",{className:"w-full max-w-[500px] mx-auto",children:n.jsx(id,{onClick:()=>o(!0)})})}),e[46]=a,e[47]=j):j=e[47];let R;e[48]!==j||e[49]!==V?(R=n.jsxs("div",{className:"flex-1 relative flex flex-col items-center px-10",children:[V,j]}),e[48]=j,e[49]=V,e[50]=R):R=e[50];let T;e[51]!==r?(T=n.jsx(Ur,{open:r,onOpenChange:o}),e[51]=r,e[52]=T):T=e[52];let I;return e[53]!==R||e[54]!==T?(I=n.jsxs(n.Fragment,{children:[R,T]}),e[53]=R,e[54]=T,e[55]=I):I=e[55],I}function y0(){const t=B.c(26),{org:e}=ye(),{selectedVirtualMcp:s}=ai(),{data:i}=St.useSession(),{currentBranch:r,setCurrentTaskBranch:o}=es();let a;t[0]!==e.id?(a=ho(e.id),t[0]=e.id,t[1]=a):a=t[1];const c=s??a,d=is(c.id),u=i?.user?.id??"",h=d?.metadata?.githubRepo??null,f=!!h?.connectionId&&!!u;let m;t[2]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx(go,{size:32}),t[2]=m):m=t[2];let p;t[3]!==c.icon||t[4]!==c.title?(p=n.jsx(Ps,{icon:c.icon,name:c.title,size:"lg",fallbackIcon:m,className:"size-10 min-w-10 md:size-[60px]! md:min-w-[60px] rounded-xl md:rounded-[18px]!"}),t[3]=c.icon,t[4]=c.title,t[5]=p):p=t[5];let g;t[6]!==c.title?(g=n.jsx("h3",{className:"text-base md:text-xl font-medium text-foreground",children:c.title}),t[6]=c.title,t[7]=g):g=t[7];const _=c.description??"Ask anything about configuring model providers or using MCP Mesh.";let v;t[8]!==_?(v=n.jsx("div",{className:"text-muted-foreground text-center text-base max-w-md line-clamp-2",children:_}),t[8]=_,t[9]=v):v=t[9];let x;t[10]!==r||t[11]!==d?.metadata?.vmMap||t[12]!==h||t[13]!==e.id||t[14]!==o||t[15]!==f||t[16]!==u?(x=f&&n.jsx("div",{className:"mt-2",children:n.jsx(p0,{orgId:e.id,userId:u,connectionId:h.connectionId,owner:h.owner,repo:h.name,vmMap:d?.metadata?.vmMap,value:r??void 0,onChange:o})}),t[10]=r,t[11]=d?.metadata?.vmMap,t[12]=h,t[13]=e.id,t[14]=o,t[15]=f,t[16]=u,t[17]=x):x=t[17];let b;t[18]!==p||t[19]!==g||t[20]!==v||t[21]!==x?(b=n.jsxs("div",{className:"flex flex-col items-center justify-center gap-2 md:gap-4 text-center",children:[p,g,v,x]}),t[18]=p,t[19]=g,t[20]=v,t[21]=x,t[22]=b):b=t[22];let y;t[23]===Symbol.for("react.memo_cache_sentinel")?(y=n.jsx("div",{className:"w-full max-w-3xl mx-auto",children:n.jsx(Oe.IceBreakers,{})}),t[23]=y):y=t[23];let C;return t[24]!==b?(C=n.jsxs("div",{className:"h-full w-full flex flex-col items-center justify-center gap-6 px-4",children:[b,y]}),t[24]=b,t[25]=C):C=t[25],C}function S0(t){const e=B.c(27),{variant:s}=t,{org:i}=ye(),r=Nl(),{isChatEmpty:o}=Gi(),[a,l]=S.useState("chat"),c=_o();if(r.length===0){let C;return e[0]===Symbol.for("react.memo_cache_sentinel")?(C=n.jsx(Oe,{className:"animate-in fade-in-0 duration-200",children:n.jsx(Oe.Main,{className:"flex flex-col items-center",children:n.jsx(Oe.EmptyState,{children:n.jsx(Oe.NoAiProviderEmptyState,{})})})}),e[0]=C):C=e[0],C}let d;e[1]!==c.hasDecoKey||e[2]!==c.hasOnlyDecoProvider||e[3]!==c.isLoading||e[4]!==c.isZeroBalance||e[5]!==o||e[6]!==i?(d=c.hasDecoKey&&c.isZeroBalance&&c.hasOnlyDecoProvider&&!c.isLoading&&o&&!Xv(i.id),e[1]=c.hasDecoKey,e[2]=c.hasOnlyDecoProvider,e[3]=c.isLoading,e[4]=c.isZeroBalance,e[5]=o,e[6]=i,e[7]=d):d=e[7];const u=d;let h;e[8]!==u?(h=u&&n.jsx(Oe.CreditsEmptyState,{}),e[8]=u,e[9]=h):h=e[9];const f=a!=="chat"?"opacity-0 pointer-events-none":"opacity-100";let m;e[10]!==f?(m=X("absolute inset-0 flex flex-col transition-opacity duration-100 ease-out",f),e[10]=f,e[11]=m):m=e[11];let p;e[12]!==o||e[13]!==s?(p=o?s==="home"?n.jsx(b0,{onOpenContextPanel:()=>l("context")}):n.jsxs(n.Fragment,{children:[n.jsx(Oe.Main,{children:n.jsx(y0,{})}),n.jsx(Oe.Footer,{children:n.jsx(Oe.Input,{onOpenContextPanel:()=>l("context")})})]}):n.jsxs(n.Fragment,{children:[n.jsx(Oe.Main,{children:n.jsx(Oe.Messages,{})}),n.jsx(Oe.Footer,{children:n.jsx(Oe.Input,{onOpenContextPanel:()=>l("context")})})]}),e[12]=o,e[13]=s,e[14]=p):p=e[14];let g;e[15]!==m||e[16]!==p?(g=n.jsx("div",{className:m,children:p}),e[15]=m,e[16]=p,e[17]=g):g=e[17];const _=a==="context"?"opacity-100":"opacity-0 pointer-events-none";let v;e[18]!==_?(v=X("absolute inset-0 flex flex-col transition-opacity duration-100 ease-out",_),e[18]=_,e[19]=v):v=e[19];let x;e[20]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx(Qb,{back:!0,onClose:()=>l("chat")}),e[20]=x):x=e[20];let b;e[21]!==v?(b=n.jsx("div",{className:v,children:x}),e[21]=v,e[22]=b):b=e[22];let y;return e[23]!==b||e[24]!==h||e[25]!==g?(y=n.jsxs(Oe,{className:"relative overflow-hidden animate-in fade-in-0 duration-200",children:[h,g,b]}),e[23]=b,e[24]=h,e[25]=g,e[26]=y):y=e[26],y}function of(t){const e=B.c(4),{variant:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(Oe.Skeleton,{}),e[0]=i):i=e[0];let r;e[1]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx(Oe.Skeleton,{}),e[1]=r):r=e[1];let o;return e[2]!==s?(o=n.jsx(Ns,{fallback:i,children:n.jsx(S.Suspense,{fallback:r,children:n.jsx(S0,{variant:s})})}),e[2]=s,e[3]=o):o=e[3],o}function w0(){const t=B.c(6),{org:e,locator:s}=ye(),i=Mt();let r;t[0]!==s||t[1]!==i?(r=()=>{i.invalidateQueries({queryKey:ct.tasksPrefix(s)})},t[0]=s,t[1]=i,t[2]=r):r=t[2];let o;t[3]!==e.id||t[4]!==r?(o={orgId:e.id,onTaskStatus:r},t[3]=e.id,t[4]=r,t[5]=o):o=t[5],E_(o)}function V0(t){const e=B.c(8),{virtualMcpId:s,size:i,showAutomationBadge:r}=t,o=i===void 0?"sm":i;let a;e[0]!==o||e[1]!==s?(a=s?n.jsx(C0,{virtualMcpId:s,size:o}):n.jsx(gs,{icon:null,name:"?",size:o}),e[0]=o,e[1]=s,e[2]=a):a=e[2];let l;e[3]!==r?(l=r&&n.jsx("span",{"aria-label":"Automation-triggered",className:"absolute -bottom-0.5 -right-0.5 flex size-4 items-center justify-center rounded-full bg-blue-500 border border-blue-600 text-white",children:n.jsx(Ui,{size:10,className:"text-white"})}),e[3]=r,e[4]=l):l=e[4];let c;return e[5]!==a||e[6]!==l?(c=n.jsxs("div",{className:"relative shrink-0",children:[a,l]}),e[5]=a,e[6]=l,e[7]=c):c=e[7],c}function C0(t){const e=B.c(6),{virtualMcpId:s,size:i}=t,r=is(s);if(!r){let l;return e[0]!==i?(l=n.jsx(gs,{icon:null,name:"?",size:i}),e[0]=i,e[1]=l):l=e[1],l}const o=r.icon??null;let a;return e[2]!==r.title||e[3]!==i||e[4]!==o?(a=n.jsx(gs,{icon:o,name:r.title,size:i}),e[2]=r.title,e[3]=i,e[4]=o,e[5]=a):a=e[5],a}function Fs(t){const e=t?.metadata?.githubRepo;return e?.connectionId&&t?.connections?.some(i=>i.connection_id===e.connectionId)?e:null}function k0(t){const e=B.c(42),{task:s,isActive:i,onClick:r,onArchive:o,showAutomationBadge:a}=t,l=Qp(s.status),c=l.icon,d=is(s.virtual_mcp_id);let u;e[0]!==d?(u=Fs(d),e[0]=d,e[1]=u):u=e[1];const h=u,f="button",m=0;let p;e[2]!==r?(p=O=>{O.target===O.currentTarget&&(O.key==="Enter"||O.key===" ")&&(O.preventDefault(),r())},e[2]=r,e[3]=p):p=e[3];const g=i?"bg-accent":"hover:bg-accent/60";let _;e[4]!==g?(_=X("group/row flex items-center gap-3 px-2 py-1.5 rounded-md cursor-pointer transition-colors",g),e[4]=g,e[5]=_):_=e[5];let v;e[6]!==a||e[7]!==s.virtual_mcp_id?(v=n.jsx(V0,{virtualMcpId:s.virtual_mcp_id,size:"xs",showAutomationBadge:a}),e[6]=a,e[7]=s.virtual_mcp_id,e[8]=v):v=e[8];const x=s.title||"Untitled task";let b;e[9]!==x?(b=n.jsx("div",{className:"text-sm text-foreground truncate",children:x}),e[9]=x,e[10]=b):b=e[10];let y;e[11]!==h||e[12]!==s.branch||e[13]!==s.updated_at?(y=s.updated_at&&n.jsxs("div",{className:"flex items-center gap-1 text-xs text-muted-foreground min-w-0",children:[s.branch?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"truncate font-mono",children:s.branch}),n.jsx("span",{className:"shrink-0",children:"·"})]}):h?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"truncate",children:[h.owner,"/",h.name]}),n.jsx("span",{className:"shrink-0",children:"·"})]}):null,n.jsx("span",{className:"shrink-0",children:Zp(new Date(s.updated_at))})]}),e[11]=h,e[12]=s.branch,e[13]=s.updated_at,e[14]=y):y=e[14];let C;e[15]!==y||e[16]!==b?(C=n.jsxs("div",{className:"flex-1 min-w-0",children:[b,y]}),e[15]=y,e[16]=b,e[17]=C):C=e[17];const k="shrink-0 grid [grid-template-areas:'slot'] items-center justify-items-center",w="[grid-area:slot] flex size-7 items-center justify-center group-hover/row:invisible",V=l.label,j=14,R=X(l.iconClassName,s.status==="in_progress"&&"animate-spin");let T;e[18]!==c||e[19]!==R?(T=n.jsx(c,{size:j,className:R}),e[18]=c,e[19]=R,e[20]=T):T=e[20];let I;e[21]!==l||e[22]!==T?(I=n.jsx("span",{className:w,"aria-label":V,children:T}),e[21]=l,e[22]=T,e[23]=I):I=e[23];let A;e[24]!==o?(A=O=>{O.stopPropagation(),o()},e[24]=o,e[25]=A):A=e[25];let N;e[26]===Symbol.for("react.memo_cache_sentinel")?(N=n.jsx(jg,{size:14}),e[26]=N):N=e[26];let E;e[27]!==A?(E=n.jsx(st,{asChild:!0,children:n.jsx("button",{type:"button","aria-label":"Archive task",onClick:A,className:"[grid-area:slot] invisible group-hover/row:visible flex size-7 items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-muted",children:N})}),e[27]=A,e[28]=E):E=e[28];let M;e[29]===Symbol.for("react.memo_cache_sentinel")?(M=n.jsx(it,{side:"right",children:"Archive"}),e[29]=M):M=e[29];let L;e[30]!==E?(L=n.jsxs(nt,{children:[E,M]}),e[30]=E,e[31]=L):L=e[31];let D;e[32]!==I||e[33]!==L?(D=n.jsxs("div",{className:k,children:[I,L]}),e[32]=I,e[33]=L,e[34]=D):D=e[34];let P;return e[35]!==r||e[36]!==C||e[37]!==D||e[38]!==p||e[39]!==_||e[40]!==v?(P=n.jsxs("div",{role:f,tabIndex:m,onClick:r,onKeyDown:p,className:_,children:[v,C,D]}),e[35]=r,e[36]=C,e[37]=D,e[38]=p,e[39]=_,e[40]=v,e[41]=P):P=e[41],P}const af={all:"All tasks",manual:"Chats",automation:"Automation"},lf={all:"All members",mine:"Mine only"};function j0(t){const e=B.c(57),{title:s,tasks:i,activeTaskId:r,onSelect:o,onArchive:a,onNew:l,showNewButton:c,showAutomationBadge:d,emptyLabel:u,currentUserId:h}=t,[f,m]=S.useState("all"),[p,g]=S.useState("mine");let _;e[0]!==h||e[1]!==p||e[2]!==i?(_=p==="mine"&&h?i.filter(K=>K.created_by===h):i,e[0]=h,e[1]=p,e[2]=i,e[3]=_):_=e[3];const v=_;let x;e[4]!==f||e[5]!==v?(x=f==="automation"?v.filter(I0):f==="manual"?v.filter(E0):v,e[4]=f,e[5]=v,e[6]=x):x=e[6];const b=x;let y;e[7]!==s?(y=n.jsx("span",{children:s}),e[7]=s,e[8]=y):y=e[8];let C;e[9]!==p?(C=n.jsx(Es,{asChild:!0,children:n.jsx("button",{type:"button","aria-label":"Filter by member",className:"flex size-8 items-center justify-center rounded-md hover:bg-muted hover:text-foreground",children:p==="mine"?n.jsx(Ng,{size:16}):n.jsx(go,{size:16})})}),e[9]=p,e[10]=C):C=e[10];let k;e[11]!==p?(k=K=>{const H=K;H!==p&&ie("tasks_panel_member_filter_changed",{to_value:H}),g(H)},e[11]=p,e[12]=k):k=e[12];let w;e[13]===Symbol.for("react.memo_cache_sentinel")?(w=Object.keys(lf),e[13]=w):w=e[13];let V;e[14]===Symbol.for("react.memo_cache_sentinel")?(V=w.map(A0),e[14]=V):V=e[14];let j;e[15]!==p||e[16]!==k?(j=n.jsx(Is,{align:"end",children:n.jsx(xc,{value:p,onValueChange:k,children:V})}),e[15]=p,e[16]=k,e[17]=j):j=e[17];let R;e[18]!==C||e[19]!==j?(R=n.jsxs(As,{children:[C,j]}),e[18]=C,e[19]=j,e[20]=R):R=e[20];const T=f!=="all"&&"text-purple-500";let I;e[21]!==T?(I=X("flex size-8 items-center justify-center rounded-md hover:bg-muted hover:text-foreground",T),e[21]=T,e[22]=I):I=e[22];let A;e[23]===Symbol.for("react.memo_cache_sentinel")?(A=n.jsx(Xg,{size:16}),e[23]=A):A=e[23];let N;e[24]!==I?(N=n.jsx(Es,{asChild:!0,children:n.jsx("button",{type:"button","aria-label":"Filter tasks",className:I,children:A})}),e[24]=I,e[25]=N):N=e[25];let E;e[26]!==f?(E=K=>{const H=K;H!==f&&ie("tasks_panel_filter_changed",{to_value:H}),m(H)},e[26]=f,e[27]=E):E=e[27];let M;e[28]===Symbol.for("react.memo_cache_sentinel")?(M=Object.keys(af),e[28]=M):M=e[28];let L;e[29]===Symbol.for("react.memo_cache_sentinel")?(L=M.map(N0),e[29]=L):L=e[29];let D;e[30]!==f||e[31]!==E?(D=n.jsx(Is,{align:"end",children:n.jsx(xc,{value:f,onValueChange:E,children:L})}),e[30]=f,e[31]=E,e[32]=D):D=e[32];let P;e[33]!==N||e[34]!==D?(P=n.jsxs(As,{children:[N,D]}),e[33]=N,e[34]=D,e[35]=P):P=e[35];let O;e[36]!==l||e[37]!==c||e[38]!==s?(O=c&&l&&n.jsx("button",{type:"button",onClick:()=>{ie("tasks_panel_new_clicked"),l()},"aria-label":`New ${s.toLowerCase()}`,className:"flex size-8 items-center justify-center rounded-md hover:bg-muted hover:text-foreground",children:n.jsx(wl,{size:16})}),e[36]=l,e[37]=c,e[38]=s,e[39]=O):O=e[39];let $;e[40]!==P||e[41]!==O||e[42]!==R?($=n.jsxs("div",{className:"flex items-center gap-0.5",children:[R,P,O]}),e[40]=P,e[41]=O,e[42]=R,e[43]=$):$=e[43];let z;e[44]!==$||e[45]!==y?(z=n.jsxs("div",{className:"pl-2 pr-1.5 h-7 flex items-center justify-between text-xs font-medium text-muted-foreground mb-1",children:[y,$]}),e[44]=$,e[45]=y,e[46]=z):z=e[46];let W;e[47]!==r||e[48]!==u||e[49]!==a||e[50]!==o||e[51]!==d||e[52]!==b?(W=b.length===0&&u?n.jsx("div",{className:"px-2 py-1.5 text-xs text-muted-foreground/70",children:u}):b.map(K=>n.jsx(k0,{task:K,isActive:r===K.id,onClick:()=>{r!==K.id&&ie("tasks_panel_task_clicked",{thread_id:K.id,virtual_mcp_id:K.virtual_mcp_id??null,from_automation:!!K.fromAutomation}),o(K)},onArchive:()=>{ie("tasks_panel_task_archived",{thread_id:K.id,virtual_mcp_id:K.virtual_mcp_id??null}),a(K)},showAutomationBadge:d||K.fromAutomation},K.id)),e[47]=r,e[48]=u,e[49]=a,e[50]=o,e[51]=d,e[52]=b,e[53]=W):W=e[53];let F;return e[54]!==z||e[55]!==W?(F=n.jsxs("div",{className:"flex flex-col gap-0.5 mt-1",children:[z,W]}),e[54]=z,e[55]=W,e[56]=F):F=e[56],F}function N0(t){return n.jsx(Yh,{value:t,children:af[t]},t)}function A0(t){return n.jsx(Yh,{value:t,children:lf[t]},t)}function E0(t){return!t.fromAutomation}function I0(t){return t.fromAutomation}function R0(){const t=B.c(22);w0();const{data:e}=St.useSession(),s=e?.user?.id;let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i={owner:"me",status:"open",hasTrigger:!1},t[0]=i):i=t[0];const{tasks:r}=ha(i);let o;t[1]===Symbol.for("react.memo_cache_sentinel")?(o={owner:"all",status:"open",hasTrigger:!0},t[1]=o):o=t[1];const{tasks:a}=ha(o),{setTaskId:l,createNewTask:c}=Wn();let d;t[2]===Symbol.for("react.memo_cache_sentinel")?(d={strict:!1},t[2]=d):d=t[2];const u=Hn(d),{locator:h,org:f}=ye(),m=Mt();let p;t[3]!==f.id?(p={connectionId:Pt,orgId:f.id},t[3]=f.id,t[4]=p):p=t[4];const g=Le(p),_=u.taskId??null;let v;t[5]!==a||t[6]!==r?(v=[...r,...a.map(D0)].sort(T0),t[5]=a,t[6]=r,t[7]=v):v=t[7];const x=v;let b;t[8]!==g||t[9]!==h||t[10]!==m?(b=async w=>{try{await Fp(g,w.id,{hidden:!0}),m.invalidateQueries({queryKey:ct.tasksPrefix(h)})}catch(V){const R=V;fe.error(`Failed to archive task: ${R.message}`)}},t[8]=g,t[9]=h,t[10]=m,t[11]=b):b=t[11];const y=b;if(x.length===0){let w;return t[12]===Symbol.for("react.memo_cache_sentinel")?(w=n.jsx("div",{className:"h-full flex items-center justify-center p-4",children:n.jsx(Fi,{image:n.jsx(Ag,{size:48,className:"text-muted-foreground"}),title:"No tasks yet",description:"Start a conversation to create your first task."})}),t[12]=w):w=t[12],w}let C;t[13]!==l?(C=w=>l(w.id,w.virtual_mcp_id),t[13]=l,t[14]=C):C=t[14];let k;return t[15]!==_||t[16]!==x||t[17]!==c||t[18]!==s||t[19]!==y||t[20]!==C?(k=n.jsx("div",{className:"flex flex-col h-full min-h-0 overflow-y-auto p-2 gap-3",children:n.jsx(j0,{title:"Tasks",tasks:x,activeTaskId:_,onSelect:C,onArchive:y,onNew:c,showNewButton:!0,currentUserId:s})}),t[15]=_,t[16]=x,t[17]=c,t[18]=s,t[19]=y,t[20]=C,t[21]=k):k=t[21],k}function T0(t,e){return(e.updated_at??"").localeCompare(t.updated_at??"")}function D0(t){return{...t,fromAutomation:!0}}function M0(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"flex flex-col h-full p-2 gap-1.5",children:Array.from({length:6}).map(P0)}),t[0]=e):e=t[0],e}function P0(t,e){return n.jsx("div",{className:"h-10 rounded-md bg-muted/60 animate-pulse"},e)}function cf(){const t=B.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(Oe.Skeleton,{}),t[0]=e):e=t[0];let s;return t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx(Ns,{fallback:e,children:n.jsx(S.Suspense,{fallback:n.jsx(M0,{}),children:n.jsx(R0,{})})}),t[1]=s):s=t[1],s}function df(){const t=B.c(77),{org:e}=ye(),s=qe(),i=Th(),{setTasksOpen:r,openTab:o}=Wn(),a=e.slug,l=ye().project;let c;t[0]===Symbol.for("react.memo_cache_sentinel")?(c={strict:!1},t[0]=c):c=t[0];const d=Hn(c);let u;t[1]===Symbol.for("react.memo_cache_sentinel")?(u={strict:!1},t[1]=u):u=t[1];const h=Si(u),f=i.location.pathname;let m;t[2]!==l.enabledPlugins?(m=l.enabledPlugins??[],t[2]=l.enabledPlugins,t[3]=m):m=t[3];const p=m;let g;t[4]!==l.ui?(g=l.ui?.pinnedViews??[],t[4]=l.ui,t[5]=g):g=t[5];const _=g;let v,x,b,y;if(t[6]!==l.id||t[7]!==p||t[8]!==s||t[9]!==a||t[10]!==d.pluginId||t[11]!==d.taskId||t[12]!==h.virtualmcpid){let H;t[17]!==p?(H=se=>p.includes(se.pluginId),t[17]=p,t[18]=H):H=t[18];const U=up.filter(H),Y=h.virtualmcpid??l.id;x=!!h.virtualmcpid;const q=d.taskId??"",G=d.pluginId;let ee;t[19]!==G?(ee=se=>G===se,t[19]=G,t[20]=ee):ee=t[20],v=ee;let Z;t[21]!==q||t[22]!==s||t[23]!==a||t[24]!==Y?(Z=se=>{const ne=q||crypto.randomUUID();s({to:"/$org/$taskId/$pluginId",params:{org:a,taskId:ne,pluginId:se},search:ce=>({...ce,virtualmcpid:Y})})},t[21]=q,t[22]=s,t[23]=a,t[24]=Y,t[25]=Z):Z=t[25],b=Z;let J;t[26]!==v||t[27]!==b?(J=se=>({key:se.pluginId,label:se.label,icon:se.icon,isActive:v(se.pluginId),onClick:()=>b(se.pluginId)}),t[26]=v,t[27]=b,t[28]=J):J=t[28],y=U.map(J),t[6]=l.id,t[7]=p,t[8]=s,t[9]=a,t[10]=d.pluginId,t[11]=d.taskId,t[12]=h.virtualmcpid,t[13]=v,t[14]=x,t[15]=b,t[16]=y}else v=t[13],x=t[14],b=t[15],y=t[16];const C=y;let k;if(t[29]!==p||t[30]!==v||t[31]!==b){let H;t[33]!==p?(H=q=>p.includes(q.pluginId),t[33]=p,t[34]=H):H=t[34];const U=fp.filter(H);let Y;t[35]!==v||t[36]!==b?(Y=q=>({type:"group",group:{id:`${q.pluginId}-${q.id}`,label:q.label,items:q.items.map((G,ee)=>({key:`${q.pluginId}-${q.id}-${ee}`,label:G.label,icon:G.icon,isActive:v(q.pluginId),onClick:()=>b(q.pluginId)})),defaultExpanded:q.defaultExpanded??!0}}),t[35]=v,t[36]=b,t[37]=Y):Y=t[37],k=U.map(Y),t[29]=p,t[30]=v,t[31]=b,t[32]=k}else k=t[32];const w=k;let V;if(t[38]!==o||t[39]!==_){let H;t[41]!==o?(H=U=>{const Y=Kn(U.icon),q=Y.type==="icon"?qn(Y.name):null;return{key:`app-${U.connectionId}-${U.toolName}`,label:U.label||U.toolName,icon:q?n.jsx(q,{size:16,className:"text-muted-foreground"}):Y.type==="url"?n.jsx("img",{src:Y.url,alt:"",className:"size-4 rounded"}):n.jsx(ju,{size:16,className:"text-muted-foreground"}),isActive:!1,onClick:()=>o(ua(U.connectionId,U.toolName))}},t[41]=o,t[42]=H):H=t[42],V=_.map(H),t[38]=o,t[39]=_,t[40]=V}else V=t[40];const j=V;let R;t[43]!==j?(R=j.length>0?{type:"group",group:{id:"apps",label:"Apps",items:j,defaultExpanded:!0}}:null,t[43]=j,t[44]=R):R=t[44];const T=R;let I;t[45]===Symbol.for("react.memo_cache_sentinel")?(I=n.jsx(Eg,{className:"size-4!"}),t[45]=I):I=t[45];const A=f===`/${a}`||f===`/${a}/`;let N;t[46]!==s||t[47]!==a||t[48]!==r?(N=()=>{r(!1),s({to:"/$org",params:{org:a}})},t[46]=s,t[47]=a,t[48]=r,t[49]=N):N=t[49];let E;t[50]!==N||t[51]!==A?(E={key:"home",label:"Home",icon:I,isActive:A,onClick:N},t[50]=N,t[51]=A,t[52]=E):E=t[52];const M=E;let L;t[53]!==p?(L=p.includes(mp),t[53]=p,t[54]=L):L=t[54];const D=L;let P;t[55]===Symbol.for("react.memo_cache_sentinel")?(P=n.jsx(pp,{className:"size-4!"}),t[55]=P):P=t[55];let O;t[56]!==a||t[57]!==f?(O=f.startsWith(`/${a}/settings/workflows`),t[56]=a,t[57]=f,t[58]=O):O=t[58];let $;t[59]!==s||t[60]!==a?($=()=>s({to:"/$org/settings/workflows",params:{org:a}}),t[59]=s,t[60]=a,t[61]=$):$=t[61];let z;t[62]!==O||t[63]!==$?(z={key:"workflows",label:"Workflows",icon:P,isActive:O,onClick:$},t[62]=O,t[63]=$,t[64]=z):z=t[64];const W=z;let F;if(t[65]!==M||t[66]!==x||t[67]!==D||t[68]!==W){const H=[M];x&&D&&H.push(W),F={type:"items",items:H},t[65]=M,t[66]=x,t[67]=D,t[68]=W,t[69]=F}else F=t[69];let K;if(t[70]!==T||t[71]!==w||t[72]!==C||t[73]!==F){if(K=[F],C.length>0){let H;t[75]!==C?(H={type:"items",items:C},t[75]=C,t[76]=H):H=t[76],K.push(H)}w.length>0&&K.push(...w),T&&K.push(T),t[70]=T,t[71]=w,t[72]=C,t[73]=F,t[74]=K}else K=t[74];return K}function hf(t){const e=B.c(3),{children:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("div",{className:"flex h-6 items-center",children:n.jsx("div",{className:"h-0.5 w-16 rounded-full bg-sidebar-foreground/15"})}),e[0]=i):i=e[0];let r;return e[1]!==s?(r=n.jsxs(Xn,{className:"pt-0 pr-0 pb-2 pl-0 mt-2",children:[i,n.jsx(Jn,{children:n.jsx(vs,{className:"gap-0.5",children:s})})]}),e[1]=s,e[2]=r):r=e[2],r}function L0(){const t=B.c(7),s=Dh().logo??Mh,i=typeof s=="string"?s:s.light,r=typeof s=="string"?s:s.dark;let o;t[0]!==i?(o=n.jsx("img",{src:i,alt:"Logo",className:"size-6 object-contain dark:hidden"}),t[0]=i,t[1]=o):o=t[1];let a;t[2]!==r?(a=n.jsx("img",{src:r,alt:"Logo",className:"size-6 object-contain hidden dark:block"}),t[2]=r,t[3]=a):a=t[3];let l;return t[4]!==o||t[5]!==a?(l=n.jsx(Eu,{className:"flex items-center justify-center shrink-0 px-2 pb-0",children:n.jsxs("div",{className:"flex w-full aspect-square items-center justify-center",children:[o,a]})}),t[4]=o,t[5]=a,t[6]=l):l=t[6],l}function uf(t){const e=B.c(15),{item:s}=t,{isMobile:i,setOpenMobile:r}=Qn();let o;e[0]!==i||e[1]!==s||e[2]!==r?(o=()=>{ie("nav_item_clicked",{nav_key:s.key,nav_label:s.label,is_active:!!s.isActive,is_mobile:i}),s.onClick?.(),i&&r(!1)},e[0]=i,e[1]=s,e[2]=r,e[3]=o):o=e[3];const a=o,l=s.key,c=s.isActive&&"z-10";let d;e[4]!==c?(d=X(c),e[4]=c,e[5]=d):d=e[5];let u;e[6]!==a||e[7]!==s.icon||e[8]!==s.isActive||e[9]!==s.label?(u=n.jsx(_s,{onClick:a,isActive:s.isActive,tooltip:s.label,className:"bg-muted/75",children:s.icon}),e[6]=a,e[7]=s.icon,e[8]=s.isActive,e[9]=s.label,e[10]=u):u=e[10];let h;return e[11]!==s.key||e[12]!==d||e[13]!==u?(h=n.jsx(Zt,{className:d,children:u},l),e[11]=s.key,e[12]=d,e[13]=u,e[14]=h):h=e[14],h}function O0(t){const e=B.c(12),{section:s}=t;switch(s.type){case"divider":{let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(Nu,{className:"my-2"}),e[0]=i):i=e[0],i}case"spacer":{let i;return e[1]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("div",{className:"flex-1"}),e[1]=i):i=e[1],i}case"group":{const i=s.group.label,r=s.group.defaultExpanded;let o;e[2]!==s.group.items?(o=s.group.items.map(z0),e[2]=s.group.items,e[3]=o):o=e[3];let a;return e[4]!==s.group.defaultExpanded||e[5]!==s.group.label||e[6]!==o?(a=n.jsx(hf,{label:i,defaultExpanded:r,children:o}),e[4]=s.group.defaultExpanded,e[5]=s.group.label,e[6]=o,e[7]=a):a=e[7],a}case"items":{let i;e[8]!==s.items?(i=s.items.map(B0),e[8]=s.items,e[9]=i):i=e[9];let r;return e[10]!==i?(r=n.jsx(Xn,{className:"pt-0 pr-0 pb-0 pl-0",children:n.jsx(Jn,{children:n.jsx(vs,{className:"gap-1.5",children:i})})}),e[10]=i,e[11]=r):r=e[11],r}}}function B0(t){return n.jsx(uf,{item:t},t.key)}function z0(t){return n.jsx(uf,{item:t},t.key)}function $0(t){const e=B.c(14),{sections:s,header:i,footer:r,additionalContent:o,variant:a,contentClassName:l}=t,c=a===void 0?"sidebar":a;let d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(S.Suspense,{fallback:n.jsx("div",{className:"h-10 shrink-0"}),children:n.jsx(L0,{})}),e[0]=d):d=e[0];let u;e[1]!==l?(u=X("flex flex-col flex-1 px-2 py-2 gap-0",l),e[1]=l,e[2]=u):u=e[2];let h;e[3]!==s?(h=s.map(F0),e[3]=s,e[4]=h):h=e[4];let f;e[5]!==o||e[6]!==u||e[7]!==h?(f=n.jsxs(Au,{className:u,children:[h,o]}),e[5]=o,e[6]=u,e[7]=h,e[8]=f):f=e[8];let m;return e[9]!==r||e[10]!==i||e[11]!==f||e[12]!==c?(m=n.jsxs(I_,{variant:c,children:[d,i,f,r]}),e[9]=r,e[10]=i,e[11]=f,e[12]=c,e[13]=m):m=e[13],m}function F0(t,e){return n.jsx(O0,{section:t},e)}function ff(t){const e=B.c(2);let s;return e[0]!==t?(s=n.jsx($0,{...t}),e[0]=t,e[1]=s):s=e[1],s}ff.Skeleton=function(){return n.jsx("div",{className:"flex flex-col gap-0.5",children:Array.from({length:8}).map((e,s)=>n.jsx("div",{className:"w-full h-8",children:n.jsx($i,{className:"h-full bg-sidebar-accent rounded-md"})},s))})};function U0(){const t=B.c(7),s=Dh().logo??Mh,i=typeof s=="string"?s:s.light,r=typeof s=="string"?s:s.dark;let o;t[0]!==i?(o=n.jsx("img",{src:i,alt:"Logo",className:"size-6 object-contain dark:hidden"}),t[0]=i,t[1]=o):o=t[1];let a;t[2]!==r?(a=n.jsx("img",{src:r,alt:"Logo",className:"size-6 object-contain hidden dark:block"}),t[2]=r,t[3]=a):a=t[3];let l;return t[4]!==o||t[5]!==a?(l=n.jsx(Eu,{className:"flex items-center justify-center shrink-0 px-2 pb-0",children:n.jsxs("div",{className:"flex w-full aspect-square items-center justify-center",children:[o,a]})}),t[4]=o,t[5]=a,t[6]=l):l=t[6],l}function nd(t){const e=B.c(15),{item:s,onClose:i}=t,r=s.isActive&&"z-10";let o;e[0]!==r?(o=X(r),e[0]=r,e[1]=o):o=e[1];let a;e[2]!==s||e[3]!==i?(a=()=>{s.onClick?.(),i()},e[2]=s,e[3]=i,e[4]=a):a=e[4];let l;e[5]!==s.icon?(l=n.jsx("span",{className:"[&>svg]:size-8",children:s.icon}),e[5]=s.icon,e[6]=l):l=e[6];let c;e[7]!==s.isActive||e[8]!==s.label||e[9]!==a||e[10]!==l?(c=n.jsx(_s,{onClick:a,isActive:s.isActive,tooltip:s.label,className:"bg-muted/75",children:l}),e[7]=s.isActive,e[8]=s.label,e[9]=a,e[10]=l,e[11]=c):c=e[11];let d;return e[12]!==o||e[13]!==c?(d=n.jsx(Zt,{className:o,children:c}),e[12]=o,e[13]=c,e[14]=d):d=e[14],d}function H0(t){const e=B.c(18),{section:s,onClose:i}=t;switch(s.type){case"divider":{let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx(Nu,{className:"my-2"}),e[0]=r):r=e[0],r}case"spacer":{let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("div",{className:"flex-1"}),e[1]=r):r=e[1],r}case"group":{const r=s.group.label,o=s.group.defaultExpanded;let a;if(e[2]!==i||e[3]!==s.group.items){let c;e[5]!==i?(c=d=>n.jsx(nd,{item:d,onClose:i},d.key),e[5]=i,e[6]=c):c=e[6],a=s.group.items.map(c),e[2]=i,e[3]=s.group.items,e[4]=a}else a=e[4];let l;return e[7]!==s.group.defaultExpanded||e[8]!==s.group.label||e[9]!==a?(l=n.jsx(hf,{label:r,defaultExpanded:o,children:a}),e[7]=s.group.defaultExpanded,e[8]=s.group.label,e[9]=a,e[10]=l):l=e[10],l}case"items":{let r;if(e[11]!==i||e[12]!==s.items){let a;e[14]!==i?(a=l=>n.jsx(nd,{item:l,onClose:i},l.key),e[14]=i,e[15]=a):a=e[15],r=s.items.map(a),e[11]=i,e[12]=s.items,e[13]=r}else r=e[13];let o;return e[16]!==r?(o=n.jsx(Xn,{className:"pt-0 pr-0 pb-0 pl-0",children:n.jsx(Jn,{children:n.jsx(vs,{className:"gap-1.5",children:r})})}),e[16]=r,e[17]=o):o=e[17],o}}}function W0(t){const e=B.c(12),{sections:s,onClose:i,footer:r,additionalContent:o}=t;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx(S.Suspense,{fallback:n.jsx("div",{className:"h-10 shrink-0"}),children:n.jsx(U0,{})}),e[0]=a):a=e[0];let l;if(e[1]!==i||e[2]!==s){let u;e[4]!==i?(u=(h,f)=>n.jsx(H0,{section:h,onClose:i},f),e[4]=i,e[5]=u):u=e[5],l=s.map(u),e[1]=i,e[2]=s,e[3]=l}else l=e[3];let c;e[6]!==o||e[7]!==l?(c=n.jsxs(Au,{className:"flex flex-col flex-1 px-2 py-2 gap-0",children:[l,o]}),e[6]=o,e[7]=l,e[8]=c):c=e[8];let d;return e[9]!==r||e[10]!==c?(d=n.jsxs("div",{className:"bg-sidebar flex h-full w-full flex-col","data-sidebar":"sidebar",children:[a,c,r]}),e[9]=r,e[10]=c,e[11]=d):d=e[11],d}function mf(t){return t.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const K0=js({name:Et().min(2,"Organization name is required")});function q0(t){const e=B.c(41),{open:s,onOpenChange:i}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={resolver:Un(K0),defaultValues:{name:""}},e[0]=r):r=e[0];const o=qi(r);let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a={mutationFn:Y0,onSuccess:G0},e[1]=a):a=e[1];const l=Ki(a),c=l.error instanceof Error?l.error.message:l.error?"Failed to create organization.":null;let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsxs(Dl,{children:[n.jsx(Ml,{children:"Create a new organization"}),n.jsx(Pl,{children:"Set up a new organization to collaborate with others."})]}),e[2]=d):d=e[2];let u;if(e[3]!==l||e[4]!==o){let w;e[6]!==l?(w=V=>l.mutateAsync(V),e[6]=l,e[7]=w):w=e[7],u=o.handleSubmit(w),e[3]=l,e[4]=o,e[5]=u}else u=e[5];let h;e[8]!==o.formState.isSubmitting?(h=w=>{const{field:V}=w;return n.jsxs(Rt,{children:[n.jsx(os,{children:"Organization Name"}),n.jsx(Tt,{children:n.jsx(gt,{...V,placeholder:"Acme Inc.",disabled:o.formState.isSubmitting})}),n.jsx(Sg,{children:"The name of your company or organization"}),V.value&&n.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Organization URL:"," ",n.jsxs("span",{className:"font-mono",children:[typeof window<"u"?globalThis.location.origin:"","/",mf(V.value)]})]}),n.jsx(Dt,{})]})},e[8]=o.formState.isSubmitting,e[9]=h):h=e[9];let f;e[10]!==o.control||e[11]!==h?(f=n.jsx(It,{control:o.control,name:"name",render:h}),e[10]=o.control,e[11]=h,e[12]=f):f=e[12];let m;e[13]!==c?(m=c&&n.jsx("div",{className:"text-destructive text-sm mt-2",children:c}),e[13]=c,e[14]=m):m=e[14];let p;e[15]!==l||e[16]!==o?(p=()=>{l.reset(),o.reset()},e[15]=l,e[16]=o,e[17]=p):p=e[17];let g;e[18]!==o.formState.isSubmitting||e[19]!==p?(g=n.jsx(Rl,{disabled:o.formState.isSubmitting,onClick:p,children:"Cancel"}),e[18]=o.formState.isSubmitting,e[19]=p,e[20]=g):g=e[20];const _=!o.formState.isValid||o.formState.isSubmitting;let v;e[21]!==o.formState.isSubmitting?(v=o.formState.isSubmitting?n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(In,{size:"xs"})," Creating..."]}):"Create Organization",e[21]=o.formState.isSubmitting,e[22]=v):v=e[22];let x;e[23]!==_||e[24]!==v?(x=n.jsx(oe,{type:"submit",variant:"default",disabled:_,children:v}),e[23]=_,e[24]=v,e[25]=x):x=e[25];let b;e[26]!==x||e[27]!==g?(b=n.jsxs(Ll,{children:[g,x]}),e[26]=x,e[27]=g,e[28]=b):b=e[28];let y;e[29]!==b||e[30]!==u||e[31]!==f||e[32]!==m?(y=n.jsxs("form",{className:"space-y-6",onSubmit:u,autoComplete:"off",children:[f,m,b]}),e[29]=b,e[30]=u,e[31]=f,e[32]=m,e[33]=y):y=e[33];let C;e[34]!==o||e[35]!==y?(C=n.jsxs(Tl,{children:[d,n.jsx(Bi,{...o,children:y})]}),e[34]=o,e[35]=y,e[36]=C):C=e[36];let k;return e[37]!==i||e[38]!==s||e[39]!==C?(k=n.jsx(Ol,{open:s,onOpenChange:i,children:C}),e[37]=i,e[38]=s,e[39]=C,e[40]=k):k=e[40],k}function G0(t){const{orgSlug:e}=t;window.location.href=`/${e}`}async function Y0(t){const e=mf(t.name);if(!e)throw new Error("Organization slug is invalid");const s=await St.organization.create({name:t.name,slug:e});if(s?.error)throw new Error(s.error.message||"Failed to create organization");const i=s?.data?.slug??e;if(!i)throw new Error("Failed to create organization");return{orgSlug:i}}function Va(t){let e=0;for(let i=0;i<t.length;i++)e=t.charCodeAt(i)+((e<<5)-e);const s=Math.abs(e)%360;return{backgroundColor:`hsl(${s} 55% 70%)`,color:`hsl(${s} 55% 20%)`}}function X0(t){const e=B.c(13),{org:s,size:i}=t,r=i===void 0?"sm":i,o=r==="xs"?"size-5":"size-6",a=r==="xs"?"text-[9px]":"text-xs";let l;e[0]!==o?(l=X(o,"shrink-0 rounded-md flex items-center justify-center border border-border/50 overflow-hidden"),e[0]=o,e[1]=l):l=e[1];let c;e[2]!==s.logo||e[3]!==s.name?(c=s.logo?void 0:Va(s.name),e[2]=s.logo,e[3]=s.name,e[4]=c):c=e[4];let d;e[5]!==s.logo||e[6]!==s.name||e[7]!==a?(d=s.logo?n.jsx("img",{src:s.logo,alt:"",className:"size-full object-cover"}):n.jsx("span",{className:X("font-semibold leading-none",a),children:s.name.slice(0,2).toUpperCase()}),e[5]=s.logo,e[6]=s.name,e[7]=a,e[8]=d):d=e[8];let u;return e[9]!==l||e[10]!==c||e[11]!==d?(u=n.jsx("div",{className:l,style:c,children:d}),e[9]=l,e[10]=c,e[11]=d,e[12]=u):u=e[12],u}function ur(t){const e=B.c(22),{item:s,onClose:i}=t;if(s.href){const c=s.external?"_blank":void 0,d=s.external?"noopener noreferrer":void 0;let u;e[0]!==s.icon?(u=n.jsx("span",{className:"shrink-0 text-muted-foreground",children:s.icon}),e[0]=s.icon,e[1]=u):u=e[1];let h;e[2]!==s.label?(h=n.jsx("span",{className:"flex-1",children:s.label}),e[2]=s.label,e[3]=h):h=e[3];let f;return e[4]!==s.href||e[5]!==i||e[6]!==c||e[7]!==d||e[8]!==u||e[9]!==h?(f=n.jsxs("a",{href:s.href,target:c,rel:d,className:"flex items-center gap-2.5 px-3 py-2 rounded-md text-sm text-left w-full transition-colors text-foreground/80 hover:bg-sidebar-accent hover:text-foreground",onClick:i,children:[u,h]}),e[4]=s.href,e[5]=i,e[6]=c,e[7]=d,e[8]=u,e[9]=h,e[10]=f):f=e[10],f}let r;e[11]!==s||e[12]!==i?(r=()=>{s.onClick?.(),i()},e[11]=s,e[12]=i,e[13]=r):r=e[13];let o;e[14]!==s.icon?(o=n.jsx("span",{className:"shrink-0 text-muted-foreground",children:s.icon}),e[14]=s.icon,e[15]=o):o=e[15];let a;e[16]!==s.label?(a=n.jsx("span",{className:"flex-1",children:s.label}),e[16]=s.label,e[17]=a):a=e[17];let l;return e[18]!==r||e[19]!==o||e[20]!==a?(l=n.jsxs("button",{type:"button",onClick:r,className:"flex items-center gap-2.5 px-3 py-2 rounded-md text-sm text-left w-full transition-colors text-foreground/80 hover:bg-sidebar-accent hover:text-foreground",children:[o,a]}),e[18]=r,e[19]=o,e[20]=a,e[21]=l):l=e[21],l}function rd(t){const e=B.c(16),{sortedOrgs:s,orgParam:i,onSelectOrg:r,onCreateOrg:o}=t;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx("span",{className:"text-sm font-medium text-muted-foreground/60",children:"Your Organizations"}),e[0]=a):a=e[0];let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx(Qt,{size:16}),e[1]=l):l=e[1];let c;e[2]!==o?(c=n.jsxs("div",{className:"flex items-center justify-between px-4 py-3",children:[a,n.jsx("button",{type:"button",onClick:o,className:"flex items-center justify-center size-7 rounded-md text-muted-foreground hover:bg-accent/50 hover:text-foreground transition-colors",children:l})]}),e[2]=o,e[3]=c):c=e[3];let d;if(e[4]!==r||e[5]!==i||e[6]!==s){let f;e[8]!==r||e[9]!==i?(f=m=>n.jsxs("button",{type:"button",onClick:()=>r(m.slug),className:X("flex items-center gap-3 px-3 py-2.5 rounded-md text-sm text-left w-full transition-colors",m.slug===i?"bg-accent text-accent-foreground":"text-foreground hover:bg-accent/50"),children:[n.jsx(X0,{org:m,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("p",{className:"text-sm font-medium truncate",children:m.name}),n.jsx("p",{className:"text-xs text-muted-foreground truncate",children:m.slug})]}),m.slug===i&&n.jsx(Jt,{size:14,className:"ml-auto text-muted-foreground shrink-0"})]},m.id),e[8]=r,e[9]=i,e[10]=f):f=e[10],d=s.map(f),e[4]=r,e[5]=i,e[6]=s,e[7]=d}else d=e[7];let u;e[11]!==d?(u=n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto p-1.5 flex flex-col gap-1",children:d}),e[11]=d,e[12]=u):u=e[12];let h;return e[13]!==c||e[14]!==u?(h=n.jsxs(n.Fragment,{children:[c,u]}),e[13]=c,e[14]=u,e[15]=h):h=e[15],h}function od(t){const e=B.c(142),{user:s,userImage:i,menuItems:r,signOutItem:o,themeOptions:a,preferences:l,setPreferences:c,sortedOrgs:d,orgParam:u,onSelectOrg:h,onCreateOrg:f,close:m,isMobile:p}=t;if(p){const q=s?.name??"U";let G;e[0]!==q||e[1]!==i?(G=n.jsx(Ic,{url:i,fallback:q,shape:"circle",size:"sm",className:"shrink-0"}),e[0]=q,e[1]=i,e[2]=G):G=e[2];const ee=s?.name??"User";let Z;e[3]!==ee?(Z=n.jsx("p",{className:"text-sm font-medium truncate",children:ee}),e[3]=ee,e[4]=Z):Z=e[4];const J=s?.email;let se;e[5]!==J?(se=n.jsx("p",{className:"text-xs text-muted-foreground truncate",children:J}),e[5]=J,e[6]=se):se=e[6];let ne;e[7]!==Z||e[8]!==se?(ne=n.jsxs("div",{className:"flex-1 min-w-0",children:[Z,se]}),e[7]=Z,e[8]=se,e[9]=ne):ne=e[9];let ce;e[10]!==s?(ce=()=>{s?.id&&navigator.clipboard.writeText(s.id).then(ey)},e[10]=s,e[11]=ce):ce=e[11];let xe;e[12]===Symbol.for("react.memo_cache_sentinel")?(xe=n.jsx(zi,{size:14}),e[12]=xe):xe=e[12];let ae;e[13]!==ce?(ae=n.jsx(st,{asChild:!0,children:n.jsx("button",{type:"button",tabIndex:-1,onClick:ce,className:"shrink-0 text-muted-foreground hover:text-foreground transition-colors",children:xe})}),e[13]=ce,e[14]=ae):ae=e[14];let he;e[15]===Symbol.for("react.memo_cache_sentinel")?(he=n.jsx(it,{side:"right",children:n.jsx("p",{className:"text-xs",children:"Copy user ID"})}),e[15]=he):he=e[15];let pe;e[16]!==ae?(pe=n.jsx(Oi,{delayDuration:300,children:n.jsxs(nt,{children:[ae,he]})}),e[16]=ae,e[17]=pe):pe=e[17];let me;e[18]!==pe||e[19]!==G||e[20]!==ne?(me=n.jsxs("div",{className:"flex items-center gap-3 px-4 py-4 border-b border-border",children:[G,ne,pe]}),e[18]=pe,e[19]=G,e[20]=ne,e[21]=me):me=e[21];let we;e[22]!==f||e[23]!==h||e[24]!==u||e[25]!==d?(we=n.jsx("div",{className:"border-b border-border pb-2",children:n.jsx(rd,{sortedOrgs:d,orgParam:u,onSelectOrg:h,onCreateOrg:f})}),e[22]=f,e[23]=h,e[24]=u,e[25]=d,e[26]=we):we=e[26];let ve;if(e[27]!==m||e[28]!==r){let Be;e[30]!==m?(Be=Kt=>n.jsx(ur,{item:Kt,onClose:m},Kt.key),e[30]=m,e[31]=Be):Be=e[31],ve=r.map(Be),e[27]=m,e[28]=r,e[29]=ve}else ve=e[29];let de;e[32]!==m||e[33]!==o?(de=n.jsx(ur,{item:o,onClose:m}),e[32]=m,e[33]=o,e[34]=de):de=e[34];let Re;e[35]!==ve||e[36]!==de?(Re=n.jsxs("nav",{className:"flex flex-col px-2 pt-2 pb-2 gap-0.5",children:[ve,de]}),e[35]=ve,e[36]=de,e[37]=Re):Re=e[37];let te;e[38]!==we||e[39]!==Re?(te=n.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto",children:[we,Re]}),e[38]=we,e[39]=Re,e[40]=te):te=e[40];let ue;if(e[41]!==l.theme||e[42]!==c||e[43]!==a){let Be;e[45]!==l.theme||e[46]!==c?(Be=Kt=>{const{value:kt,icon:Ie,label:Me}=Kt;return n.jsx("button",{type:"button","aria-label":Me,onClick:()=>c(Ye=>({...Ye,theme:kt})),className:X("size-8 rounded-md flex items-center justify-center transition-colors",l.theme===kt?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/50 hover:text-foreground"),children:Ie},kt)},e[45]=l.theme,e[46]=c,e[47]=Be):Be=e[47],ue=a.map(Be),e[41]=l.theme,e[42]=c,e[43]=a,e[44]=ue}else ue=e[44];let Ve;e[48]!==ue?(Ve=n.jsx("div",{className:"flex items-center gap-0.5",children:ue}),e[48]=ue,e[49]=Ve):Ve=e[49];const Ee=l.enableSounds?"Disable sounds":"Enable sounds";let Te;e[50]!==c?(Te=()=>c(Z0),e[50]=c,e[51]=Te):Te=e[51];const be=l.enableSounds?"text-foreground hover:bg-sidebar-accent/50":"text-muted-foreground hover:bg-sidebar-accent/50 hover:text-foreground";let je;e[52]!==be?(je=X("size-8 rounded-md flex items-center justify-center transition-colors",be),e[52]=be,e[53]=je):je=e[53];let $e;e[54]!==l.enableSounds?($e=l.enableSounds?n.jsx(vc,{size:14}):n.jsx(bc,{size:14}),e[54]=l.enableSounds,e[55]=$e):$e=e[55];let Ge;e[56]!==Ee||e[57]!==Te||e[58]!==je||e[59]!==$e?(Ge=n.jsx("button",{type:"button","aria-label":Ee,onClick:Te,className:je,children:$e}),e[56]=Ee,e[57]=Te,e[58]=je,e[59]=$e,e[60]=Ge):Ge=e[60];let ge;e[61]===Symbol.for("react.memo_cache_sentinel")?(ge=n.jsxs("span",{className:"text-xs text-muted-foreground/60",children:["v","2.280.0"]}),e[61]=ge):ge=e[61];let Ae;e[62]!==Ge?(Ae=n.jsxs("div",{className:"flex items-center gap-2",children:[Ge,ge]}),e[62]=Ge,e[63]=Ae):Ae=e[63];let Ze;e[64]!==Ve||e[65]!==Ae?(Ze=n.jsxs("div",{className:"flex items-center justify-between px-3 py-3 border-t border-border/50",children:[Ve,Ae]}),e[64]=Ve,e[65]=Ae,e[66]=Ze):Ze=e[66];let Ct;return e[67]!==me||e[68]!==te||e[69]!==Ze?(Ct=n.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[me,te,Ze]}),e[67]=me,e[68]=te,e[69]=Ze,e[70]=Ct):Ct=e[70],Ct}const g=s?.name??"U";let _;e[71]!==g||e[72]!==i?(_=n.jsx(Ic,{url:i,fallback:g,shape:"circle",size:"sm",className:"shrink-0"}),e[71]=g,e[72]=i,e[73]=_):_=e[73];const v=s?.name??"User";let x;e[74]!==v?(x=n.jsx("p",{className:"text-sm font-medium truncate",children:v}),e[74]=v,e[75]=x):x=e[75];const b=s?.email;let y;e[76]!==b?(y=n.jsx("p",{className:"text-xs text-muted-foreground truncate",children:b}),e[76]=b,e[77]=y):y=e[77];let C;e[78]!==x||e[79]!==y?(C=n.jsxs("div",{className:"flex-1 min-w-0",children:[x,y]}),e[78]=x,e[79]=y,e[80]=C):C=e[80];let k;e[81]!==s?(k=()=>{s?.id&&navigator.clipboard.writeText(s.id).then(Q0)},e[81]=s,e[82]=k):k=e[82];let w;e[83]===Symbol.for("react.memo_cache_sentinel")?(w=n.jsx(zi,{size:14}),e[83]=w):w=e[83];let V;e[84]!==k?(V=n.jsx(st,{asChild:!0,children:n.jsx("button",{type:"button",tabIndex:-1,onClick:k,className:"shrink-0 text-muted-foreground hover:text-foreground transition-colors",children:w})}),e[84]=k,e[85]=V):V=e[85];let j;e[86]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx(it,{side:"right",children:n.jsx("p",{className:"text-xs",children:"Copy user ID"})}),e[86]=j):j=e[86];let R;e[87]!==V?(R=n.jsx(Oi,{delayDuration:300,children:n.jsxs(nt,{children:[V,j]})}),e[87]=V,e[88]=R):R=e[88];let T;e[89]!==R||e[90]!==_||e[91]!==C?(T=n.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 mx-1 mt-1",children:[_,C,R]}),e[89]=R,e[90]=_,e[91]=C,e[92]=T):T=e[92];let I;if(e[93]!==m||e[94]!==r){let q;e[96]!==m?(q=G=>n.jsx(ur,{item:G,onClose:m},G.key),e[96]=m,e[97]=q):q=e[97],I=r.map(q),e[93]=m,e[94]=r,e[95]=I}else I=e[95];let A;e[98]!==m||e[99]!==o?(A=n.jsx(ur,{item:o,onClose:m}),e[98]=m,e[99]=o,e[100]=A):A=e[100];let N;e[101]!==I||e[102]!==A?(N=n.jsxs("nav",{className:"flex-1 flex flex-col px-2 pt-1 overflow-y-auto",children:[I,A]}),e[101]=I,e[102]=A,e[103]=N):N=e[103];let E;if(e[104]!==l.theme||e[105]!==c||e[106]!==a){let q;e[108]!==l.theme||e[109]!==c?(q=G=>{const{value:ee,icon:Z,label:J}=G;return n.jsx("button",{type:"button","aria-label":J,onClick:()=>c(se=>({...se,theme:ee})),className:X("size-7 rounded-md flex items-center justify-center transition-colors",l.theme===ee?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/50 hover:text-foreground"),children:Z},ee)},e[108]=l.theme,e[109]=c,e[110]=q):q=e[110],E=a.map(q),e[104]=l.theme,e[105]=c,e[106]=a,e[107]=E}else E=e[107];let M;e[111]!==E?(M=n.jsx("div",{className:"flex items-center gap-0.5",children:E}),e[111]=E,e[112]=M):M=e[112];const L=l.enableSounds?"Disable sounds":"Enable sounds";let D;e[113]!==c?(D=()=>c(J0),e[113]=c,e[114]=D):D=e[114];const P=l.enableSounds?"text-foreground hover:bg-sidebar-accent/50":"text-muted-foreground hover:bg-sidebar-accent/50 hover:text-foreground";let O;e[115]!==P?(O=X("size-7 rounded-md flex items-center justify-center transition-colors",P),e[115]=P,e[116]=O):O=e[116];let $;e[117]!==l.enableSounds?($=l.enableSounds?n.jsx(vc,{size:14}):n.jsx(bc,{size:14}),e[117]=l.enableSounds,e[118]=$):$=e[118];let z;e[119]!==L||e[120]!==D||e[121]!==O||e[122]!==$?(z=n.jsx("button",{type:"button","aria-label":L,onClick:D,className:O,children:$}),e[119]=L,e[120]=D,e[121]=O,e[122]=$,e[123]=z):z=e[123];let W;e[124]===Symbol.for("react.memo_cache_sentinel")?(W=n.jsxs("span",{className:"text-xs text-muted-foreground/60",children:["v","2.280.0"]}),e[124]=W):W=e[124];let F;e[125]!==z?(F=n.jsxs("div",{className:"flex items-center gap-2",children:[z,W]}),e[125]=z,e[126]=F):F=e[126];let K;e[127]!==M||e[128]!==F?(K=n.jsxs("div",{className:"flex items-center justify-between px-2 py-1.5 border-t border-border/50",children:[M,F]}),e[127]=M,e[128]=F,e[129]=K):K=e[129];let H;e[130]!==T||e[131]!==N||e[132]!==K?(H=n.jsxs("div",{className:"w-60 shrink-0 flex flex-col border-r border-border bg-sidebar/75",children:[T,N,K]}),e[130]=T,e[131]=N,e[132]=K,e[133]=H):H=e[133];let U;e[134]!==f||e[135]!==h||e[136]!==u||e[137]!==d?(U=n.jsx("div",{className:"flex-1 flex flex-col min-w-0 min-h-0 overflow-hidden",children:n.jsx(rd,{sortedOrgs:d,orgParam:u,onSelectOrg:h,onCreateOrg:f})}),e[134]=f,e[135]=h,e[136]=u,e[137]=d,e[138]=U):U=e[138];let Y;return e[139]!==H||e[140]!==U?(Y=n.jsxs("div",{className:"flex min-h-[380px] w-full overflow-hidden",children:[H,U]}),e[139]=H,e[140]=U,e[141]=Y):Y=e[141],Y}function J0(t){return{...t,enableSounds:!t.enableSounds}}function Q0(){fe.success("User ID copied")}function Z0(t){return{...t,enableSounds:!t.enableSounds}}function ey(){fe.success("User ID copied")}function pf(){const t=B.c(50),{data:e}=St.useSession(),{data:s}=St.useListOrganizations(),i=qe();let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r={from:"/shell/$org",shouldThrow:!1},t[0]=r):r=t[0];const a=gp(r)?.params.org,[l,c]=yi(),d=Ms(),[u,h]=S.useState(!1),[f,m]=S.useState(!1),p=e?.user,g=p?.image;let _;if(t[1]!==d||t[2]!==i||t[3]!==u||t[4]!==a||t[5]!==s||t[6]!==l||t[7]!==c||t[8]!==p||t[9]!==g){const b=s?.find(Y=>Y.slug===a);let y;if(t[11]!==a||t[12]!==s){let Y;t[14]!==a?(Y=(q,G)=>q.slug===a?-1:G.slug===a?1:q.name.localeCompare(G.name),t[14]=a,t[15]=Y):Y=t[15],y=[...s??[]].sort(Y),t[11]=a,t[12]=s,t[13]=y}else y=t[13];const C=y;let k;t[16]!==i?(k=Y=>{h(!1),i({to:"/$org",params:{org:Y}})},t[16]=i,t[17]=k):k=t[17];const w=k;let V;t[18]===Symbol.for("react.memo_cache_sentinel")?(V=()=>h(!1),t[18]=V):V=t[18];const j=V;let R;t[19]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx(Zn,{size:16}),t[19]=R):R=t[19];let T;t[20]!==i||t[21]!==a?(T={key:"preferences",label:"Preferences",icon:R,onClick:()=>{i({to:"/$org/settings/profile",params:{org:a??""}})}},t[20]=i,t[21]=a,t[22]=T):T=t[22];let I;t[23]===Symbol.for("react.memo_cache_sentinel")?(I={key:"terms",label:"Terms of Use",icon:n.jsx(Ig,{size:16}),href:"https://www.decocms.com/terms-of-use",external:!0},t[23]=I):I=t[23];let A;t[24]===Symbol.for("react.memo_cache_sentinel")?(A={key:"privacy",label:"Privacy Policy",icon:n.jsx(Rg,{size:16}),href:"https://www.decocms.com/privacy-policy",external:!0},t[24]=A):A=t[24];let N;t[25]===Symbol.for("react.memo_cache_sentinel")?(N={key:"github",label:"decocms/studio",icon:n.jsx(_p,{className:"w-4 h-4"}),href:"https://github.com/decocms/studio",external:!0},t[25]=N):N=t[25];let E;t[26]===Symbol.for("react.memo_cache_sentinel")?(E={key:"community",label:"Community",icon:n.jsx(go,{size:16}),href:"https://decocms.com/discord",external:!0},t[26]=E):E=t[26];let M;t[27]===Symbol.for("react.memo_cache_sentinel")?(M={key:"homepage",label:"Homepage",icon:n.jsx(du,{size:16}),href:"https://decocms.com",external:!0},t[27]=M):M=t[27];let L;t[28]!==T?(L=[T,I,A,N,E,M],t[28]=T,t[29]=L):L=t[29];const D=L;let P;t[30]===Symbol.for("react.memo_cache_sentinel")?(P={key:"logout",label:"Sign out",icon:n.jsx(Fg,{size:16}),onClick:sy},t[30]=P):P=t[30];const O=P;let $;t[31]===Symbol.for("react.memo_cache_sentinel")?($={value:"light",icon:n.jsx(O_,{size:14}),label:"Light theme"},t[31]=$):$=t[31];let z;t[32]===Symbol.for("react.memo_cache_sentinel")?(z={value:"dark",icon:n.jsx(B_,{size:14}),label:"Dark theme"},t[32]=z):z=t[32];let W;t[33]===Symbol.for("react.memo_cache_sentinel")?(W=[$,z,{value:"system",icon:n.jsx(z_,{size:14}),label:"System theme"}],t[33]=W):W=t[33];const F=W;let K;t[34]===Symbol.for("react.memo_cache_sentinel")?(K=()=>{h(!1),m(!0)},t[34]=K):K=t[34];let H;t[35]!==w||t[36]!==d||t[37]!==D||t[38]!==a||t[39]!==l||t[40]!==c||t[41]!==C||t[42]!==p||t[43]!==g?(H={user:p,userImage:g,menuItems:D,signOutItem:O,themeOptions:F,preferences:l,setPreferences:c,sortedOrgs:C,orgParam:a,onSelectOrg:w,onCreateOrg:K,close:j,isMobile:d},t[35]=w,t[36]=d,t[37]=D,t[38]=a,t[39]=l,t[40]=c,t[41]=C,t[42]=p,t[43]=g,t[44]=H):H=t[44];const U=H;_=d?n.jsxs(Ci,{open:u,onOpenChange:h,direction:"bottom",children:[n.jsxs("button",{type:"button",onClick:()=>h(!0),className:"flex items-center gap-3 w-full px-3 py-2.5 rounded-lg transition-colors text-sm text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground",children:[n.jsx("div",{className:"shrink-0 size-5 rounded-md flex items-center justify-center border border-border/50 overflow-hidden",style:b?.logo?void 0:Va(b?.name??""),children:b?.logo?n.jsx("img",{src:b.logo,alt:"",className:"size-full object-cover"}):n.jsx("span",{className:"font-semibold leading-none text-[8px]",children:(b?.name??"?").slice(0,2).toUpperCase()})}),n.jsx("span",{className:"truncate",children:b?.name??"Account"})]}),n.jsxs(Vi,{className:"h-[80dvh] p-0",children:[n.jsx(wi,{className:"sr-only",children:"Account"}),n.jsx(od,{...U})]})]}):n.jsxs(di,{open:u,onOpenChange:h,children:[n.jsx(li,{asChild:!0,children:n.jsx(_s,{tooltip:b?.name??"Account",className:"rounded-md",children:n.jsx("div",{className:"shrink-0 size-6 rounded-md flex items-center justify-center border border-border/50 overflow-hidden",style:b?.logo?void 0:Va(b?.name??""),children:b?.logo?n.jsx("img",{src:b.logo,alt:"",className:"size-full object-cover"}):n.jsx("span",{className:"font-semibold leading-none text-[9px]",children:(b?.name??"?").slice(0,2).toUpperCase()})})})}),n.jsx(ci,{side:"right",align:"end",sideOffset:18,collisionPadding:16,className:"w-[520px] p-0 flex max-h-[520px]",onCloseAutoFocus:ty,children:n.jsx(od,{...U})})]}),t[1]=d,t[2]=i,t[3]=u,t[4]=a,t[5]=s,t[6]=l,t[7]=c,t[8]=p,t[9]=g,t[10]=_}else _=t[10];let v;t[45]!==f?(v=n.jsx(q0,{open:f,onOpenChange:m}),t[45]=f,t[46]=v):v=t[46];let x;return t[47]!==_||t[48]!==v?(x=n.jsxs(n.Fragment,{children:[_,v]}),t[47]=_,t[48]=v,t[49]=x):x=t[49],x}function ty(t){return t.preventDefault()}function sy(){ie("signed_out",{source:"account_popover"}),St.signOut()}function iy({invitation:t}){const[e,s]=S.useState(!1),[i,r]=S.useState(!1),o=Mt(),a=async()=>{s(!0);try{const c=await St.organization.acceptInvitation({invitationId:t.id});if(c.error)fe.error(c.error.message),s(!1);else{const d=await St.organization.setActive({organizationId:t.organizationId});fe.success("Invitation accepted!");const u=d?.data?.slug;window.location.href=u?`/${u}`:"/"}}catch{fe.error("Failed to accept invitation"),s(!1)}},l=async()=>{r(!0);try{const c=await St.organization.rejectInvitation({invitationId:t.id});c.error?(fe.error(c.error.message),r(!1)):(fe.success("Invitation declined"),o.invalidateQueries())}catch{fe.error("Failed to decline invitation"),r(!1)}};return n.jsxs("div",{className:"flex items-center gap-3 px-5 py-4 border-b border-border last:border-0 hover:bg-muted/25 transition-colors",children:[n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("p",{className:"text-xs text-muted-foreground",children:"You've been invited to join"}),n.jsx("p",{className:"text-sm font-medium truncate",children:t.organizationName??"Unknown organization"})]}),n.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[n.jsx(oe,{size:"icon",variant:"ghost",className:"size-7 text-green-600 hover:text-green-700 hover:bg-green-50 dark:hover:bg-green-950",onClick:a,disabled:e||i,"aria-label":"Accept invitation",children:n.jsx(Jt,{size:14})}),n.jsx(oe,{size:"icon",variant:"ghost",className:"size-7 text-muted-foreground hover:text-destructive hover:bg-destructive/10",onClick:l,disabled:e||i,"aria-label":"Decline invitation",children:n.jsx(ri,{size:14})})]})]})}function ny(){const t=S.useContext(xp),{data:e}=t.hooks.useListUserInvitations();return(e??[]).filter(i=>i.status==="pending"&&new Date(i.expiresAt)>new Date)}class ry extends S.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,s){}render(){return this.state.hasError?null:this.props.children}}function oy(t){return t<=1?"text-destructive":t<=5?"text-amber-500 dark:text-amber-400":"text-foreground/70"}function ay(){const t=B.c(19),e=qe(),{org:s}=ye();let i;t[0]!==s.id?(i={connectionId:Pt,orgId:s.id},t[0]=s.id,t[1]=i):i=t[1];const r=Le(i);let o;t[2]===Symbol.for("react.memo_cache_sentinel")?(o={providerId:"deco"},t[2]=o):o=t[2];let a;t[3]!==r?(a={client:r,toolName:"AI_PROVIDER_CREDITS",toolArguments:o,staleTime:6e4,select:ly},t[3]=r,t[4]=a):a=t[4];const{data:l,isPending:c,isError:d}=ki(a),u=l?.balanceCents!=null?l.balanceCents/100:null;let h;t[5]!==u||t[6]!==d||t[7]!==c?(h=c||d||u==null?"Credits":`Credits: $${u.toFixed(2)}`,t[5]=u,t[6]=d,t[7]=c,t[8]=h):h=t[8];const f=h;let m;t[9]!==u?(m=X(u!=null&&oy(u)),t[9]=u,t[10]=m):m=t[10];let p;t[11]!==e||t[12]!==s.slug?(p=()=>e({to:"/$org/settings/ai-providers",params:{org:s.slug}}),t[11]=e,t[12]=s.slug,t[13]=p):p=t[13];let g;t[14]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx(Sl,{size:24}),t[14]=g):g=t[14];let _;return t[15]!==m||t[16]!==p||t[17]!==f?(_=n.jsx(vs,{children:n.jsx(Zt,{children:n.jsx(_s,{tooltip:f,className:m,onClick:p,children:g})})}),t[15]=m,t[16]=p,t[17]=f,t[18]=_):_=t[18],_}function ly(t){return t.structuredContent}function cy(){const t=B.c(1);if(!Nl().some(dy))return null;let i;return t[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(ay,{}),t[0]=i):i=t[0],i}function dy(t){return t.providerId==="deco"}function hy(){const t=B.c(3),[e,s]=S.useState(!1);let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(vs,{children:n.jsx(Zt,{children:n.jsx(_s,{tooltip:"Connections",onClick:()=>{ie("connections_dialog_opened",{source:"sidebar_footer",mode:"browse"}),s(!0)},children:n.jsx(Ug,{size:24})})})}),t[0]=i):i=t[0];let r;return t[1]!==e?(r=n.jsxs(n.Fragment,{children:[i,n.jsx(Ul,{mode:"browse",open:e,onOpenChange:s,defaultTab:"all"})]}),t[1]=e,t[2]=r):r=t[2],r}function uy(){const t=B.c(11),e=ny();let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx(yc,{size:24}),t[0]=s):s=t[0];let i;t[1]!==e.length?(i=e.length>0&&n.jsx("span",{className:"absolute top-1 right-1 size-2 rounded-full bg-red-500 pointer-events-none"}),t[1]=e.length,t[2]=i):i=t[2];let r;t[3]!==i?(r=n.jsx(vs,{children:n.jsx(Zt,{children:n.jsx(li,{asChild:!0,children:n.jsxs(_s,{tooltip:"Inbox",className:"relative",children:[s,i]})})})}),t[3]=i,t[4]=r):r=t[4];let o;t[5]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("div",{className:"px-4 py-3 border-b border-border shrink-0",children:n.jsx("h3",{className:"text-sm font-medium",children:"Inbox"})}),t[5]=o):o=t[5];let a;t[6]!==e?(a=n.jsxs(ci,{side:"right",align:"start",sideOffset:16,collisionPadding:16,className:"w-[min(400px,calc(100vw-2rem))] p-0 h-[min(650px,calc(100dvh-4rem))] flex flex-col",children:[o,e.length===0?n.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-2 px-6 text-center",children:[n.jsx(yc,{size:24,className:"text-muted-foreground/50"}),n.jsx("p",{className:"text-sm font-medium text-foreground",children:"No invites pending"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Organization invitations will appear here"})]}):n.jsx("div",{className:"overflow-y-auto flex-1",children:e.map(fy)})]}),t[6]=e,t[7]=a):a=t[7];let l;return t[8]!==r||t[9]!==a?(l=n.jsxs(di,{children:[r,a]}),t[8]=r,t[9]=a,t[10]=l):l=t[10],l}function fy(t){return n.jsx(iy,{invitation:t},t.id)}function my(){const t=B.c(6),e=qe(),{org:s}=ye();let i;t[0]!==e||t[1]!==s.slug?(i=()=>e({to:"/$org/settings",params:{org:s.slug}}),t[0]=e,t[1]=s.slug,t[2]=i):i=t[2];let r;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx(Zn,{size:24}),t[3]=r):r=t[3];let o;return t[4]!==i?(o=n.jsx(vs,{children:n.jsx(Zt,{children:n.jsx(_s,{tooltip:"Settings",onClick:i,children:r})})}),t[4]=i,t[5]=o):o=t[5],o}function py(){const t=B.c(5);let e,s,i,r;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(ry,{children:n.jsx(S.Suspense,{fallback:null,children:n.jsx(cy,{})})}),s=n.jsx(hy,{}),i=n.jsx(uy,{}),r=n.jsx(my,{}),t[0]=e,t[1]=s,t[2]=i,t[3]=r):(e=t[0],s=t[1],i=t[2],r=t[3]);let o;return t[4]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsxs(Iu,{className:"px-2 pb-3 gap-1",children:[e,s,i,r,n.jsx(vs,{children:n.jsx(Zt,{children:n.jsx(pf,{})})})]}),t[4]=o):o=t[4],o}function gy(){const t=B.c(10),e=qe(),{org:s}=ye(),{setOpenMobile:i}=Qn();let r;t[0]!==e||t[1]!==s.slug||t[2]!==i?(r=()=>{e({to:"/$org/settings",params:{org:s.slug}}),i(!1)},t[0]=e,t[1]=s.slug,t[2]=i,t[3]=r):r=t[3];let o;t[4]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx(Zn,{}),t[4]=o):o=t[4];let a;t[5]!==r?(a=n.jsx(Zt,{children:n.jsx(_s,{tooltip:"Settings",onClick:r,children:o})}),t[5]=r,t[6]=a):a=t[6];let l;t[7]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx(Zt,{children:n.jsx(pf,{})}),t[7]=l):l=t[7];let c;return t[8]!==a?(c=n.jsx(Iu,{children:n.jsxs(vs,{children:[a,l]})}),t[8]=a,t[9]=c):c=t[9],c}function _y(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return S.useMemo(()=>i=>{e.forEach(r=>r(i))},e)}const vo=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Yi(t){const e=Object.prototype.toString.call(t);return e==="[object Window]"||e==="[object global]"}function Hl(t){return"nodeType"in t}function Wt(t){var e,s;return t?Yi(t)?t:Hl(t)&&(e=(s=t.ownerDocument)==null?void 0:s.defaultView)!=null?e:window:window}function Wl(t){const{Document:e}=Wt(t);return t instanceof e}function tr(t){return Yi(t)?!1:t instanceof Wt(t).HTMLElement}function gf(t){return t instanceof Wt(t).SVGElement}function Xi(t){return t?Yi(t)?t.document:Hl(t)?Wl(t)?t:tr(t)||gf(t)?t.ownerDocument:document:document:document}const Ts=vo?S.useLayoutEffect:S.useEffect;function Kl(t){const e=S.useRef(t);return Ts(()=>{e.current=t}),S.useCallback(function(){for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];return e.current==null?void 0:e.current(...i)},[])}function xy(){const t=S.useRef(null),e=S.useCallback((i,r)=>{t.current=setInterval(i,r)},[]),s=S.useCallback(()=>{t.current!==null&&(clearInterval(t.current),t.current=null)},[]);return[e,s]}function Mn(t,e){e===void 0&&(e=[t]);const s=S.useRef(t);return Ts(()=>{s.current!==t&&(s.current=t)},e),s}function sr(t,e){const s=S.useRef();return S.useMemo(()=>{const i=t(s.current);return s.current=i,i},[...e])}function Yr(t){const e=Kl(t),s=S.useRef(null),i=S.useCallback(r=>{r!==s.current&&e?.(r,s.current),s.current=r},[]);return[s,i]}function Ca(t){const e=S.useRef();return S.useEffect(()=>{e.current=t},[t]),e.current}let zo={};function ir(t,e){return S.useMemo(()=>{if(e)return e;const s=zo[t]==null?0:zo[t]+1;return zo[t]=s,t+"-"+s},[t,e])}function _f(t){return function(e){for(var s=arguments.length,i=new Array(s>1?s-1:0),r=1;r<s;r++)i[r-1]=arguments[r];return i.reduce((o,a)=>{const l=Object.entries(a);for(const[c,d]of l){const u=o[c];u!=null&&(o[c]=u+t*d)}return o},{...e})}}const Li=_f(1),Pn=_f(-1);function vy(t){return"clientX"in t&&"clientY"in t}function ql(t){if(!t)return!1;const{KeyboardEvent:e}=Wt(t.target);return e&&t instanceof e}function by(t){if(!t)return!1;const{TouchEvent:e}=Wt(t.target);return e&&t instanceof e}function ka(t){if(by(t)){if(t.touches&&t.touches.length){const{clientX:e,clientY:s}=t.touches[0];return{x:e,y:s}}else if(t.changedTouches&&t.changedTouches.length){const{clientX:e,clientY:s}=t.changedTouches[0];return{x:e,y:s}}}return vy(t)?{x:t.clientX,y:t.clientY}:null}const Ln=Object.freeze({Translate:{toString(t){if(!t)return;const{x:e,y:s}=t;return"translate3d("+(e?Math.round(e):0)+"px, "+(s?Math.round(s):0)+"px, 0)"}},Scale:{toString(t){if(!t)return;const{scaleX:e,scaleY:s}=t;return"scaleX("+e+") scaleY("+s+")"}},Transform:{toString(t){if(t)return[Ln.Translate.toString(t),Ln.Scale.toString(t)].join(" ")}},Transition:{toString(t){let{property:e,duration:s,easing:i}=t;return e+" "+s+"ms "+i}}}),ad="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function yy(t){return t.matches(ad)?t:t.querySelector(ad)}const Sy={display:"none"};function wy(t){let{id:e,value:s}=t;return Ut.createElement("div",{id:e,style:Sy},s)}function Vy(t){let{id:e,announcement:s,ariaLiveType:i="assertive"}=t;const r={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return Ut.createElement("div",{id:e,style:r,role:"status","aria-live":i,"aria-atomic":!0},s)}function Cy(){const[t,e]=S.useState("");return{announce:S.useCallback(i=>{i!=null&&e(i)},[]),announcement:t}}const xf=S.createContext(null);function ky(t){const e=S.useContext(xf);S.useEffect(()=>{if(!e)throw new Error("useDndMonitor must be used within a children of <DndContext>");return e(t)},[t,e])}function jy(){const[t]=S.useState(()=>new Set),e=S.useCallback(i=>(t.add(i),()=>t.delete(i)),[t]);return[S.useCallback(i=>{let{type:r,event:o}=i;t.forEach(a=>{var l;return(l=a[r])==null?void 0:l.call(a,o)})},[t]),e]}const Ny={draggable:`
549
+ To pick up a draggable item, press the space bar.
550
+ While dragging, use the arrow keys to move the item.
551
+ Press space again to drop the item in its new position, or press escape to cancel.
552
+ `},Ay={onDragStart(t){let{active:e}=t;return"Picked up draggable item "+e.id+"."},onDragOver(t){let{active:e,over:s}=t;return s?"Draggable item "+e.id+" was moved over droppable area "+s.id+".":"Draggable item "+e.id+" is no longer over a droppable area."},onDragEnd(t){let{active:e,over:s}=t;return s?"Draggable item "+e.id+" was dropped over droppable area "+s.id:"Draggable item "+e.id+" was dropped."},onDragCancel(t){let{active:e}=t;return"Dragging was cancelled. Draggable item "+e.id+" was dropped."}};function Ey(t){let{announcements:e=Ay,container:s,hiddenTextDescribedById:i,screenReaderInstructions:r=Ny}=t;const{announce:o,announcement:a}=Cy(),l=ir("DndLiveRegion"),[c,d]=S.useState(!1);if(S.useEffect(()=>{d(!0)},[]),ky(S.useMemo(()=>({onDragStart(h){let{active:f}=h;o(e.onDragStart({active:f}))},onDragMove(h){let{active:f,over:m}=h;e.onDragMove&&o(e.onDragMove({active:f,over:m}))},onDragOver(h){let{active:f,over:m}=h;o(e.onDragOver({active:f,over:m}))},onDragEnd(h){let{active:f,over:m}=h;o(e.onDragEnd({active:f,over:m}))},onDragCancel(h){let{active:f,over:m}=h;o(e.onDragCancel({active:f,over:m}))}}),[o,e])),!c)return null;const u=Ut.createElement(Ut.Fragment,null,Ut.createElement(wy,{id:i,value:r.draggable}),Ut.createElement(Vy,{id:l,announcement:a}));return s?ms.createPortal(u,s):u}var lt;(function(t){t.DragStart="dragStart",t.DragMove="dragMove",t.DragEnd="dragEnd",t.DragCancel="dragCancel",t.DragOver="dragOver",t.RegisterDroppable="registerDroppable",t.SetDroppableDisabled="setDroppableDisabled",t.UnregisterDroppable="unregisterDroppable"})(lt||(lt={}));function Xr(){}function ld(t,e){return S.useMemo(()=>({sensor:t,options:e??{}}),[t,e])}function Iy(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return S.useMemo(()=>[...e].filter(i=>i!=null),[...e])}const xs=Object.freeze({x:0,y:0});function vf(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function bf(t,e){let{data:{value:s}}=t,{data:{value:i}}=e;return s-i}function Ry(t,e){let{data:{value:s}}=t,{data:{value:i}}=e;return i-s}function cd(t){let{left:e,top:s,height:i,width:r}=t;return[{x:e,y:s},{x:e+r,y:s},{x:e,y:s+i},{x:e+r,y:s+i}]}function yf(t,e){if(!t||t.length===0)return null;const[s]=t;return s[e]}function dd(t,e,s){return e===void 0&&(e=t.left),s===void 0&&(s=t.top),{x:e+t.width*.5,y:s+t.height*.5}}const Ty=t=>{let{collisionRect:e,droppableRects:s,droppableContainers:i}=t;const r=dd(e,e.left,e.top),o=[];for(const a of i){const{id:l}=a,c=s.get(l);if(c){const d=vf(dd(c),r);o.push({id:l,data:{droppableContainer:a,value:d}})}}return o.sort(bf)},Dy=t=>{let{collisionRect:e,droppableRects:s,droppableContainers:i}=t;const r=cd(e),o=[];for(const a of i){const{id:l}=a,c=s.get(l);if(c){const d=cd(c),u=r.reduce((f,m,p)=>f+vf(d[p],m),0),h=Number((u/4).toFixed(4));o.push({id:l,data:{droppableContainer:a,value:h}})}}return o.sort(bf)};function My(t,e){const s=Math.max(e.top,t.top),i=Math.max(e.left,t.left),r=Math.min(e.left+e.width,t.left+t.width),o=Math.min(e.top+e.height,t.top+t.height),a=r-i,l=o-s;if(i<r&&s<o){const c=e.width*e.height,d=t.width*t.height,u=a*l,h=u/(c+d-u);return Number(h.toFixed(4))}return 0}const Py=t=>{let{collisionRect:e,droppableRects:s,droppableContainers:i}=t;const r=[];for(const o of i){const{id:a}=o,l=s.get(a);if(l){const c=My(l,e);c>0&&r.push({id:a,data:{droppableContainer:o,value:c}})}}return r.sort(Ry)};function Ly(t,e,s){return{...t,scaleX:e&&s?e.width/s.width:1,scaleY:e&&s?e.height/s.height:1}}function Sf(t,e){return t&&e?{x:t.left-e.left,y:t.top-e.top}:xs}function Oy(t){return function(s){for(var i=arguments.length,r=new Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];return r.reduce((a,l)=>({...a,top:a.top+t*l.y,bottom:a.bottom+t*l.y,left:a.left+t*l.x,right:a.right+t*l.x}),{...s})}}const By=Oy(1);function zy(t){if(t.startsWith("matrix3d(")){const e=t.slice(9,-1).split(/, /);return{x:+e[12],y:+e[13],scaleX:+e[0],scaleY:+e[5]}}else if(t.startsWith("matrix(")){const e=t.slice(7,-1).split(/, /);return{x:+e[4],y:+e[5],scaleX:+e[0],scaleY:+e[3]}}return null}function $y(t,e,s){const i=zy(e);if(!i)return t;const{scaleX:r,scaleY:o,x:a,y:l}=i,c=t.left-a-(1-r)*parseFloat(s),d=t.top-l-(1-o)*parseFloat(s.slice(s.indexOf(" ")+1)),u=r?t.width/r:t.width,h=o?t.height/o:t.height;return{width:u,height:h,top:d,right:c+u,bottom:d+h,left:c}}const Fy={ignoreTransform:!1};function Ji(t,e){e===void 0&&(e=Fy);let s=t.getBoundingClientRect();if(e.ignoreTransform){const{transform:d,transformOrigin:u}=Wt(t).getComputedStyle(t);d&&(s=$y(s,d,u))}const{top:i,left:r,width:o,height:a,bottom:l,right:c}=s;return{top:i,left:r,width:o,height:a,bottom:l,right:c}}function hd(t){return Ji(t,{ignoreTransform:!0})}function Uy(t){const e=t.innerWidth,s=t.innerHeight;return{top:0,left:0,right:e,bottom:s,width:e,height:s}}function Hy(t,e){return e===void 0&&(e=Wt(t).getComputedStyle(t)),e.position==="fixed"}function Wy(t,e){e===void 0&&(e=Wt(t).getComputedStyle(t));const s=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(r=>{const o=e[r];return typeof o=="string"?s.test(o):!1})}function bo(t,e){const s=[];function i(r){if(e!=null&&s.length>=e||!r)return s;if(Wl(r)&&r.scrollingElement!=null&&!s.includes(r.scrollingElement))return s.push(r.scrollingElement),s;if(!tr(r)||gf(r)||s.includes(r))return s;const o=Wt(t).getComputedStyle(r);return r!==t&&Wy(r,o)&&s.push(r),Hy(r,o)?s:i(r.parentNode)}return t?i(t):s}function wf(t){const[e]=bo(t,1);return e??null}function $o(t){return!vo||!t?null:Yi(t)?t:Hl(t)?Wl(t)||t===Xi(t).scrollingElement?window:tr(t)?t:null:null}function Vf(t){return Yi(t)?t.scrollX:t.scrollLeft}function Cf(t){return Yi(t)?t.scrollY:t.scrollTop}function ja(t){return{x:Vf(t),y:Cf(t)}}var ut;(function(t){t[t.Forward=1]="Forward",t[t.Backward=-1]="Backward"})(ut||(ut={}));function kf(t){return!vo||!t?!1:t===document.scrollingElement}function jf(t){const e={x:0,y:0},s=kf(t)?{height:window.innerHeight,width:window.innerWidth}:{height:t.clientHeight,width:t.clientWidth},i={x:t.scrollWidth-s.width,y:t.scrollHeight-s.height},r=t.scrollTop<=e.y,o=t.scrollLeft<=e.x,a=t.scrollTop>=i.y,l=t.scrollLeft>=i.x;return{isTop:r,isLeft:o,isBottom:a,isRight:l,maxScroll:i,minScroll:e}}const Ky={x:.2,y:.2};function qy(t,e,s,i,r){let{top:o,left:a,right:l,bottom:c}=s;i===void 0&&(i=10),r===void 0&&(r=Ky);const{isTop:d,isBottom:u,isLeft:h,isRight:f}=jf(t),m={x:0,y:0},p={x:0,y:0},g={height:e.height*r.y,width:e.width*r.x};return!d&&o<=e.top+g.height?(m.y=ut.Backward,p.y=i*Math.abs((e.top+g.height-o)/g.height)):!u&&c>=e.bottom-g.height&&(m.y=ut.Forward,p.y=i*Math.abs((e.bottom-g.height-c)/g.height)),!f&&l>=e.right-g.width?(m.x=ut.Forward,p.x=i*Math.abs((e.right-g.width-l)/g.width)):!h&&a<=e.left+g.width&&(m.x=ut.Backward,p.x=i*Math.abs((e.left+g.width-a)/g.width)),{direction:m,speed:p}}function Gy(t){if(t===document.scrollingElement){const{innerWidth:o,innerHeight:a}=window;return{top:0,left:0,right:o,bottom:a,width:o,height:a}}const{top:e,left:s,right:i,bottom:r}=t.getBoundingClientRect();return{top:e,left:s,right:i,bottom:r,width:t.clientWidth,height:t.clientHeight}}function Nf(t){return t.reduce((e,s)=>Li(e,ja(s)),xs)}function Yy(t){return t.reduce((e,s)=>e+Vf(s),0)}function Xy(t){return t.reduce((e,s)=>e+Cf(s),0)}function Jy(t,e){if(e===void 0&&(e=Ji),!t)return;const{top:s,left:i,bottom:r,right:o}=e(t);wf(t)&&(r<=0||o<=0||s>=window.innerHeight||i>=window.innerWidth)&&t.scrollIntoView({block:"center",inline:"center"})}const Qy=[["x",["left","right"],Yy],["y",["top","bottom"],Xy]];class Gl{constructor(e,s){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const i=bo(s),r=Nf(i);this.rect={...e},this.width=e.width,this.height=e.height;for(const[o,a,l]of Qy)for(const c of a)Object.defineProperty(this,c,{get:()=>{const d=l(i),u=r[o]-d;return this.rect[c]+u},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Cn{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(s=>{var i;return(i=this.target)==null?void 0:i.removeEventListener(...s)})},this.target=e}add(e,s,i){var r;(r=this.target)==null||r.addEventListener(e,s,i),this.listeners.push([e,s,i])}}function Zy(t){const{EventTarget:e}=Wt(t);return t instanceof e?t:Xi(t)}function Fo(t,e){const s=Math.abs(t.x),i=Math.abs(t.y);return typeof e=="number"?Math.sqrt(s**2+i**2)>e:"x"in e&&"y"in e?s>e.x&&i>e.y:"x"in e?s>e.x:"y"in e?i>e.y:!1}var as;(function(t){t.Click="click",t.DragStart="dragstart",t.Keydown="keydown",t.ContextMenu="contextmenu",t.Resize="resize",t.SelectionChange="selectionchange",t.VisibilityChange="visibilitychange"})(as||(as={}));function ud(t){t.preventDefault()}function e2(t){t.stopPropagation()}var Ne;(function(t){t.Space="Space",t.Down="ArrowDown",t.Right="ArrowRight",t.Left="ArrowLeft",t.Up="ArrowUp",t.Esc="Escape",t.Enter="Enter",t.Tab="Tab"})(Ne||(Ne={}));const Af={start:[Ne.Space,Ne.Enter],cancel:[Ne.Esc],end:[Ne.Space,Ne.Enter,Ne.Tab]},t2=(t,e)=>{let{currentCoordinates:s}=e;switch(t.code){case Ne.Right:return{...s,x:s.x+25};case Ne.Left:return{...s,x:s.x-25};case Ne.Down:return{...s,y:s.y+25};case Ne.Up:return{...s,y:s.y-25}}};class Yl{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:s}}=e;this.props=e,this.listeners=new Cn(Xi(s)),this.windowListeners=new Cn(Wt(s)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(as.Resize,this.handleCancel),this.windowListeners.add(as.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(as.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:s}=this.props,i=e.node.current;i&&Jy(i),s(xs)}handleKeyDown(e){if(ql(e)){const{active:s,context:i,options:r}=this.props,{keyboardCodes:o=Af,coordinateGetter:a=t2,scrollBehavior:l="smooth"}=r,{code:c}=e;if(o.end.includes(c)){this.handleEnd(e);return}if(o.cancel.includes(c)){this.handleCancel(e);return}const{collisionRect:d}=i.current,u=d?{x:d.left,y:d.top}:xs;this.referenceCoordinates||(this.referenceCoordinates=u);const h=a(e,{active:s,context:i.current,currentCoordinates:u});if(h){const f=Pn(h,u),m={x:0,y:0},{scrollableAncestors:p}=i.current;for(const g of p){const _=e.code,{isTop:v,isRight:x,isLeft:b,isBottom:y,maxScroll:C,minScroll:k}=jf(g),w=Gy(g),V={x:Math.min(_===Ne.Right?w.right-w.width/2:w.right,Math.max(_===Ne.Right?w.left:w.left+w.width/2,h.x)),y:Math.min(_===Ne.Down?w.bottom-w.height/2:w.bottom,Math.max(_===Ne.Down?w.top:w.top+w.height/2,h.y))},j=_===Ne.Right&&!x||_===Ne.Left&&!b,R=_===Ne.Down&&!y||_===Ne.Up&&!v;if(j&&V.x!==h.x){const T=g.scrollLeft+f.x,I=_===Ne.Right&&T<=C.x||_===Ne.Left&&T>=k.x;if(I&&!f.y){g.scrollTo({left:T,behavior:l});return}I?m.x=g.scrollLeft-T:m.x=_===Ne.Right?g.scrollLeft-C.x:g.scrollLeft-k.x,m.x&&g.scrollBy({left:-m.x,behavior:l});break}else if(R&&V.y!==h.y){const T=g.scrollTop+f.y,I=_===Ne.Down&&T<=C.y||_===Ne.Up&&T>=k.y;if(I&&!f.x){g.scrollTo({top:T,behavior:l});return}I?m.y=g.scrollTop-T:m.y=_===Ne.Down?g.scrollTop-C.y:g.scrollTop-k.y,m.y&&g.scrollBy({top:-m.y,behavior:l});break}}this.handleMove(e,Li(Pn(h,this.referenceCoordinates),m))}}}handleMove(e,s){const{onMove:i}=this.props;e.preventDefault(),i(s)}handleEnd(e){const{onEnd:s}=this.props;e.preventDefault(),this.detach(),s()}handleCancel(e){const{onCancel:s}=this.props;e.preventDefault(),this.detach(),s()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}Yl.activators=[{eventName:"onKeyDown",handler:(t,e,s)=>{let{keyboardCodes:i=Af,onActivation:r}=e,{active:o}=s;const{code:a}=t.nativeEvent;if(i.start.includes(a)){const l=o.activatorNode.current;return l&&t.target!==l?!1:(t.preventDefault(),r?.({event:t.nativeEvent}),!0)}return!1}}];function fd(t){return!!(t&&"distance"in t)}function md(t){return!!(t&&"delay"in t)}class Xl{constructor(e,s,i){var r;i===void 0&&(i=Zy(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=s;const{event:o}=e,{target:a}=o;this.props=e,this.events=s,this.document=Xi(a),this.documentListeners=new Cn(this.document),this.listeners=new Cn(i),this.windowListeners=new Cn(Wt(a)),this.initialCoordinates=(r=ka(o))!=null?r:xs,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:s,bypassActivationConstraint:i}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(as.Resize,this.handleCancel),this.windowListeners.add(as.DragStart,ud),this.windowListeners.add(as.VisibilityChange,this.handleCancel),this.windowListeners.add(as.ContextMenu,ud),this.documentListeners.add(as.Keydown,this.handleKeydown),s){if(i!=null&&i({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(md(s)){this.timeoutId=setTimeout(this.handleStart,s.delay),this.handlePending(s);return}if(fd(s)){this.handlePending(s);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,s){const{active:i,onPending:r}=this.props;r(i,e,this.initialCoordinates,s)}handleStart(){const{initialCoordinates:e}=this,{onStart:s}=this.props;e&&(this.activated=!0,this.documentListeners.add(as.Click,e2,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(as.SelectionChange,this.removeTextSelection),s(e))}handleMove(e){var s;const{activated:i,initialCoordinates:r,props:o}=this,{onMove:a,options:{activationConstraint:l}}=o;if(!r)return;const c=(s=ka(e))!=null?s:xs,d=Pn(r,c);if(!i&&l){if(fd(l)){if(l.tolerance!=null&&Fo(d,l.tolerance))return this.handleCancel();if(Fo(d,l.distance))return this.handleStart()}if(md(l)&&Fo(d,l.tolerance))return this.handleCancel();this.handlePending(l,d);return}e.cancelable&&e.preventDefault(),a(c)}handleEnd(){const{onAbort:e,onEnd:s}=this.props;this.detach(),this.activated||e(this.props.active),s()}handleCancel(){const{onAbort:e,onCancel:s}=this.props;this.detach(),this.activated||e(this.props.active),s()}handleKeydown(e){e.code===Ne.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}}const s2={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class Jl extends Xl{constructor(e){const{event:s}=e,i=Xi(s.target);super(e,s2,i)}}Jl.activators=[{eventName:"onPointerDown",handler:(t,e)=>{let{nativeEvent:s}=t,{onActivation:i}=e;return!s.isPrimary||s.button!==0?!1:(i?.({event:s}),!0)}}];const i2={move:{name:"mousemove"},end:{name:"mouseup"}};var Na;(function(t){t[t.RightClick=2]="RightClick"})(Na||(Na={}));class n2 extends Xl{constructor(e){super(e,i2,Xi(e.event.target))}}n2.activators=[{eventName:"onMouseDown",handler:(t,e)=>{let{nativeEvent:s}=t,{onActivation:i}=e;return s.button===Na.RightClick?!1:(i?.({event:s}),!0)}}];const Uo={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class r2 extends Xl{constructor(e){super(e,Uo)}static setup(){return window.addEventListener(Uo.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Uo.move.name,e)};function e(){}}}r2.activators=[{eventName:"onTouchStart",handler:(t,e)=>{let{nativeEvent:s}=t,{onActivation:i}=e;const{touches:r}=s;return r.length>1?!1:(i?.({event:s}),!0)}}];var kn;(function(t){t[t.Pointer=0]="Pointer",t[t.DraggableRect=1]="DraggableRect"})(kn||(kn={}));var Jr;(function(t){t[t.TreeOrder=0]="TreeOrder",t[t.ReversedTreeOrder=1]="ReversedTreeOrder"})(Jr||(Jr={}));function o2(t){let{acceleration:e,activator:s=kn.Pointer,canScroll:i,draggingRect:r,enabled:o,interval:a=5,order:l=Jr.TreeOrder,pointerCoordinates:c,scrollableAncestors:d,scrollableAncestorRects:u,delta:h,threshold:f}=t;const m=l2({delta:h,disabled:!o}),[p,g]=xy(),_=S.useRef({x:0,y:0}),v=S.useRef({x:0,y:0}),x=S.useMemo(()=>{switch(s){case kn.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case kn.DraggableRect:return r}},[s,r,c]),b=S.useRef(null),y=S.useCallback(()=>{const k=b.current;if(!k)return;const w=_.current.x*v.current.x,V=_.current.y*v.current.y;k.scrollBy(w,V)},[]),C=S.useMemo(()=>l===Jr.TreeOrder?[...d].reverse():d,[l,d]);S.useEffect(()=>{if(!o||!d.length||!x){g();return}for(const k of C){if(i?.(k)===!1)continue;const w=d.indexOf(k),V=u[w];if(!V)continue;const{direction:j,speed:R}=qy(k,V,x,e,f);for(const T of["x","y"])m[T][j[T]]||(R[T]=0,j[T]=0);if(R.x>0||R.y>0){g(),b.current=k,p(y,a),_.current=R,v.current=j;return}}_.current={x:0,y:0},v.current={x:0,y:0},g()},[e,y,i,g,o,a,JSON.stringify(x),JSON.stringify(m),p,d,C,u,JSON.stringify(f)])}const a2={x:{[ut.Backward]:!1,[ut.Forward]:!1},y:{[ut.Backward]:!1,[ut.Forward]:!1}};function l2(t){let{delta:e,disabled:s}=t;const i=Ca(e);return sr(r=>{if(s||!i||!r)return a2;const o={x:Math.sign(e.x-i.x),y:Math.sign(e.y-i.y)};return{x:{[ut.Backward]:r.x[ut.Backward]||o.x===-1,[ut.Forward]:r.x[ut.Forward]||o.x===1},y:{[ut.Backward]:r.y[ut.Backward]||o.y===-1,[ut.Forward]:r.y[ut.Forward]||o.y===1}}},[s,e,i])}function c2(t,e){const s=e!=null?t.get(e):void 0,i=s?s.node.current:null;return sr(r=>{var o;return e==null?null:(o=i??r)!=null?o:null},[i,e])}function d2(t,e){return S.useMemo(()=>t.reduce((s,i)=>{const{sensor:r}=i,o=r.activators.map(a=>({eventName:a.eventName,handler:e(a.handler,i)}));return[...s,...o]},[]),[t,e])}var On;(function(t){t[t.Always=0]="Always",t[t.BeforeDragging=1]="BeforeDragging",t[t.WhileDragging=2]="WhileDragging"})(On||(On={}));var Aa;(function(t){t.Optimized="optimized"})(Aa||(Aa={}));const pd=new Map;function h2(t,e){let{dragging:s,dependencies:i,config:r}=e;const[o,a]=S.useState(null),{frequency:l,measure:c,strategy:d}=r,u=S.useRef(t),h=_(),f=Mn(h),m=S.useCallback(function(v){v===void 0&&(v=[]),!f.current&&a(x=>x===null?v:x.concat(v.filter(b=>!x.includes(b))))},[f]),p=S.useRef(null),g=sr(v=>{if(h&&!s)return pd;if(!v||v===pd||u.current!==t||o!=null){const x=new Map;for(let b of t){if(!b)continue;if(o&&o.length>0&&!o.includes(b.id)&&b.rect.current){x.set(b.id,b.rect.current);continue}const y=b.node.current,C=y?new Gl(c(y),y):null;b.rect.current=C,C&&x.set(b.id,C)}return x}return v},[t,o,s,h,c]);return S.useEffect(()=>{u.current=t},[t]),S.useEffect(()=>{h||m()},[s,h]),S.useEffect(()=>{o&&o.length>0&&a(null)},[JSON.stringify(o)]),S.useEffect(()=>{h||typeof l!="number"||p.current!==null||(p.current=setTimeout(()=>{m(),p.current=null},l))},[l,h,m,...i]),{droppableRects:g,measureDroppableContainers:m,measuringScheduled:o!=null};function _(){switch(d){case On.Always:return!1;case On.BeforeDragging:return s;default:return!s}}}function Ef(t,e){return sr(s=>t?s||(typeof e=="function"?e(t):t):null,[e,t])}function u2(t,e){return Ef(t,e)}function f2(t){let{callback:e,disabled:s}=t;const i=Kl(e),r=S.useMemo(()=>{if(s||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(i)},[i,s]);return S.useEffect(()=>()=>r?.disconnect(),[r]),r}function yo(t){let{callback:e,disabled:s}=t;const i=Kl(e),r=S.useMemo(()=>{if(s||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(i)},[s]);return S.useEffect(()=>()=>r?.disconnect(),[r]),r}function m2(t){return new Gl(Ji(t),t)}function gd(t,e,s){e===void 0&&(e=m2);const[i,r]=S.useState(null);function o(){r(c=>{if(!t)return null;if(t.isConnected===!1){var d;return(d=c??s)!=null?d:null}const u=e(t);return JSON.stringify(c)===JSON.stringify(u)?c:u})}const a=f2({callback(c){if(t)for(const d of c){const{type:u,target:h}=d;if(u==="childList"&&h instanceof HTMLElement&&h.contains(t)){o();break}}}}),l=yo({callback:o});return Ts(()=>{o(),t?(l?.observe(t),a?.observe(document.body,{childList:!0,subtree:!0})):(l?.disconnect(),a?.disconnect())},[t]),i}function p2(t){const e=Ef(t);return Sf(t,e)}const _d=[];function g2(t){const e=S.useRef(t),s=sr(i=>t?i&&i!==_d&&t&&e.current&&t.parentNode===e.current.parentNode?i:bo(t):_d,[t]);return S.useEffect(()=>{e.current=t},[t]),s}function _2(t){const[e,s]=S.useState(null),i=S.useRef(t),r=S.useCallback(o=>{const a=$o(o.target);a&&s(l=>l?(l.set(a,ja(a)),new Map(l)):null)},[]);return S.useEffect(()=>{const o=i.current;if(t!==o){a(o);const l=t.map(c=>{const d=$o(c);return d?(d.addEventListener("scroll",r,{passive:!0}),[d,ja(d)]):null}).filter(c=>c!=null);s(l.length?new Map(l):null),i.current=t}return()=>{a(t),a(o)};function a(l){l.forEach(c=>{const d=$o(c);d?.removeEventListener("scroll",r)})}},[r,t]),S.useMemo(()=>t.length?e?Array.from(e.values()).reduce((o,a)=>Li(o,a),xs):Nf(t):xs,[t,e])}function xd(t,e){e===void 0&&(e=[]);const s=S.useRef(null);return S.useEffect(()=>{s.current=null},e),S.useEffect(()=>{const i=t!==xs;i&&!s.current&&(s.current=t),!i&&s.current&&(s.current=null)},[t]),s.current?Pn(t,s.current):xs}function x2(t){S.useEffect(()=>{if(!vo)return;const e=t.map(s=>{let{sensor:i}=s;return i.setup==null?void 0:i.setup()});return()=>{for(const s of e)s?.()}},t.map(e=>{let{sensor:s}=e;return s}))}function v2(t,e){return S.useMemo(()=>t.reduce((s,i)=>{let{eventName:r,handler:o}=i;return s[r]=a=>{o(a,e)},s},{}),[t,e])}function If(t){return S.useMemo(()=>t?Uy(t):null,[t])}const vd=[];function b2(t,e){e===void 0&&(e=Ji);const[s]=t,i=If(s?Wt(s):null),[r,o]=S.useState(vd);function a(){o(()=>t.length?t.map(c=>kf(c)?i:new Gl(e(c),c)):vd)}const l=yo({callback:a});return Ts(()=>{l?.disconnect(),a(),t.forEach(c=>l?.observe(c))},[t]),r}function y2(t){if(!t)return null;if(t.children.length>1)return t;const e=t.children[0];return tr(e)?e:t}function S2(t){let{measure:e}=t;const[s,i]=S.useState(null),r=S.useCallback(d=>{for(const{target:u}of d)if(tr(u)){i(h=>{const f=e(u);return h?{...h,width:f.width,height:f.height}:f});break}},[e]),o=yo({callback:r}),a=S.useCallback(d=>{const u=y2(d);o?.disconnect(),u&&o?.observe(u),i(u?e(u):null)},[e,o]),[l,c]=Yr(a);return S.useMemo(()=>({nodeRef:l,rect:s,setRef:c}),[s,l,c])}const w2=[{sensor:Jl,options:{}},{sensor:Yl,options:{}}],V2={current:{}},Ir={draggable:{measure:hd},droppable:{measure:hd,strategy:On.WhileDragging,frequency:Aa.Optimized},dragOverlay:{measure:Ji}};class jn extends Map{get(e){var s;return e!=null&&(s=super.get(e))!=null?s:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:s}=e;return!s})}getNodeFor(e){var s,i;return(s=(i=this.get(e))==null?void 0:i.node.current)!=null?s:void 0}}const C2={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new jn,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Xr},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ir,measureDroppableContainers:Xr,windowRect:null,measuringScheduled:!1},k2={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Xr,draggableNodes:new Map,over:null,measureDroppableContainers:Xr},So=S.createContext(k2),Rf=S.createContext(C2);function j2(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new jn}}}function N2(t,e){switch(e.type){case lt.DragStart:return{...t,draggable:{...t.draggable,initialCoordinates:e.initialCoordinates,active:e.active}};case lt.DragMove:return t.draggable.active==null?t:{...t,draggable:{...t.draggable,translate:{x:e.coordinates.x-t.draggable.initialCoordinates.x,y:e.coordinates.y-t.draggable.initialCoordinates.y}}};case lt.DragEnd:case lt.DragCancel:return{...t,draggable:{...t.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case lt.RegisterDroppable:{const{element:s}=e,{id:i}=s,r=new jn(t.droppable.containers);return r.set(i,s),{...t,droppable:{...t.droppable,containers:r}}}case lt.SetDroppableDisabled:{const{id:s,key:i,disabled:r}=e,o=t.droppable.containers.get(s);if(!o||i!==o.key)return t;const a=new jn(t.droppable.containers);return a.set(s,{...o,disabled:r}),{...t,droppable:{...t.droppable,containers:a}}}case lt.UnregisterDroppable:{const{id:s,key:i}=e,r=t.droppable.containers.get(s);if(!r||i!==r.key)return t;const o=new jn(t.droppable.containers);return o.delete(s),{...t,droppable:{...t.droppable,containers:o}}}default:return t}}function A2(t){let{disabled:e}=t;const{active:s,activatorEvent:i,draggableNodes:r}=S.useContext(So),o=Ca(i),a=Ca(s?.id);return S.useEffect(()=>{if(!e&&!i&&o&&a!=null){if(!ql(o)||document.activeElement===o.target)return;const l=r.get(a);if(!l)return;const{activatorNode:c,node:d}=l;if(!c.current&&!d.current)return;requestAnimationFrame(()=>{for(const u of[c.current,d.current]){if(!u)continue;const h=yy(u);if(h){h.focus();break}}})}},[i,e,r,a,o]),null}function E2(t,e){let{transform:s,...i}=e;return t!=null&&t.length?t.reduce((r,o)=>o({transform:r,...i}),s):s}function I2(t){return S.useMemo(()=>({draggable:{...Ir.draggable,...t?.draggable},droppable:{...Ir.droppable,...t?.droppable},dragOverlay:{...Ir.dragOverlay,...t?.dragOverlay}}),[t?.draggable,t?.droppable,t?.dragOverlay])}function R2(t){let{activeNode:e,measure:s,initialRect:i,config:r=!0}=t;const o=S.useRef(!1),{x:a,y:l}=typeof r=="boolean"?{x:r,y:r}:r;Ts(()=>{if(!a&&!l||!e){o.current=!1;return}if(o.current||!i)return;const d=e?.node.current;if(!d||d.isConnected===!1)return;const u=s(d),h=Sf(u,i);if(a||(h.x=0),l||(h.y=0),o.current=!0,Math.abs(h.x)>0||Math.abs(h.y)>0){const f=wf(d);f&&f.scrollBy({top:h.y,left:h.x})}},[e,a,l,i,s])}const Tf=S.createContext({...xs,scaleX:1,scaleY:1});var Ys;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Initializing=1]="Initializing",t[t.Initialized=2]="Initialized"})(Ys||(Ys={}));const T2=S.memo(function(e){var s,i,r,o;let{id:a,accessibility:l,autoScroll:c=!0,children:d,sensors:u=w2,collisionDetection:h=Py,measuring:f,modifiers:m,...p}=e;const g=S.useReducer(N2,void 0,j2),[_,v]=g,[x,b]=jy(),[y,C]=S.useState(Ys.Uninitialized),k=y===Ys.Initialized,{draggable:{active:w,nodes:V,translate:j},droppable:{containers:R}}=_,T=w!=null?V.get(w):null,I=S.useRef({initial:null,translated:null}),A=S.useMemo(()=>{var Ie;return w!=null?{id:w,data:(Ie=T?.data)!=null?Ie:V2,rect:I}:null},[w,T]),N=S.useRef(null),[E,M]=S.useState(null),[L,D]=S.useState(null),P=Mn(p,Object.values(p)),O=ir("DndDescribedBy",a),$=S.useMemo(()=>R.getEnabled(),[R]),z=I2(f),{droppableRects:W,measureDroppableContainers:F,measuringScheduled:K}=h2($,{dragging:k,dependencies:[j.x,j.y],config:z.droppable}),H=c2(V,w),U=S.useMemo(()=>L?ka(L):null,[L]),Y=kt(),q=u2(H,z.draggable.measure);R2({activeNode:w!=null?V.get(w):null,config:Y.layoutShiftCompensation,initialRect:q,measure:z.draggable.measure});const G=gd(H,z.draggable.measure,q),ee=gd(H?H.parentElement:null),Z=S.useRef({activatorEvent:null,active:null,activeNode:H,collisionRect:null,collisions:null,droppableRects:W,draggableNodes:V,draggingNode:null,draggingNodeRect:null,droppableContainers:R,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),J=R.getNodeFor((s=Z.current.over)==null?void 0:s.id),se=S2({measure:z.dragOverlay.measure}),ne=(i=se.nodeRef.current)!=null?i:H,ce=k?(r=se.rect)!=null?r:G:null,xe=!!(se.nodeRef.current&&se.rect),ae=p2(xe?null:G),he=If(ne?Wt(ne):null),pe=g2(k?J??H:null),me=b2(pe),we=E2(m,{transform:{x:j.x-ae.x,y:j.y-ae.y,scaleX:1,scaleY:1},activatorEvent:L,active:A,activeNodeRect:G,containerNodeRect:ee,draggingNodeRect:ce,over:Z.current.over,overlayNodeRect:se.rect,scrollableAncestors:pe,scrollableAncestorRects:me,windowRect:he}),ve=U?Li(U,j):null,de=_2(pe),Re=xd(de),te=xd(de,[G]),ue=Li(we,Re),Ve=ce?By(ce,we):null,Ee=A&&Ve?h({active:A,collisionRect:Ve,droppableRects:W,droppableContainers:$,pointerCoordinates:ve}):null,Te=yf(Ee,"id"),[be,je]=S.useState(null),$e=xe?we:Li(we,te),Ge=Ly($e,(o=be?.rect)!=null?o:null,G),ge=S.useRef(null),Ae=S.useCallback((Ie,Me)=>{let{sensor:Ye,options:qt}=Me;if(N.current==null)return;const xt=V.get(N.current);if(!xt)return;const vt=Ie.nativeEvent,bt=new Ye({active:N.current,activeNode:xt,event:vt,options:qt,context:Z,onAbort(Fe){if(!V.get(Fe))return;const{onDragAbort:Nt}=P.current,wt={id:Fe};Nt?.(wt),x({type:"onDragAbort",event:wt})},onPending(Fe,jt,Nt,wt){if(!V.get(Fe))return;const{onDragPending:zt}=P.current,$t={id:Fe,constraint:jt,initialCoordinates:Nt,offset:wt};zt?.($t),x({type:"onDragPending",event:$t})},onStart(Fe){const jt=N.current;if(jt==null)return;const Nt=V.get(jt);if(!Nt)return;const{onDragStart:wt}=P.current,_e={activatorEvent:vt,active:{id:jt,data:Nt.data,rect:I}};ms.unstable_batchedUpdates(()=>{wt?.(_e),C(Ys.Initializing),v({type:lt.DragStart,initialCoordinates:Fe,active:jt}),x({type:"onDragStart",event:_e}),M(ge.current),D(vt)})},onMove(Fe){v({type:lt.DragMove,coordinates:Fe})},onEnd:bs(lt.DragEnd),onCancel:bs(lt.DragCancel)});ge.current=bt;function bs(Fe){return async function(){const{active:Nt,collisions:wt,over:_e,scrollAdjustedTranslate:zt}=Z.current;let $t=null;if(Nt&&zt){const{cancelDrop:us}=P.current;$t={activatorEvent:vt,active:Nt,collisions:wt,delta:zt,over:_e},Fe===lt.DragEnd&&typeof us=="function"&&await Promise.resolve(us($t))&&(Fe=lt.DragCancel)}N.current=null,ms.unstable_batchedUpdates(()=>{v({type:Fe}),C(Ys.Uninitialized),je(null),M(null),D(null),ge.current=null;const us=Fe===lt.DragEnd?"onDragEnd":"onDragCancel";if($t){const tn=P.current[us];tn?.($t),x({type:us,event:$t})}})}}},[V]),Ze=S.useCallback((Ie,Me)=>(Ye,qt)=>{const xt=Ye.nativeEvent,vt=V.get(qt);if(N.current!==null||!vt||xt.dndKit||xt.defaultPrevented)return;const bt={active:vt};Ie(Ye,Me.options,bt)===!0&&(xt.dndKit={capturedBy:Me.sensor},N.current=qt,Ae(Ye,Me))},[V,Ae]),Ct=d2(u,Ze);x2(u),Ts(()=>{G&&y===Ys.Initializing&&C(Ys.Initialized)},[G,y]),S.useEffect(()=>{const{onDragMove:Ie}=P.current,{active:Me,activatorEvent:Ye,collisions:qt,over:xt}=Z.current;if(!Me||!Ye)return;const vt={active:Me,activatorEvent:Ye,collisions:qt,delta:{x:ue.x,y:ue.y},over:xt};ms.unstable_batchedUpdates(()=>{Ie?.(vt),x({type:"onDragMove",event:vt})})},[ue.x,ue.y]),S.useEffect(()=>{const{active:Ie,activatorEvent:Me,collisions:Ye,droppableContainers:qt,scrollAdjustedTranslate:xt}=Z.current;if(!Ie||N.current==null||!Me||!xt)return;const{onDragOver:vt}=P.current,bt=qt.get(Te),bs=bt&&bt.rect.current?{id:bt.id,rect:bt.rect.current,data:bt.data,disabled:bt.disabled}:null,Fe={active:Ie,activatorEvent:Me,collisions:Ye,delta:{x:xt.x,y:xt.y},over:bs};ms.unstable_batchedUpdates(()=>{je(bs),vt?.(Fe),x({type:"onDragOver",event:Fe})})},[Te]),Ts(()=>{Z.current={activatorEvent:L,active:A,activeNode:H,collisionRect:Ve,collisions:Ee,droppableRects:W,draggableNodes:V,draggingNode:ne,draggingNodeRect:ce,droppableContainers:R,over:be,scrollableAncestors:pe,scrollAdjustedTranslate:ue},I.current={initial:ce,translated:Ve}},[A,H,Ee,Ve,V,ne,ce,W,R,be,pe,ue]),o2({...Y,delta:j,draggingRect:Ve,pointerCoordinates:ve,scrollableAncestors:pe,scrollableAncestorRects:me});const Be=S.useMemo(()=>({active:A,activeNode:H,activeNodeRect:G,activatorEvent:L,collisions:Ee,containerNodeRect:ee,dragOverlay:se,draggableNodes:V,droppableContainers:R,droppableRects:W,over:be,measureDroppableContainers:F,scrollableAncestors:pe,scrollableAncestorRects:me,measuringConfiguration:z,measuringScheduled:K,windowRect:he}),[A,H,G,L,Ee,ee,se,V,R,W,be,F,pe,me,z,K,he]),Kt=S.useMemo(()=>({activatorEvent:L,activators:Ct,active:A,activeNodeRect:G,ariaDescribedById:{draggable:O},dispatch:v,draggableNodes:V,over:be,measureDroppableContainers:F}),[L,Ct,A,G,v,O,V,be,F]);return Ut.createElement(xf.Provider,{value:b},Ut.createElement(So.Provider,{value:Kt},Ut.createElement(Rf.Provider,{value:Be},Ut.createElement(Tf.Provider,{value:Ge},d)),Ut.createElement(A2,{disabled:l?.restoreFocus===!1})),Ut.createElement(Ey,{...l,hiddenTextDescribedById:O}));function kt(){const Ie=E?.autoScrollEnabled===!1,Me=typeof c=="object"?c.enabled===!1:c===!1,Ye=k&&!Ie&&!Me;return typeof c=="object"?{...c,enabled:Ye}:{enabled:Ye}}}),D2=S.createContext(null),bd="button",M2="Draggable";function P2(t){let{id:e,data:s,disabled:i=!1,attributes:r}=t;const o=ir(M2),{activators:a,activatorEvent:l,active:c,activeNodeRect:d,ariaDescribedById:u,draggableNodes:h,over:f}=S.useContext(So),{role:m=bd,roleDescription:p="draggable",tabIndex:g=0}=r??{},_=c?.id===e,v=S.useContext(_?Tf:D2),[x,b]=Yr(),[y,C]=Yr(),k=v2(a,e),w=Mn(s);Ts(()=>(h.set(e,{id:e,key:o,node:x,activatorNode:y,data:w}),()=>{const j=h.get(e);j&&j.key===o&&h.delete(e)}),[h,e]);const V=S.useMemo(()=>({role:m,tabIndex:g,"aria-disabled":i,"aria-pressed":_&&m===bd?!0:void 0,"aria-roledescription":p,"aria-describedby":u.draggable}),[i,m,g,_,p,u.draggable]);return{active:c,activatorEvent:l,activeNodeRect:d,attributes:V,isDragging:_,listeners:i?void 0:k,node:x,over:f,setNodeRef:b,setActivatorNodeRef:C,transform:v}}function L2(){return S.useContext(Rf)}const O2="Droppable",B2={timeout:25};function z2(t){let{data:e,disabled:s=!1,id:i,resizeObserverConfig:r}=t;const o=ir(O2),{active:a,dispatch:l,over:c,measureDroppableContainers:d}=S.useContext(So),u=S.useRef({disabled:s}),h=S.useRef(!1),f=S.useRef(null),m=S.useRef(null),{disabled:p,updateMeasurementsFor:g,timeout:_}={...B2,...r},v=Mn(g??i),x=S.useCallback(()=>{if(!h.current){h.current=!0;return}m.current!=null&&clearTimeout(m.current),m.current=setTimeout(()=>{d(Array.isArray(v.current)?v.current:[v.current]),m.current=null},_)},[_]),b=yo({callback:x,disabled:p||!a}),y=S.useCallback((V,j)=>{b&&(j&&(b.unobserve(j),h.current=!1),V&&b.observe(V))},[b]),[C,k]=Yr(y),w=Mn(e);return S.useEffect(()=>{!b||!C.current||(b.disconnect(),h.current=!1,b.observe(C.current))},[C,b]),S.useEffect(()=>(l({type:lt.RegisterDroppable,element:{id:i,key:o,disabled:s,node:C,rect:f,data:w}}),()=>l({type:lt.UnregisterDroppable,key:o,id:i})),[i]),S.useEffect(()=>{s!==u.current.disabled&&(l({type:lt.SetDroppableDisabled,id:i,key:o,disabled:s}),u.current.disabled=s)},[i,o,s,l]),{active:a,rect:f,isOver:c?.id===i,node:C,over:c,setNodeRef:k}}function Ql(t,e,s){const i=t.slice();return i.splice(s<0?i.length+s:s,0,i.splice(e,1)[0]),i}function $2(t,e){return t.reduce((s,i,r)=>{const o=e.get(i);return o&&(s[r]=o),s},Array(t.length))}function fr(t){return t!==null&&t>=0}function F2(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0}function U2(t){return typeof t=="boolean"?{draggable:t,droppable:t}:t}const Df=t=>{let{rects:e,activeIndex:s,overIndex:i,index:r}=t;const o=Ql(e,i,s),a=e[r],l=o[r];return!l||!a?null:{x:l.left-a.left,y:l.top-a.top,scaleX:l.width/a.width,scaleY:l.height/a.height}},mr={scaleX:1,scaleY:1},H2=t=>{var e;let{activeIndex:s,activeNodeRect:i,index:r,rects:o,overIndex:a}=t;const l=(e=o[s])!=null?e:i;if(!l)return null;if(r===s){const d=o[a];return d?{x:0,y:s<a?d.top+d.height-(l.top+l.height):d.top-l.top,...mr}:null}const c=W2(o,r,s);return r>s&&r<=a?{x:0,y:-l.height-c,...mr}:r<s&&r>=a?{x:0,y:l.height+c,...mr}:{x:0,y:0,...mr}};function W2(t,e,s){const i=t[e],r=t[e-1],o=t[e+1];return i?s<e?r?i.top-(r.top+r.height):o?o.top-(i.top+i.height):0:o?o.top-(i.top+i.height):r?i.top-(r.top+r.height):0:0}const Mf="Sortable",Pf=Ut.createContext({activeIndex:-1,containerId:Mf,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Df,disabled:{draggable:!1,droppable:!1}});function K2(t){let{children:e,id:s,items:i,strategy:r=Df,disabled:o=!1}=t;const{active:a,dragOverlay:l,droppableRects:c,over:d,measureDroppableContainers:u}=L2(),h=ir(Mf,s),f=l.rect!==null,m=S.useMemo(()=>i.map(k=>typeof k=="object"&&"id"in k?k.id:k),[i]),p=a!=null,g=a?m.indexOf(a.id):-1,_=d?m.indexOf(d.id):-1,v=S.useRef(m),x=!F2(m,v.current),b=_!==-1&&g===-1||x,y=U2(o);Ts(()=>{x&&p&&u(m)},[x,m,p,u]),S.useEffect(()=>{v.current=m},[m]);const C=S.useMemo(()=>({activeIndex:g,containerId:h,disabled:y,disableTransforms:b,items:m,overIndex:_,useDragOverlay:f,sortedRects:$2(m,c),strategy:r}),[g,h,y.draggable,y.droppable,b,m,_,c,f,r]);return Ut.createElement(Pf.Provider,{value:C},e)}const q2=t=>{let{id:e,items:s,activeIndex:i,overIndex:r}=t;return Ql(s,i,r).indexOf(e)},G2=t=>{let{containerId:e,isSorting:s,wasDragging:i,index:r,items:o,newIndex:a,previousItems:l,previousContainerId:c,transition:d}=t;return!d||!i||l!==o&&r===a?!1:s?!0:a!==r&&e===c},Y2={duration:200,easing:"ease"},Lf="transform",X2=Ln.Transition.toString({property:Lf,duration:0,easing:"linear"}),J2={roleDescription:"sortable"};function Q2(t){let{disabled:e,index:s,node:i,rect:r}=t;const[o,a]=S.useState(null),l=S.useRef(s);return Ts(()=>{if(!e&&s!==l.current&&i.current){const c=r.current;if(c){const d=Ji(i.current,{ignoreTransform:!0}),u={x:c.left-d.left,y:c.top-d.top,scaleX:c.width/d.width,scaleY:c.height/d.height};(u.x||u.y)&&a(u)}}s!==l.current&&(l.current=s)},[e,s,i,r]),S.useEffect(()=>{o&&a(null)},[o]),o}function Z2(t){let{animateLayoutChanges:e=G2,attributes:s,disabled:i,data:r,getNewIndex:o=q2,id:a,strategy:l,resizeObserverConfig:c,transition:d=Y2}=t;const{items:u,containerId:h,activeIndex:f,disabled:m,disableTransforms:p,sortedRects:g,overIndex:_,useDragOverlay:v,strategy:x}=S.useContext(Pf),b=eS(i,m),y=u.indexOf(a),C=S.useMemo(()=>({sortable:{containerId:h,index:y,items:u},...r}),[h,r,y,u]),k=S.useMemo(()=>u.slice(u.indexOf(a)),[u,a]),{rect:w,node:V,isOver:j,setNodeRef:R}=z2({id:a,data:C,disabled:b.droppable,resizeObserverConfig:{updateMeasurementsFor:k,...c}}),{active:T,activatorEvent:I,activeNodeRect:A,attributes:N,setNodeRef:E,listeners:M,isDragging:L,over:D,setActivatorNodeRef:P,transform:O}=P2({id:a,data:C,attributes:{...J2,...s},disabled:b.draggable}),$=_y(R,E),z=!!T,W=z&&!p&&fr(f)&&fr(_),F=!v&&L,K=F&&W?O:null,U=W?K??(l??x)({rects:g,activeNodeRect:A,activeIndex:f,overIndex:_,index:y}):null,Y=fr(f)&&fr(_)?o({id:a,items:u,activeIndex:f,overIndex:_}):y,q=T?.id,G=S.useRef({activeId:q,items:u,newIndex:Y,containerId:h}),ee=u!==G.current.items,Z=e({active:T,containerId:h,isDragging:L,isSorting:z,id:a,index:y,items:u,newIndex:G.current.newIndex,previousItems:G.current.items,previousContainerId:G.current.containerId,transition:d,wasDragging:G.current.activeId!=null}),J=Q2({disabled:!Z,index:y,node:V,rect:w});return S.useEffect(()=>{z&&G.current.newIndex!==Y&&(G.current.newIndex=Y),h!==G.current.containerId&&(G.current.containerId=h),u!==G.current.items&&(G.current.items=u)},[z,Y,h,u]),S.useEffect(()=>{if(q===G.current.activeId)return;if(q!=null&&G.current.activeId==null){G.current.activeId=q;return}const ne=setTimeout(()=>{G.current.activeId=q},50);return()=>clearTimeout(ne)},[q]),{active:T,activeIndex:f,attributes:N,data:C,rect:w,index:y,newIndex:Y,items:u,isOver:j,isSorting:z,isDragging:L,listeners:M,node:V,overIndex:_,over:D,setNodeRef:$,setActivatorNodeRef:P,setDroppableNodeRef:R,setDraggableNodeRef:E,transform:J??U,transition:se()};function se(){if(J||ee&&G.current.newIndex===y)return X2;if(!(F&&!ql(I)||!d)&&(z||Z))return Ln.Transition.toString({...d,property:Lf})}}function eS(t,e){var s,i;return typeof t=="boolean"?{draggable:t,droppable:!1}:{draggable:(s=t?.draggable)!=null?s:e.draggable,droppable:(i=t?.droppable)!=null?i:e.droppable}}function Qr(t){if(!t)return!1;const e=t.data.current;return!!(e&&"sortable"in e&&typeof e.sortable=="object"&&"containerId"in e.sortable&&"items"in e.sortable&&"index"in e.sortable)}const tS=[Ne.Down,Ne.Right,Ne.Up,Ne.Left],sS=(t,e)=>{let{context:{active:s,collisionRect:i,droppableRects:r,droppableContainers:o,over:a,scrollableAncestors:l}}=e;if(tS.includes(t.code)){if(t.preventDefault(),!s||!i)return;const c=[];o.getEnabled().forEach(h=>{if(!h||h!=null&&h.disabled)return;const f=r.get(h.id);if(f)switch(t.code){case Ne.Down:i.top<f.top&&c.push(h);break;case Ne.Up:i.top>f.top&&c.push(h);break;case Ne.Left:i.left>f.left&&c.push(h);break;case Ne.Right:i.left<f.left&&c.push(h);break}});const d=Dy({collisionRect:i,droppableRects:r,droppableContainers:c});let u=yf(d,"id");if(u===a?.id&&d.length>1&&(u=d[1].id),u!=null){const h=o.get(s.id),f=o.get(u),m=f?r.get(f.id):null,p=f?.node.current;if(p&&m&&h&&f){const _=bo(p).some((k,w)=>l[w]!==k),v=Of(h,f),x=iS(h,f),b=_||!v?{x:0,y:0}:{x:x?i.width-m.width:0,y:x?i.height-m.height:0},y={x:m.left,y:m.top};return b.x&&b.y?y:Pn(y,b)}}}};function Of(t,e){return!Qr(t)||!Qr(e)?!1:t.data.current.sortable.containerId===e.data.current.sortable.containerId}function iS(t,e){return!Qr(t)||!Qr(e)||!Of(t,e)?!1:t.data.current.sortable.index<e.data.current.sortable.index}function nS(t){const e=B.c(21),{value:s,onChange:i,placeholder:r,onKeyDown:o,className:a,isSearching:l,disabled:c}=t,d=r===void 0?"Search...":r;let u;e[0]!==a?(u=X("shrink-0 w-full border-b border-border h-12",a),e[0]=a,e[1]=u):u=e[1];const h=c?"cursor-not-allowed opacity-50":"cursor-text";let f;e[2]!==h?(f=X("flex items-center gap-2.5 h-12 px-4",h),e[2]=h,e[3]=f):f=e[3];let m;e[4]!==l?(m=l?n.jsx(De,{size:16,className:"animate-spin text-muted-foreground shrink-0"}):n.jsx(jl,{size:16,className:"text-muted-foreground shrink-0"}),e[4]=l,e[5]=m):m=e[5];let p;e[6]!==i?(p=x=>i(x.target.value),e[6]=i,e[7]=p):p=e[7];let g;e[8]!==c||e[9]!==o||e[10]!==d||e[11]!==p||e[12]!==s?(g=n.jsx("input",{type:"text",value:s,onChange:p,onKeyDown:o,placeholder:d,disabled:c,className:"flex-1 min-w-0 bg-transparent text-sm text-foreground placeholder:text-muted-foreground/50 outline-none"}),e[8]=c,e[9]=o,e[10]=d,e[11]=p,e[12]=s,e[13]=g):g=e[13];let _;e[14]!==f||e[15]!==m||e[16]!==g?(_=n.jsxs("label",{className:f,children:[m,g]}),e[14]=f,e[15]=m,e[16]=g,e[17]=_):_=e[17];let v;return e[18]!==u||e[19]!==_?(v=n.jsx("div",{className:u,children:_}),e[18]=u,e[19]=_,e[20]=v):v=e[20],v}var Zl="ContextMenu",[rS]=jp(Zl,[Ph]),Lt=Ph(),[oS,Bf]=rS(Zl),zf=t=>{const{__scopeContextMenu:e,children:s,onOpenChange:i,dir:r,modal:o=!0}=t,[a,l]=S.useState(!1),c=Lt(e),d=vp(i),u=S.useCallback(h=>{l(h),d(h)},[d]);return n.jsx(oS,{scope:e,open:a,onOpenChange:u,modal:o,children:n.jsx(bp,{...c,dir:r,open:a,onOpenChange:u,modal:o,children:s})})};zf.displayName=Zl;var $f="ContextMenuTrigger",Ff=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,disabled:i=!1,...r}=t,o=Bf($f,s),a=Lt(s),l=S.useRef({x:0,y:0}),c=S.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...l.current})}),d=S.useRef(0),u=S.useCallback(()=>window.clearTimeout(d.current),[]),h=f=>{l.current={x:f.clientX,y:f.clientY},o.onOpenChange(!0)};return S.useEffect(()=>u,[u]),S.useEffect(()=>{i&&u()},[i,u]),n.jsxs(n.Fragment,{children:[n.jsx(yp,{...a,virtualRef:c}),n.jsx(Sp.span,{"data-state":o.open?"open":"closed","data-disabled":i?"":void 0,...r,ref:e,style:{WebkitTouchCallout:"none",...t.style},onContextMenu:i?t.onContextMenu:sn(t.onContextMenu,f=>{u(),h(f),f.preventDefault()}),onPointerDown:i?t.onPointerDown:sn(t.onPointerDown,pr(f=>{u(),d.current=window.setTimeout(()=>h(f),700)})),onPointerMove:i?t.onPointerMove:sn(t.onPointerMove,pr(u)),onPointerCancel:i?t.onPointerCancel:sn(t.onPointerCancel,pr(u)),onPointerUp:i?t.onPointerUp:sn(t.onPointerUp,pr(u))})]})});Ff.displayName=$f;var aS="ContextMenuPortal",Uf=t=>{const{__scopeContextMenu:e,...s}=t,i=Lt(e);return n.jsx(wp,{...i,...s})};Uf.displayName=aS;var Hf="ContextMenuContent",Wf=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Bf(Hf,s),o=Lt(s),a=S.useRef(!1);return n.jsx(Vp,{...o,...i,ref:e,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:l=>{t.onCloseAutoFocus?.(l),!l.defaultPrevented&&a.current&&l.preventDefault(),a.current=!1},onInteractOutside:l=>{t.onInteractOutside?.(l),!l.defaultPrevented&&!r.modal&&(a.current=!0)},style:{...t.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Wf.displayName=Hf;var lS="ContextMenuGroup",cS=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(Np,{...r,...i,ref:e})});cS.displayName=lS;var dS="ContextMenuLabel",hS=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(Ap,{...r,...i,ref:e})});hS.displayName=dS;var uS="ContextMenuItem",Kf=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(Cp,{...r,...i,ref:e})});Kf.displayName=uS;var fS="ContextMenuCheckboxItem",mS=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(Ep,{...r,...i,ref:e})});mS.displayName=fS;var pS="ContextMenuRadioGroup",gS=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(Ip,{...r,...i,ref:e})});gS.displayName=pS;var _S="ContextMenuRadioItem",xS=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(Rp,{...r,...i,ref:e})});xS.displayName=_S;var vS="ContextMenuItemIndicator",bS=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(Tp,{...r,...i,ref:e})});bS.displayName=vS;var yS="ContextMenuSeparator",qf=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(kp,{...r,...i,ref:e})});qf.displayName=yS;var SS="ContextMenuArrow",wS=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(Dp,{...r,...i,ref:e})});wS.displayName=SS;var VS="ContextMenuSubTrigger",CS=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(Mp,{...r,...i,ref:e})});CS.displayName=VS;var kS="ContextMenuSubContent",jS=S.forwardRef((t,e)=>{const{__scopeContextMenu:s,...i}=t,r=Lt(s);return n.jsx(Pp,{...r,...i,ref:e,style:{...t.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});jS.displayName=kS;function pr(t){return e=>e.pointerType!=="mouse"?t(e):void 0}var NS=zf,AS=Ff,ES=Uf,IS=Wf,RS=Kf,TS=qf;function DS(t){const e=B.c(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let i;return e[2]!==s?(i=n.jsx(NS,{"data-slot":"context-menu",...s}),e[2]=s,e[3]=i):i=e[3],i}function MS(t){const e=B.c(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let i;return e[2]!==s?(i=n.jsx(AS,{"data-slot":"context-menu-trigger",...s}),e[2]=s,e[3]=i):i=e[3],i}function PS(t){const e=B.c(8);let s,i;e[0]!==t?({className:s,...i}=t,e[0]=t,e[1]=s,e[2]=i):(s=e[1],i=e[2]);let r;e[3]!==s?(r=X("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",s),e[3]=s,e[4]=r):r=e[4];let o;return e[5]!==i||e[6]!==r?(o=n.jsx(ES,{children:n.jsx(IS,{"data-slot":"context-menu-content",className:r,...i})}),e[5]=i,e[6]=r,e[7]=o):o=e[7],o}function yd(t){const e=B.c(12);let s,i,r,o;e[0]!==t?({className:s,inset:i,variant:o,...r}=t,e[0]=t,e[1]=s,e[2]=i,e[3]=r,e[4]=o):(s=e[1],i=e[2],r=e[3],o=e[4]);const a=o===void 0?"default":o;let l;e[5]!==s?(l=X("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",s),e[5]=s,e[6]=l):l=e[6];let c;return e[7]!==i||e[8]!==r||e[9]!==l||e[10]!==a?(c=n.jsx(RS,{"data-slot":"context-menu-item","data-inset":i,"data-variant":a,className:l,...r}),e[7]=i,e[8]=r,e[9]=l,e[10]=a,e[11]=c):c=e[11],c}function LS(t){const e=B.c(8);let s,i;e[0]!==t?({className:s,...i}=t,e[0]=t,e[1]=s,e[2]=i):(s=e[1],i=e[2]);let r;e[3]!==s?(r=X("bg-border -mx-1 my-1 h-px",s),e[3]=s,e[4]=r):r=e[4];let o;return e[5]!==i||e[6]!==r?(o=n.jsx(TS,{"data-slot":"context-menu-separator",className:r,...i}),e[5]=i,e[6]=r,e[7]=o):o=e[7],o}function Gf(t){const e=qe(),s=Mt(),i=Tu(),{locator:r}=ye(),o=Hn({strict:!1}),a=Si({strict:!1});return async l=>{const c=crypto.randomUUID(),d=l===a.virtualmcpid?qh(s,r,o.taskId??""):null;try{await i.create.mutateAsync({id:c,virtual_mcp_id:l,...d?{branch:d}:{}})}catch{}e({to:"/$org/$taskId",params:{org:t,taskId:c},search:{virtualmcpid:l}})}}function OS({agent:t,org:e,onUnpin:s,isDragging:i}){const r=qe(),{isMobile:o,setOpenMobile:a}=Qn(),l=Gf(e),d=Th({select:b=>b.location.pathname}).startsWith(`/${e}/${t.id}`),[u,h]=S.useState(null),f=S.useRef(null),m=S.useRef(null),p=S.useRef(!1);p.current=!!i,i&&(u||m.current)&&(m.current&&(clearTimeout(m.current),m.current=null),u&&h(null));const g=b=>{if(p.current)return;const y=b.currentTarget.getBoundingClientRect();m.current=setTimeout(()=>{p.current||h(y)},550)},_=b=>{m.current&&(clearTimeout(m.current),m.current=null),!(f.current&&b.relatedTarget instanceof Node&&f.current.contains(b.relatedTarget))&&h(null)},v=u?Math.round(u.height*.9):0,x=u?u.width+v:0;return n.jsx(DS,{children:n.jsxs(Zt,{className:X(u&&"z-[55]"),children:[n.jsx(MS,{asChild:!0,children:n.jsx(_s,{tooltip:u?void 0:t.title,isActive:d,onClick:()=>{ie("sidebar_agent_pin_clicked",{agent_id:t.id,agent_title:t.title}),l(t.id),o&&a(!1)},onMouseEnter:g,onMouseLeave:_,children:n.jsx(gs,{icon:t.icon,name:t.title,size:"xs",className:"w-full h-full [&_svg]:w-1/2 [&_svg]:h-1/2"})})}),n.jsxs(PS,{children:[n.jsxs(yd,{onClick:()=>{const b=crypto.randomUUID();r({to:"/$org/$taskId",params:{org:e,taskId:b},search:{virtualmcpid:t.id}})},children:[n.jsx(Zn,{size:14}),"Settings"]}),n.jsx(LS,{}),n.jsxs(yd,{onClick:()=>{s(),d&&r({to:"/$org",params:{org:e}})},className:"",children:[n.jsx(Js,{size:14}),"Unpin"]})]}),u&&ms.createPortal(n.jsx("button",{ref:f,type:"button",onMouseLeave:()=>h(null),onClick:b=>{b.stopPropagation(),h(null),s(),r({to:"/$org",params:{org:e}})},className:X("flex items-center justify-center","bg-sidebar-accent text-muted-foreground","rounded-xl cursor-pointer","animate-in fade-in-0 slide-in-from-right-2","duration-150 [animation-timing-function:cubic-bezier(0.165,0.84,0.44,1)]","hover:text-foreground transition-colors"),style:{position:"fixed",top:u.top,left:u.left,height:u.height,width:x,paddingLeft:u.width,zIndex:50,boxShadow:"inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.075), 0 0 0 0.5px hsla(0, 0%, 0%, 0.12)"},children:n.jsx(Js,{size:14})}),document.body)]})})}function BS(t){const e=B.c(18);let s;e[0]!==t.agent.id?(s={id:t.agent.id},e[0]=t.agent.id,e[1]=s):s=e[1];const{attributes:i,listeners:r,setNodeRef:o,transform:a,transition:l,isDragging:c}=Z2(s);let d;e[2]!==a?(d=Ln.Transform.toString(a?{...a,x:0}:null),e[2]=a,e[3]=d):d=e[3];const u=c?.5:void 0,h=c?100:void 0;let f;e[4]!==d||e[5]!==u||e[6]!==h||e[7]!==l?(f={transform:d,transition:l,opacity:u,zIndex:h},e[4]=d,e[5]=u,e[6]=h,e[7]=l,e[8]=f):f=e[8];const m=f;let p;e[9]!==c||e[10]!==t?(p=n.jsx(OS,{...t,isDragging:c}),e[9]=c,e[10]=t,e[11]=p):p=e[11];let g;return e[12]!==i||e[13]!==r||e[14]!==o||e[15]!==m||e[16]!==p?(g=n.jsx("div",{ref:o,style:m,...i,...r,tabIndex:-1,className:"w-full",children:p}),e[12]=i,e[13]=r,e[14]=o,e[15]=m,e[16]=p,e[17]=g):g=e[17],g}function zS(t){const e=B.c(9),{agent:s,onClick:i}=t;let r;e[0]!==s.icon||e[1]!==s.title?(r=n.jsx(gs,{icon:s.icon,name:s.title,size:"md",className:"transition-transform group-hover:scale-105"}),e[0]=s.icon,e[1]=s.title,e[2]=r):r=e[2];let o;e[3]!==s.title?(o=n.jsx("span",{className:"text-xs leading-tight text-center text-muted-foreground group-hover:text-foreground line-clamp-2 w-full",children:s.title}),e[3]=s.title,e[4]=o):o=e[4];let a;return e[5]!==i||e[6]!==r||e[7]!==o?(a=n.jsxs("button",{type:"button",onClick:i,className:"flex flex-col items-center gap-2 p-3 rounded-xl transition-colors hover:bg-accent cursor-pointer group",children:[r,o]}),e[5]=i,e[6]=r,e[7]=o,e[8]=a):a=e[8],a}function $S(t){const e=B.c(89),{onClose:s,onOpenImportDeco:i,onOpenGithubImport:r,onOpenSelfHealing:o,onOpenDiagnosticsModal:a,onOpenLeanCanvasModal:l,onOpenStudioPackModal:c}=t,[d,u]=S.useState(""),h=mo(),{org:f}=ye();let m;e[0]!==h?(m=h.filter(qS).map(KS),e[0]=h,e[1]=m):m=e[1];const p=m,{pin:g,isPinned:_}=Cu(f.id,p);let v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v={navigateOnCreate:!0},e[2]=v):v=e[2];const{createVirtualMCP:x,isCreating:b}=ku(v),[y]=yi(),C=Gf(f.slug),k=Yn();let w,V,j,R,T,I,A,N,E;if(e[3]!==h||e[4]!==x||e[5]!==b||e[6]!==_||e[7]!==k||e[8]!==C||e[9]!==s||e[10]!==a||e[11]!==r||e[12]!==i||e[13]!==l||e[14]!==o||e[15]!==c||e[16]!==g||e[17]!==y.experimental_vibecode||e[18]!==d){const z=d.toLowerCase();E=h.filter(WS).filter(de=>!d||de.title.toLowerCase().includes(z));let W;e[28]!==h?(W=h.some(HS),e[28]=h,e[29]=W):W=e[29];const F=W;w=zs.filter(de=>(!d||de.title.toLowerCase().includes(z))&&!(de.id==="studio-pack"&&F));let K;e[30]===Symbol.for("react.memo_cache_sentinel")?(K=zs.find(US),e[30]=K):K=e[30];const H=K,U=H?h.find(de=>de.metadata?.type===H.id):void 0;let Y;e[31]===Symbol.for("react.memo_cache_sentinel")?(Y=zs.find(FS),e[31]=Y):Y=e[31];const q=Y,G=q?h.find(de=>de.metadata?.type===q.id):void 0;let ee;e[32]!==_||e[33]!==C||e[34]!==s||e[35]!==g?(ee=de=>{_(de.id)||g(de.id),s(),u(""),C(de.id)},e[32]=_,e[33]=C,e[34]=s,e[35]=g,e[36]=ee):ee=e[36];const Z=ee,J=de=>{s(),u(""),de==="site-editor"?i():de==="site-diagnostics"?U?k(U.id):a():de==="lean-canvas"?G?k(G.id):l():de==="studio-pack"?c():C(de)};A="flex flex-col max-h-[min(640px,80dvh)]",e[37]!==d?(N=n.jsx(nS,{value:d,onChange:u,placeholder:"Search agents..."}),e[37]=d,e[38]=N):N=e[38],V="overflow-y-auto flex-1 min-h-0 px-3 pb-3",e[39]!==s||e[40]!==o||e[41]!==y.experimental_vibecode?(j=y.experimental_vibecode&&n.jsxs("button",{type:"button",onClick:()=>{o(),s()},className:"mt-3 w-full flex items-center gap-3 rounded-xl border border-primary/30 bg-gradient-to-br from-primary/10 via-primary/5 to-transparent px-3 py-3 text-left transition-colors hover:border-primary/50 hover:from-primary/15 cursor-pointer group",children:[n.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/15 flex items-center justify-center shrink-0 transition-transform group-hover:scale-105",children:n.jsx(Fr,{className:"size-5 text-primary"})}),n.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[n.jsx("span",{className:"text-sm font-medium text-foreground leading-tight",children:"Set up self-healing repo"}),n.jsx("span",{className:"text-xs text-muted-foreground line-clamp-2",children:"Connect GitHub and add specialist monitors that open issues automatically."})]})]}),e[39]=s,e[40]=o,e[41]=y.experimental_vibecode,e[42]=j):j=e[42],e[43]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx("div",{className:"px-1 pt-3 pb-2",children:n.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Agents"})}),e[43]=R):R=e[43];let se;e[44]!==x||e[45]!==s?(se=async()=>{ie("agent_create_new_clicked",{source:"browse_popover"}),await x(),s()},e[44]=x,e[45]=s,e[46]=se):se=e[46];let ne,ce;e[47]===Symbol.for("react.memo_cache_sentinel")?(ne=n.jsx("div",{className:"w-12 h-12 rounded-xl border-2 border-dashed border-border flex items-center justify-center shrink-0 transition-transform group-hover:scale-105",children:n.jsx(Qt,{size:16,className:"text-muted-foreground"})}),ce=n.jsx("span",{className:"text-xs leading-tight text-center text-muted-foreground group-hover:text-foreground",children:"Create new"}),e[47]=ne,e[48]=ce):(ne=e[47],ce=e[48]);let xe;e[49]!==b||e[50]!==se?(xe=n.jsxs("button",{type:"button",disabled:b,onClick:se,className:"flex flex-col items-center gap-2 p-3 rounded-xl transition-colors hover:bg-accent cursor-pointer group disabled:opacity-50 disabled:cursor-not-allowed",children:[ne,ce]}),e[49]=b,e[50]=se,e[51]=xe):xe=e[51];let ae;e[52]!==s||e[53]!==i?(ae=()=>{ie("agent_import_clicked",{source:"deco_cx"}),i(),s()},e[52]=s,e[53]=i,e[54]=ae):ae=e[54];let he,pe;e[55]===Symbol.for("react.memo_cache_sentinel")?(he=n.jsx("div",{className:"w-12 h-12 rounded-xl border-2 border-border flex items-center justify-center shrink-0 transition-transform group-hover:scale-105",children:n.jsx("img",{src:"/logos/deco%20logo.svg",alt:"deco.cx",className:"size-5"})}),pe=n.jsx("span",{className:"text-xs leading-tight text-center text-muted-foreground group-hover:text-foreground",children:"Import deco.cx"}),e[55]=he,e[56]=pe):(he=e[55],pe=e[56]);let me;e[57]!==ae?(me=n.jsxs("button",{type:"button",onClick:ae,className:"flex flex-col items-center gap-2 p-3 rounded-xl transition-colors hover:bg-accent cursor-pointer group",children:[he,pe]}),e[57]=ae,e[58]=me):me=e[58];let we;e[59]!==s||e[60]!==r||e[61]!==y.experimental_vibecode?(we=y.experimental_vibecode&&n.jsxs("button",{type:"button",onClick:()=>{ie("agent_import_clicked",{source:"github"}),r(),s()},className:"flex flex-col items-center gap-2 p-3 rounded-xl transition-colors hover:bg-accent cursor-pointer group",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl border-2 border-border flex items-center justify-center shrink-0 transition-transform group-hover:scale-105",children:n.jsx(Fr,{className:"size-5 text-muted-foreground"})}),n.jsx("span",{className:"text-xs leading-tight text-center text-muted-foreground group-hover:text-foreground",children:"Import GitHub"})]}),e[59]=s,e[60]=r,e[61]=y.experimental_vibecode,e[62]=we):we=e[62];let ve;e[63]!==Z?(ve=de=>n.jsx(zS,{agent:de,onClick:()=>Z(de)},de.id),e[63]=Z,e[64]=ve):ve=e[64],T=n.jsxs("div",{className:"grid grid-cols-3 gap-1",children:[xe,me,we,E.map(ve)]}),I=w.length>0&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"px-1 pt-4 pb-2",children:n.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Agent templates"})}),n.jsx("div",{className:"grid grid-cols-3 gap-1",children:w.map(de=>n.jsxs("button",{type:"button",onClick:()=>{ie("agent_template_clicked",{template_id:de.id,template_title:de.title}),J(de.id)},className:"flex flex-col items-center gap-2 p-3 rounded-xl transition-colors hover:bg-accent cursor-pointer group disabled:opacity-50 disabled:cursor-not-allowed",children:[n.jsx(gs,{icon:de.icon,name:de.title,size:"md",className:"transition-transform group-hover:scale-105"}),n.jsx("span",{className:"text-xs leading-tight text-center text-muted-foreground group-hover:text-foreground line-clamp-2 w-full",children:de.title})]},de.id))})]}),e[3]=h,e[4]=x,e[5]=b,e[6]=_,e[7]=k,e[8]=C,e[9]=s,e[10]=a,e[11]=r,e[12]=i,e[13]=l,e[14]=o,e[15]=c,e[16]=g,e[17]=y.experimental_vibecode,e[18]=d,e[19]=w,e[20]=V,e[21]=j,e[22]=R,e[23]=T,e[24]=I,e[25]=A,e[26]=N,e[27]=E}else w=e[19],V=e[20],j=e[21],R=e[22],T=e[23],I=e[24],A=e[25],N=e[26],E=e[27];let M;e[65]!==w||e[66]!==b||e[67]!==d||e[68]!==E.length?(M=E.length===0&&w.length===0&&!b&&n.jsx("div",{className:"flex items-center justify-center py-6 text-xs text-muted-foreground",children:d?"No agents found":"No agents yet"}),e[65]=w,e[66]=b,e[67]=d,e[68]=E.length,e[69]=M):M=e[69];let L;e[70]!==M||e[71]!==V||e[72]!==j||e[73]!==R||e[74]!==T||e[75]!==I?(L=n.jsxs("div",{className:V,children:[j,R,T,I,M]}),e[70]=M,e[71]=V,e[72]=j,e[73]=R,e[74]=T,e[75]=I,e[76]=L):L=e[76];let D;e[77]!==f.slug?(D={org:f.slug},e[77]=f.slug,e[78]=D):D=e[78];let P;e[79]!==s?(P=()=>s(),e[79]=s,e[80]=P):P=e[80];let O;e[81]!==D||e[82]!==P?(O=n.jsx("div",{className:"border-t border-border px-3 py-2.5",children:n.jsx(Lh,{to:"/$org/settings/agents",params:D,onClick:P,className:"text-xs text-muted-foreground hover:text-foreground transition-colors flex items-center justify-center",children:"See all agents"})}),e[81]=D,e[82]=P,e[83]=O):O=e[83];let $;return e[84]!==L||e[85]!==O||e[86]!==A||e[87]!==N?($=n.jsxs("div",{className:A,children:[N,L,O]}),e[84]=L,e[85]=O,e[86]=A,e[87]=N,e[88]=$):$=e[88],$}function FS(t){return t.id==="lean-canvas"}function US(t){return t.id==="site-diagnostics"}function HS(t){return bg(t.id)}function WS(t){return!Br(t.id)}function KS(t){return t.id}function qS(t){return t.pinned}function GS(){const t=B.c(30),[e,s]=S.useState(!1),[i,r]=S.useState(!1),[o,a]=S.useState(!1),[l,c]=S.useState(!1),[d,u]=S.useState(!1),[h,f]=S.useState(!1),[m,p]=S.useState(!1),g=Ms(),{setOpenMobile:_}=Qn();let v;t[0]!==g||t[1]!==_?(v=()=>{s(!1),g&&_(!1)},t[0]=g,t[1]=_,t[2]=v):v=t[2];const x=v;let b;t[3]!==x||t[4]!==e?(b=e&&n.jsx(S.Suspense,{fallback:n.jsx("div",{className:"flex items-center justify-center py-8",children:n.jsx($i,{className:"h-4 w-24"})}),children:n.jsx($S,{onClose:x,onOpenImportDeco:()=>r(!0),onOpenGithubImport:()=>{a(!0),x()},onOpenSelfHealing:()=>{c(!0),x()},onOpenDiagnosticsModal:()=>u(!0),onOpenLeanCanvasModal:()=>f(!0),onOpenStudioPackModal:()=>p(!0)})}),t[3]=x,t[4]=e,t[5]=b):b=t[5];const y=b;let C;t[6]!==g||t[7]!==e||t[8]!==y?(C=g?n.jsxs(n.Fragment,{children:[n.jsx(Zt,{children:n.jsx(_s,{tooltip:"Browse agents",className:"bg-muted/75 hover:bg-sidebar-accent",onClick:()=>{ie("agent_browser_opened",{surface:"mobile_drawer"}),s(!0)},children:n.jsx(Qt,{className:"!opacity-100"})})}),n.jsx(Ci,{open:e,onOpenChange:s,direction:"bottom",children:n.jsxs(Vi,{className:"max-h-[85dvh] p-0",children:[n.jsx(wi,{className:"sr-only",children:"Browse agents"}),y]})})]}):n.jsxs(di,{open:e,onOpenChange:A=>{A&&!e&&ie("agent_browser_opened",{surface:"desktop_popover"}),s(A)},children:[n.jsx(Zt,{children:n.jsx(li,{asChild:!0,children:n.jsx(_s,{tooltip:"Browse agents",className:"bg-muted/75 hover:bg-sidebar-accent",children:n.jsx(Qt,{className:"!opacity-100"})})})}),n.jsx(ci,{className:"w-[380px] p-0 overflow-hidden",side:"right",align:"start",children:y})]}),t[6]=g,t[7]=e,t[8]=y,t[9]=C):C=t[9];let k;t[10]!==i?(k=n.jsx(Ur,{open:i,onOpenChange:r}),t[10]=i,t[11]=k):k=t[11];let w;t[12]!==o?(w=n.jsx(wu,{open:o,onOpenChange:a}),t[12]=o,t[13]=w):w=t[13];let V;t[14]!==l?(V=n.jsx(rf,{open:l,onOpenChange:c}),t[14]=l,t[15]=V):V=t[15];let j;t[16]!==d?(j=n.jsx(Vu,{open:d,onOpenChange:u}),t[16]=d,t[17]=j):j=t[17];let R;t[18]!==h?(R=n.jsx(k_,{open:h,onOpenChange:f}),t[18]=h,t[19]=R):R=t[19];let T;t[20]!==m?(T=n.jsx(j_,{open:m,onOpenChange:p}),t[20]=m,t[21]=T):T=t[21];let I;return t[22]!==C||t[23]!==k||t[24]!==w||t[25]!==V||t[26]!==j||t[27]!==R||t[28]!==T?(I=n.jsxs(n.Fragment,{children:[C,k,w,V,j,R,T]}),t[22]=C,t[23]=k,t[24]=w,t[25]=V,t[26]=j,t[27]=R,t[28]=T,t[29]=I):I=t[29],I}function YS(){const t=B.c(34),e=mo(),{org:s}=ye();let i;t[0]!==e?(i=e.filter(ZS).map(QS),t[0]=e,t[1]=i):i=t[1];const r=i,{pinnedIds:o,unpin:a,reorder:l}=Cu(s.id,r),c=new Map(e.map(JS)),d=o.map(D=>c.get(D)).filter(XS);let u;t[2]===Symbol.for("react.memo_cache_sentinel")?(u={activationConstraint:{distance:5}},t[2]=u):u=t[2];let h;t[3]===Symbol.for("react.memo_cache_sentinel")?(h={coordinateGetter:sS},t[3]=h):h=t[3];const f=Iy(ld(Jl,u),ld(Yl,h));let m;t[4]!==o||t[5]!==l?(m=D=>{const{active:P,over:O}=D;if(!O||P.id===O.id)return;const $=o.indexOf(P.id),z=o.indexOf(O.id);$===-1||z===-1||l(Ql([...o],$,z))},t[4]=o,t[5]=l,t[6]=m):m=t[6];const p=m,g=Xn,_="py-0 px-0 mt-2 flex-1 min-h-0";let v;t[7]===Symbol.for("react.memo_cache_sentinel")?(v=n.jsx("div",{className:"h-px bg-border mx-2 mb-2"}),t[7]=v):v=t[7];const x=Jn,b="flex flex-1 min-h-0 flex-col overflow-y-auto [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden",y=vs,C="gap-2";let k;t[8]===Symbol.for("react.memo_cache_sentinel")?(k=n.jsx(GS,{}),t[8]=k):k=t[8];const w=T2,V=Ty,j=K2,R=H2;let T;t[9]!==s.slug||t[10]!==a?(T=D=>n.jsx(BS,{agent:D,org:s.slug,onUnpin:()=>a(D.id)},D.id),t[9]=s.slug,t[10]=a,t[11]=T):T=t[11];const I=d.map(T);let A;t[12]!==j||t[13]!==o||t[14]!==R||t[15]!==I?(A=n.jsx(j,{items:o,strategy:R,children:I}),t[12]=j,t[13]=o,t[14]=R,t[15]=I,t[16]=A):A=t[16];let N;t[17]!==w||t[18]!==p||t[19]!==f||t[20]!==A||t[21]!==V?(N=n.jsx(w,{sensors:f,collisionDetection:V,onDragEnd:p,children:A}),t[17]=w,t[18]=p,t[19]=f,t[20]=A,t[21]=V,t[22]=N):N=t[22];let E;t[23]!==y||t[24]!==N||t[25]!==k?(E=n.jsxs(y,{className:C,children:[k,N]}),t[23]=y,t[24]=N,t[25]=k,t[26]=E):E=t[26];let M;t[27]!==x||t[28]!==E?(M=n.jsx(x,{className:b,children:E}),t[27]=x,t[28]=E,t[29]=M):M=t[29];let L;return t[30]!==g||t[31]!==M||t[32]!==v?(L=n.jsxs(g,{className:_,children:[v,M]}),t[30]=g,t[31]=M,t[32]=v,t[33]=L):L=t[33],L}function XS(t){return!!t}function JS(t){return[t.id,t]}function QS(t){return t.id}function ZS(t){return t.pinned}function Yf(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(S.Suspense,{fallback:n.jsx(Xn,{className:"py-0 px-0",children:n.jsx(Jn,{children:n.jsx(vs,{className:"gap-2",children:n.jsx(Zt,{children:n.jsxs("div",{className:"flex items-center gap-2 px-2 py-2",children:[n.jsx($i,{className:"h-4 w-4 rounded"}),n.jsx($i,{className:"h-4 flex-1"})]})})})})}),children:n.jsx(YS,{})}),t[0]=e):e=t[0],e}function ew(){const t=B.c(4),e=df();let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx(py,{}),t[0]=s):s=t[0];let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(Ns,{children:n.jsx(S.Suspense,{fallback:null,children:n.jsx(Yf,{})})}),t[1]=i):i=t[1];let r;return t[2]!==e?(r=n.jsx(ff,{sections:e,footer:s,additionalContent:i}),t[2]=e,t[3]=r):r=t[3],r}function tw(t){const e=B.c(5),{onClose:s}=t,i=df();let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx(gy,{}),e[0]=r):r=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx(Ns,{children:n.jsx(S.Suspense,{fallback:null,children:n.jsx(Yf,{})})}),e[1]=o):o=e[1];let a;return e[2]!==s||e[3]!==i?(a=n.jsx(W0,{sections:i,onClose:s,footer:r,additionalContent:o}),e[2]=s,e[3]=i,e[4]=a):a=e[4],a}async function sw(t,e,s){const i=await t.callTool({name:e,arguments:s});if(i.isError){const r=i.content?.[0]?.text??`Tool ${e} failed without a message`;throw new Error(r)}return i}const Xf=["VM_START"],gr=new Map,iw=t=>`${t.virtualMcpId}::${t.branch??""}`;function ec(t){const e=Mt();return Ki({mutationKey:Xf,mutationFn:async s=>{const i=iw(s),r=gr.get(i);if(r)return r;const o=(async()=>(await sw(t,"VM_START",s)).structuredContent)();gr.set(i,o);try{return await o}finally{gr.get(i)===o&&gr.delete(i)}},onSuccess:()=>{Vr(e)}})}function nw(t,e){const s=B.c(3);let i;return s[0]!==e||s[1]!==t?(i={mutationKey:Xf,predicate:o=>{if(!t)return!1;const a=o.state.variables;return!a||a.virtualMcpId!==t?!1:(a.branch??"")===(e??"")}},s[0]=e,s[1]=t,s[2]=i):i=s[2],Z_(i)>0}function rw(t,e){return t===1?!0:t===0?!1:e}function ow(t){const e=t.entityMetadata?.defaultMainView??null,s=e==null||e.type==="chat",i=t.mainParamPresent?t.mainParamValue!=="0":!s,r=s?!0:t.entityMetadata?.chatDefaultOpen??!1;return{mainOpen:i,chatOpen:r}}function Sd(t,e){return t&&e?{chat:45,main:55}:t&&!e?{chat:100,main:0}:!t&&e?{chat:0,main:100}:{chat:0,main:0}}function aw(t,e){return t===1?!0:t===0?!1:e}function lw(t,e){const s=qe(),i=Si({strict:!1}),r=Hn({strict:!1}),o=Mt(),a=Tu(),{locator:l}=ye(),{virtualMcpId:c,orgSlug:d,isAgentRoute:u}=e,h=ow({entityMetadata:t,mainParamPresent:i.main!==void 0,mainParamValue:i.main}),f=aw(i.chat,h.chatOpen),m=h.mainOpen,p=S.useRef(crypto.randomUUID()),g=r.taskId??p.current,_="/$org/$taskId",v=R=>({org:d,taskId:R}),x=u?{virtualmcpid:c}:{},b=(R,T)=>{s({to:_,params:v(g),search:I=>({...I,...R}),replace:T?.replace??!1})},y=(R,T)=>{s({to:_,params:v(R),search:I=>{const A={};return T?A.virtualmcpid=T:u&&(A.virtualmcpid=c),I.tasks&&(A.tasks=I.tasks),A}})},C=()=>{m?b({main:"0"},{replace:!0}):b({main:eg(t)},{replace:!0})},k=()=>{b({chat:f?0:1},{replace:!0})},w=()=>{f||b({chat:1},{replace:!0})},V=async()=>{const R=crypto.randomUUID(),T=qh(o,l,g);try{await a.create.mutateAsync({id:R,virtual_mcp_id:c,...T?{branch:T}:{}})}catch{}s({to:_,params:v(R),search:I=>{const A={...x,chat:1};return I.tasks&&(A.tasks=I.tasks),A}})},j=R=>{b({main:R},{replace:!0})};return{taskId:g,mainOpen:m,chatOpen:f,mainParam:i.main,setTaskId:y,toggleMain:C,toggleChat:k,openChat:w,createNewTask:V,openTab:j}}const tc=S.createContext(null);function cw(t){const e=B.c(15),{children:s}=t,i=qe();let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={strict:!1},e[0]=r):r=e[0];const o=Si(r);let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a={owner:"all",status:"open"},e[1]=a):a=e[1];const{tasks:l}=ha(a);let c;e[2]!==o.tasks||e[3]!==l.length?(c=()=>rw(o.tasks,l.length>0),e[2]=o.tasks,e[3]=l.length,e[4]=c):c=e[4];const[d,u]=S.useState(c);let h,f;e[5]!==i||e[6]!==d?(h=()=>{i({search:(v=>({...v,tasks:d?1:0})),replace:!0})},f=[d,i],e[5]=i,e[6]=d,e[7]=h,e[8]=f):(h=e[7],f=e[8]),S.useEffect(h,f);let m;e[9]===Symbol.for("react.memo_cache_sentinel")?(m=()=>u(dw),e[9]=m):m=e[9];const p=m;let g;e[10]!==d?(g={tasksOpen:d,toggleTasks:p},e[10]=d,e[11]=g):g=e[11];let _;return e[12]!==s||e[13]!==g?(_=n.jsx(tc.Provider,{value:g,children:s}),e[12]=s,e[13]=g,e[14]=_):_=e[14],_}function dw(t){return!t}function Jf(){const t=S.useContext(tc);if(!t)throw new Error("useTasksPanelState must be used inside <TasksPanelStateProvider>");return t}function hw(){return S.useContext(tc)}const Qf=S.createContext(null);function hi(){const t=S.use(Qf);if(!t)throw new Error("Toolbar.* must be used inside <Toolbar>");return t}function Ue(t){const e=B.c(10),{children:s}=t,[i,r]=S.useState(null),[o,a]=S.useState(null),[l,c]=S.useState(null),[d,u]=S.useState(null);let h;e[0]!==l||e[1]!==d||e[2]!==o||e[3]!==i?(h={togglesEl:i,setTogglesEl:r,tabsEl:o,setTabsEl:a,centerEl:l,setCenterEl:c,rightEl:d,setRightEl:u},e[0]=l,e[1]=d,e[2]=o,e[3]=i,e[4]=h):h=e[4];let f;e[5]!==s?(f=n.jsx("div",{className:"flex flex-col h-full min-h-0",children:s}),e[5]=s,e[6]=f):f=e[6];let m;return e[7]!==h||e[8]!==f?(m=n.jsx(Qf,{value:h,children:f}),e[7]=h,e[8]=f,e[9]=m):m=e[9],m}function uw(t){const e=B.c(2),{children:s}=t;let i;return e[0]!==s?(i=n.jsx("div",{className:"shrink-0 grid grid-cols-3 items-center pl-1 pr-2 pt-0.25 h-12",children:s}),e[0]=s,e[1]=i):i=e[1],i}function fw(t){const e=B.c(2),{children:s}=t;let i;return e[0]!==s?(i=n.jsx("div",{className:"flex items-center gap-0.5 min-w-0 justify-self-start",children:s}),e[0]=s,e[1]=i):i=e[1],i}function mw(t){const e=B.c(2),{children:s}=t;let i;return e[0]!==s?(i=n.jsx("div",{className:"flex items-center justify-end gap-0.5 min-w-0 justify-self-end",children:s}),e[0]=s,e[1]=i):i=e[1],i}function pw(){const t=B.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("button",{type:"button",onClick:_w,className:"flex size-7 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground transition-colors",title:"Go back",children:n.jsx(pa,{size:16})}),t[0]=e):e=t[0];let s;return t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsxs(n.Fragment,{children:[e,n.jsx("button",{type:"button",onClick:gw,className:"flex size-7 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground transition-colors",title:"Go forward",children:n.jsx(Il,{size:16})})]}),t[1]=s):s=t[1],s}function gw(){return window.history.forward()}function _w(){return window.history.back()}function xw(){const t=B.c(2),{setCenterEl:e}=hi();let s;return t[0]!==e?(s=n.jsx("div",{ref:e,className:"min-w-0 flex items-center justify-center gap-2"}),t[0]=e,t[1]=s):s=t[1],s}function vw(t){const e=B.c(3),{children:s}=t,{centerEl:i}=hi();if(!i)return null;let r;return e[0]!==i||e[1]!==s?(r=ms.createPortal(s,i),e[0]=i,e[1]=s,e[2]=r):r=e[2],r}function bw(){const t=B.c(2),{setTabsEl:e}=hi();let s;return t[0]!==e?(s=n.jsx("div",{ref:e,className:"shrink-0 flex items-center overflow-x-auto"}),t[0]=e,t[1]=s):s=t[1],s}function yw(t){const e=B.c(3),{children:s}=t,{tabsEl:i}=hi();if(!i)return null;let r;return e[0]!==s||e[1]!==i?(r=ms.createPortal(s,i),e[0]=s,e[1]=i,e[2]=r):r=e[2],r}function Sw(){const t=B.c(2),{setTogglesEl:e}=hi();let s;return t[0]!==e?(s=n.jsx("div",{ref:e,className:"flex items-center gap-0.5 shrink-0 ml-0.5"}),t[0]=e,t[1]=s):s=t[1],s}function ww(t){const e=B.c(3),{children:s}=t,{togglesEl:i}=hi();if(!i)return null;let r;return e[0]!==s||e[1]!==i?(r=ms.createPortal(s,i),e[0]=s,e[1]=i,e[2]=r):r=e[2],r}function Vw(){const t=B.c(2),{setRightEl:e}=hi();let s;return t[0]!==e?(s=n.jsx("div",{ref:e,className:"flex items-center justify-end gap-0.5 shrink-0"}),t[0]=e,t[1]=s):s=t[1],s}function Cw(t){const e=B.c(3),{children:s}=t,{rightEl:i}=hi();if(!i)return null;let r;return e[0]!==s||e[1]!==i?(r=ms.createPortal(s,i),e[0]=s,e[1]=i,e[2]=r):r=e[2],r}Ue.Header=uw;Ue.LeftColumn=fw;Ue.RightColumn=mw;Ue.Nav=pw;Ue.CenterSlot=xw;Ue.Center=vw;Ue.TabsSlot=bw;Ue.Tabs=yw;Ue.TogglesSlot=Sw;Ue.Toggles=ww;Ue.RightSlot=Vw;Ue.Right=Cw;const kw=280;function jw(){const t=B.c(2),{tasksOpen:e}=Jf();if(!e)return null;let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={width:`${kw}px`},t[0]=s):s=t[0];let i;return t[1]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("aside",{className:"shrink-0 h-full bg-sidebar pb-1",style:s,children:n.jsx("div",{className:"h-full p-0.5 pt-0.25",children:n.jsx("div",{className:"h-full bg-background rounded-[0.75rem] overflow-hidden card-shadow",children:n.jsx(cf,{})})})}),t[1]=i):i=t[1],i}function Nw(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(S.Suspense,{fallback:null,children:n.jsx(jw,{})}),t[0]=e):e=t[0],e}const Aw={settings:Tg,automations:eu,env:yl,preview:du,git:yn};function wd(t){const e=Kn(t);if(e.type==="icon"){const s=qn(e.name);return s?{kind:"component",Component:s}:null}return e.type==="url"?{kind:"url",src:e.url}:null}function Ho(t){if(t.kind==="system")return{kind:"component",Component:Aw[t.tabId]};const e=wd(t.iconUrl);if(e)return e;if(!t.appId)return{kind:"fallback"};const s=t.connections.find(r=>r.id===t.appId);if(!s)return{kind:"fallback"};const i=wd(s.icon);return i||{kind:"fallback"}}function Ew(t){const{org:e}=ye(),s=Le({connectionId:Pt,orgId:e.id}),{data:i}=Rh({queryKey:ct.threadMetadata(t),queryFn:async()=>{if(!s||!t)return null;try{const r=await s.callTool({name:"COLLECTION_THREADS_GET",arguments:{id:t}});return(r.structuredContent??r).item?.metadata??null}catch{return null}},staleTime:3e4});return i}function Zf(t){const e=B.c(8),s=qe();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={strict:!1},e[0]=i):i=e[0];const r=Si(i),o=is(t.virtualMcpId),a=Ew(t.taskId),{currentBranch:l}=es(),c=o?.metadata?.ui??null,d=c?.layout??null,u=d?.tabs??[],h=c?.pinnedViews??[],f=a?.expanded_tools??[],m=!!(o&&Fs(o));let p;e[1]===Symbol.for("react.memo_cache_sentinel")?(p={includeVirtual:!0},e[1]=p):p=e[1];const g=Gn(p),{activeTab:_,mainOpen:v}=tg({mainParam:r.main,metadata:d?{defaultMainView:d.defaultMainView??null,tabs:u.map(Iw)}:null}),x=$h(_),b=[];m&&(b.push({id:"preview",title:"Preview"}),b.push({id:"env",title:"Terminal"}),b.push({id:"git",title:l??"git"})),b.push({id:"settings",title:"Settings"}),b.push({id:"automations",title:"Automations"});const y=new Map;for(const j of f){const R=ua(j.appId,j.toolName);y.set(R,{id:R,title:j.toolName,appId:j.appId,iconKey:j.toolName})}for(const j of h){const R=ua(j.connectionId,j.toolName);y.set(R,{id:R,title:j.label||j.toolName,appId:j.connectionId,iconKey:j.toolName,iconUrl:j.icon??null})}let C;e[2]!==g?(C=j=>({id:j.id,title:j.title,kind:"agent",icon:Ho({tabId:j.id,kind:"agent",appId:j.view.appId,connections:g})}),e[2]=g,e[3]=C):C=e[3];const k=[...u.map(C),...Array.from(y.values()).map(j=>({id:j.id,title:j.title,kind:"expanded",icon:Ho({tabId:j.iconKey,kind:"expanded",appId:j.appId,iconUrl:j.iconUrl,connections:g})})),...b.map(j=>({id:j.id,title:j.title,kind:"system",icon:Ho({tabId:j.id,kind:"system",connections:g})}))];let w;return e[4]!==_||e[5]!==v||e[6]!==s?(w=j=>{const R=sg({clickedId:j,activeTab:_,mainOpen:v});s({to:".",search:T=>({...T,main:R}),replace:!0})},e[4]=_,e[5]=v,e[6]=s,e[7]=w):w=e[7],{activeTab:_,mainOpen:v,setActiveTab:w,systemTabs:b,layoutTabs:u,expandedTools:f,automationTabParsed:x,tabs:k}}function Iw(t){return{id:t.id}}function Rw(t){const e=B.c(84),{value:s,onChange:i,onColorChange:r,name:o,size:a,className:l,avatarClassName:c,showHoverOverlay:d,disabled:u}=t,h=a===void 0?"lg":a,f=d===void 0?!0:d,m=u===void 0?!1:u,[p,g]=S.useState(!1),[_,v]=S.useState("icons"),[x,b]=S.useState(""),[y,C]=S.useState("blue");let k;e[0]!==s?(k=Kn(s),e[0]=s,e[1]=k):k=e[1];const w=k,V=w.type==="icon"||w.type==="url"&&w.color?w.color:y;let j;e[2]!==i||e[3]!==V?(j=ve=>{i(Ro(ve,V))},e[2]=i,e[3]=V,e[4]=j):j=e[4];const R=j;let T;e[5]!==i||e[6]!==r||e[7]!==w.name||e[8]!==w.type||e[9]!==w.url?(T=ve=>{C(ve),r?.(ve),w.type==="icon"?i(Ro(w.name,ve)):w.type==="url"&&i(Sc(w.url,ve))},e[5]=i,e[6]=r,e[7]=w.name,e[8]=w.type,e[9]=w.url,e[10]=T):T=e[10];const I=T;let A;e[11]!==i||e[12]!==V?(A=ve=>{i(Sc(ve,V)),g(!1)},e[11]=i,e[12]=V,e[13]=A):A=e[13];const N=A;let E;e[14]!==i||e[15]!==V?(E=()=>{const ve=Vl(),de=ve[Math.floor(Math.random()*ve.length)];i(Ro(de,V))},e[14]=i,e[15]=V,e[16]=E):E=e[16];const M=E;let L,D,P,O,$,z,W,F;if(e[17]!==l||e[18]!==m||e[19]!==p||e[20]!==h){const ve={xs:"rounded-md",sm:"rounded-lg","sm+":"rounded-xl",md:"rounded-xl",lg:"rounded-2xl",xl:"rounded-2xl"};D=di,z=m?!1:p,W=g,L=li,$=!0,F="button",P=m,O=X("relative group overflow-hidden",m?"cursor-default opacity-50":"cursor-pointer",ve[h],l),e[17]=l,e[18]=m,e[19]=p,e[20]=h,e[21]=L,e[22]=D,e[23]=P,e[24]=O,e[25]=$,e[26]=z,e[27]=W,e[28]=F}else L=e[21],D=e[22],P=e[23],O=e[24],$=e[25],z=e[26],W=e[27],F=e[28];let K;e[29]!==c||e[30]!==o||e[31]!==h||e[32]!==s?(K=n.jsx(gs,{icon:s,name:o,size:h,className:c}),e[29]=c,e[30]=o,e[31]=h,e[32]=s,e[33]=K):K=e[33];let H;e[34]!==m||e[35]!==f?(H=f&&!m&&n.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity",children:n.jsx(wl,{size:16,className:"text-white"})}),e[34]=m,e[35]=f,e[36]=H):H=e[36];let U;e[37]!==P||e[38]!==O||e[39]!==K||e[40]!==H||e[41]!==F?(U=n.jsxs("button",{type:F,disabled:P,className:O,children:[K,H]}),e[37]=P,e[38]=O,e[39]=K,e[40]=H,e[41]=F,e[42]=U):U=e[42];let Y;e[43]!==L||e[44]!==$||e[45]!==U?(Y=n.jsx(L,{asChild:$,children:U}),e[43]=L,e[44]=$,e[45]=U,e[46]=Y):Y=e[46];let q;e[47]!==o||e[48]!==s?(q=n.jsx("div",{className:"flex items-center justify-center py-4",children:n.jsx(gs,{icon:s,name:o,size:"xl"})}),e[47]=o,e[48]=s,e[49]=q):q=e[49];let G;e[50]===Symbol.for("react.memo_cache_sentinel")?(G=()=>v("icons"),e[50]=G):G=e[50];const ee=_==="icons"?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground";let Z;e[51]!==ee?(Z=X("px-3 py-2 text-sm font-medium border-b-2 -mb-px transition-colors",ee),e[51]=ee,e[52]=Z):Z=e[52];let J;e[53]!==Z?(J=n.jsx("button",{type:"button",onClick:G,className:Z,children:"Icons"}),e[53]=Z,e[54]=J):J=e[54];let se;e[55]===Symbol.for("react.memo_cache_sentinel")?(se=()=>v("upload"),e[55]=se):se=e[55];const ne=_==="upload"?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground";let ce;e[56]!==ne?(ce=X("px-3 py-2 text-sm font-medium border-b-2 -mb-px transition-colors",ne),e[56]=ne,e[57]=ce):ce=e[57];let xe;e[58]!==ce?(xe=n.jsx("button",{type:"button",onClick:se,className:ce,children:"Upload"}),e[58]=ce,e[59]=xe):xe=e[59];let ae;e[60]===Symbol.for("react.memo_cache_sentinel")?(ae=n.jsx("div",{className:"flex-1"}),e[60]=ae):ae=e[60];let he;e[61]!==J||e[62]!==xe?(he=n.jsxs("div",{className:"flex items-center border-b border-border px-3",children:[J,xe,ae]}),e[61]=J,e[62]=xe,e[63]=he):he=e[63];let pe;e[64]!==I||e[65]!==M||e[66]!==R||e[67]!==N||e[68]!==w.name||e[69]!==w.type||e[70]!==x||e[71]!==V||e[72]!==_?(pe=_==="icons"?n.jsx(Pw,{search:x,onSearchChange:b,selectedColor:V,onColorChange:I,onSelectIcon:R,onRandom:M,currentIconName:w.type==="icon"?w.name:null}):n.jsx(Lw,{onUpload:N}),e[64]=I,e[65]=M,e[66]=R,e[67]=N,e[68]=w.name,e[69]=w.type,e[70]=x,e[71]=V,e[72]=_,e[73]=pe):pe=e[73];let me;e[74]!==q||e[75]!==he||e[76]!==pe?(me=n.jsx(ci,{align:"start",className:"w-80 p-0",onOpenAutoFocus:Tw,children:n.jsxs("div",{className:"flex flex-col",children:[q,he,pe]})}),e[74]=q,e[75]=he,e[76]=pe,e[77]=me):me=e[77];let we;return e[78]!==D||e[79]!==z||e[80]!==W||e[81]!==Y||e[82]!==me?(we=n.jsxs(D,{open:z,onOpenChange:W,children:[Y,me]}),e[78]=D,e[79]=z,e[80]=W,e[81]=Y,e[82]=me,e[83]=we):we=e[83],we}function Tw(t){return t.preventDefault()}function Dw(t){const e=B.c(27),{selectedColor:s,onColorChange:i}=t,[r,o]=S.useState(!1);let a,l,c,d,u,h,f;if(e[0]!==r||e[1]!==s){const x=tu(s);l=di,h=r,f=o,a=li,u=!0,c="button",d=X("h-6 w-6 rounded-full shrink-0 ring-2 ring-offset-2 ring-offset-background transition-all cursor-pointer hover:scale-110",x.dot,"ring-foreground/20"),e[0]=r,e[1]=s,e[2]=a,e[3]=l,e[4]=c,e[5]=d,e[6]=u,e[7]=h,e[8]=f}else a=e[2],l=e[3],c=e[4],d=e[5],u=e[6],h=e[7],f=e[8];let m;e[9]!==c||e[10]!==d?(m=n.jsx("button",{type:c,className:d,title:"Change color"}),e[9]=c,e[10]=d,e[11]=m):m=e[11];let p;e[12]!==a||e[13]!==u||e[14]!==m?(p=n.jsx(a,{asChild:u,children:m}),e[12]=a,e[13]=u,e[14]=m,e[15]=p):p=e[15];let g;e[16]!==i||e[17]!==s?(g=Mg.map(x=>n.jsx("button",{type:"button",onClick:()=>{i(x.name),o(!1)},className:X("h-5 w-5 rounded-full transition-all shrink-0 cursor-pointer",x.dot,s===x.name?"ring-2 ring-offset-1 ring-offset-background ring-foreground/30 scale-110":"hover:scale-110"),title:x.name},x.name)),e[16]=i,e[17]=s,e[18]=g):g=e[18];let _;e[19]!==g?(_=n.jsx(ci,{align:"start",side:"right",sideOffset:8,className:"w-auto p-2",onOpenAutoFocus:Mw,children:n.jsx("div",{className:"grid grid-cols-4 gap-1",children:g})}),e[19]=g,e[20]=_):_=e[20];let v;return e[21]!==l||e[22]!==h||e[23]!==f||e[24]!==p||e[25]!==_?(v=n.jsxs(l,{open:h,onOpenChange:f,children:[p,_]}),e[21]=l,e[22]=h,e[23]=f,e[24]=p,e[25]=_,e[26]=v):v=e[26],v}function Mw(t){return t.preventDefault()}function Pw(t){const e=B.c(44),{search:s,onSearchChange:i,selectedColor:r,onColorChange:o,onSelectIcon:a,onRandom:l,currentIconName:c}=t;let d,u,h,f,m,p,g;if(e[0]!==c||e[1]!==o||e[2]!==l||e[3]!==i||e[4]!==a||e[5]!==s||e[6]!==r){const y=Vl(),C=tu(r);u=s.trim()?y.filter(I=>{const A=ma(I),N=s.toLowerCase();return A.includes(N)||I.toLowerCase().includes(N)}):y,p="flex flex-col";let k;e[14]===Symbol.for("react.memo_cache_sentinel")?(k=n.jsx(jl,{size:14,className:"absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"}),e[14]=k):k=e[14];let w;e[15]!==i?(w=I=>i(I.target.value),e[15]=i,e[16]=w):w=e[16];let V;e[17]!==s||e[18]!==w?(V=n.jsxs("div",{className:"relative flex-1",children:[k,n.jsx(gt,{value:s,onChange:w,placeholder:"Filter...",className:"h-8 text-xs pl-7"})]}),e[17]=s,e[18]=w,e[19]=V):V=e[19];let j;e[20]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx(Dg,{size:14,className:"text-muted-foreground"}),e[20]=j):j=e[20];let R;e[21]!==l?(R=n.jsx("button",{type:"button",onClick:l,className:"h-8 w-8 flex items-center justify-center rounded-md border border-border hover:bg-accent transition-colors shrink-0",title:"Random icon",children:j}),e[21]=l,e[22]=R):R=e[22];let T;e[23]!==o||e[24]!==r?(T=n.jsx(Dw,{selectedColor:r,onColorChange:o}),e[23]=o,e[24]=r,e[25]=T):T=e[25],e[26]!==R||e[27]!==T||e[28]!==V?(g=n.jsxs("div",{className:"flex items-center gap-2 px-3 py-2",children:[V,R,T]}),e[26]=R,e[27]=T,e[28]=V,e[29]=g):g=e[29],d=Fh,m="h-56",h="grid grid-cols-9 gap-0.5 px-2 pb-2",f=u.map(I=>{const A=qn(I);return A?n.jsx("button",{type:"button",onClick:()=>a(I),className:X("h-8 w-8 flex items-center justify-center rounded-md transition-colors cursor-pointer",c===I?X(C.bg,C.text):X(C.text,"hover:bg-accent")),title:I,children:n.jsx(A,{size:18})},I):null}),e[0]=c,e[1]=o,e[2]=l,e[3]=i,e[4]=a,e[5]=s,e[6]=r,e[7]=d,e[8]=u,e[9]=h,e[10]=f,e[11]=m,e[12]=p,e[13]=g}else d=e[7],u=e[8],h=e[9],f=e[10],m=e[11],p=e[12],g=e[13];let _;e[30]!==h||e[31]!==f?(_=n.jsx("div",{className:h,children:f}),e[30]=h,e[31]=f,e[32]=_):_=e[32];let v;e[33]!==u.length?(v=u.length===0&&n.jsx("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"No icons found"}),e[33]=u.length,e[34]=v):v=e[34];let x;e[35]!==d||e[36]!==m||e[37]!==_||e[38]!==v?(x=n.jsxs(d,{className:m,children:[_,v]}),e[35]=d,e[36]=m,e[37]=_,e[38]=v,e[39]=x):x=e[39];let b;return e[40]!==p||e[41]!==g||e[42]!==x?(b=n.jsxs("div",{className:p,children:[g,x]}),e[40]=p,e[41]=g,e[42]=x,e[43]=b):b=e[43],b}function Lw(t){const e=B.c(27),{onUpload:s}=t,i=S.useRef(null);let r;e[0]!==s?(r=k=>{const w=k.target.files?.[0];if(!w)return;if(w.size>2097152){fe.error("Image must be smaller than 2MB"),k.target.value="";return}const V=new FileReader;V.onerror=()=>{fe.error("Failed to read image file"),i.current&&(i.current.value="")},V.onloadend=()=>{V.readyState===FileReader.DONE&&V.result&&s(V.result),i.current&&(i.current.value="")},V.readAsDataURL(w)},e[0]=s,e[1]=r):r=e[1];const o=r,[a,l]=S.useState("");let c;e[2]!==s||e[3]!==a?(c=()=>{const k=a.trim();k&&(s(k),l(""))},e[2]=s,e[3]=a,e[4]=c):c=e[4];const d=c;let u;e[5]!==o?(u=n.jsx("input",{type:"file",ref:i,className:"hidden",accept:"image/*",onChange:o}),e[5]=o,e[6]=u):u=e[6];let h;e[7]===Symbol.for("react.memo_cache_sentinel")?(h=()=>i.current?.click(),e[7]=h):h=e[7];let f;e[8]===Symbol.for("react.memo_cache_sentinel")?(f=n.jsxs("button",{type:"button",onClick:h,className:"h-24 rounded-lg border-2 border-dashed border-border hover:border-foreground/50 hover:bg-accent/50 transition-colors flex flex-col items-center justify-center gap-2 text-muted-foreground hover:text-foreground",children:[n.jsx(cu,{size:20}),n.jsx("span",{className:"text-xs",children:"Click to upload an image (max 2MB)"})]}),e[8]=f):f=e[8];let m;e[9]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-xs text-muted-foreground",children:"or"}),n.jsx("div",{className:"flex-1 h-px bg-border"})]}),e[9]=m):m=e[9];let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=k=>l(k.target.value),e[10]=p):p=e[10];let g;e[11]!==d?(g=k=>{k.key==="Enter"&&(k.preventDefault(),d())},e[11]=d,e[12]=g):g=e[12];let _;e[13]!==a||e[14]!==g?(_=n.jsx(gt,{value:a,onChange:p,placeholder:"Paste image URL...",className:"h-8 text-xs flex-1",onKeyDown:g}),e[13]=a,e[14]=g,e[15]=_):_=e[15];let v;e[16]!==a?(v=a.trim(),e[16]=a,e[17]=v):v=e[17];const x=!v;let b;e[18]!==d||e[19]!==x?(b=n.jsx(oe,{variant:"outline",size:"sm",className:"h-8 px-3 text-xs shrink-0",onClick:d,disabled:x,children:"Apply"}),e[18]=d,e[19]=x,e[20]=b):b=e[20];let y;e[21]!==b||e[22]!==_?(y=n.jsxs("div",{className:"flex items-center gap-1.5",children:[_,b]}),e[21]=b,e[22]=_,e[23]=y):y=e[23];let C;return e[24]!==y||e[25]!==u?(C=n.jsxs("div",{className:"flex flex-col gap-3 p-4",children:[u,f,m,y]}),e[24]=y,e[25]=u,e[26]=C):C=e[26],C}function Ow(t){const e=B.c(5),{value:s}=t;let i;if(e[0]!==s){i=Symbol.for("react.early_return_sentinel");e:{const o=Kn(s);if(o.type==="icon"){const a=qn(o.name);if(a){let l;e[2]!==a?(l=n.jsx(a,{size:16,className:"text-muted-foreground"}),e[2]=a,e[3]=l):l=e[3],i=l;break e}}}e[0]=s,e[1]=i}else i=e[1];if(i!==Symbol.for("react.early_return_sentinel"))return i;let r;return e[4]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx(ju,{size:16,className:"text-muted-foreground"}),e[4]=r):r=e[4],r}function Bw(t){const e=B.c(66),{value:s,onChange:i,className:r,disabled:o}=t,[a,l]=S.useState(!1),[c,d]=S.useState("");let u;e[0]!==s?(u=Kn(s),e[0]=s,e[1]=u):u=e[1];const h=u,f=h.type==="icon"?h.name:null;let m,p,g,_,v,x,b,y,C,k,w,V,j,R,T;if(e[2]!==r||e[3]!==f||e[4]!==o||e[5]!==i||e[6]!==a||e[7]!==c||e[8]!==s){const D=Vl();_=c.trim()?D.filter(K=>{const H=c.toLowerCase();return ma(K).includes(H)||K.toLowerCase().includes(H)}):D,g=di,v=o?!1:a,x=l;const P=o?"cursor-default opacity-50":"cursor-pointer hover:bg-accent";let O;e[24]!==r||e[25]!==P?(O=X("size-7 shrink-0 rounded-md transition-colors flex items-center justify-center",P,r),e[24]=r,e[25]=P,e[26]=O):O=e[26];let $;e[27]!==s?($=n.jsx(Ow,{value:s}),e[27]=s,e[28]=$):$=e[28],e[29]!==o||e[30]!==O||e[31]!==$?(b=n.jsx(li,{asChild:!0,children:n.jsx("button",{type:"button",disabled:o,className:O,children:$})}),e[29]=o,e[30]=O,e[31]=$,e[32]=b):b=e[32],p=ci,j="start",R="w-64 p-0",T=zw,w="flex flex-col";let z;e[33]===Symbol.for("react.memo_cache_sentinel")?(z=n.jsx(jl,{size:14,className:"absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"}),e[33]=z):z=e[33];let W;e[34]===Symbol.for("react.memo_cache_sentinel")?(W=K=>d(K.target.value),e[34]=W):W=e[34],e[35]!==c?(V=n.jsx("div",{className:"px-2 py-2",children:n.jsxs("div",{className:"relative",children:[z,n.jsx(gt,{value:c,onChange:W,placeholder:"Filter...",className:"h-7 text-xs pl-7"})]})}),e[35]=c,e[36]=V):V=e[36],m=Fh,k="h-48",y="grid grid-cols-8 gap-0.5 px-2 pb-2";let F;e[37]!==f||e[38]!==i?(F=K=>{const H=qn(K);return H?n.jsx("button",{type:"button",onClick:()=>{i(`icon://${K}`),l(!1)},className:X("h-7 w-7 flex items-center justify-center rounded-md transition-colors cursor-pointer",f===K?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent hover:text-foreground"),title:ma(K),children:n.jsx(H,{size:16})},K):null},e[37]=f,e[38]=i,e[39]=F):F=e[39],C=_.map(F),e[2]=r,e[3]=f,e[4]=o,e[5]=i,e[6]=a,e[7]=c,e[8]=s,e[9]=m,e[10]=p,e[11]=g,e[12]=_,e[13]=v,e[14]=x,e[15]=b,e[16]=y,e[17]=C,e[18]=k,e[19]=w,e[20]=V,e[21]=j,e[22]=R,e[23]=T}else m=e[9],p=e[10],g=e[11],_=e[12],v=e[13],x=e[14],b=e[15],y=e[16],C=e[17],k=e[18],w=e[19],V=e[20],j=e[21],R=e[22],T=e[23];let I;e[40]!==y||e[41]!==C?(I=n.jsx("div",{className:y,children:C}),e[40]=y,e[41]=C,e[42]=I):I=e[42];let A;e[43]!==_.length?(A=_.length===0&&n.jsx("div",{className:"flex items-center justify-center py-6 text-xs text-muted-foreground",children:"No icons found"}),e[43]=_.length,e[44]=A):A=e[44];let N;e[45]!==m||e[46]!==I||e[47]!==A||e[48]!==k?(N=n.jsxs(m,{className:k,children:[I,A]}),e[45]=m,e[46]=I,e[47]=A,e[48]=k,e[49]=N):N=e[49];let E;e[50]!==N||e[51]!==w||e[52]!==V?(E=n.jsxs("div",{className:w,children:[V,N]}),e[50]=N,e[51]=w,e[52]=V,e[53]=E):E=e[53];let M;e[54]!==p||e[55]!==E||e[56]!==j||e[57]!==R||e[58]!==T?(M=n.jsx(p,{align:j,className:R,onOpenAutoFocus:T,children:E}),e[54]=p,e[55]=E,e[56]=j,e[57]=R,e[58]=T,e[59]=M):M=e[59];let L;return e[60]!==g||e[61]!==v||e[62]!==x||e[63]!==b||e[64]!==M?(L=n.jsxs(g,{open:v,onOpenChange:x,children:[b,M]}),e[60]=g,e[61]=v,e[62]=x,e[63]=b,e[64]=M,e[65]=L):L=e[65],L}function zw(t){return t.preventDefault()}function Rr(){const t=B.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"flex items-center justify-center h-32",children:n.jsx(De,{className:"animate-spin text-muted-foreground",size:24})}),t[0]=e):e=t[0],e}function Wo(t){return({error:e})=>e?.message?.includes("Method not found")||e?.code===-32601?n.jsx("div",{className:"flex-1 overflow-auto px-4 py-3 space-y-1",children:n.jsx("div",{className:"flex items-center justify-center h-32 text-sm text-muted-foreground",children:t})}):n.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center h-full p-6 text-center space-y-4",children:[n.jsx("div",{className:"bg-destructive/10 p-3 rounded-full",children:n.jsx(fl,{className:"h-6 w-6 text-destructive"})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx("h3",{className:"text-lg font-medium",children:"Something went wrong"}),n.jsx("p",{className:"text-sm text-muted-foreground max-w-xs mx-auto",children:e?.message?e.message.length>200?`${e.message.slice(0,200)}...`:e.message:"An unexpected error occurred"})]})]})}function $w(t){const e=B.c(23),{item:s,isSelected:i,onToggle:r,disabled:o}=t,a=o?"cursor-not-allowed opacity-50":"cursor-pointer",l=i?"bg-accent/25":"hover:bg-muted/50";let c;e[0]!==a||e[1]!==l?(c=X("flex items-start gap-3 p-4 rounded-lg transition-colors",a,l),e[0]=a,e[1]=l,e[2]=c):c=e[2];let d;e[3]!==s.name?(d=n.jsx("p",{className:"text-sm font-medium leading-none truncate",children:s.name}),e[3]=s.name,e[4]=d):d=e[4];let u;e[5]!==s.tags?(u=s.tags&&n.jsx("span",{className:"shrink-0",children:s.tags}),e[5]=s.tags,e[6]=u):u=e[6];let h;e[7]!==d||e[8]!==u?(h=n.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[d,u]}),e[7]=d,e[8]=u,e[9]=h):h=e[9];let f;e[10]!==s.description?(f=s.description&&n.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:s.description}),e[10]=s.description,e[11]=f):f=e[11];let m;e[12]!==h||e[13]!==f?(m=n.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[h,f]}),e[12]=h,e[13]=f,e[14]=m):m=e[14];let p;e[15]!==o||e[16]!==i||e[17]!==r?(p=n.jsx(H_,{checked:i,onCheckedChange:r,disabled:o,className:"mt-0.5"}),e[15]=o,e[16]=i,e[17]=r,e[18]=p):p=e[18];let g;return e[19]!==c||e[20]!==m||e[21]!==p?(g=n.jsxs("label",{className:c,children:[m,p]}),e[19]=c,e[20]=m,e[21]=p,e[22]=g):g=e[22],g}function sc(t){const e=B.c(13),{items:s,selections:i,onToggle:r,emptyMessage:o,disabled:a}=t;let l,c,d;if(e[0]!==a||e[1]!==o||e[2]!==s||e[3]!==r||e[4]!==i){d=Symbol.for("react.early_return_sentinel");e:{const h=s.map(Fw);if(s.length===0){let f;e[8]!==o?(f=n.jsx("div",{className:"flex-1 overflow-auto px-4 py-3 space-y-1",children:n.jsx("div",{className:"flex items-center justify-center h-32 text-sm text-muted-foreground",children:o})}),e[8]=o,e[9]=f):f=e[9],d=f;break e}l="flex-1 overflow-auto px-4 py-3 space-y-1",c=s.map(f=>n.jsx($w,{item:f,isSelected:i===null||i?.includes(f.id),onToggle:()=>r(f.id,h),disabled:a},f.id))}e[0]=a,e[1]=o,e[2]=s,e[3]=r,e[4]=i,e[5]=l,e[6]=c,e[7]=d}else l=e[5],c=e[6],d=e[7];if(d!==Symbol.for("react.early_return_sentinel"))return d;let u;return e[10]!==l||e[11]!==c?(u=n.jsx("div",{className:l,children:c}),e[10]=l,e[11]=c,e[12]=u):u=e[12],u}function Fw(t){return t.id}function Uw(t){const e=B.c(12),{connectionId:s,selections:i,onToggle:r,disabled:o}=t,{org:a}=ye();let l;e[0]!==s||e[1]!==a.id?(l={connectionId:s,orgId:a.id},e[0]=s,e[1]=a.id,e[2]=l):l=e[2];const c=Le(l);let d;e[3]!==c?(d={client:c},e[3]=c,e[4]=d):d=e[4];const{data:u}=A_(d);let h;e[5]!==u.tools?(h=u.tools.map(Hw),e[5]=u.tools,e[6]=h):h=e[6];const f=h;let m;return e[7]!==o||e[8]!==f||e[9]!==r||e[10]!==i?(m=n.jsx(sc,{items:f,selections:i,onToggle:r,emptyMessage:"No tools available",disabled:o}),e[7]=o,e[8]=f,e[9]=r,e[10]=i,e[11]=m):m=e[11],m}function Hw(t){return{id:t.name,name:t.name,description:t.description,tags:n.jsx(F_,{annotations:t.annotations,_meta:t._meta})}}function Ww(t){const e=B.c(12),{connectionId:s,selections:i,onToggle:r,disabled:o}=t,{org:a}=ye();let l;e[0]!==s||e[1]!==a.id?(l={connectionId:s,orgId:a.id},e[0]=s,e[1]=a.id,e[2]=l):l=e[2];const c=Le(l);let d;e[3]!==c?(d={client:c},e[3]=c,e[4]=d):d=e[4];const{data:u}=a_(d);let h;e[5]!==u.resources?(h=u.resources.map(Kw),e[5]=u.resources,e[6]=h):h=e[6];const f=h;let m;return e[7]!==o||e[8]!==f||e[9]!==r||e[10]!==i?(m=n.jsx(sc,{items:f,selections:i,onToggle:r,emptyMessage:"No resources available",disabled:o}),e[7]=o,e[8]=f,e[9]=r,e[10]=i,e[11]=m):m=e[11],m}function Kw(t){return{id:t.name||t.uri,name:t.name||t.uri,description:t.description}}function qw(t){const e=B.c(12),{connectionId:s,selections:i,onToggle:r,disabled:o}=t,{org:a}=ye();let l;e[0]!==s||e[1]!==a.id?(l={connectionId:s,orgId:a.id},e[0]=s,e[1]=a.id,e[2]=l):l=e[2];const c=Le(l);let d;e[3]!==c?(d={client:c},e[3]=c,e[4]=d):d=e[4];const{data:u}=Hh(d);let h;e[5]!==u.prompts?(h=u.prompts.map(Gw),e[5]=u.prompts,e[6]=h):h=e[6];const f=h;let m;return e[7]!==o||e[8]!==f||e[9]!==r||e[10]!==i?(m=n.jsx(sc,{items:f,selections:i,onToggle:r,emptyMessage:"No prompts available",disabled:o}),e[7]=o,e[8]=f,e[9]=r,e[10]=i,e[11]=m):m=e[11],m}function Gw(t){return{id:t.name,name:t.name,description:t.description}}function Yw(t){const e=B.c(54),{currentConnection:s,activeTab:i,selectedId:r,formData:o,toggleTool:a,toggleResource:l,togglePrompt:c,toggleAllTools:d,toggleAllResources:u,toggleAllPrompts:h,onTabChange:f}=t,m=o[r],p=i==="tools"?m?.tools===null:i==="resources"?m?.resources===null:m?.prompts===null;let g;e[0]!==i||e[1]!==r||e[2]!==h||e[3]!==u||e[4]!==d?(g=()=>{i==="tools"?d(r):i==="resources"?u(r):h(r)},e[0]=i,e[1]=r,e[2]=h,e[3]=u,e[4]=d,e[5]=g):g=e[5];const _=g;let v;e[6]!==s.icon||e[7]!==s.title?(v=n.jsx(Ps,{icon:s.icon,name:s.title,size:"sm",className:"shrink-0"}),e[6]=s.icon,e[7]=s.title,e[8]=v):v=e[8];let x;e[9]!==s.title?(x=n.jsx("h2",{className:"text-base font-semibold truncate",children:s.title}),e[9]=s.title,e[10]=x):x=e[10];let b;e[11]!==s.description?(b=s.description&&n.jsx("p",{className:"text-xs text-muted-foreground truncate",children:s.description}),e[11]=s.description,e[12]=b):b=e[12];let y;e[13]!==x||e[14]!==b?(y=n.jsxs("div",{className:"flex-1 min-w-0",children:[x,b]}),e[13]=x,e[14]=b,e[15]=y):y=e[15];let C;e[16]!==v||e[17]!==y?(C=n.jsx("div",{className:"px-6 pt-5 pb-4 shrink-0",children:n.jsxs("div",{className:"flex items-center gap-3",children:[v,y]})}),e[16]=v,e[17]=y,e[18]=C):C=e[18];let k;e[19]===Symbol.for("react.memo_cache_sentinel")?(k=[{id:"tools",label:"Tools"},{id:"resources",label:"Resources"},{id:"prompts",label:"Prompts"}],e[19]=k):k=e[19];let w;e[20]!==f?(w=L=>f(L),e[20]=f,e[21]=w):w=e[21];let V;e[22]!==i||e[23]!==w?(V=n.jsx(yu,{tabs:k,activeTab:i,onTabChange:w}),e[22]=i,e[23]=w,e[24]=V):V=e[24];const j=p?"Deselect all":"Select all";let R;e[25]!==_||e[26]!==j?(R=n.jsx("button",{type:"button",onClick:_,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:j}),e[25]=_,e[26]=j,e[27]=R):R=e[27];let T;e[28]!==R||e[29]!==V?(T=n.jsxs("div",{className:"flex items-center justify-between px-6 py-3 border-t border-border shrink-0",children:[V,R]}),e[28]=R,e[29]=V,e[30]=T):T=e[30];let I;e[31]!==i||e[32]!==o||e[33]!==r||e[34]!==a?(I=i==="tools"&&n.jsx(Ns,{fallback:Wo("Tools not supported by this server"),children:n.jsx(S.Suspense,{fallback:n.jsx(Rr,{}),children:n.jsx(Uw,{connectionId:r,selections:o[r]?o[r].tools:[],onToggle:(L,D)=>a(r,L,D)})})}),e[31]=i,e[32]=o,e[33]=r,e[34]=a,e[35]=I):I=e[35];let A;e[36]!==i||e[37]!==o||e[38]!==r||e[39]!==l?(A=i==="resources"&&n.jsx(Ns,{fallback:Wo("Resources not supported by this server"),children:n.jsx(S.Suspense,{fallback:n.jsx(Rr,{}),children:n.jsx(Ww,{connectionId:r,selections:o[r]?o[r].resources:[],onToggle:(L,D)=>l(r,L,D)})})}),e[36]=i,e[37]=o,e[38]=r,e[39]=l,e[40]=A):A=e[40];let N;e[41]!==i||e[42]!==o||e[43]!==r||e[44]!==c?(N=i==="prompts"&&n.jsx(Ns,{fallback:Wo("Prompts not supported by this server"),children:n.jsx(S.Suspense,{fallback:n.jsx(Rr,{}),children:n.jsx(qw,{connectionId:r,selections:o[r]?o[r].prompts:[],onToggle:(L,D)=>c(r,L,D)})})}),e[41]=i,e[42]=o,e[43]=r,e[44]=c,e[45]=N):N=e[45];let E;e[46]!==I||e[47]!==A||e[48]!==N?(E=n.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[I,A,N]}),e[46]=I,e[47]=A,e[48]=N,e[49]=E):E=e[49];let M;return e[50]!==T||e[51]!==E||e[52]!==C?(M=n.jsxs(n.Fragment,{children:[C,T,E]}),e[50]=T,e[51]=E,e[52]=C,e[53]=M):M=e[53],M}function Xw(t){const e=B.c(11),{connectionId:s,onAuthenticate:i,children:r}=t;let o;e[0]!==s?(o={connectionId:s},e[0]=s,e[1]=o):o=e[1];const a=Du(o);if(a.supportsOAuth&&!a.isAuthenticated){let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("div",{className:"flex items-center justify-center size-12 rounded-full bg-muted",children:n.jsx(Pg,{size:22,className:"text-muted-foreground"})}),e[2]=d):d=e[2];let u;e[3]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsxs("div",{className:"space-y-1",children:[n.jsx("p",{className:"text-sm font-medium",children:"Authorization required"}),n.jsx("p",{className:"text-xs text-muted-foreground max-w-xs",children:"This connection needs to be authorized before you can configure its tools and resources."})]}),e[3]=u):u=e[3];let h;e[4]!==s||e[5]!==i?(h=i&&n.jsx(oe,{variant:"outline",size:"sm",onClick:()=>i(s),children:"Authorize"}),e[4]=s,e[5]=i,e[6]=h):h=e[6];let f;return e[7]!==h?(f=n.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 p-8 text-center",children:[d,u,h]}),e[7]=h,e[8]=f):f=e[8],f}let c;return e[9]!==r?(c=n.jsx(n.Fragment,{children:r}),e[9]=r,e[10]=c):c=e[10],c}function Jw(t){const e={};for(const s of t)e[s.connection_id]={tools:s.selected_tools,resources:s.selected_resources??null,prompts:s.selected_prompts??null};return e}function Vd(t){return Object.entries(t).map(([e,s])=>({connection_id:e,selected_tools:s.tools,selected_resources:s.resources,selected_prompts:s.prompts}))}function Qw(t,e){return e.type==="SET_ACTIVE_TAB"?{...t,activeTab:e.payload}:t}function Zw(t){const e=B.c(49),{open:s,onOpenChange:i,selectedId:r,form:o,connections:a,onAuthenticate:l}=t;let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c={activeTab:"tools"},e[0]=c):c=e[0];const[d,u]=S.useReducer(Qw,c),h=El(r??"");let f;e[1]!==a?(f=a??[],e[1]=a,e[2]=f):f=e[2];let m;e[3]!==f?(m=Jw(f),e[3]=f,e[4]=m):m=e[4];const p=m;let g;e[5]!==o||e[6]!==p?(g=(z,W,F,K)=>{const H=p[z]?.[W];let U;H===null?U=K.filter(q=>q!==F):H?.includes(F)?U=H.filter(q=>q!==F):(U=[...H??[],F],U.length===K.length&&(U=null));const Y={...p};Y[z]?Y[z]={...Y[z]}:Y[z]={tools:null,resources:null,prompts:null},Y[z][W]=U,o.setValue("connections",Vd(Y),{shouldDirty:!0,shouldTouch:!0})},e[5]=o,e[6]=p,e[7]=g):g=e[7];const _=g;let v;e[8]!==o||e[9]!==p?(v=(z,W)=>{const K=p[z]?.[W]===null?[]:null,H={...p};H[z]?H[z]={...H[z]}:H[z]={tools:null,resources:null,prompts:null},H[z][W]=K,o.setValue("connections",Vd(H),{shouldDirty:!0,shouldTouch:!0})},e[8]=o,e[9]=p,e[10]=v):v=e[10];const x=v;let b;e[11]!==_?(b=(z,W,F)=>_(z,"tools",W,F),e[11]=_,e[12]=b):b=e[12];const y=b;let C;e[13]!==_?(C=(z,W,F)=>_(z,"resources",W,F),e[13]=_,e[14]=C):C=e[14];const k=C;let w;e[15]!==_?(w=(z,W,F)=>_(z,"prompts",W,F),e[15]=_,e[16]=w):w=e[16];const V=w;let j;e[17]!==x?(j=z=>x(z,"tools"),e[17]=x,e[18]=j):j=e[18];const R=j;let T;e[19]!==x?(T=z=>x(z,"resources"),e[19]=x,e[20]=T):T=e[20];const I=T;let A;e[21]!==x?(A=z=>x(z,"prompts"),e[21]=x,e[22]=A):A=e[22];const N=A;if(!r||!h)return null;let E;e[23]===Symbol.for("react.memo_cache_sentinel")?(E=n.jsx(Rr,{}),e[23]=E):E=e[23];let M;e[24]===Symbol.for("react.memo_cache_sentinel")?(M=z=>u({type:"SET_ACTIVE_TAB",payload:z}),e[24]=M):M=e[24];let L;e[25]!==h||e[26]!==d.activeTab||e[27]!==p||e[28]!==r||e[29]!==N||e[30]!==I||e[31]!==R||e[32]!==V||e[33]!==k||e[34]!==y?(L=n.jsx(Yw,{currentConnection:h,activeTab:d.activeTab,selectedId:r,formData:p,toggleTool:y,toggleResource:k,togglePrompt:V,toggleAllTools:R,toggleAllResources:I,toggleAllPrompts:N,onTabChange:M},r),e[25]=h,e[26]=d.activeTab,e[27]=p,e[28]=r,e[29]=N,e[30]=I,e[31]=R,e[32]=V,e[33]=k,e[34]=y,e[35]=L):L=e[35];let D;e[36]!==l||e[37]!==r||e[38]!==L?(D=n.jsx(S.Suspense,{fallback:E,children:n.jsx(Xw,{connectionId:r,onAuthenticate:l,children:L})}),e[36]=l,e[37]=r,e[38]=L,e[39]=D):D=e[39];let P;e[40]!==i?(P=n.jsx(xl,{className:"px-6 py-4 border-t border-border shrink-0",children:n.jsx(oe,{variant:"outline",onClick:()=>i(!1),children:"Done"})}),e[40]=i,e[41]=P):P=e[41];let O;e[42]!==D||e[43]!==P?(O=n.jsxs(ts,{className:"sm:max-w-2xl h-[75vh] max-h-[75vh] flex flex-col p-0 gap-0 overflow-hidden w-[95vw]",children:[D,P]}),e[42]=D,e[43]=P,e[44]=O):O=e[44];let $;return e[45]!==i||e[46]!==s||e[47]!==O?($=n.jsx(ss,{open:s,onOpenChange:i,children:O}),e[45]=i,e[46]=s,e[47]=O,e[48]=$):$=e[48],$}const Ko={tools:null,resources:null,prompts:null},eV=Lp.pick({status:!0,title:!0,description:!0,icon:!0,metadata:!0,connections:!0});function tV(t){const s=new TextEncoder().encode(t),i=Array.from(s,r=>String.fromCharCode(r)).join("");return btoa(i)}function sV(t){const e=B.c(11),{url:s,agentId:i}=t,[r,o]=S.useState(!1);let a;e[0]!==i||e[1]!==s?(a=async()=>{ie("agent_connect_action",{agent_id:i,action:"copy_url"}),await navigator.clipboard.writeText(s),o(!0),fe.success("Agent URL copied to clipboard"),setTimeout(()=>o(!1),2e3)},e[0]=i,e[1]=s,e[2]=a):a=e[2];const l=a;let c;e[3]!==r?(c=r?n.jsx(Jt,{size:20,className:"text-green-600"}):n.jsx(zi,{size:20}),e[3]=r,e[4]=c):c=e[4];const d=r?"Copied!":"Copy URL";let u;e[5]!==d?(u=n.jsx("span",{className:"text-xs font-medium",children:d}),e[5]=d,e[6]=u):u=e[6];let h;return e[7]!==l||e[8]!==c||e[9]!==u?(h=n.jsxs(oe,{type:"button",variant:"outline",onClick:l,className:"h-auto py-3 px-4 flex flex-col items-center gap-2",children:[c,u]}),e[7]=l,e[8]=c,e[9]=u,e[10]=h):h=e[10],h}function iV(t){const e=B.c(8),{url:s,serverName:i,agentId:r}=t;let o;e[0]!==r||e[1]!==i||e[2]!==s?(o=()=>{ie("agent_connect_action",{agent_id:r,action:"install_cursor"});const u=xu(i),f=tV(JSON.stringify({type:"http",url:s,headers:{"x-mesh-client":"Cursor"}},null,2)),m=`cursor://anysphere.cursor-deeplink/mcp/install?name=${encodeURIComponent(u)}&config=${encodeURIComponent(f)}`;window.open(m,"_blank"),fe.success("Opening Cursor...")},e[0]=r,e[1]=i,e[2]=s,e[3]=o):o=e[3];const a=o;let l,c;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx("img",{src:"/logos/cursor.svg",alt:"Cursor",className:"h-5 w-5",style:{filter:"brightness(0) saturate(100%) invert(11%) sepia(8%) saturate(785%) hue-rotate(1deg) brightness(95%) contrast(89%)"}}),c=n.jsx("span",{className:"text-xs font-medium",children:"Install on Cursor"}),e[4]=l,e[5]=c):(l=e[4],c=e[5]);let d;return e[6]!==a?(d=n.jsxs(oe,{type:"button",variant:"outline",onClick:a,className:"h-auto py-3 px-4 flex flex-col items-center gap-2",children:[l,c]}),e[6]=a,e[7]=d):d=e[7],d}function nV(t){const e=B.c(12),{url:s,serverName:i,agentId:r}=t,[o,a]=S.useState(!1);let l;e[0]!==r||e[1]!==i||e[2]!==s?(l=async()=>{ie("agent_connect_action",{agent_id:r,action:"install_claude_code"});const m=xu(i),g=JSON.stringify({type:"http",url:s,headers:{"x-mesh-client":"Claude Code"}},null,2),_=`claude mcp add-json "${m}" '${g.replace(/'/g,"'\\''")}' --scope user`;await navigator.clipboard.writeText(_),a(!0),fe.success("Claude Code command copied to clipboard"),setTimeout(()=>a(!1),2e3)},e[0]=r,e[1]=i,e[2]=s,e[3]=l):l=e[3];const c=l;let d;e[4]!==o?(d=o?n.jsx(Jt,{size:20,className:"text-green-600"}):n.jsx("img",{src:"/logos/Claude Code.svg",alt:"Claude Code",className:"h-5 w-5",style:{filter:"brightness(0) saturate(100%) invert(55%) sepia(31%) saturate(1264%) hue-rotate(331deg) brightness(92%) contrast(86%)"}}),e[4]=o,e[5]=d):d=e[5];const u=o?"Copied!":"Install on Claude Code";let h;e[6]!==u?(h=n.jsx("span",{className:"text-xs font-medium",children:u}),e[6]=u,e[7]=h):h=e[7];let f;return e[8]!==c||e[9]!==d||e[10]!==h?(f=n.jsxs(oe,{type:"button",variant:"outline",onClick:c,className:"h-auto py-3 px-4 flex flex-col items-center gap-2",children:[d,h]}),e[8]=c,e[9]=d,e[10]=h,e[11]=f):f=e[11],f}function rV({virtualMcp:t}){const{org:e}=ye(),s=Le({connectionId:Pt,orgId:e.id}),[i,r]=S.useState(null),[o,a]=S.useState(!1),[l,c]=S.useState(!1),d=t.id,u=t.title||`agent-${d.slice(0,8)}`,h=i?`bunx @decocms/typegen@latest --mcp ${d} --key ${i} --output client.ts`:`bunx @decocms/typegen@latest --mcp ${d} --key <api-key> --output client.ts`,f=async()=>{a(!0);try{const g=(await s.callTool({name:"API_KEY_CREATE",arguments:{name:`typegen-${u}`,permissions:{[d]:["*"]}}})).structuredContent?.key;if(!g)throw new Error("No key in response");r(g),ie("agent_typegen_key_generated",{agent_id:d})}catch{ie("agent_typegen_key_failed",{agent_id:d}),fe.error("Failed to generate API key")}finally{a(!1)}},m=async()=>{ie("agent_connect_action",{agent_id:d,action:"typegen_copy_command",has_api_key:!!i}),await navigator.clipboard.writeText(h),c(!0),fe.success("Command copied to clipboard"),setTimeout(()=>c(!1),2e3)};return n.jsxs("div",{className:"flex min-w-0 flex-col gap-3",children:[n.jsxs("div",{className:"flex items-start justify-between gap-3",children:[n.jsxs("div",{className:"flex flex-col gap-0.5",children:[n.jsx("h4",{className:"text-sm font-medium text-foreground",children:"Generate typed client"}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:["Introspects this agent and writes a typed"," ",n.jsx("code",{className:"font-mono",children:"client.ts"})," you can import directly."]})]}),!i&&n.jsxs(oe,{type:"button",variant:"outline",size:"sm",className:"shrink-0 gap-1.5",onClick:f,disabled:o,children:[o?n.jsx(De,{size:14,className:"animate-spin"}):n.jsx(Wg,{size:14}),n.jsx("span",{children:o?"Generating…":"Generate API key"})]})]}),i&&n.jsx("p",{className:"rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-700",children:"Store this key securely — it won't be shown again."}),n.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Generate client"}),n.jsx("div",{className:"rounded-md border border-input bg-muted/50 px-3 py-2.5",children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("code",{className:"min-w-0 flex-1 break-all font-mono text-xs text-muted-foreground",children:h}),n.jsx(oe,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0",onClick:m,children:l?n.jsx(Jt,{size:12,className:"text-green-600"}):n.jsx(zi,{size:12})})]})}),n.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Runtime variables"}),n.jsx(oV,{apiKey:i,agentId:d})]})}function oV(t){const e=B.c(21),{apiKey:s,agentId:i}=t,[r,o]=S.useState(!1),a=window.location.origin,l=s?`MESH_API_KEY=${s}`:"MESH_API_KEY=<api-key>",c=`MESH_BASE_URL=${a}`,d=`${l}
553
+ ${c}`;let u;e[0]!==i||e[1]!==s||e[2]!==d?(u=async()=>{ie("agent_connect_action",{agent_id:i,action:"typegen_copy_env",has_api_key:!!s}),await navigator.clipboard.writeText(d),o(!0),setTimeout(()=>o(!1),2e3)},e[0]=i,e[1]=s,e[2]=d,e[3]=u):u=e[3];const h=u,f=!s;let m;e[4]!==f?(m=X({"opacity-50":f}),e[4]=f,e[5]=m):m=e[5];let p;e[6]!==l||e[7]!==m?(p=n.jsx("span",{className:m,children:l}),e[6]=l,e[7]=m,e[8]=p):p=e[8];let g,_;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx("br",{}),_=n.jsx("span",{children:c}),e[9]=g,e[10]=_):(g=e[9],_=e[10]);let v;e[11]!==p?(v=n.jsxs("code",{className:"min-w-0 flex-1 font-mono text-xs text-muted-foreground",children:[p,g,_]}),e[11]=p,e[12]=v):v=e[12];let x;e[13]!==r?(x=r?n.jsx(Jt,{size:12,className:"text-green-600"}):n.jsx(zi,{size:12}),e[13]=r,e[14]=x):x=e[14];let b;e[15]!==h||e[16]!==x?(b=n.jsx(oe,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0",onClick:h,children:x}),e[15]=h,e[16]=x,e[17]=b):b=e[17];let y;return e[18]!==v||e[19]!==b?(y=n.jsx("div",{className:"rounded-md border border-input bg-muted/50 px-3 py-2.5",children:n.jsxs("div",{className:"flex items-start gap-2",children:[v,b]})}),e[18]=v,e[19]=b,e[20]=y):y=e[20],y}function aV(t){const e=B.c(3),{virtualMcp:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("div",{className:"h-20 animate-pulse rounded-md bg-muted"}),e[0]=i):i=e[0];let r;return e[1]!==s?(r=n.jsx(S.Suspense,{fallback:i,children:n.jsx(rV,{virtualMcp:s})}),e[1]=s,e[2]=r):r=e[2],r}function lV(t){const e=B.c(37),{open:s,onOpenChange:i,virtualMcp:r}=t,o=`/mcp/virtual-mcp/${r.id}`;let a;e[0]!==o?(a=new URL(o,window.location.origin),e[0]=o,e[1]=a):a=e[1];const l=a;let c;e[2]!==r.id||e[3]!==r.title?(c=r.title||`agent-${r.id?.slice(0,8)??"default"}`,e[2]=r.id,e[3]=r.title,e[4]=c):c=e[4];const d=c,u=Ms();let h;e[5]!==r.id||e[6]!==l.href?(h=n.jsx(sV,{url:l.href,agentId:r.id}),e[5]=r.id,e[6]=l.href,e[7]=h):h=e[7];let f,m;e[8]!==d||e[9]!==r.id||e[10]!==l.href?(f=n.jsx(iV,{url:l.href,serverName:d,agentId:r.id}),m=n.jsx(nV,{url:l.href,serverName:d,agentId:r.id}),e[8]=d,e[9]=r.id,e[10]=l.href,e[11]=f,e[12]=m):(f=e[11],m=e[12]);let p;e[13]!==h||e[14]!==f||e[15]!==m?(p=n.jsx("div",{className:"flex flex-col gap-3 pt-2",children:n.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[h,f,m]})}),e[13]=h,e[14]=f,e[15]=m,e[16]=p):p=e[16];let g;e[17]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx("div",{className:"border-t border-border"}),e[17]=g):g=e[17];let _;e[18]!==r?(_=n.jsx(aV,{virtualMcp:r}),e[18]=r,e[19]=_):_=e[19];let v;e[20]!==p||e[21]!==_?(v=n.jsxs("div",{className:"flex flex-col gap-6",children:[p,g,_]}),e[20]=p,e[21]=_,e[22]=v):v=e[22];const x=v;if(u){let k;e[23]===Symbol.for("react.memo_cache_sentinel")?(k=n.jsx(wi,{className:"mt-4 mb-4 text-base font-semibold",children:"Connect"}),e[23]=k):k=e[23];let w;e[24]!==x?(w=n.jsx(Vi,{children:n.jsxs("div",{className:"flex-1 overflow-y-auto px-4 pb-6 [touch-action:pan-y]",children:[k,x]})}),e[24]=x,e[25]=w):w=e[25];let V;return e[26]!==i||e[27]!==s||e[28]!==w?(V=n.jsx(Ci,{open:s,onOpenChange:i,children:w}),e[26]=i,e[27]=s,e[28]=w,e[29]=V):V=e[29],V}let b;e[30]===Symbol.for("react.memo_cache_sentinel")?(b=n.jsx(hs,{children:n.jsx(ds,{children:"Connect"})}),e[30]=b):b=e[30];let y;e[31]!==x?(y=n.jsxs(ts,{className:"max-h-[80vh] overflow-y-auto sm:max-w-2xl",children:[b,x]}),e[31]=x,e[32]=y):y=e[32];let C;return e[33]!==i||e[34]!==s||e[35]!==y?(C=n.jsx(ss,{open:s,onOpenChange:i,children:y}),e[33]=i,e[34]=s,e[35]=y,e[36]=C):C=e[36],C}function cV(t,e){switch(e.type){case"SET_SHARE_DIALOG_OPEN":return{...t,shareDialogOpen:e.payload};case"SET_ADD_DIALOG_OPEN":return{...t,addDialogOpen:e.payload};case"OPEN_SETTINGS":return{...t,settingsDialogOpen:!0,settingsConnectionId:e.payload};case"CLOSE_SETTINGS":return{...t,settingsDialogOpen:!1,settingsConnectionId:null};default:return t}}function dV(t){const e=B.c(22),{connection_id:s,usedConnectionIds:i,onOpenSettings:r,onRemove:o,onAuthenticate:a,onSwitchInstance:l,onNewInstance:c}=t,d=El(s),{org:u}=ye();if(!d)return null;let h;e[0]!==d?(h=_u(d),e[0]=d,e[1]=h):h=e[1];const f=h;let m;e[2]!==s?(m=n.jsx(mV,{connection_id:s}),e[2]=s,e[3]=m):m=e[3];let p;e[4]!==d.app_name||e[5]!==d.connection_type||e[6]!==d.description||e[7]!==d.icon||e[8]!==d.title||e[9]!==s||e[10]!==a||e[11]!==c||e[12]!==r||e[13]!==o||e[14]!==l||e[15]!==u.slug||e[16]!==f||e[17]!==i?(p=n.jsx(fV,{connection_id:s,connectionTitle:d.title,connectionDescription:d.description,connectionIcon:d.icon,connectionType:d.connection_type,slug:f,orgSlug:u.slug,appName:d.app_name,usedConnectionIds:i,onOpenSettings:r,onRemove:o,onAuthenticate:a,onSwitchInstance:l,onNewInstance:c}),e[4]=d.app_name,e[5]=d.connection_type,e[6]=d.description,e[7]=d.icon,e[8]=d.title,e[9]=s,e[10]=a,e[11]=c,e[12]=r,e[13]=o,e[14]=l,e[15]=u.slug,e[16]=f,e[17]=i,e[18]=p):p=e[18];let g;return e[19]!==m||e[20]!==p?(g=n.jsx(S.Suspense,{fallback:m,children:p}),e[19]=m,e[20]=p,e[21]=g):g=e[21],g}const Cd="__new_instance__";async function hV(t,e){const s=t?.idToken??null;if(s){const r=kd(s);if(r)return r}const i=t?.userinfoEndpoint??null;if(i)try{const r=await fetch(i,{headers:{Authorization:`Bearer ${e}`}});if(r.ok){const o=await r.json(),a=typeof o.email=="string"?o.email:typeof o.upn=="string"?o.upn:typeof o.preferred_username=="string"?o.preferred_username:null;if(a)return a}}catch{}return kd(e)}function kd(t){try{const e=t.split(".");if(e.length===3&&e[1]){const s=JSON.parse(atob(e[1].replace(/-/g,"+").replace(/_/g,"/")));if(typeof s.email=="string")return s.email;if(typeof s.upn=="string")return s.upn;if(typeof s.preferred_username=="string")return s.preferred_username}}catch{}return null}function uV(t){const e=B.c(23),{appName:s,connectionId:i,usedConnectionIds:r,onSwitchInstance:o,onNewInstance:a}=t;let l;e[0]!==s?(l={filters:[{column:"app_name",value:s}]},e[0]=s,e[1]=l):l=e[1];const c=Gn(l);if(c.length<=1)return null;let d;e[2]!==i||e[3]!==a||e[4]!==o?(d=g=>{g===Cd?a?.():o(i,g)},e[2]=i,e[3]=a,e[4]=o,e[5]=d):d=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx(ti,{size:"sm",className:"w-auto text-xs gap-1 px-2 shadow-none",children:n.jsx(si,{})}),e[6]=u):u=e[6];let h;if(e[7]!==i||e[8]!==c||e[9]!==r){let g;e[11]!==i||e[12]!==r?(g=_=>n.jsx(Ht,{value:_.id,className:"text-xs",disabled:_.id!==i&&r.has(_.id),children:_.title},_.id),e[11]=i,e[12]=r,e[13]=g):g=e[13],h=c.map(g),e[7]=i,e[8]=c,e[9]=r,e[10]=h}else h=e[10];let f;e[14]!==a?(f=a&&n.jsx(Ht,{value:Cd,className:"text-xs text-muted-foreground",children:"+ New instance"}),e[14]=a,e[15]=f):f=e[15];let m;e[16]!==h||e[17]!==f?(m=n.jsxs(Zs,{children:[h,f]}),e[16]=h,e[17]=f,e[18]=m):m=e[18];let p;return e[19]!==i||e[20]!==d||e[21]!==m?(p=n.jsxs(ei,{value:i,onValueChange:d,children:[u,m]}),e[19]=i,e[20]=d,e[21]=m,e[22]=p):p=e[22],p}function fV(t){const e=B.c(55),{connection_id:s,connectionTitle:i,connectionDescription:r,connectionIcon:o,connectionType:a,slug:l,orgSlug:c,appName:d,usedConnectionIds:u,onOpenSettings:h,onRemove:f,onAuthenticate:m,onSwitchInstance:p,onNewInstance:g}=t;let _;e[0]!==s?(_={connectionId:s},e[0]=s,e[1]=_):_=e[1];const v=Du(_),b=!(a==="VIRTUAL")&&v.supportsOAuth&&!v.isAuthenticated,y=b?"border-destructive/50 bg-destructive/5":"border-border";let C;e[2]!==y?(C=X("rounded-xl border overflow-hidden transition-colors",y),e[2]=y,e[3]=C):C=e[3];let k;e[4]!==c||e[5]!==l?(k={org:c,appSlug:l},e[4]=c,e[5]=l,e[6]=k):k=e[6];let w;e[7]!==o||e[8]!==i?(w=n.jsx(Ps,{icon:o,name:i,size:"sm",className:"shrink-0"}),e[7]=o,e[8]=i,e[9]=w):w=e[9];let V;e[10]!==i?(V=n.jsx("p",{className:"text-sm font-medium truncate",children:i}),e[10]=i,e[11]=V):V=e[11];let j;e[12]!==r||e[13]!==b?(j=b?n.jsx("span",{className:"text-xs text-destructive font-medium",children:"Needs authorization"}):r&&n.jsx("p",{className:"text-xs text-muted-foreground truncate",children:r}),e[12]=r,e[13]=b,e[14]=j):j=e[14];let R;e[15]!==V||e[16]!==j?(R=n.jsxs("div",{className:"flex-1 min-w-0",children:[V,j]}),e[15]=V,e[16]=j,e[17]=R):R=e[17];let T;e[18]!==s||e[19]!==b||e[20]!==m?(T=b?n.jsx(oe,{variant:"outline",size:"sm",className:"h-7 text-xs shrink-0",onClick:K=>{K.preventDefault(),K.stopPropagation(),m(s)},children:"Authorize"}):n.jsxs(nt,{delayDuration:0,children:[n.jsx(st,{asChild:!0,children:n.jsx("span",{className:"inline-flex items-center justify-center rounded-md h-7 w-7 hover:bg-accent text-muted-foreground shrink-0 transition-colors",children:n.jsx(Zn,{size:16})})}),n.jsx(it,{side:"bottom",children:"Connection settings"})]}),e[18]=s,e[19]=b,e[20]=m,e[21]=T):T=e[21];let I;e[22]!==k||e[23]!==w||e[24]!==R||e[25]!==T?(I=n.jsxs(Lh,{to:"/$org/settings/connections/$appSlug",params:k,className:"flex items-center gap-3 px-4 py-3 cursor-pointer hover:bg-muted/50 transition-colors",children:[w,R,T]}),e[22]=k,e[23]=w,e[24]=R,e[25]=T,e[26]=I):I=e[26];let A;e[27]!==d||e[28]!==s||e[29]!==g||e[30]!==p||e[31]!==u?(A=d&&n.jsx(uV,{appName:d,connectionId:s,usedConnectionIds:u,onSwitchInstance:p,onNewInstance:g}),e[27]=d,e[28]=s,e[29]=g,e[30]=p,e[31]=u,e[32]=A):A=e[32];let N;e[33]===Symbol.for("react.memo_cache_sentinel")?(N=n.jsx(Qh,{size:13}),e[33]=N):N=e[33];let E;e[34]!==h?(E=n.jsx(st,{asChild:!0,children:n.jsx(oe,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:h,"aria-label":"Configure resources",children:N})}),e[34]=h,e[35]=E):E=e[35];let M;e[36]===Symbol.for("react.memo_cache_sentinel")?(M=n.jsx(it,{side:"bottom",children:"Configure resources"}),e[36]=M):M=e[36];let L;e[37]!==E?(L=n.jsxs(nt,{delayDuration:0,children:[E,M]}),e[37]=E,e[38]=L):L=e[38];let D;e[39]===Symbol.for("react.memo_cache_sentinel")?(D=n.jsx(ri,{size:13}),e[39]=D):D=e[39];let P;e[40]!==f?(P=n.jsx(st,{asChild:!0,children:n.jsx(oe,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-destructive",onClick:f,"aria-label":"Remove connection",children:D})}),e[40]=f,e[41]=P):P=e[41];let O;e[42]===Symbol.for("react.memo_cache_sentinel")?(O=n.jsx(it,{side:"bottom",children:"Remove"}),e[42]=O):O=e[42];let $;e[43]!==P?($=n.jsxs(nt,{delayDuration:0,children:[P,O]}),e[43]=P,e[44]=$):$=e[44];let z;e[45]!==L||e[46]!==$?(z=n.jsxs("div",{className:"flex items-center gap-0.5 ml-auto",children:[L,$]}),e[45]=L,e[46]=$,e[47]=z):z=e[47];let W;e[48]!==A||e[49]!==z?(W=n.jsxs("div",{className:"flex items-center gap-3 px-4 py-2 border-t border-border bg-muted/25",children:[A,z]}),e[48]=A,e[49]=z,e[50]=W):W=e[50];let F;return e[51]!==I||e[52]!==W||e[53]!==C?(F=n.jsxs("div",{className:C,children:[I,W]}),e[51]=I,e[52]=W,e[53]=C,e[54]=F):F=e[54],F}function mV(t){const e=B.c(17),{connection_id:s}=t,i=El(s);if(!i){let h;return e[0]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx(em,{}),e[0]=h):h=e[0],h}let r;e[1]!==i.icon||e[2]!==i.title?(r=n.jsx(Ps,{icon:i.icon,name:i.title,size:"sm",className:"shrink-0"}),e[1]=i.icon,e[2]=i.title,e[3]=r):r=e[3];let o;e[4]!==i.title?(o=n.jsx("p",{className:"text-sm font-medium truncate",children:i.title}),e[4]=i.title,e[5]=o):o=e[5];let a;e[6]!==i.description?(a=i.description&&n.jsx("p",{className:"text-xs text-muted-foreground truncate",children:i.description}),e[6]=i.description,e[7]=a):a=e[7];let l;e[8]!==o||e[9]!==a?(l=n.jsxs("div",{className:"flex-1 min-w-0",children:[o,a]}),e[8]=o,e[9]=a,e[10]=l):l=e[10];let c;e[11]!==r||e[12]!==l?(c=n.jsxs("div",{className:"flex items-center gap-3 px-4 py-3",children:[r,l]}),e[11]=r,e[12]=l,e[13]=c):c=e[13];let d;e[14]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("div",{className:"flex items-center px-4 py-2 border-t border-border bg-muted/25",children:n.jsx("div",{className:"h-5 w-20 rounded bg-muted animate-pulse"})}),e[14]=d):d=e[14];let u;return e[15]!==c?(u=n.jsxs("div",{className:"rounded-xl border border-border overflow-hidden",children:[c,d]}),e[15]=c,e[16]=u):u=e[16],u}function em(){const t=B.c(3);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"size-8 rounded-md bg-muted animate-pulse shrink-0"}),t[0]=e):e=t[0];let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsxs("div",{className:"flex items-center gap-3 px-4 py-3",children:[e,n.jsxs("div",{className:"flex-1 space-y-1.5",children:[n.jsx("div",{className:"h-4 w-32 rounded bg-muted animate-pulse"}),n.jsx("div",{className:"h-3 w-48 rounded bg-muted animate-pulse"})]})]}),t[1]=s):s=t[1];let i;return t[2]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsxs("div",{className:"rounded-xl border border-border overflow-hidden",children:[s,n.jsx("div",{className:"flex items-center px-4 py-2 border-t border-border bg-muted/25",children:n.jsx("div",{className:"h-5 w-20 rounded bg-muted animate-pulse"})})]}),t[2]=i):i=t[2],i}function pV({virtualMcpId:t}){const{org:e}=ye(),s=Le({connectionId:Pt,orgId:e.id}),i=Mt(),r=is(t),o=(r?.connections??[]).map(P=>P.connection_id).sort(),{data:a}=Wi({queryKey:ct.projectConnectionDetails(t,o),enabled:o.length>0,queryFn:async()=>await Promise.all(o.map(async O=>{try{const $=await s.callTool({name:"COLLECTION_CONNECTIONS_GET",arguments:{id:O}}),{item:z}=Do($),W=(z?.tools??[]).filter(F=>!!l_(F._meta)).map(F=>({name:F.name,description:F.description}));return{fetchOk:!0,id:O,title:z?.title??O,icon:z?.icon??null,uiTools:W}}catch{return{fetchOk:!1,id:O,title:O,icon:null,uiTools:[]}}}))}),l=(a??[]).filter(P=>P.uiTools.length>0),c=new Set(ig),d=r?.metadata?.ui,u=d?.pinnedViews??[],h=d?.layout?.defaultMainView??null,f=d?.layout?.chatDefaultOpen??!1,m=!h||h.type==="chat"?"chat":h.type==="settings"?"layout":c.has(h.type)?h.type:`${h.type}:${h.id??""}:${h.toolName??""}`,[p,g]=S.useState(u),[_,v]=S.useState(m),[x,b]=S.useState(f),[y,C]=S.useState(!1),k=P=>{const[O,$,z]=P.split(":");return O?O==="chat"?{type:O}:c.has(O)?{type:O}:O==="ext-apps"&&$?{type:"ext-apps",id:$,toolName:z||void 0}:null:null},w=S.useRef(!1);if(a&&a.length>0&&!w.current){w.current=!0;const P=new Set((a??[]).filter(z=>z.fetchOk).map(z=>z.id)),O=new Set(l.flatMap(z=>z.uiTools.map(W=>`${z.id}:${W.name}`))),$=u.filter(z=>!P.has(z.connectionId)||O.has(`${z.connectionId}:${z.toolName}`));if($.length!==u.length){g($);let z=_;h?.type==="ext-apps"&&!$.some(W=>W.connectionId===h.id&&W.toolName===h.toolName)&&(z="chat",v(z)),s.callTool({name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",arguments:{virtualMcpId:t,pinnedViews:$,layout:{defaultMainView:k(z),chatDefaultOpen:x}}}).then(W=>{Do(W),i.invalidateQueries({predicate:F=>Array.isArray(F.queryKey)&&F.queryKey.includes("collection")&&F.queryKey.includes("VIRTUAL_MCP")})}).catch(()=>{g(u),v(m)})}}const V=(P,O,$)=>{C(!0),(async()=>{try{const W=await s.callTool({name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",arguments:{virtualMcpId:t,pinnedViews:P,layout:{defaultMainView:k(O),chatDefaultOpen:$??x}}});Do(W),i.invalidateQueries({predicate:F=>Array.isArray(F.queryKey)&&F.queryKey.includes("collection")&&F.queryKey.includes("VIRTUAL_MCP")}),fe.success("Layout updated")}catch(W){fe.error("Failed to update layout: "+(W instanceof Error?W.message:"Unknown error"))}finally{C(!1)}})()},j=(P,O)=>{const $=p.some(F=>F.connectionId===P&&F.toolName===O);let z,W=_;if($){z=p.filter(K=>!(K.connectionId===P&&K.toolName===O));const F=`ext-apps:${P}:${O}`;_===F&&(W="chat",v(W))}else z=[...p,{connectionId:P,toolName:O,label:O.replace(/_/g," "),icon:null}];g(z),V(z,W)},R=(P,O,$)=>{g(z=>z.map(W=>W.connectionId===P&&W.toolName===O?{...W,label:$}:W))},T=()=>{V(p,_)},I=(P,O,$)=>{g(W=>W.map(F=>F.connectionId===P&&F.toolName===O?{...F,icon:$}:F));const z=p.map(W=>W.connectionId===P&&W.toolName===O?{...W,icon:$}:W);V(z,_)},A=P=>{v(P),V(p,P)},N=o.length===0,E=a&&l.length===0,M=!!Fs(r),L=[{value:"chat",label:"Chat"},{value:"instructions",label:"Instructions"},{value:"connections",label:"Connections"},{value:"layout",label:"Layout"}];M&&(L.push({value:"env",label:"Terminal"}),L.push({value:"preview",label:"Preview"}));for(const P of p)L.push({value:`ext-apps:${P.connectionId}:${P.toolName}`,label:P.label||P.toolName});const D=l.length>0||N||E;return n.jsxs("div",{className:"flex flex-col gap-3",children:[n.jsx("div",{className:"flex items-center justify-between gap-3",children:n.jsx("h2",{className:"text-sm font-medium text-foreground",children:"Layout"})}),n.jsxs(U_,{className:"p-6 gap-5",children:[n.jsxs(Rc,{className:"p-0 space-y-5",children:[n.jsxs("div",{className:"flex items-center justify-between gap-4",children:[n.jsxs("div",{className:"space-y-0.5 min-w-0",children:[n.jsx(Vn,{className:"font-normal text-foreground",children:"Main view"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"What users see when they first open this agent."})]}),n.jsxs(ei,{value:_,onValueChange:A,children:[n.jsx(ti,{className:"w-44 h-8 text-sm capitalize shrink-0",children:n.jsx(si,{})}),n.jsx(Zs,{children:L.map(P=>n.jsx(Ht,{value:P.value,className:"capitalize",children:P.label},P.value))})]})]}),n.jsxs("div",{className:"flex items-center justify-between gap-4",children:[n.jsxs("div",{className:"space-y-0.5 min-w-0",children:[n.jsx(Vn,{className:"font-normal text-foreground",children:"Show chat"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Display the chat panel alongside the main view."})]}),n.jsxs(nt,{delayDuration:0,children:[n.jsx(st,{asChild:!0,children:n.jsx("span",{className:"shrink-0",children:n.jsx(Hr,{checked:_==="chat"?!0:x,disabled:_==="chat"||y,onCheckedChange:P=>{b(P),V(p,_,P)}})})}),_==="chat"&&n.jsx(it,{side:"top",children:"Chat is always shown when it is the default view"})]})]})]}),D&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"border-t border-border -mx-6"}),n.jsxs(Rc,{className:"p-0 space-y-3",children:[n.jsx("div",{className:"flex items-center justify-between gap-4",children:n.jsxs("div",{className:"space-y-0.5 min-w-0",children:[n.jsx(Vn,{className:"font-normal text-foreground",children:"Pinned views"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Surface interactive tools as top-level tabs in the agent."})]})}),N&&n.jsx("p",{className:"text-xs text-muted-foreground",children:"Add a connection above to configure pinned views."}),E&&!N&&n.jsx("p",{className:"text-xs text-muted-foreground",children:"None of the connected servers expose interactive tools."}),l.length>0&&n.jsx("div",{className:"space-y-4 pt-1",children:l.map((P,O)=>n.jsxs("div",{children:[O>0&&n.jsx("div",{className:"border-t border-border -mx-6 mb-4"}),n.jsxs("div",{className:"flex items-center gap-2 mb-2.5",children:[n.jsx(Ps,{icon:P.icon,name:P.title,size:"xs",className:"shrink-0"}),n.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:P.title})]}),n.jsx("div",{className:"space-y-1.5",children:P.uiTools.map($=>{const z=p.some(F=>F.connectionId===P.id&&F.toolName===$.name),W=p.find(F=>F.connectionId===P.id&&F.toolName===$.name);return n.jsxs("div",{className:X("flex items-center justify-between gap-3 px-3 py-2 rounded-lg border transition-colors",z?"bg-accent/40 border-border":"bg-transparent border-border"),children:[n.jsxs("div",{className:"min-w-0 flex-1 flex items-center gap-2",children:[n.jsx(Bw,{value:W?.icon??null,onChange:F=>I(P.id,$.name,F),disabled:!z||y}),n.jsx(gt,{value:z&&W?W.label:$.name.replace(/_/g," "),onChange:F=>R(P.id,$.name,F.target.value),onBlur:T,className:"h-7 text-sm w-40 capitalize",disabled:!z||y,readOnly:!z})]}),n.jsx(Hr,{checked:z,onCheckedChange:()=>j(P.id,$.name),disabled:y})]},$.name)})})]},P.id))})]})]})]})]})}function gV({virtualMcp:t,hideOwnTitle:e}){const{org:s}=ye(),i=Al(),r=po(),o=Mt(),a=Le({connectionId:Pt,orgId:s.id}),l=qi({resolver:Un(eV),defaultValues:t}),c=l.watch("connections"),d=!!Fs(t),[u,h]=S.useReducer(cV,{shareDialogOpen:!1,addDialogOpen:!1,settingsDialogOpen:!1,settingsConnectionId:null}),[f,m]=S.useState(!1),{createTaskWithMessage:p}=es(),{setChatMode:g}=ai(),{createNewTask:_}=Wn(),v=()=>{const U=l.getValues("metadata.instructions");U?.trim()&&(R(),ie("agent_instructions_improve_clicked",{agent_id:t.id,instructions_length:U.length}),g("plan"),p({virtualMcpId:vl(s.id),message:{parts:[{type:"text",text:`/writing-prompts ${t.id}
554
+
555
+ <instructions>
556
+ ${U}
557
+ </instructions>`}]}}))},x=()=>{R(),ie("agent_test_clicked",{agent_id:t.id}),_()},b=S.useRef(null),y=S.useRef(null),C=S.useRef(new Set),k=S.useRef(0),w=S.useRef(null),V=S.useRef(null),j=3e4,R=()=>{V.current&&(clearTimeout(V.current),V.current=null),y.current!==null&&(ie("agent_updated",{agent_id:t.id,fields:Array.from(C.current),instructions_length:w.current,save_count:k.current,edit_duration_ms:Date.now()-y.current}),y.current=null,C.current=new Set,k.current=0,w.current=null)},T=async()=>{b.current&&(clearTimeout(b.current),b.current=null);const U=Object.keys(l.formState.dirtyFields);if(U.length===0)return;const Y=U.includes("metadata"),q=l.getValues(),G=await i.update.mutateAsync({id:t.id,data:q});y.current===null&&(y.current=Date.now());for(const ee of U)C.current.add(ee);k.current+=1,Y&&(w.current=q.metadata?.instructions?.length??0),V.current&&clearTimeout(V.current),V.current=setTimeout(R,j),l.reset(G)},I=()=>{b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{T()},1e3)},A=S.useRef(!1);A.current||(A.current=!0,l.watch(()=>{I()}));const N=()=>{ie("connections_dialog_opened",{source:"agent_settings",mode:"add"}),h({type:"SET_ADD_DIALOG_OPEN",payload:!0})},E=async U=>{const Y=l.getValues("connections");if(Y.some(ee=>ee.connection_id===U))return;l.setValue("connections",[...Y,{connection_id:U,selected_tools:Ko.tools,selected_resources:Ko.resources,selected_prompts:Ko.prompts}],{shouldDirty:!0}),h({type:"SET_ADD_DIALOG_OPEN",payload:!1});const q=new URL(`/mcp/${U}`,window.location.origin),G=await bn({url:q.href,token:null});G.supportsOAuth&&!G.isAuthenticated&&await O(U)},M=U=>{const q=l.getValues("connections").filter(G=>G.connection_id!==U);l.setValue("connections",q,{shouldDirty:!0})},L=(U,Y)=>{const q=l.getValues("connections");if(q.some(G=>G.connection_id===Y)){fe.error("This instance is already added to the agent");return}l.setValue("connections",q.map(G=>G.connection_id===U?{...G,connection_id:Y}:G),{shouldDirty:!0})},D=async U=>{if(l.getValues("connections").find(q=>q.connection_id===U))try{const q=await a.callTool({name:"COLLECTION_CONNECTIONS_GET",arguments:{id:U}}),{item:G}=q.structuredContent??{};if(!G)return;const ee=G.title.replace(/\s*\(.*?\)\s*$/,""),Z=Su("conn"),J=`${ee} (${Date.now().toString(36).slice(-4)})`;await r.create.mutateAsync({id:Z,title:J,description:G.description??null,connection_type:G.connection_type,connection_url:G.connection_url??null,connection_token:null,icon:G.icon??null,app_name:G.app_name??null,app_id:G.app_id??null,connection_headers:G.connection_headers??null});const se=new URL(`/mcp/${Z}`,window.location.origin),ne=await bn({url:se.href,token:null});if(ne.supportsOAuth&&!ne.isAuthenticated){const ce=await O(Z);if(!ce){await r.delete.mutateAsync(Z);return}await r.update.mutateAsync({id:Z,data:{title:`${ee} (${ce})`}})}L(U,Z),fe.success("New instance created")}catch(q){console.error("Failed to create instance:",q),fe.error("Failed to create instance")}},P=U=>{h({type:"OPEN_SETTINGS",payload:U})},O=async U=>{const{token:Y,tokenInfo:q,error:G}=await wr({connectionId:U,scope:"offline_access"});if(G||!Y)return fe.error(`Authentication failed: ${G}`),null;if(q)try{const Z=await fetch(`/api/connections/${U}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:q.accessToken,refreshToken:q.refreshToken,expiresIn:q.expiresIn,scope:q.scope,clientId:q.clientId,clientSecret:q.clientSecret,tokenEndpoint:q.tokenEndpoint})});if(!Z.ok)console.error("Failed to save OAuth token:",await Z.text()),await r.update.mutateAsync({id:U,data:{connection_token:Y}});else try{await r.update.mutateAsync({id:U,data:{}})}catch(J){console.warn("Failed to refresh connection tools after OAuth:",J)}}catch(Z){console.error("Error saving OAuth token:",Z),await r.update.mutateAsync({id:U,data:{connection_token:Y}})}else await r.update.mutateAsync({id:U,data:{connection_token:Y}});const ee=new URL(`/mcp/${U}`,window.location.origin);return await o.invalidateQueries({queryKey:ct.isMCPAuthenticated(ee.href,null)}),fe.success("Authentication successful"),hV(q,Y)},$=()=>{const U=l.getValues("metadata.instructions")??"",Y=`<role>
558
+ Define who this agent is and what it specializes in.
559
+ Example: You are a support triage agent for B2B merchants.
560
+ </role>
561
+
562
+ <capabilities>
563
+ List what this agent can do using its connected tools.
564
+ - Investigate issues using connected data sources.
565
+ - Summarize findings and recommend next steps.
566
+ </capabilities>
567
+
568
+ <constraints>
569
+ Set clear boundaries on what the agent must not do.
570
+ - Do not perform destructive actions without confirmation.
571
+ - Escalate to a human when the request is outside your expertise.
572
+ </constraints>
573
+
574
+ <workflows>
575
+ Define step-by-step how the agent should handle requests.
576
+
577
+ ## Default workflow
578
+ 1. Read the user's request and gather context.
579
+ 2. Use the appropriate tools to investigate or act.
580
+ 3. Summarize the result and propose next steps.
581
+ 4. Ask for confirmation before making any changes.
582
+ </workflows>`,q=U.trim()?`${U}
583
+
584
+ ${Y}`:Y;l.setValue("metadata.instructions",q,{shouldDirty:!0})},z=new Set(c.map(U=>U.connection_id)),W=qe(),[F,K]=S.useState(!1),H=async()=>{R();try{await i.delete.mutateAsync(t.id),ie("agent_deleted",{agent_id:t.id,source:"agent_detail"}),fe.success(`Deleted "${t.title}"`),W({to:"/$org",params:{org:s.slug}})}catch{}};return n.jsxs(ps,{children:[n.jsx(ps.Content,{children:n.jsx(ps.Body,{children:n.jsxs("div",{className:"flex flex-col gap-10",children:[!e&&n.jsx(ps.Title,{actions:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(oe,{variant:"outline",size:"sm",onClick:x,children:[n.jsx(Ar,{size:14,className:"!size-[14px]"}),"Test Agent"]}),n.jsx(oe,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-destructive",onClick:()=>K(!0),children:n.jsx(xa,{size:14})})]}),children:"Settings"}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Ri,{name:"icon",control:l.control,render:({field:U})=>n.jsx(Rw,{value:U.value??null,onChange:Y=>{U.onChange(Y),T()},onColorChange:Y=>{l.setValue("metadata.ui.themeColor",Y,{shouldDirty:!0}),T()},name:l.watch("title")||"Agent",size:"md",className:"shrink-0",avatarClassName:"[&_svg]:w-1/2 [&_svg]:h-1/2",disabled:d})}),n.jsxs("div",{className:"flex flex-col flex-1 min-w-0",children:[n.jsx(Ri,{name:"title",control:l.control,render:({field:U})=>n.jsx("input",{...U,type:"text",value:U.value??"",onBlur:()=>{U.onBlur(),T()},disabled:d,placeholder:"Agent name",className:"text-lg font-medium leading-tight text-foreground bg-transparent border-none outline-none px-1 -mx-1 rounded hover:bg-input/25 focus:bg-input/25 transition-colors w-full truncate disabled:hover:bg-transparent disabled:focus:bg-transparent disabled:opacity-50"})}),n.jsx(Ri,{name:"description",control:l.control,render:({field:U})=>n.jsx("input",{...U,type:"text",value:U.value??"",onBlur:()=>{U.onBlur(),T()},disabled:d,placeholder:"Add a description...",className:"text-sm text-muted-foreground bg-transparent border-none outline-none px-1 -mx-1 rounded hover:bg-input/25 focus:bg-input/25 transition-colors w-full truncate disabled:hover:bg-transparent disabled:focus:bg-transparent disabled:opacity-50"})})]}),n.jsxs(oe,{variant:"outline",size:"sm",className:"shrink-0",onClick:()=>{ie("agent_connect_modal_opened",{agent_id:t.id}),h({type:"SET_SHARE_DIALOG_OPEN",payload:!0})},children:[n.jsxs("span",{className:"flex items-center -space-x-1.5 mr-0.5",children:[n.jsx("span",{className:"inline-flex items-center justify-center size-4 rounded-full bg-black ring-1 ring-white/20 shrink-0",children:n.jsx("img",{src:"/logos/cursor.svg",alt:"Cursor",className:"size-2.5 brightness-0 invert"})}),n.jsx("span",{className:"relative z-10 inline-flex items-center justify-center size-4 rounded-full ring-1 ring-background shrink-0",style:{backgroundColor:"#D97757"},children:n.jsx("img",{src:"/logos/Claude Code.svg",alt:"Claude",className:"size-2.5 brightness-0 invert"})})]}),"Connect"]})]}),n.jsxs("section",{className:"flex flex-col gap-3",children:[n.jsxs("div",{className:"flex items-center justify-between gap-3",children:[n.jsx("h2",{className:"text-sm font-medium text-foreground",children:"Connections"}),c.length>0&&n.jsxs(oe,{variant:"outline",size:"sm",onClick:N,children:[n.jsx(Qt,{size:14}),"Add connection"]})]}),n.jsx("div",{className:"flex flex-col gap-2",children:c.length===0?n.jsxs("button",{type:"button",onClick:N,className:"flex items-center gap-3 px-3 py-2.5 rounded-lg border border-dashed border-border hover:bg-accent/50 transition-colors w-full text-left cursor-pointer",children:[n.jsx("div",{className:"flex items-center justify-center size-8 rounded-md text-muted-foreground/75 border border-dashed border-border shrink-0",children:n.jsx(Qt,{size:16})}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"No connections yet. Add one to get started."})]}):c.map(U=>n.jsx(Ns,{fallback:()=>null,children:n.jsx(S.Suspense,{fallback:n.jsx(em,{}),children:n.jsx(dV,{connection_id:U.connection_id,usedConnectionIds:z,onOpenSettings:()=>P(U.connection_id),onRemove:()=>M(U.connection_id),onAuthenticate:O,onSwitchInstance:L,onNewInstance:()=>D(U.connection_id)})})},U.connection_id))})]}),n.jsxs("section",{className:"flex flex-col gap-3",children:[n.jsxs("div",{className:"flex items-center justify-between gap-3",children:[n.jsx("h2",{className:"text-sm font-medium text-foreground",children:"Instructions"}),!d&&n.jsxs("div",{className:"flex items-center gap-2",children:[!l.watch("metadata.instructions")?.trim()&&n.jsx(oe,{variant:"outline",size:"sm",onClick:$,children:"+ Prompt template"}),n.jsxs(oe,{variant:"outline",size:"sm",disabled:!l.watch("metadata.instructions")?.trim(),onClick:v,children:[n.jsx(Cl,{size:13}),"Improve"]})]})]}),n.jsx(Ri,{name:"metadata.instructions",control:l.control,render:({field:U})=>n.jsxs("div",{className:"relative rounded-xl card-shadow bg-card focus-within:ring-1 focus-within:ring-ring",children:[n.jsx(_a,{...U,value:U.value??"",onBlur:()=>{U.onBlur(),T()},disabled:d,placeholder:"Define how this agent should behave, what tone to use, any constraints or guidelines...",className:"min-h-[200px] max-h-[360px] overflow-auto resize-none text-base text-muted-foreground placeholder:text-muted-foreground/40 leading-relaxed border-0 shadow-none px-4 py-3 pr-11 focus-visible:ring-0 focus-visible:ring-offset-0 bg-transparent",style:{boxShadow:"none"}}),n.jsxs(nt,{delayDuration:0,children:[n.jsx(st,{asChild:!0,children:n.jsx(oe,{type:"button",variant:"ghost",size:"icon",className:"absolute top-2 right-2 h-7 w-7 text-muted-foreground",onClick:()=>m(!0),"aria-label":"Open fullscreen editor",children:n.jsx(Lg,{size:14})})}),n.jsx(it,{side:"left",children:"Fullscreen"})]})]})})]}),n.jsx(pV,{virtualMcpId:t.id}),n.jsxs("section",{className:"flex items-center justify-between border-t border-border pt-6",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium",children:"Delete agent"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Permanently delete this agent and all its data."})]}),n.jsxs(oe,{variant:"outline",size:"sm",className:"text-destructive border-destructive/40 hover:bg-destructive/10 hover:text-destructive shrink-0",onClick:()=>K(!0),children:[n.jsx(xa,{size:14}),"Delete agent"]})]})]})})}),n.jsx(Ol,{open:F,onOpenChange:K,children:n.jsxs(Tl,{children:[n.jsxs(Dl,{children:[n.jsx(Ml,{children:"Delete Agent?"}),n.jsxs(Pl,{children:["This action cannot be undone. This will permanently delete"," ",n.jsx("span",{className:"font-medium text-foreground",children:t.title}),"."]})]}),n.jsxs(Ll,{children:[n.jsx(Rl,{children:"Cancel"}),n.jsx(Ru,{onClick:H,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),n.jsx(Ul,{open:u.addDialogOpen,onOpenChange:U=>h({type:"SET_ADD_DIALOG_OPEN",payload:U}),agentId:t.id,addedConnectionIds:z,onAdd:E}),n.jsx(Zw,{open:u.settingsDialogOpen,onOpenChange:U=>{U||h({type:"CLOSE_SETTINGS"})},selectedId:u.settingsConnectionId,form:l,connections:c,onAuthenticate:O}),n.jsx(lV,{open:u.shareDialogOpen,onOpenChange:U=>h({type:"SET_SHARE_DIALOG_OPEN",payload:U}),virtualMcp:t}),n.jsx(ss,{open:f,onOpenChange:m,children:n.jsxs(ts,{className:"w-[90vw] sm:max-w-6xl h-[85vh] flex flex-col p-0 gap-0",children:[n.jsx(hs,{className:"px-6 pt-6 pb-3 border-b border-border shrink-0",children:n.jsx(ds,{children:"Instructions"})}),n.jsx("div",{className:"flex-1 min-h-0 p-6",children:n.jsx(Ri,{name:"metadata.instructions",control:l.control,render:({field:U})=>n.jsx(_a,{...U,value:U.value??"",onBlur:()=>{U.onBlur(),T()},disabled:d,placeholder:"Define how this agent should behave, what tone to use, any constraints or guidelines...",className:"w-full h-full resize-none text-base text-muted-foreground placeholder:text-muted-foreground/40 leading-relaxed rounded-xl card-shadow px-4 py-3 focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-0 bg-card border-0",style:{boxShadow:"none"}})})})]})})]})}function _V(t){const e=B.c(9),{virtualMcpId:s,hideOwnTitle:i}=t,r=qe(),{org:o}=ye(),a=is(s);if(!a){let d;return e[0]!==r||e[1]!==o.slug?(d=n.jsx("div",{className:"flex h-full w-full bg-background",children:n.jsx(Fi,{title:"Space not found",description:"This space may have been deleted or you may not have access.",actions:n.jsx(oe,{variant:"outline",onClick:()=>r({to:"/$org",params:{org:o.slug}}),children:"Back to spaces"})})}),e[0]=r,e[1]=o.slug,e[2]=d):d=e[2],d}let l;e[3]!==a?(l=Fs(a)?.connectionId??"",e[3]=a,e[4]=l):l=e[4];let c;return e[5]!==i||e[6]!==l||e[7]!==a?(c=n.jsx(gV,{virtualMcp:a,hideOwnTitle:i},l),e[5]=i,e[6]=l,e[7]=a,e[8]=c):c=e[8],c}function jd(t){const e=B.c(2),{virtualMcpId:s}=t;let i;return e[0]!==s?(i=n.jsx(_V,{virtualMcpId:s,hideOwnTitle:!0}),e[0]=s,e[1]=i):i=e[1],i}const xV={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" "};function Bn(t){return t?t.replace(/&(#x?[0-9a-fA-F]+|[a-zA-Z]+);/g,(e,s)=>{if(s.startsWith("#x")||s.startsWith("#X")){const i=Number.parseInt(s.slice(2),16);return Number.isFinite(i)?String.fromCodePoint(i):e}if(s.startsWith("#")){const i=Number.parseInt(s.slice(1),10);return Number.isFinite(i)?String.fromCodePoint(i):e}return xV[s]??e}):""}function nr(t){if(!t||typeof t!="object")return null;const e=t;if(e.structuredContent!==void 0)return e.structuredContent;const s=e.content?.find(i=>i.type==="text")?.text;if(!s)return null;try{return JSON.parse(s)}catch{return null}}const wo=6e4,Vo=3e4;function tm(t){const e=B.c(11);let s;e[0]!==t.connectionId||e[1]!==t.orgId?(s={connectionId:t.connectionId,orgId:t.orgId},e[0]=t.connectionId,e[1]=t.orgId,e[2]=s):s=e[2];const i=Le(s),r=t.branch?`${t.owner}:${t.branch}`:void 0;let o;e[3]!==t.owner||e[4]!==t.repo||e[5]!==r?(o={owner:t.owner,repo:t.repo,state:"all",head:r,perPage:1},e[3]=t.owner,e[4]=t.repo,e[5]=r,e[6]=o):o=e[6];const a=!!t.branch;let l;return e[7]!==i||e[8]!==o||e[9]!==a?(l={client:i,toolName:"list_pull_requests",toolArguments:o,enabled:a,refetchInterval:wo,refetchIntervalInBackground:!1,staleTime:Vo,select:vV},e[7]=i,e[8]=o,e[9]=a,e[10]=l):l=e[10],ki(l)}function vV(t){const e=nr(t);if(!e||!Array.isArray(e)||e.length===0)return null;const s=e[0],i=s.base,r=s.head,o=s.user;return{number:s.number??0,title:s.title??"",body:s.body??"",state:s.state==="closed"?"closed":"open",merged:s.merged_at!=null,mergedAt:s.merged_at??null,base:i?.ref??"main",head:r?.ref??"",headSha:r?.sha??"",htmlUrl:s.html_url??"",author:o?.login??""}}function sm(t){const e=B.c(11);let s;e[0]!==t.connectionId||e[1]!==t.orgId?(s={connectionId:t.connectionId,orgId:t.orgId},e[0]=t.connectionId,e[1]=t.orgId,e[2]=s):s=e[2];const i=Le(s),r=t.prNumber??0;let o;e[3]!==t.owner||e[4]!==t.repo||e[5]!==r?(o={method:"get_files",owner:t.owner,repo:t.repo,pullNumber:r},e[3]=t.owner,e[4]=t.repo,e[5]=r,e[6]=o):o=e[6];const a=!!t.prNumber;let l;return e[7]!==i||e[8]!==o||e[9]!==a?(l={client:i,toolName:"pull_request_read",toolArguments:o,enabled:a,refetchInterval:wo,refetchIntervalInBackground:!1,staleTime:Vo,select:bV},e[7]=i,e[8]=o,e[9]=a,e[10]=l):l=e[10],ki(l)}function bV(t){const e=nr(t);return Array.isArray(e)?e.map(yV):[]}function yV(t){const e=Number(t.additions??0),s=Number(t.changes??e),i=Number(t.deletions??Math.max(0,s-e));return{filename:String(t.filename??""),status:t.status??"modified",additions:e,deletions:i,blobUrl:typeof t.blob_url=="string"?t.blob_url:null}}function im(t){const e=B.c(11);let s;e[0]!==t.connectionId||e[1]!==t.orgId?(s={connectionId:t.connectionId,orgId:t.orgId},e[0]=t.connectionId,e[1]=t.orgId,e[2]=s):s=e[2];const i=Le(s),r=t.prNumber??0;let o;e[3]!==t.owner||e[4]!==t.repo||e[5]!==r?(o={method:"get_check_runs",owner:t.owner,repo:t.repo,pullNumber:r},e[3]=t.owner,e[4]=t.repo,e[5]=r,e[6]=o):o=e[6];const a=!!t.prNumber;let l;return e[7]!==i||e[8]!==o||e[9]!==a?(l={client:i,toolName:"pull_request_read",toolArguments:o,enabled:a,refetchInterval:wo,refetchIntervalInBackground:!1,staleTime:Vo,select:SV},e[7]=i,e[8]=o,e[9]=a,e[10]=l):l=e[10],ki(l)}function SV(t){const e=nr(t);return(Array.isArray(e)?e:e?.check_runs??[]).map(wV)}function wV(t){const e=t.started_at,s=t.completed_at,i=e&&s?new Date(s).getTime()-new Date(e).getTime():null;return{id:String(t.id??""),name:String(t.name??""),status:t.status??"completed",conclusion:t.conclusion??null,htmlUrl:String(t.html_url??""),durationMs:i}}function VV(t){const e=B.c(11);let s;e[0]!==t.connectionId||e[1]!==t.orgId?(s={connectionId:t.connectionId,orgId:t.orgId},e[0]=t.connectionId,e[1]=t.orgId,e[2]=s):s=e[2];const i=Le(s),r=t.prNumber??0;let o;e[3]!==t.owner||e[4]!==t.repo||e[5]!==r?(o={method:"get_comments",owner:t.owner,repo:t.repo,pullNumber:r},e[3]=t.owner,e[4]=t.repo,e[5]=r,e[6]=o):o=e[6];const a=!!t.prNumber;let l;return e[7]!==i||e[8]!==o||e[9]!==a?(l={client:i,toolName:"pull_request_read",toolArguments:o,enabled:a,refetchInterval:wo,refetchIntervalInBackground:!1,staleTime:Vo,select:CV},e[7]=i,e[8]=o,e[9]=a,e[10]=l):l=e[10],ki(l)}function CV(t){const e=nr(t);return Array.isArray(e)?e.map(kV):[]}function kV(t){const e=t.user;return{id:Number(t.id??0),author:e?.login??"",body:String(t.body??""),createdAt:String(t.created_at??""),htmlUrl:String(t.html_url??"")}}function jV(t){const e=B.c(27),{pr:s,connectionId:i,owner:r,repo:o}=t,{org:a}=ye();let l;e[0]!==i||e[1]!==a.id||e[2]!==r||e[3]!==s.number||e[4]!==o?(l={orgId:a.id,connectionId:i,owner:r,repo:o,prNumber:s.number},e[0]=i,e[1]=a.id,e[2]=r,e[3]=s.number,e[4]=o,e[5]=l):l=e[5];const c=sm(l);if(c.isLoading){let x;return e[6]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading files…"}),e[6]=x):x=e[6],x}if(c.isError){let x;return e[7]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx("div",{className:"text-sm text-destructive",children:"Couldn't load file list."}),e[7]=x):x=e[7],x}let d;e[8]!==c.data?(d=c.data??[],e[8]=c.data,e[9]=d):d=e[9];const u=d;if(u.length===0){let x;return e[10]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx("div",{className:"text-sm text-muted-foreground",children:"No files changed."}),e[10]=x):x=e[10],x}const h=u.length===1?"":"s",f=`${s.htmlUrl}/files`;let m;e[11]!==f?(m=n.jsx("a",{href:f,target:"_blank",rel:"noreferrer",className:"underline hover:text-foreground",children:"View diffs on GitHub"}),e[11]=f,e[12]=m):m=e[12];let p;e[13]!==u.length||e[14]!==h||e[15]!==m?(p=n.jsxs("div",{className:"pb-2 text-xs text-muted-foreground",children:[u.length," file",h," changed ·"," ",m]}),e[13]=u.length,e[14]=h,e[15]=m,e[16]=p):p=e[16];let g;if(e[17]!==u||e[18]!==s.htmlUrl){let x;e[20]!==s.htmlUrl?(x=b=>n.jsx("li",{children:n.jsxs("a",{href:b.blobUrl??`${s.htmlUrl}/files`,target:"_blank",rel:"noreferrer",className:"flex items-center justify-between rounded px-2 py-1 font-mono text-xs hover:bg-muted",children:[n.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[n.jsx(NV,{status:b.status}),n.jsx("span",{className:"truncate",children:b.filename})]}),n.jsxs("span",{className:"flex shrink-0 items-center gap-2 tabular-nums",children:[n.jsxs("span",{children:[n.jsxs("span",{className:"text-success",children:["+",b.additions]})," ",n.jsxs("span",{className:"text-destructive",children:["−",b.deletions]})]}),n.jsx(ji,{className:"h-3 w-3 text-muted-foreground"})]})]})},b.filename),e[20]=s.htmlUrl,e[21]=x):x=e[21],g=u.map(x),e[17]=u,e[18]=s.htmlUrl,e[19]=g}else g=e[19];let _;e[22]!==g?(_=n.jsx("ul",{className:"space-y-0.5",children:g}),e[22]=g,e[23]=_):_=e[23];let v;return e[24]!==p||e[25]!==_?(v=n.jsxs("div",{className:"flex flex-col gap-1",children:[p,_]}),e[24]=p,e[25]=_,e[26]=v):v=e[26],v}function NV(t){const e=B.c(2),{status:s}=t,i=s==="added"?"A":s==="removed"?"D":s==="renamed"?"R":s==="copied"?"C":"M";let r;return e[0]!==i?(r=n.jsx("span",{className:"inline-flex h-4 w-4 items-center justify-center rounded bg-muted text-[10px] font-bold text-muted-foreground",children:i}),e[0]=i,e[1]=r):r=e[1],r}const Ls="The user clicked this action deliberately — execute directly. Do not call user_ask unless you hit an actual problem outside the scope of this intent (missing auth, unresolvable conflict, a check with multiple plausible fixes).";function AV(t){return`Commit every pending change in the working tree with a concise conventional-commit message summarizing the diff, then push to \`origin/${t.branch}\`. If local commits are ahead of the remote, push those in the same invocation. ${Ls}`}function EV(t){return`Open a pull request for \`${t.branch}\` against its base. Write a clear title and a summary of the changes so far. ${Ls}`}function IV(t){return`Reopen PR #${t.prNumber}. ${Ls}`}function RV(t){return`Rebase \`${t.branch}\` on the latest base and force-push with --force-with-lease. ${Ls}`}function TV(t){return`Re-run the \`${t.checkName}\` check on PR #${t.prNumber}. If an empty commit is needed to retrigger CI, create and push one. ${Ls}`}function DV(t){const e=(t.failingChecks??[]).map(s=>`\`${s}\``).join(", ");return`PR #${t.prNumber} has failing checks: ${e}. For each: read the logs, diagnose the root cause, apply the smallest fix that makes it pass, commit, and push. ${Ls}`}function MV(t){return`Mark PR #${t.prNumber} ready for review. ${Ls}`}function PV(t){return`Read the unresolved review threads on PR #${t.prNumber}. For each thread: understand the reviewer's ask, apply the needed changes, commit, push, reply explaining what changed, and resolve the thread. If a comment is a question that doesn't need a code change, reply with the answer and resolve. ${Ls}`}function LV(t){return`Review PR #${t.prNumber}. Read the full diff, analyze every changed file for correctness, security, code quality, and alignment with the repo's patterns. Post specific line-level review comments on concerns, then submit an overall review (approve / request changes / comment) with a concise summary. Do not modify the code — this is a read-and-comment pass. ${Ls}`}function OV(t){return`Squash-merge PR #${t.prNumber} into its base. ${Ls}`}function BV(t){const e=B.c(23),{pr:s,connectionId:i,owner:r,repo:o}=t,{org:a}=ye(),l=ro();let c;e[0]!==i||e[1]!==a.id||e[2]!==r||e[3]!==s.number||e[4]!==o?(c={orgId:a.id,connectionId:i,owner:r,repo:o,prNumber:s.number},e[0]=i,e[1]=a.id,e[2]=r,e[3]=s.number,e[4]=o,e[5]=c):c=e[5];const d=im(c);let u;e[6]!==l||e[7]!==s.number?(u=_=>l.sendMessage({parts:[{type:"text",text:TV({prNumber:s.number,checkName:_})}]}),e[6]=l,e[7]=s.number,e[8]=u):u=e[8];const h=u;if(d.isLoading){let _;return e[9]===Symbol.for("react.memo_cache_sentinel")?(_=n.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading checks…"}),e[9]=_):_=e[9],_}if(d.isError){let _;return e[10]===Symbol.for("react.memo_cache_sentinel")?(_=n.jsx("div",{className:"text-sm text-destructive",children:"Couldn't load check runs."}),e[10]=_):_=e[10],_}let f;e[11]!==d.data?(f=d.data??[],e[11]=d.data,e[12]=f):f=e[12];const m=f;if(m.length===0){let _;return e[13]===Symbol.for("react.memo_cache_sentinel")?(_=n.jsx("div",{className:"text-sm text-muted-foreground",children:"No check runs on the PR head commit."}),e[13]=_):_=e[13],_}let p;if(e[14]!==l||e[15]!==m||e[16]!==h){let _;e[18]!==l||e[19]!==h?(_=v=>n.jsxs("li",{className:"flex items-center justify-between gap-2 rounded px-2 py-1.5 text-sm hover:bg-muted",children:[n.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[n.jsx(zV,{check:v}),n.jsx("span",{className:"truncate",children:v.name}),v.durationMs!=null&&n.jsx("span",{className:"text-xs text-muted-foreground",children:$V(v.durationMs)})]}),n.jsxs("span",{className:"flex shrink-0 items-center gap-1",children:[v.htmlUrl&&n.jsx("a",{href:v.htmlUrl,target:"_blank",rel:"noreferrer",className:"inline-flex h-7 items-center justify-center rounded px-2 text-xs text-muted-foreground hover:bg-background",title:"View run",children:n.jsx(ji,{className:"h-3.5 w-3.5"})}),v.conclusion==="failure"&&n.jsx(oe,{size:"sm",variant:"ghost",disabled:l.isStreaming,onClick:()=>h(v.name),children:"Re-run"})]})]},v.id),e[18]=l,e[19]=h,e[20]=_):_=e[20],p=m.map(_),e[14]=l,e[15]=m,e[16]=h,e[17]=p}else p=e[17];let g;return e[21]!==p?(g=n.jsx("ul",{className:"flex flex-col gap-0.5",children:p}),e[21]=p,e[22]=g):g=e[22],g}function zV(t){const e=B.c(5),{check:s}=t;if(s.status!=="completed"){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("span",{className:"text-muted-foreground","aria-label":"In progress",children:"○"}),e[0]=o):o=e[0],o}if(s.conclusion==="success"){let o;return e[1]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("span",{className:"text-success","aria-label":"Success",children:"✓"}),e[1]=o):o=e[1],o}if(s.conclusion==="failure"){let o;return e[2]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("span",{className:"text-destructive","aria-label":"Failure",children:"✗"}),e[2]=o):o=e[2],o}const i=s.conclusion??"—";let r;return e[3]!==i?(r=n.jsx("span",{className:"text-muted-foreground","aria-label":i,children:"—"}),e[3]=i,e[4]=r):r=e[4],r}function $V(t){const e=Math.round(t/1e3);return e<60?`${e}s`:`${Math.round(e/60)}m`}function FV(t){const e=B.c(10),{comments:s,isLoading:i,isError:r}=t;if(i||r||!s||s.length===0)return null;const o=s.length===1?"":"s";let a;e[0]!==s.length||e[1]!==o?(a=n.jsxs(t_,{className:"py-3 text-sm font-medium",children:[s.length," comment",o]}),e[0]=s.length,e[1]=o,e[2]=a):a=e[2];let l;e[3]!==s?(l=s.map(UV),e[3]=s,e[4]=l):l=e[4];let c;e[5]!==l?(c=n.jsx(s_,{className:"space-y-3 pb-3",children:l}),e[5]=l,e[6]=c):c=e[6];let d;return e[7]!==a||e[8]!==c?(d=n.jsx(i_,{type:"single",collapsible:!0,className:"border-t border-border",children:n.jsxs(n_,{value:"comments",className:"border-b-0",children:[a,c]})}),e[7]=a,e[8]=c,e[9]=d):d=e[9],d}function UV(t){return n.jsxs("div",{className:"rounded-md border border-border p-3",children:[n.jsxs("div",{className:"mb-1 text-xs text-muted-foreground",children:["@",t.author," · ",HV(t.createdAt)]}),n.jsx(_l,{id:`pr-comment-${t.id}`,text:Bn(t.body)})]},t.id)}function HV(t){if(!t)return"";const e=new Date(t).getTime();if(!Number.isFinite(e))return"";const s=Date.now()-e;if(s<0)return"just now";const i=Math.floor(s/864e5);if(i>0)return`${i}d ago`;const r=Math.floor(s/36e5);if(r>0)return`${r}h ago`;const o=Math.floor(s/6e4);return`${Math.max(1,o)}m ago`}function WV(t){const e=B.c(18),{pr:s,connectionId:i,owner:r,repo:o}=t,{org:a}=ye();let l;e[0]!==i||e[1]!==a.id||e[2]!==r||e[3]!==s.number||e[4]!==o?(l={orgId:a.id,connectionId:i,owner:r,repo:o,prNumber:s.number},e[0]=i,e[1]=a.id,e[2]=r,e[3]=s.number,e[4]=o,e[5]=l):l=e[5];const c=VV(l);let d;e[6]!==s.body||e[7]!==s.number?(d=s.body&&n.jsx("div",{className:"text-sm",children:n.jsx(_l,{id:`pr-body-${s.number}`,text:Bn(s.body)})}),e[6]=s.body,e[7]=s.number,e[8]=d):d=e[8];let u;e[9]!==c.data?(u=c.data??[],e[9]=c.data,e[10]=u):u=e[10];let h;e[11]!==c.isError||e[12]!==c.isLoading||e[13]!==u?(h=n.jsx(FV,{comments:u,isLoading:c.isLoading,isError:c.isError}),e[11]=c.isError,e[12]=c.isLoading,e[13]=u,e[14]=h):h=e[14];let f;return e[15]!==d||e[16]!==h?(f=n.jsxs("div",{className:"space-y-8",children:[d,h]}),e[15]=d,e[16]=h,e[17]=f):f=e[17],f}function KV(t){const e=B.c(26),{pr:s,connectionId:i,owner:r,repo:o}=t,{org:a}=ye();let l;e[0]!==i||e[1]!==a.id||e[2]!==r||e[3]!==s.number||e[4]!==o?(l={orgId:a.id,connectionId:i,owner:r,repo:o,prNumber:s.number},e[0]=i,e[1]=a.id,e[2]=r,e[3]=s.number,e[4]=o,e[5]=l):l=e[5];const d=sm(l).data?.length,[u,h]=S.useState("description"),f=S.useRef({description:null,changes:null,checks:null}),[m,p]=S.useState(null),g=V=>j=>{if(f.current[V]=j,j&&V===u){const R=j.offsetLeft,T=j.offsetWidth;(m===null||R!==m.left||T!==m.width)&&p({left:R,width:T})}},_=V=>{const j=V;h(j);const R=f.current[j];R&&p({left:R.offsetLeft,width:R.offsetWidth})},v=Io,x=g("checks");let b;e[6]!==v||e[7]!==x?(b=n.jsx(v,{ref:x,variant:"underline",value:"checks",className:"pb-3 data-[state=active]:border-transparent",children:"Checks"}),e[6]=v,e[7]=x,e[8]=b):b=e[8];let y;e[9]!==m?(y=m&&n.jsx("div",{"aria-hidden":!0,className:"pointer-events-none absolute bottom-[-1px] h-0.5 bg-primary transition-[left,width] duration-200 ease-out",style:{left:m.left,width:m.width}}),e[9]=m,e[10]=y):y=e[10];let C;e[11]!==i||e[12]!==r||e[13]!==s||e[14]!==o?(C=n.jsx(Cr,{value:"description",className:"mt-6",children:n.jsx(WV,{pr:s,connectionId:i,owner:r,repo:o})}),e[11]=i,e[12]=r,e[13]=s,e[14]=o,e[15]=C):C=e[15];let k;e[16]!==i||e[17]!==r||e[18]!==s||e[19]!==o?(k=n.jsx(Cr,{value:"changes",className:"mt-6",children:n.jsx(jV,{pr:s,connectionId:i,owner:r,repo:o})}),e[16]=i,e[17]=r,e[18]=s,e[19]=o,e[20]=k):k=e[20];let w;return e[21]!==i||e[22]!==r||e[23]!==s||e[24]!==o?(w=n.jsx(Cr,{value:"checks",className:"mt-6",children:n.jsx(BV,{pr:s,connectionId:i,owner:r,repo:o})}),e[21]=i,e[22]=r,e[23]=s,e[24]=o,e[25]=w):w=e[25],n.jsxs(Wh,{value:u,onValueChange:_,variant:"underline",children:[n.jsxs(yg,{variant:"underline",className:"relative h-auto p-0",children:[n.jsx(Io,{ref:g("description"),variant:"underline",value:"description",className:"pb-3 data-[state=active]:border-transparent",children:"Description"}),n.jsxs(Io,{ref:g("changes"),variant:"underline",value:"changes",className:"pb-3 data-[state=active]:border-transparent",children:["Changes",d!==void 0?` ${d}`:""]}),b,y]}),C,k,w]})}function qV(t){const e=B.c(5),{pr:s}=t,i=`Open PR #${s.number} on GitHub`;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx(ji,{className:"h-4 w-4 text-muted-foreground"}),e[0]=r):r=e[0];let o;return e[1]!==s.htmlUrl||e[2]!==s.number||e[3]!==i?(o=n.jsx("div",{className:"flex h-12 items-center border-b border-border px-4 shrink-0",children:n.jsxs("a",{href:s.htmlUrl,target:"_blank",rel:"noreferrer","aria-label":i,className:"inline-flex items-center gap-1.5 text-base font-medium text-foreground hover:underline",children:["PR #",s.number,r]})}),e[1]=s.htmlUrl,e[2]=s.number,e[3]=i,e[4]=o):o=e[4],o}function GV(t){const e=B.c(23),{pr:s}=t;let i;e[0]!==s.title?(i=Bn(s.title),e[0]=s.title,e[1]=i):i=e[1];let r;e[2]!==i?(r=n.jsx("h1",{className:"text-2xl font-semibold",children:i}),e[2]=i,e[3]=r):r=e[3];const o=`Open PR #${s.number} on GitHub`;let a;e[4]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx(ji,{className:"h-3.5 w-3.5"}),e[4]=a):a=e[4];let l;e[5]!==s.htmlUrl||e[6]!==s.number||e[7]!==o?(l=n.jsxs("a",{href:s.htmlUrl,target:"_blank",rel:"noreferrer","aria-label":o,className:"inline-flex items-center gap-1 hover:text-foreground",children:["PR #",s.number,a]}),e[5]=s.htmlUrl,e[6]=s.number,e[7]=o,e[8]=l):l=e[8];let c;e[9]!==s.author?(c=s.author&&n.jsxs(n.Fragment,{children:["@",s.author," · "]}),e[9]=s.author,e[10]=c):c=e[10];let d;e[11]!==s.base?(d=n.jsx("span",{className:"font-mono text-xs",children:s.base}),e[11]=s.base,e[12]=d):d=e[12];let u;e[13]!==s.head?(u=n.jsx("span",{className:"font-mono text-xs",children:s.head}),e[13]=s.head,e[14]=u):u=e[14];let h;e[15]!==l||e[16]!==c||e[17]!==d||e[18]!==u?(h=n.jsxs("div",{className:"text-sm text-muted-foreground",children:[l," · ",c,d," ← ",u]}),e[15]=l,e[16]=c,e[17]=d,e[18]=u,e[19]=h):h=e[19];let f;return e[20]!==r||e[21]!==h?(f=n.jsxs("div",{className:"space-y-2",children:[r,h]}),e[20]=r,e[21]=h,e[22]=f):f=e[22],f}function YV(t){const e=B.c(8),{virtualMcpId:s}=t,{org:i}=ye(),r=is(s),{currentBranch:o}=es(),a=r?.metadata?.githubRepo??null;if(!a?.connectionId){let c;return e[0]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx("div",{className:"flex h-full items-center justify-center p-8 text-sm text-muted-foreground",children:"This virtualmcp is not linked to a GitHub repository."}),e[0]=c):c=e[0],c}if(!o){let c;return e[1]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 p-8 text-sm",children:[n.jsx(yn,{className:"h-6 w-6 text-muted-foreground"}),n.jsx("div",{className:"text-muted-foreground",children:"No branch selected."}),n.jsx("div",{className:"text-xs text-muted-foreground",children:"Pick a branch from the dropdown in the header to see PR status."})]}),e[1]=c):c=e[1],c}let l;return e[2]!==o||e[3]!==a.connectionId||e[4]!==a.name||e[5]!==a.owner||e[6]!==i.id?(l=n.jsx(XV,{orgId:i.id,connectionId:a.connectionId,owner:a.owner,repo:a.name,branch:o}),e[2]=o,e[3]=a.connectionId,e[4]=a.name,e[5]=a.owner,e[6]=i.id,e[7]=l):l=e[7],l}function XV(t){const e=B.c(49),{orgId:s,connectionId:i,owner:r,repo:o,branch:a}=t;let l;e[0]!==a||e[1]!==i||e[2]!==s||e[3]!==r||e[4]!==o?(l={orgId:s,connectionId:i,owner:r,repo:o,branch:a},e[0]=a,e[1]=i,e[2]=s,e[3]=r,e[4]=o,e[5]=l):l=e[5];const{data:c,isLoading:d,isError:u}=tm(l),h=JV;if(d){let v;return e[6]===Symbol.for("react.memo_cache_sentinel")?(v=n.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading PR state…"}),e[6]=v):v=e[6],v}if(u){let v;return e[7]===Symbol.for("react.memo_cache_sentinel")?(v=n.jsx("div",{className:"p-4 text-sm text-destructive",children:"Couldn't load PR state. The GitHub connection may be broken."}),e[7]=v):v=e[7],v}const f=`https://github.com/${r}/${o}/tree/${a}`;if(c&&c.state==="closed"){let v;e[8]!==c?(v=n.jsx(qV,{pr:c}),e[8]=c,e[9]=v):v=e[9];const x=c.merged?"✓ Merged":"✗ Closed";let b;e[10]!==c.mergedAt?(b=c.mergedAt&&n.jsxs(n.Fragment,{children:[" · ",new Date(c.mergedAt).toLocaleDateString()]}),e[10]=c.mergedAt,e[11]=b):b=e[11];let y;e[12]!==c.author?(y=c.author&&n.jsxs(n.Fragment,{children:[" · by @",c.author]}),e[12]=c.author,e[13]=y):y=e[13];let C;e[14]!==c.base||e[15]!==x||e[16]!==b||e[17]!==y?(C=n.jsxs("div",{className:"text-sm text-success",children:[x," into ",c.base,b,y]}),e[14]=c.base,e[15]=x,e[16]=b,e[17]=y,e[18]=C):C=e[18];let k;e[19]!==c.title?(k=Bn(c.title),e[19]=c.title,e[20]=k):k=e[20];let w;e[21]!==k?(w=n.jsx("h1",{className:"text-lg font-semibold",children:k}),e[21]=k,e[22]=w):w=e[22];let V;e[23]!==c.body||e[24]!==c.number?(V=c.body&&n.jsx("div",{className:"rounded-md border border-border bg-muted/30 p-3 text-sm",children:n.jsx(_l,{id:`pr-body-${c.number}`,text:Bn(c.body)})}),e[23]=c.body,e[24]=c.number,e[25]=V):V=e[25];let j;e[26]!==C||e[27]!==w||e[28]!==V?(j=n.jsxs("div",{className:"flex flex-col gap-4 p-4 overflow-auto",children:[C,w,V]}),e[26]=C,e[27]=w,e[28]=V,e[29]=j):j=e[29];let R;return e[30]!==v||e[31]!==j?(R=n.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[v,j]}),e[30]=v,e[31]=j,e[32]=R):R=e[32],R}if(c&&c.state==="open"){let v;e[33]!==c?(v=n.jsx(GV,{pr:c}),e[33]=c,e[34]=v):v=e[34];let x;e[35]!==i||e[36]!==r||e[37]!==c||e[38]!==o?(x=n.jsx("div",{className:"mt-8",children:n.jsx(KV,{pr:c,connectionId:i,owner:r,repo:o})}),e[35]=i,e[36]=r,e[37]=c,e[38]=o,e[39]=x):x=e[39];let b;return e[40]!==v||e[41]!==x?(b=n.jsx("div",{className:"flex min-h-0 flex-1 flex-col",children:n.jsx("div",{className:"flex-1 overflow-auto",children:n.jsxs("div",{className:"mx-auto w-full max-w-[1200px] px-4 pt-8 pb-6 md:px-10 md:pt-12 md:pb-10",children:[v,x]})})}),e[40]=v,e[41]=x,e[42]=b):b=e[42],b}let m;e[43]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx("div",{className:"rounded-md border border-border bg-muted/30 p-4 text-sm",children:`This branch doesn't have an open pull request. Click "Submit for review" in the header to open one; the agent will draft the title and summary from the current state of the branch.`}),e[43]=m):m=e[43];let p;e[44]!==f?(p=()=>h(f),e[44]=f,e[45]=p):p=e[45];let g;e[46]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx(ji,{className:"mr-1.5 h-4 w-4"}),e[46]=g):g=e[46];let _;return e[47]!==p?(_=n.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[m,n.jsx("div",{className:"flex items-center gap-2",children:n.jsxs(oe,{size:"sm",variant:"outline",onClick:p,children:[g,"Open branch on GitHub"]})})]}),e[47]=p,e[48]=_):_=e[48],_}function JV(t){window.open(t,"_blank","noopener,noreferrer")}const qo="env";function QV(){const t=B.c(13),e=qe();let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={strict:!1},t[0]=s):s=t[0];const r=Si(s).main===qo;let o;t[1]!==e?(o=f=>{e({search:(m=>({...m,main:f})),replace:!0})},t[1]=e,t[2]=o):o=t[2];const a=o;let l;t[3]!==r||t[4]!==a?(l=()=>{a(r?"0":qo)},t[3]=r,t[4]=a,t[5]=l):l=t[5];const c=l;let d;t[6]!==r||t[7]!==a?(d=()=>{r||a(qo)},t[6]=r,t[7]=a,t[8]=d):d=t[8];const u=d;let h;return t[9]!==r||t[10]!==u||t[11]!==c?(h={envOpen:r,toggleEnv:c,openEnv:u},t[9]=r,t[10]=u,t[11]=c,t[12]=h):h=t[12],h}const ZV=js({tag:Et(),id:Et(),classes:Et(),text:Et(),html:Et(),manifestKey:Et().nullable(),componentName:Et().nullable(),parents:Et(),url:Et(),path:Et(),viewport:js({width:cr(),height:cr()}),position:js({x:cr(),y:cr()})}),eC=`(function() {
585
+ if (window.__visualEditorActive) return;
586
+ window.__visualEditorActive = true;
587
+
588
+ var cursorStyle = document.createElement("style");
589
+ cursorStyle.textContent = "* { cursor: default !important; }";
590
+ document.head.appendChild(cursorStyle);
591
+
592
+ var highlight = document.createElement("div");
593
+ highlight.style.cssText = "position:fixed;pointer-events:none;outline:2px solid #a855f7;background:rgba(168,85,247,0.08);border-radius:2px;z-index:2147483647;display:none;";
594
+ document.body.appendChild(highlight);
595
+
596
+ var badge = document.createElement("div");
597
+ badge.style.cssText = "position:fixed;pointer-events:none;background:#a855f7;color:white;font:11px/1 monospace;padding:2px 6px;border-radius:2px;z-index:2147483647;display:none;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;";
598
+ document.body.appendChild(badge);
599
+
600
+ var lastTarget = null;
601
+ var rafPending = false;
602
+ var moveHandler = function(e) {
603
+ if (rafPending) return;
604
+ rafPending = true;
605
+ var target = e.target;
606
+ requestAnimationFrame(function() {
607
+ rafPending = false;
608
+ var el = target;
609
+ if (!el || el === highlight || el === badge) return;
610
+ if (el === lastTarget) return;
611
+ lastTarget = el;
612
+ var r = el.getBoundingClientRect();
613
+ highlight.style.display = "block";
614
+ highlight.style.top = r.top + "px";
615
+ highlight.style.left = r.left + "px";
616
+ highlight.style.width = r.width + "px";
617
+ highlight.style.height = r.height + "px";
618
+ var tag = el.tagName.toLowerCase();
619
+ var id = el.id ? "#" + el.id : "";
620
+ var cls = el.className && typeof el.className === "string"
621
+ ? "." + el.className.trim().split(/\\s+/).slice(0, 2).join(".")
622
+ : "";
623
+ badge.textContent = tag + id + cls;
624
+ badge.style.display = "block";
625
+ badge.style.top = Math.max(0, r.top - 20) + "px";
626
+ badge.style.left = r.left + "px";
627
+ });
628
+ };
629
+ document.addEventListener("mousemove", moveHandler, true);
630
+
631
+ var outHandler = function(e) {
632
+ if (!e.relatedTarget || e.relatedTarget === document.documentElement) {
633
+ highlight.style.display = "none";
634
+ badge.style.display = "none";
635
+ lastTarget = null;
636
+ }
637
+ };
638
+ document.addEventListener("mouseout", outHandler, true);
639
+
640
+ var clickHandler = function(e) {
641
+ e.preventDefault();
642
+ e.stopImmediatePropagation();
643
+ var el = e.target;
644
+ if (!el || el === highlight || el === badge) return;
645
+
646
+ highlight.style.outline = "2px solid #a855f7";
647
+ highlight.style.background = "rgba(168,85,247,0.15)";
648
+ setTimeout(function() {
649
+ highlight.style.outline = "2px solid #a855f7";
650
+ highlight.style.background = "rgba(168,85,247,0.08)";
651
+ }, 400);
652
+
653
+ var tag = el.tagName.toLowerCase();
654
+ var id = el.id || "";
655
+ var classes = el.className && typeof el.className === "string" ? el.className.trim() : "";
656
+ var text = (el.textContent || "").trim().slice(0, 200);
657
+ var html = (el.outerHTML || "").slice(0, 800).replace(/\\svalue=("[^"]*"|'[^']*'|\\S+)/gi, "");
658
+
659
+ var closestSection = el.closest("section[data-manifest-key]");
660
+ var manifestKey = closestSection ? closestSection.getAttribute("data-manifest-key") : null;
661
+
662
+ var ancestor = el;
663
+ var componentName = null;
664
+ for (var i = 0; i < 10 && ancestor; i++) {
665
+ if (ancestor.dataset) componentName = ancestor.dataset.componentName || componentName;
666
+ ancestor = ancestor.parentElement;
667
+ }
668
+
669
+ var parents = [];
670
+ var p = el.parentElement;
671
+ for (var j = 0; j < 4 && p && p !== document.body; j++) {
672
+ var pTag = p.tagName ? p.tagName.toLowerCase() : "";
673
+ var pId = p.id ? "#" + p.id : "";
674
+ var pCls = p.className && typeof p.className === "string"
675
+ ? "." + p.className.trim().split(/\\s+/)[0]
676
+ : "";
677
+ parents.unshift(pTag + pId + pCls);
678
+ p = p.parentElement;
679
+ }
680
+
681
+ window.parent.postMessage({
682
+ type: "visual-editor::element-clicked",
683
+ payload: {
684
+ tag: tag, id: id, classes: classes, text: text, html: html,
685
+ manifestKey: manifestKey, componentName: componentName,
686
+ parents: parents.join(" > "),
687
+ url: window.location.href, path: window.location.pathname,
688
+ viewport: { width: window.innerWidth, height: window.innerHeight },
689
+ position: { x: Math.round(e.clientX), y: Math.round(e.clientY) }
690
+ }
691
+ }, "*");
692
+ };
693
+ document.addEventListener("click", clickHandler, true);
694
+
695
+ window.addEventListener("message", function(e) {
696
+ if (e.data && e.data.type === "visual-editor::deactivate") {
697
+ highlight.remove();
698
+ badge.remove();
699
+ cursorStyle.remove();
700
+ document.removeEventListener("mousemove", moveHandler, true);
701
+ document.removeEventListener("mouseout", outHandler, true);
702
+ document.removeEventListener("click", clickHandler, true);
703
+ window.__visualEditorActive = false;
704
+ }
705
+ });
706
+ })();`;function Ai(t){return t.replace(/[`*_]/g,"\\$&")}function tC(t,e){const s=[`The user selected an element on the live preview and asked: **"${Ai(e.trim())}"**`,"","For text content changes, locate the correct source file and apply the change.","For code and CSS changes, understand which component the user is referring to and apply changes to the correct component.",""];t.manifestKey&&s.push(`**Section source file:** \`${Ai(t.manifestKey)}\``,"");const i=`<${t.tag}${t.classes?` class="${Ai(t.classes)}"`:""}>`;s.push(`**Clicked element:** \`${i}\``),t.parents&&s.push(`**DOM breadcrumb:** ${Ai(t.parents)} > ${t.tag}`),t.text&&s.push(`**Text content:** "${Ai(t.text)}"`),t.componentName&&s.push(`**Component name:** ${Ai(t.componentName)}`);const r=t.html.replace(/```/g,"`` `");return s.push("","**HTML snippet:**","```html",r,"```"),s.push("","Please read the source file, locate the element, and apply the requested change."),s.join(`
707
+ `)}function sC(t,e,s=320,i=44,r=12){const{x:o,y:a}=t,{width:l,height:c}=e,d=Math.max(r,Math.min(o-s/2,l-s-r)),h=a/c>.68?Math.max(r,a-i-18):Math.min(a+18,c-i-r);return{leftPct:d/l*100,topPct:h/c*100}}function iC(t){const e=B.c(32),{element:s,onDismiss:i}=t,[r,o]=S.useState(""),a=S.useRef(null),{sendMessage:l}=ro(),{setChatOpen:c}=Wn();let d;e[0]!==s||e[1]!==r||e[2]!==i||e[3]!==l||e[4]!==c?(d=()=>{if(!r.trim())return;const R=tC(s,r);c(!0),l({parts:[{type:"text",text:R}]}),i()},e[0]=s,e[1]=r,e[2]=i,e[3]=l,e[4]=c,e[5]=d):d=e[5];const u=d;let h;e[6]!==s.position||e[7]!==s.viewport?(h=sC(s.position,s.viewport),e[6]=s.position,e[7]=s.viewport,e[8]=h):h=e[8];const f=h,m=`${f.leftPct}%`,p=`${f.topPct}%`;let g;e[9]!==m||e[10]!==p?(g={left:m,top:p,width:"320px"},e[9]=m,e[10]=p,e[11]=g):g=e[11];let _;e[12]!==u?(_=R=>{R.preventDefault(),u()},e[12]=u,e[13]=_):_=e[13];let v;e[14]===Symbol.for("react.memo_cache_sentinel")?(v=R=>o(R.target.value),e[14]=v):v=e[14];let x;e[15]!==i?(x=R=>{R.key==="Escape"&&i()},e[15]=i,e[16]=x):x=e[16];let b;e[17]!==r||e[18]!==x?(b=n.jsx("input",{ref:a,autoFocus:!0,type:"text",value:r,onChange:v,onKeyDown:x,placeholder:"Ask the AI...",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground"}),e[17]=r,e[18]=x,e[19]=b):b=e[19];let y;e[20]!==r?(y=r.trim(),e[20]=r,e[21]=y):y=e[21];const C=!y;let k;e[22]===Symbol.for("react.memo_cache_sentinel")?(k=n.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none","aria-hidden":"true",children:[n.jsx("title",{children:"Send"}),n.jsx("path",{d:"M5 9V1M1 5l4-4 4 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),e[22]=k):k=e[22];let w;e[23]!==C?(w=n.jsx("button",{type:"submit",disabled:C,className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-foreground text-background transition-opacity disabled:opacity-30",title:"Send",children:k}),e[23]=C,e[24]=w):w=e[24];let V;e[25]!==w||e[26]!==_||e[27]!==b?(V=n.jsxs("form",{className:"pointer-events-auto flex w-full items-center gap-1.5 rounded-xl border border-border bg-background/95 px-3 py-1.5 shadow-lg backdrop-blur",onSubmit:_,children:[b,w]}),e[25]=w,e[26]=_,e[27]=b,e[28]=V):V=e[28];let j;return e[29]!==V||e[30]!==g?(j=n.jsx("div",{className:"absolute z-30 pointer-events-none",style:g,children:V}),e[29]=V,e[30]=g,e[31]=j):j=e[31],j}const nC={status:{ready:!1,htmlSupport:!1},suspended:!1,notFound:!1,scripts:[],activeProcesses:[],branchStatus:null,getBuffer:()=>"",hasData:()=>!1,subscribeChunks:()=>()=>{},subscribeReload:()=>()=>{}},nm=S.createContext(nC),Nd=16384;class rC{data="";append(e){this.data+=e,this.data.length>Nd&&(this.data=this.data.slice(this.data.length-Nd))}get(){return this.data}clear(){this.data=""}}const oC=6e4,aC=1e3,lC=3e4,cC=["log","status","scripts","processes","reload","branch-status"];function dC({daemonBaseUrl:t,children:e}){const[s,i]=S.useState({ready:!1,htmlSupport:!1}),[r,o]=S.useState(!1),[a,l]=S.useState(!1),[c,d]=S.useState([]),[u,h]=S.useState([]),[f,m]=S.useState(null),[,p]=S.useState(0),g=S.useRef(new Map),_=S.useRef(new Set),v=S.useRef(new Set),x=y=>{let C=g.current.get(y);return C||(C=new rC,g.current.set(y,C)),C};S.useEffect(()=>{if(i({ready:!1,htmlSupport:!1}),o(!1),l(!1),d([]),h([]),m(null),g.current.clear(),!t)return;const y=`${t}/_decopilot_vm/events`;let C=!1,k=!1,w=0,V=null,j=null,R=null;const T=new AbortController;async function I(){try{const D=await fetch(y,{method:"GET",headers:{Accept:"text/event-stream"},cache:"no-store",signal:T.signal});if(D.body)try{await D.body.cancel()}catch{}return D.status===404}catch{return!1}}const A=()=>{j||(j=setTimeout(()=>{o(!0)},oC))},N=()=>{j&&(clearTimeout(j),j=null)},E=D=>{try{const P=JSON.parse(D.data);if(D.type==="log"&&typeof P.data=="string"){const O=P.source,$=P.data.replace(/\r?\n/g,`\r
708
+ `);x(O).append($);for(const z of _.current)try{z(O,$)}catch{}p(z=>z+1)}else if(D.type==="status")i({ready:!!P.ready,htmlSupport:!!P.htmlSupport});else if(D.type==="scripts")d(P.scripts??[]);else if(D.type==="processes")h(P.active??[]);else if(D.type==="reload")for(const O of v.current)try{O()}catch{}else D.type==="branch-status"&&m({branch:String(P.branch??""),base:String(P.base??"main"),workingTreeDirty:!!P.workingTreeDirty,unpushed:Number(P.unpushed??0),aheadOfBase:Number(P.aheadOfBase??0),behindBase:Number(P.behindBase??0),headSha:String(P.headSha??"")})}catch{}};function M(){if(!C){R=new EventSource(y),R.onopen=()=>{w=0,N(),o(!1)},R.onerror=()=>{if(R?.readyState===EventSource.CLOSED){if(A(),k){L();return}k=!0,I().then(D=>{if(!C){if(D){l(!0);return}L()}})}};for(const D of cC)R.addEventListener(D,E)}}function L(){if(C||V)return;const D=Math.min(aC*2**w,lC);w++,V=setTimeout(()=>{V=null,!C&&(R?.close(),M())},D)}return M(),()=>{C=!0,T.abort(),R?.close(),V&&clearTimeout(V),N()}},[t]);const b={status:s,suspended:r,notFound:a,scripts:c,activeProcesses:u,branchStatus:f,getBuffer:y=>g.current.get(y)?.get()??"",hasData:y=>(g.current.get(y)?.get().length??0)>0,subscribeChunks:y=>(_.current.add(y),()=>{_.current.delete(y)}),subscribeReload:y=>(v.current.add(y),()=>{v.current.delete(y)})};return n.jsx(nm,{value:b,children:e})}function Qi(){return S.use(nm)}function hC(t){const{subscribeChunks:e}=Qi(),s=S.useRef(t);s.current=t,S.useEffect(()=>e((o,a)=>{s.current?.(o,a)}),[e])}function uC(t){const{subscribeReload:e}=Qi(),s=S.useRef(t);s.current=t,S.useEffect(()=>e(()=>{s.current?.()}),[e])}function rm(t){const e=B.c(5),{onResume:s,label:i}=t,r=i===void 0?"Resume Server":i;let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("p",{className:"text-sm text-muted-foreground",children:"VM suspended due to inactivity."}),e[0]=o):o=e[0];let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx(su,{size:14}),e[1]=a):a=e[1];let l;return e[2]!==r||e[3]!==s?(l=n.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full gap-4",children:[o,n.jsxs(oe,{onClick:s,children:[a,r]})]}),e[2]=r,e[3]=s,e[4]=l):l=e[4],l}const Go=[{key:"sandbox",label:"Setting up your workspace"},{key:"setup",label:"Installing packages"},{key:"server",label:"Starting your preview"}],Cs="bg-foreground/[0.05]",fs="bg-foreground/[0.09]",fC=Array.from({length:35},()=>Math.random()*1.8),mC=Array.from({length:35},()=>Math.random()<.4);function pC(t,e,s){return s.length>0?2:t||e.length>0?1:0}function gC(t){return t.replace(/\u001b\[[0-9;?]*[a-zA-Z]/g,"")}function _C(t,e){const s=[...e,"setup"];for(const i of s){const r=t(i);if(!r)continue;const o=gC(r).split(/\r\n|\r|\n/);for(let a=o.length-1;a>=0;a--){const l=o[a]?.trim();if(l)return l}}return null}function xC(t){const e=B.c(37),{hasSetupData:s,scripts:i,activeProcesses:r,onViewLogs:o}=t;let a;e[0]!==r||e[1]!==s||e[2]!==i?(a=pC(s,i,r),e[0]=r,e[1]=s,e[2]=i,e[3]=a):a=e[3];const l=a,c=Go[l]?.label??Go[0].label,{getBuffer:d}=Qi();let u;e[4]!==r||e[5]!==d?(u=_C(d,r),e[4]=r,e[5]=d,e[6]=u):u=e[6];const h=u;let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=n.jsx(ng,{}),e[7]=f):f=e[7];const m=Go[l]?.key??"sandbox";let p;e[8]!==c||e[9]!==m?(p=n.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-foreground/10 bg-background px-3.5 py-1.5 shadow-[0_4px_20px_-4px_rgb(0_0_0_/_0.12)]",children:[f,n.jsxs("span",{className:"text-[13px] font-medium text-foreground/85 animate-in fade-in duration-500",children:[c,"…"]},m)]}),e[8]=c,e[9]=m,e[10]=p):p=e[10];let g;e[11]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx(vC,{}),e[11]=g):g=e[11];let _;e[12]!==l?(_=n.jsx(Yo,{phase:0,current:l,children:g}),e[12]=l,e[13]=_):_=e[13];let v;e[14]===Symbol.for("react.memo_cache_sentinel")?(v=n.jsx(bC,{}),e[14]=v):v=e[14];let x;e[15]!==l?(x=n.jsx(Yo,{phase:1,current:l,children:v}),e[15]=l,e[16]=x):x=e[16];let b;e[17]===Symbol.for("react.memo_cache_sentinel")?(b=n.jsx(SC,{}),e[17]=b):b=e[17];let y;e[18]!==l?(y=n.jsx(Yo,{phase:2,current:l,children:b}),e[18]=l,e[19]=y):y=e[19];let C;e[20]!==y||e[21]!==_||e[22]!==x?(C=n.jsxs("div",{className:"relative w-[min(78%,560px)] aspect-[4/3]",children:[_,x,y]}),e[20]=y,e[21]=_,e[22]=x,e[23]=C):C=e[23];let k;e[24]!==h?(k=h&&n.jsx("span",{className:"block w-full max-w-[440px] truncate text-center text-xs font-mono text-muted-foreground/45 animate-in fade-in duration-300",children:h},h),e[24]=h,e[25]=k):k=e[25];let w;e[26]===Symbol.for("react.memo_cache_sentinel")?(w=n.jsx(yl,{size:11}),e[26]=w):w=e[26];let V;e[27]!==o?(V=n.jsxs("button",{type:"button",onClick:o,className:"flex items-center gap-1.5 text-xs text-muted-foreground/50 hover:text-muted-foreground transition-colors duration-200",children:[w,"View logs"]}),e[27]=o,e[28]=V):V=e[28];let j;e[29]!==k||e[30]!==V?(j=n.jsxs("div",{className:"absolute bottom-5 left-1/2 -translate-x-1/2 flex flex-col items-center gap-1 max-w-[80%] min-w-0",children:[k,V]}),e[29]=k,e[30]=V,e[31]=j):j=e[31];let R;e[32]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx("style",{children:`
709
+ @keyframes vm-pulse-soft {
710
+ 0%, 100% { opacity: 0.25; }
711
+ 50% { opacity: 1; }
712
+ }
713
+ @keyframes vm-breathe {
714
+ 0%, 100% { opacity: 0.5; }
715
+ 50% { opacity: 1; }
716
+ }
717
+ `}),e[32]=R):R=e[32];let T;return e[33]!==C||e[34]!==j||e[35]!==p?(T=n.jsxs("div",{className:"relative flex flex-col items-center justify-center w-full h-full overflow-hidden select-none gap-8",children:[p,C,j,R]}),e[33]=C,e[34]=j,e[35]=p,e[36]=T):T=e[36],T}function Yo(t){const e=B.c(10),{phase:s,current:i,children:r}=t,o=s-i,a=o<0,l=o===0,c=a?90:o*-22,d=a?.94:1-Math.max(o,0)*.04,u=a?0:l?1:o===1?.8:.55,h=a?10:30-o,f=!l;let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=X("absolute inset-0 rounded-xl border border-foreground/10 bg-background shadow-[0_20px_60px_-20px_rgb(0_0_0_/_0.35)] overflow-hidden transition-all ease-[cubic-bezier(0.22,1,0.36,1)]"),e[0]=m):m=e[0];const p=`translateY(${c}px) scale(${d})`,g=l?"auto":"none";let _;e[1]!==u||e[2]!==p||e[3]!==g||e[4]!==h?(_={transform:p,opacity:u,zIndex:h,transitionDuration:"1000ms",pointerEvents:g},e[1]=u,e[2]=p,e[3]=g,e[4]=h,e[5]=_):_=e[5];let v;return e[6]!==r||e[7]!==f||e[8]!==_?(v=n.jsx("div",{"aria-hidden":f,className:m,style:_,children:r}),e[6]=r,e[7]=f,e[8]=_,e[9]=v):v=e[9],v}function ic(t){const e=B.c(7),{showUrl:s}=t,i=s===void 0?!1:s;let r,o,a;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("div",{className:X("w-2.5 h-2.5 rounded-full",fs)}),o=n.jsx("div",{className:X("w-2.5 h-2.5 rounded-full",fs)}),a=n.jsx("div",{className:X("w-2.5 h-2.5 rounded-full",fs)}),e[0]=r,e[1]=o,e[2]=a):(r=e[0],o=e[1],a=e[2]);let l;e[3]!==i?(l=i&&n.jsx("div",{className:X("ml-3 h-3.5 flex-1 max-w-[220px] rounded-sm",Cs)}),e[3]=i,e[4]=l):l=e[4];let c;return e[5]!==l?(c=n.jsxs("div",{className:"h-7 flex items-center gap-1.5 px-3 shrink-0",children:[r,o,a,l]}),e[5]=l,e[6]=c):c=e[6],c}function vC(){const t=B.c(5);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(ic,{}),t[0]=e):e=t[0];let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx("div",{className:X("w-[18%] rounded-md",Cs),style:{animation:"vm-breathe 3s ease-in-out infinite"}}),t[1]=s):s=t[1];let i;t[2]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("div",{className:"h-[42%] shrink-0 rounded-md bg-chart-3/[0.12]",style:{animation:"vm-breathe 3s ease-in-out 0.4s infinite"}}),t[2]=i):i=t[2];let r;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("div",{className:"col-span-3 rounded-md bg-chart-3/[0.12]",style:{animation:"vm-breathe 3s ease-in-out 0.8s infinite"}}),t[3]=r):r=t[3];let o;return t[4]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsxs("div",{className:"flex h-full flex-col",children:[e,n.jsxs("div",{className:"flex flex-1 min-h-0 gap-1.5 p-3",children:[s,n.jsxs("div",{className:"flex-1 flex flex-col gap-1.5 min-w-0",children:[i,n.jsxs("div",{className:"flex-1 grid grid-cols-5 gap-1.5 min-h-0",children:[r,n.jsxs("div",{className:"col-span-2 grid grid-rows-2 gap-1.5",children:[n.jsx("div",{className:X("rounded-md",Cs),style:{animation:"vm-breathe 3s ease-in-out 1.2s infinite"}}),n.jsx("div",{className:X("rounded-md",Cs),style:{animation:"vm-breathe 3s ease-in-out 1.6s infinite"}})]})]})]})]})]}),t[4]=o):o=t[4],o}function bC(){const t=B.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(ic,{}),t[0]=e):e=t[0];let s;return t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsxs("div",{className:"flex h-full flex-col",children:[e,n.jsx("div",{className:"relative flex-1 flex items-center justify-center px-8 py-5",children:n.jsx("div",{className:"grid gap-2 w-full",style:{gridTemplateColumns:"repeat(7, minmax(0, 1fr))"},children:fC.map(yC)})})]}),t[1]=s):s=t[1],s}function yC(t,e){return n.jsx("div",{className:X("aspect-square rounded-md",mC[e]?"bg-chart-2/70":fs),style:{animation:`vm-pulse-soft 2.2s ease-in-out ${t}s infinite`}},e)}function SC(){const t=B.c(11);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(ic,{showUrl:!0}),t[0]=e):e=t[0];let s,i,r,o,a;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx("div",{className:"h-5 rounded-md mb-2 bg-chart-1/[0.10]"}),i=n.jsx("div",{className:X("h-1.5 rounded-sm w-[70%]",fs)}),r=n.jsx("div",{className:X("h-1.5 rounded-sm w-[55%]",fs)}),o=n.jsx("div",{className:X("h-1.5 rounded-sm w-[80%]",fs)}),a=n.jsx("div",{className:X("h-1.5 rounded-sm w-[50%]",fs)}),t[1]=s,t[2]=i,t[3]=r,t[4]=o,t[5]=a):(s=t[1],i=t[2],r=t[3],o=t[4],a=t[5]);let l;t[6]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsxs("div",{className:"w-[18%] p-2.5 flex flex-col gap-1.5 shrink-0 bg-chart-1/[0.05]",children:[s,i,r,o,a,n.jsx("div",{className:"mt-auto",children:n.jsx("div",{className:X("h-4 rounded-md",fs)})})]}),t[6]=l):l=t[6];let c;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx("div",{className:"relative h-[42%] shrink-0 overflow-hidden bg-chart-1/[0.10]",children:n.jsxs("div",{className:"absolute bottom-3 left-3 right-3 space-y-1.5",children:[n.jsx("div",{className:"h-3 rounded-sm w-[35%] bg-chart-1/[0.15]"}),n.jsx("div",{className:X("h-1.5 rounded-sm w-[55%]",Cs)})]})}),t[7]=c):c=t[7];let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsxs("div",{className:"flex gap-1.5 shrink-0",children:[n.jsx("div",{className:"h-4 w-12 rounded-full bg-chart-1/[0.12]"}),n.jsx("div",{className:X("h-4 w-10 rounded-full",Cs)}),n.jsx("div",{className:X("h-4 w-14 rounded-full",Cs)})]}),t[8]=d):d=t[8];let u;t[9]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsxs("div",{className:X("col-span-3 rounded-md flex flex-col justify-end p-2 gap-1",Cs),children:[n.jsx("div",{className:X("h-1.5 w-[50%] rounded-sm",fs)}),n.jsx("div",{className:X("h-1 w-[75%] rounded-sm",fs)})]}),t[9]=u):u=t[9];let h;return t[10]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsxs("div",{className:"flex h-full flex-col",children:[e,n.jsxs("div",{className:"flex flex-1 min-h-0",children:[l,n.jsxs("div",{className:"flex-1 min-w-0 flex flex-col",children:[c,n.jsxs("div",{className:"flex-1 p-3 flex flex-col gap-2.5 min-h-0",children:[d,n.jsxs("div",{className:"flex-1 grid grid-cols-5 gap-2 min-h-0",children:[u,n.jsxs("div",{className:"col-span-2 grid grid-rows-2 gap-2",children:[n.jsx("div",{className:X("rounded-md",Cs)}),n.jsx("div",{className:X("rounded-md",Cs)})]})]})]})]})]})]}),t[10]=h):h=t[10],h}function om(t){const e=B.c(21),{errorMsg:s,onRetry:i}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsxs("div",{className:"absolute top-8 left-1/2 -translate-x-1/2 z-20 flex items-center gap-2 rounded-full border border-destructive/30 bg-background/80 px-3.5 py-1.5 shadow-[0_4px_20px_-4px_rgb(0_0_0_/_0.12)] backdrop-blur-md",children:[n.jsx(oi,{size:13,className:"text-destructive/80"}),n.jsx("span",{className:"text-[13px] font-medium text-destructive/90",children:"Failed to start"})]}),e[0]=r):r=e[0];let o,a;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("div",{className:"absolute left-[8%] right-[8%] -top-5 h-full rounded-xl border border-foreground/[0.05] bg-foreground/[0.015]"}),a=n.jsx("div",{className:"absolute left-[4%] right-[4%] -top-2.5 h-full rounded-xl border border-foreground/[0.07] bg-foreground/[0.025]"}),e[1]=o,e[2]=a):(o=e[1],a=e[2]);let l;e[3]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsxs("div",{className:"h-7 border-b border-foreground/[0.08] bg-foreground/[0.015] flex items-center gap-1.5 px-3",children:[n.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-foreground/10"}),n.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-foreground/10"}),n.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-foreground/10"}),n.jsx("div",{className:"ml-3 h-3.5 flex-1 max-w-[240px] rounded-sm bg-foreground/[0.04]"})]}),e[3]=l):l=e[3];let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(oi,{size:14,className:"text-destructive/80 mt-0.5 shrink-0"}),e[4]=c):c=e[4];let d;e[5]!==s?(d=n.jsxs("div",{className:"flex items-start gap-2",children:[c,n.jsx("p",{className:"text-xs text-destructive/80 line-clamp-5 break-all leading-relaxed font-mono",children:s})]}),e[5]=s,e[6]=d):d=e[6];let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx(Oh,{size:12}),e[7]=u):u=e[7];let h;e[8]!==i?(h=n.jsxs(oe,{variant:"outline",size:"sm",onClick:i,children:[u,"Retry"]}),e[8]=i,e[9]=h):h=e[9];let f;e[10]!==s?(f=()=>navigator.clipboard.writeText(s).then(wC),e[10]=s,e[11]=f):f=e[11];let m;e[12]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx(zi,{size:10}),e[12]=m):m=e[12];let p;e[13]!==f?(p=n.jsxs("button",{type:"button",onClick:f,className:"flex items-center gap-1 text-[11px] text-muted-foreground/60 hover:text-muted-foreground transition-colors duration-200",children:[m,"Copy error"]}),e[13]=f,e[14]=p):p=e[14];let g;e[15]!==p||e[16]!==h?(g=n.jsxs("div",{className:"flex items-center gap-2",children:[h,p]}),e[15]=p,e[16]=h,e[17]=g):g=e[17];let _;return e[18]!==g||e[19]!==d?(_=n.jsxs("div",{className:"relative flex flex-col items-center justify-center w-full h-full overflow-hidden select-none",children:[r,n.jsxs("div",{className:"relative w-[min(78%,560px)] aspect-[4/3] mt-6 opacity-60",children:[o,a,n.jsxs("div",{className:"relative w-full h-full rounded-xl border border-foreground/10 bg-background shadow-[0_20px_60px_-20px_rgb(0_0_0_/_0.35)] overflow-hidden",children:[l,n.jsx("div",{className:"flex items-center justify-center p-6 h-[calc(100%-1.75rem)]",children:n.jsxs("div",{className:"w-full max-w-sm rounded-lg border border-destructive/20 bg-destructive/[0.03] p-4 space-y-3",children:[d,g]})})]})]})]}),e[18]=g,e[19]=d,e[20]=_):_=e[20],_}function wC(){fe.success("Error copied to clipboard")}const VC=[{value:"preview",icon:n.jsx(nu,{size:14}),tooltip:"Interactive"},{value:"visual",icon:n.jsx(ru,{size:14}),tooltip:"Visual Editor"}];function CC(){const t=mc(),{data:e}=St.useSession(),{openEnv:s}=QV(),{taskId:i,currentBranch:r,setCurrentTaskBranch:o}=es(),[a,l]=S.useState("preview"),[c,d]=S.useState(null),u=S.useRef(null),h=e?.user?.id,f=t?.entity?.metadata,m=h&&r?f?.vmMap?.[h]?.[r]:void 0,p=m?.previewUrl??null,g=Qi();uC(()=>{const F=u.current;F&&(F.src=F.src)});const _=g.status.htmlSupport,v=g.suspended,x=S.useRef({url:"",at:0,ready:!1});p&&x.current.url!==p&&(x.current={url:p,at:m?.createdAt??Date.now(),ready:!1}),p&&g.status.ready&&!x.current.ready&&(x.current.ready=!0);const b=!!p&&!x.current.ready&&!v,y=S.useRef(0),C=t?.entity?.id??null,k=Le({connectionId:Pt,orgId:t?.entity?.organization_id??""}),w=ec(k),V=w.error?.message??null;w.isPending?y.current||(y.current=Date.now()):p&&(y.current=0);const j=w.isPending&&!p&&!v,R=S.useRef(null),T=S.useRef(null),I=F=>{if(!C)return;const K={virtualMcpId:C};r&&(K.branch=r),w.mutate(K,{onSuccess:H=>{H?.branch&&!r&&o(H.branch)},onError:H=>{console.error(`[preview] ${F} VM_START failed`,H)}})},A=S.useRef(I);A.current=I,i&&m&&R.current!==i&&(R.current=i);const N=!!i&&!!C&&!!h&&!!r&&!m&&!V&&!w.isPending&&R.current!==i;S.useEffect(()=>{!N||!i||(R.current=i,A.current("auto-start"))},[N,i]);const E=g.notFound?m?.vmId??null:null;S.useEffect(()=>{!E||!C||V||w.isPending||T.current!==E&&(T.current=E,A.current("self-heal"))},[E,C,V,w.isPending]);const M=()=>{R.current=null,T.current=null,w.reset(),A.current("auto-start")};S.useEffect(()=>{if(!p)return;let F;try{F=new URL(p,window.location.href).origin}catch{return}const K=H=>{if(H.origin!==F||H.data?.type!=="visual-editor::element-clicked")return;const U=ZV.safeParse(H.data.payload);U.success&&d(U.data)};return window.addEventListener("message",K),()=>window.removeEventListener("message",K)},[p]);const L=()=>{const F=u.current?.contentWindow;F&&F.postMessage({type:"visual-editor::activate",script:eC},"*")},D=()=>{const F=u.current?.contentWindow;F&&F.postMessage({type:"visual-editor::deactivate"},"*")},P=F=>{l(F),d(null),F==="visual"?L():D()},O=()=>{if(!u.current)return;const F=u.current;F.src=F.src},$=()=>{if(!u.current||!p)return;const F=p.includes("?")?"&":"?";u.current.src=`${p}${F}_r=${Date.now()}`},z=()=>{const F=u.current?.contentWindow?.location?.href??p;F&&navigator.clipboard.writeText(F)},W=(()=>{if(!p)return"No server running";try{const F=new URL(p);return`${F.host}${F.pathname==="/"?"":F.pathname}`}catch{return p}})();return n.jsxs("div",{className:"flex flex-col w-full h-full",children:[p&&n.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-4 border-b border-border/60 px-3 md:px-4",children:[_&&n.jsx(W_,{value:a,onValueChange:P,options:VC,size:"sm",className:"shrink-0 bg-foreground/[0.045]"}),n.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-0.5",children:[n.jsxs(nt,{children:[n.jsx(st,{asChild:!0,children:n.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>u.current?.contentWindow?.history.back(),children:n.jsx(kl,{size:14})})}),n.jsx(it,{side:"bottom",children:"Back"})]}),n.jsxs(nt,{children:[n.jsx(st,{asChild:!0,children:n.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>u.current?.contentWindow?.history.forward(),children:n.jsx(uo,{size:14})})}),n.jsx(it,{side:"bottom",children:"Forward"})]}),n.jsxs(nt,{children:[n.jsx(st,{asChild:!0,children:n.jsx(oe,{variant:"ghost",size:"icon",onClick:O,children:n.jsx(Oh,{size:14})})}),n.jsx(it,{side:"bottom",children:"Refresh"})]}),n.jsx("div",{className:"flex h-8 min-w-0 flex-1 items-center rounded-md bg-background px-2 transition-colors duration-200 hover:bg-accent",children:n.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px] text-foreground/88",children:W})})]}),n.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[n.jsxs(nt,{children:[n.jsx(st,{asChild:!0,children:n.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>window.open(p,"_blank","noopener"),children:n.jsx(ji,{size:14})})}),n.jsx(it,{side:"bottom",children:"Open in new tab"})]}),n.jsxs(As,{children:[n.jsx(Es,{asChild:!0,children:n.jsx(oe,{variant:"ghost",size:"icon",children:n.jsx(iu,{size:14})})}),n.jsxs(Is,{align:"end",children:[n.jsx(at,{onClick:$,children:"Hard Reload"}),n.jsx(at,{onClick:z,children:"Copy Current URL"})]})]})]})]}),n.jsxs("div",{className:"flex-1 relative overflow-hidden",children:[!p&&!j&&!V&&n.jsxs("div",{className:"absolute inset-0 z-30 flex flex-col items-center justify-center gap-4 bg-background",children:[n.jsx(nu,{size:48,className:"text-muted-foreground/40"}),n.jsx("h3",{className:"text-lg font-medium",children:"Preview"}),n.jsx("p",{className:"text-sm text-muted-foreground text-center max-w-sm",children:"Start the development server to see a live preview"}),n.jsxs(oe,{onClick:s,children:[n.jsx(su,{size:14}),"Start Server"]})]}),V&&n.jsx("div",{className:"absolute inset-0 z-40 flex items-center justify-center bg-background",children:n.jsx(om,{errorMsg:V,onRetry:M})}),!V&&v&&n.jsx("div",{className:"absolute inset-0 z-30 bg-background/80 backdrop-blur-sm",children:n.jsx(rm,{onResume:s})}),!V&&(b||j)&&n.jsx("div",{className:"absolute inset-0 z-30 flex items-center justify-center bg-background",children:n.jsx(xC,{since:b?x.current.at:y.current,hasSetupData:g.hasData("setup"),scripts:g.scripts,activeProcesses:g.activeProcesses,onViewLogs:s})}),a==="visual"&&!c&&n.jsxs("div",{className:"absolute top-2 left-1/2 -translate-x-1/2 z-20 flex items-center gap-1.5 rounded-full border border-violet-400/40 bg-violet-500/90 px-3 py-1 text-xs font-medium text-white shadow-md backdrop-blur-sm pointer-events-none select-none",children:[n.jsx(ru,{size:12}),"Click any element to ask the AI"]}),a==="visual"&&c&&n.jsx(iC,{element:c,onDismiss:()=>d(null)}),p&&!b&&n.jsx("iframe",{ref:u,src:p,className:"w-full h-full border-0",title:"Dev Server Preview",onLoad:()=>{ie("vm_preview_loaded",{view_mode:a,vm_id:m?.vmId??null}),a==="visual"&&L()}},p)]})]})}function kC(t){const e=B.c(2),{virtualMcpId:s}=t,i=is(s);if(!(i?Fs(i):null)){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground p-6",children:[n.jsx(oi,{size:24,className:"text-muted-foreground/60"}),n.jsx("div",{children:"No repository connected."}),n.jsx("div",{className:"text-xs text-muted-foreground/80",children:"Connect a GitHub repository from the Connections tab to enable Preview."})]}),e[0]=a):a=e[0],a}let o;return e[1]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx(CC,{}),e[1]=o):o=e[1],o}var am=Object.defineProperty,jC=Object.getOwnPropertyDescriptor,NC=(t,e)=>{for(var s in e)am(t,s,{get:e[s],enumerable:!0})},Je=(t,e,s,i)=>{for(var r=i>1?void 0:i?jC(e,s):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(i?a(e,s,r):a(r))||r);return i&&r&&am(e,s,r),r},le=(t,e)=>(s,i)=>e(s,i,t),Ad="Terminal input",Ea={get:()=>Ad,set:t=>Ad=t},Ed="Too much output to announce, navigate to rows manually to read",Ia={get:()=>Ed,set:t=>Ed=t};function AC(t){return t.replace(/\r?\n/g,"\r")}function EC(t,e){return e?"\x1B[200~"+t+"\x1B[201~":t}function IC(t,e){t.clipboardData&&t.clipboardData.setData("text/plain",e.selectionText),t.preventDefault()}function RC(t,e,s,i){if(t.stopPropagation(),t.clipboardData){let r=t.clipboardData.getData("text/plain");lm(r,e,s,i)}}function lm(t,e,s,i){t=AC(t),t=EC(t,s.decPrivateModes.bracketedPasteMode&&i.rawOptions.ignoreBracketedPasteMode!==!0),s.triggerDataEvent(t,!0),e.value=""}function cm(t,e,s){let i=s.getBoundingClientRect(),r=t.clientX-i.left-10,o=t.clientY-i.top-10;e.style.width="20px",e.style.height="20px",e.style.left=`${r}px`,e.style.top=`${o}px`,e.style.zIndex="1000",e.focus()}function Id(t,e,s,i,r){cm(t,e,s),r&&i.rightClickSelect(t),e.value=i.selectionText,e.select()}function Xs(t){return t>65535?(t-=65536,String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):String.fromCharCode(t)}function Co(t,e=0,s=t.length){let i="";for(let r=e;r<s;++r){let o=t[r];o>65535?(o-=65536,i+=String.fromCharCode((o>>10)+55296)+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i}var TC=class{constructor(){this._interim=0}clear(){this._interim=0}decode(t,e){let s=t.length;if(!s)return 0;let i=0,r=0;if(this._interim){let o=t.charCodeAt(r++);56320<=o&&o<=57343?e[i++]=(this._interim-55296)*1024+o-56320+65536:(e[i++]=this._interim,e[i++]=o),this._interim=0}for(let o=r;o<s;++o){let a=t.charCodeAt(o);if(55296<=a&&a<=56319){if(++o>=s)return this._interim=a,i;let l=t.charCodeAt(o);56320<=l&&l<=57343?e[i++]=(a-55296)*1024+l-56320+65536:(e[i++]=a,e[i++]=l);continue}a!==65279&&(e[i++]=a)}return i}},DC=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(t,e){let s=t.length;if(!s)return 0;let i=0,r,o,a,l,c=0,d=0;if(this.interim[0]){let f=!1,m=this.interim[0];m&=(m&224)===192?31:(m&240)===224?15:7;let p=0,g;for(;(g=this.interim[++p]&63)&&p<4;)m<<=6,m|=g;let _=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,v=_-p;for(;d<v;){if(d>=s)return 0;if(g=t[d++],(g&192)!==128){d--,f=!0;break}else this.interim[p++]=g,m<<=6,m|=g&63}f||(_===2?m<128?d--:e[i++]=m:_===3?m<2048||m>=55296&&m<=57343||m===65279||(e[i++]=m):m<65536||m>1114111||(e[i++]=m)),this.interim.fill(0)}let u=s-4,h=d;for(;h<s;){for(;h<u&&!((r=t[h])&128)&&!((o=t[h+1])&128)&&!((a=t[h+2])&128)&&!((l=t[h+3])&128);)e[i++]=r,e[i++]=o,e[i++]=a,e[i++]=l,h+=4;if(r=t[h++],r<128)e[i++]=r;else if((r&224)===192){if(h>=s)return this.interim[0]=r,i;if(o=t[h++],(o&192)!==128){h--;continue}if(c=(r&31)<<6|o&63,c<128){h--;continue}e[i++]=c}else if((r&240)===224){if(h>=s)return this.interim[0]=r,i;if(o=t[h++],(o&192)!==128){h--;continue}if(h>=s)return this.interim[0]=r,this.interim[1]=o,i;if(a=t[h++],(a&192)!==128){h--;continue}if(c=(r&15)<<12|(o&63)<<6|a&63,c<2048||c>=55296&&c<=57343||c===65279)continue;e[i++]=c}else if((r&248)===240){if(h>=s)return this.interim[0]=r,i;if(o=t[h++],(o&192)!==128){h--;continue}if(h>=s)return this.interim[0]=r,this.interim[1]=o,i;if(a=t[h++],(a&192)!==128){h--;continue}if(h>=s)return this.interim[0]=r,this.interim[1]=o,this.interim[2]=a,i;if(l=t[h++],(l&192)!==128){h--;continue}if(c=(r&7)<<18|(o&63)<<12|(a&63)<<6|l&63,c<65536||c>1114111)continue;e[i++]=c}}return i}},dm="",Qs=" ",rr=class hm{constructor(){this.fg=0,this.bg=0,this.extended=new Zr}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let e=new hm;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Zr=class um{constructor(e=0,s=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=s}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new um(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},cs=class fm extends rr{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Zr,this.combinedData=""}static fromCharData(e){let s=new fm;return s.setFromCharData(e),s}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Xs(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let s=!1;if(e[1].length>2)s=!0;else if(e[1].length===2){let i=e[1].charCodeAt(0);if(55296<=i&&i<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(i-55296)*1024+r-56320+65536|e[2]<<22:s=!0}else s=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;s&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Rd="di$target",Ra="di$dependencies",Xo=new Map;function MC(t){return t[Ra]||[]}function _t(t){if(Xo.has(t))return Xo.get(t);let e=function(s,i,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");PC(e,s,r)};return e._id=t,Xo.set(t,e),e}function PC(t,e,s){e[Rd]===e?e[Ra].push({id:t,index:s}):(e[Ra]=[{id:t,index:s}],e[Rd]=e)}var Ot=_t("BufferService"),mm=_t("CoreMouseService"),Ni=_t("CoreService"),LC=_t("CharsetService"),nc=_t("InstantiationService"),pm=_t("LogService"),Bt=_t("OptionsService"),gm=_t("OscLinkService"),OC=_t("UnicodeService"),or=_t("DecorationService"),Ta=class{constructor(t,e,s){this._bufferService=t,this._optionsService=e,this._oscLinkService=s}provideLinks(t,e){let s=this._bufferService.buffer.lines.get(t-1);if(!s){e(void 0);return}let i=[],r=this._optionsService.rawOptions.linkHandler,o=new cs,a=s.getTrimmedLength(),l=-1,c=-1,d=!1;for(let u=0;u<a;u++)if(!(c===-1&&!s.hasContent(u))){if(s.loadCell(u,o),o.hasExtendedAttrs()&&o.extended.urlId)if(c===-1){c=u,l=o.extended.urlId;continue}else d=o.extended.urlId!==l;else c!==-1&&(d=!0);if(d||c!==-1&&u===a-1){let h=this._oscLinkService.getLinkData(l)?.uri;if(h){let f={start:{x:c+1,y:t},end:{x:u+(!d&&u===a-1?1:0),y:t}},m=!1;if(!r?.allowNonHttpProtocols)try{let p=new URL(h);["http:","https:"].includes(p.protocol)||(m=!0)}catch{m=!0}m||i.push({text:h,range:f,activate:(p,g)=>r?r.activate(p,g,f):BC(p,g),hover:(p,g)=>r?.hover?.(p,g,f),leave:(p,g)=>r?.leave?.(p,g,f)})}d=!1,o.hasExtendedAttrs()&&o.extended.urlId?(c=u,l=o.extended.urlId):(c=-1,l=-1)}}e(i)}};Ta=Je([le(0,Ot),le(1,Bt),le(2,gm)],Ta);function BC(t,e){if(confirm(`Do you want to navigate to ${e}?
718
+
719
+ WARNING: This link could potentially be dangerous`)){let s=window.open();if(s){try{s.opener=null}catch{}s.location.href=e}else console.warn("Opening link blocked as opener could not be cleared")}}var ko=_t("CharSizeService"),Us=_t("CoreBrowserService"),rc=_t("MouseService"),Hs=_t("RenderService"),zC=_t("SelectionService"),_m=_t("CharacterJoinerService"),Zi=_t("ThemeService"),xm=_t("LinkProviderService"),$C=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?Td.isErrorNoTelemetry(t)?new Td(t.message+`
720
+
721
+ `+t.stack):new Error(t.message+`
722
+
723
+ `+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach(e=>{e(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},FC=new $C;function Tr(t){UC(t)||FC.onUnexpectedError(t)}var Da="Canceled";function UC(t){return t instanceof HC?!0:t instanceof Error&&t.name===Da&&t.message===Da}var HC=class extends Error{constructor(){super(Da),this.name=this.message}};function WC(t){return new Error(`Illegal argument: ${t}`)}var Td=class Ma extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof Ma)return e;let s=new Ma;return s.message=e.message,s.stack=e.stack,s}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}},Pa=class vm extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,vm.prototype)}};function Gt(t,e=0){return t[t.length-(1+e)]}var KC;(t=>{function e(o){return o<0}t.isLessThan=e;function s(o){return o<=0}t.isLessThanOrEqual=s;function i(o){return o>0}t.isGreaterThan=i;function r(o){return o===0}t.isNeitherLessOrGreaterThan=r,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(KC||={});function qC(t,e){let s=this,i=!1,r;return function(){return i||(i=!0,e||(r=t.apply(s,arguments))),r}}var bm;(t=>{function e(y){return y&&typeof y=="object"&&typeof y[Symbol.iterator]=="function"}t.is=e;let s=Object.freeze([]);function i(){return s}t.empty=i;function*r(y){yield y}t.single=r;function o(y){return e(y)?y:r(y)}t.wrap=o;function a(y){return y||s}t.from=a;function*l(y){for(let C=y.length-1;C>=0;C--)yield y[C]}t.reverse=l;function c(y){return!y||y[Symbol.iterator]().next().done===!0}t.isEmpty=c;function d(y){return y[Symbol.iterator]().next().value}t.first=d;function u(y,C){let k=0;for(let w of y)if(C(w,k++))return!0;return!1}t.some=u;function h(y,C){for(let k of y)if(C(k))return k}t.find=h;function*f(y,C){for(let k of y)C(k)&&(yield k)}t.filter=f;function*m(y,C){let k=0;for(let w of y)yield C(w,k++)}t.map=m;function*p(y,C){let k=0;for(let w of y)yield*C(w,k++)}t.flatMap=p;function*g(...y){for(let C of y)yield*C}t.concat=g;function _(y,C,k){let w=k;for(let V of y)w=C(w,V);return w}t.reduce=_;function*v(y,C,k=y.length){for(C<0&&(C+=y.length),k<0?k+=y.length:k>y.length&&(k=y.length);C<k;C++)yield y[C]}t.slice=v;function x(y,C=Number.POSITIVE_INFINITY){let k=[];if(C===0)return[k,y];let w=y[Symbol.iterator]();for(let V=0;V<C;V++){let j=w.next();if(j.done)return[k,t.empty()];k.push(j.value)}return[k,{[Symbol.iterator](){return w}}]}t.consume=x;async function b(y){let C=[];for await(let k of y)C.push(k);return Promise.resolve(C)}t.asyncToArray=b})(bm||={});function vi(t){if(bm.is(t)){let e=[];for(let s of t)if(s)try{s.dispose()}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function GC(...t){return He(()=>vi(t))}function He(t){return{dispose:qC(()=>{t()})}}var ym=class Sm{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{vi(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Sm.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),void 0)}};ym.DISABLE_DISPOSED_WARNING=!1;var ii=ym,ke=class{constructor(){this._store=new ii,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}};ke.None=Object.freeze({dispose(){}});var Hi=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t}},$s=typeof window=="object"?window:globalThis,La=class Oa{constructor(e){this.element=e,this.next=Oa.Undefined,this.prev=Oa.Undefined}};La.Undefined=new La(void 0);var We=La,Dd=class{constructor(){this._first=We.Undefined,this._last=We.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===We.Undefined}clear(){let t=this._first;for(;t!==We.Undefined;){let e=t.next;t.prev=We.Undefined,t.next=We.Undefined,t=e}this._first=We.Undefined,this._last=We.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let s=new We(t);if(this._first===We.Undefined)this._first=s,this._last=s;else if(e){let r=this._last;this._last=s,s.prev=r,r.next=s}else{let r=this._first;this._first=s,s.next=r,r.prev=s}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(s))}}shift(){if(this._first!==We.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==We.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==We.Undefined&&t.next!==We.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===We.Undefined&&t.next===We.Undefined?(this._first=We.Undefined,this._last=We.Undefined):t.next===We.Undefined?(this._last=this._last.prev,this._last.next=We.Undefined):t.prev===We.Undefined&&(this._first=this._first.next,this._first.prev=We.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==We.Undefined;)yield t.element,t=t.next}},YC=globalThis.performance&&typeof globalThis.performance.now=="function",XC=class wm{static create(e){return new wm(e)}constructor(e){this._now=YC&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},yt;(t=>{t.None=()=>ke.None;function e(I,A){return h(I,()=>{},0,void 0,!0,void 0,A)}t.defer=e;function s(I){return(A,N=null,E)=>{let M=!1,L;return L=I(D=>{if(!M)return L?L.dispose():M=!0,A.call(N,D)},null,E),M&&L.dispose(),L}}t.once=s;function i(I,A,N){return d((E,M=null,L)=>I(D=>E.call(M,A(D)),null,L),N)}t.map=i;function r(I,A,N){return d((E,M=null,L)=>I(D=>{A(D),E.call(M,D)},null,L),N)}t.forEach=r;function o(I,A,N){return d((E,M=null,L)=>I(D=>A(D)&&E.call(M,D),null,L),N)}t.filter=o;function a(I){return I}t.signal=a;function l(...I){return(A,N=null,E)=>{let M=GC(...I.map(L=>L(D=>A.call(N,D))));return u(M,E)}}t.any=l;function c(I,A,N,E){let M=N;return i(I,L=>(M=A(M,L),M),E)}t.reduce=c;function d(I,A){let N,E={onWillAddFirstListener(){N=I(M.fire,M)},onDidRemoveLastListener(){N?.dispose()}},M=new re(E);return A?.add(M),M.event}function u(I,A){return A instanceof Array?A.push(I):A&&A.add(I),I}function h(I,A,N=100,E=!1,M=!1,L,D){let P,O,$,z=0,W,F={leakWarningThreshold:L,onWillAddFirstListener(){P=I(H=>{z++,O=A(O,H),E&&!$&&(K.fire(O),O=void 0),W=()=>{let U=O;O=void 0,$=void 0,(!E||z>1)&&K.fire(U),z=0},typeof N=="number"?(clearTimeout($),$=setTimeout(W,N)):$===void 0&&($=0,queueMicrotask(W))})},onWillRemoveListener(){M&&z>0&&W?.()},onDidRemoveLastListener(){W=void 0,P.dispose()}},K=new re(F);return D?.add(K),K.event}t.debounce=h;function f(I,A=0,N){return t.debounce(I,(E,M)=>E?(E.push(M),E):[M],A,void 0,!0,void 0,N)}t.accumulate=f;function m(I,A=(E,M)=>E===M,N){let E=!0,M;return o(I,L=>{let D=E||!A(L,M);return E=!1,M=L,D},N)}t.latch=m;function p(I,A,N){return[t.filter(I,A,N),t.filter(I,E=>!A(E),N)]}t.split=p;function g(I,A=!1,N=[],E){let M=N.slice(),L=I(O=>{M?M.push(O):P.fire(O)});E&&E.add(L);let D=()=>{M?.forEach(O=>P.fire(O)),M=null},P=new re({onWillAddFirstListener(){L||(L=I(O=>P.fire(O)),E&&E.add(L))},onDidAddFirstListener(){M&&(A?setTimeout(D):D())},onDidRemoveLastListener(){L&&L.dispose(),L=null}});return E&&E.add(P),P.event}t.buffer=g;function _(I,A){return(N,E,M)=>{let L=A(new x);return I(function(D){let P=L.evaluate(D);P!==v&&N.call(E,P)},void 0,M)}}t.chain=_;let v=Symbol("HaltChainable");class x{constructor(){this.steps=[]}map(A){return this.steps.push(A),this}forEach(A){return this.steps.push(N=>(A(N),N)),this}filter(A){return this.steps.push(N=>A(N)?N:v),this}reduce(A,N){let E=N;return this.steps.push(M=>(E=A(E,M),E)),this}latch(A=(N,E)=>N===E){let N=!0,E;return this.steps.push(M=>{let L=N||!A(M,E);return N=!1,E=M,L?M:v}),this}evaluate(A){for(let N of this.steps)if(A=N(A),A===v)break;return A}}function b(I,A,N=E=>E){let E=(...P)=>D.fire(N(...P)),M=()=>I.on(A,E),L=()=>I.removeListener(A,E),D=new re({onWillAddFirstListener:M,onDidRemoveLastListener:L});return D.event}t.fromNodeEventEmitter=b;function y(I,A,N=E=>E){let E=(...P)=>D.fire(N(...P)),M=()=>I.addEventListener(A,E),L=()=>I.removeEventListener(A,E),D=new re({onWillAddFirstListener:M,onDidRemoveLastListener:L});return D.event}t.fromDOMEventEmitter=y;function C(I){return new Promise(A=>s(I)(A))}t.toPromise=C;function k(I){let A=new re;return I.then(N=>{A.fire(N)},()=>{A.fire(void 0)}).finally(()=>{A.dispose()}),A.event}t.fromPromise=k;function w(I,A){return I(N=>A.fire(N))}t.forward=w;function V(I,A,N){return A(N),I(E=>A(E))}t.runAndSubscribe=V;class j{constructor(A,N){this._observable=A,this._counter=0,this._hasChanged=!1;let E={onWillAddFirstListener:()=>{A.addObserver(this)},onDidRemoveLastListener:()=>{A.removeObserver(this)}};this.emitter=new re(E),N&&N.add(this.emitter)}beginUpdate(A){this._counter++}handlePossibleChange(A){}handleChange(A,N){this._hasChanged=!0}endUpdate(A){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function R(I,A){return new j(I,A).emitter.event}t.fromObservable=R;function T(I){return(A,N,E)=>{let M=0,L=!1,D={beginUpdate(){M++},endUpdate(){M--,M===0&&(I.reportChanges(),L&&(L=!1,A.call(N)))},handlePossibleChange(){},handleChange(){L=!0}};I.addObserver(D),I.reportChanges();let P={dispose(){I.removeObserver(D)}};return E instanceof ii?E.add(P):Array.isArray(E)&&E.push(P),P}}t.fromObservableLight=T})(yt||={});var Ba=class za{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${za._idPool++}`,za.all.add(this)}start(e){this._stopWatch=new XC,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};Ba.all=new Set,Ba._idPool=0;var JC=Ba,QC=-1,Vm=class Cm{constructor(e,s,i=(Cm._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=s,this.name=i,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,s){let i=this.threshold;if(i<=0||s<i)return;this._stacks||(this._stacks=new Map);let r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=i*.5;let[o,a]=this.getMostFrequentStack(),l=`[${this.name}] potential listener LEAK detected, having ${s} listeners already. MOST frequent listener (${a}):`;console.warn(l),console.warn(o);let c=new t3(l,o);this._errorHandler(c)}return()=>{let o=this._stacks.get(e.value)||0;this._stacks.set(e.value,o-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,s=0;for(let[i,r]of this._stacks)(!e||s<r)&&(e=[i,r],s=r);return e}};Vm._idPool=1;var ZC=Vm,e3=class km{constructor(e){this.value=e}static create(){let e=new Error;return new km(e.stack??"")}print(){console.warn(this.value.split(`
724
+ `).slice(2).join(`
725
+ `))}},t3=class extends Error{constructor(t,e){super(t),this.name="ListenerLeakError",this.stack=e}},s3=class extends Error{constructor(t,e){super(t),this.name="ListenerRefusalError",this.stack=e}},i3=0,Jo=class{constructor(t){this.value=t,this.id=i3++}},n3=2,r3,re=class{constructor(t){this._size=0,this._options=t,this._leakageMon=this._options?.leakWarningThreshold?new ZC(t?.onListenerError??Tr,this._options?.leakWarningThreshold??QC):void 0,this._perfMon=this._options?._profName?new JC(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(t,e,s)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let a=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(a);let l=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=new s3(`${a}. HINT: Stack shows most frequent listener (${l[1]}-times)`,l[0]);return(this._options?.onListenerError||Tr)(c),ke.None}if(this._disposed)return ke.None;e&&(t=t.bind(e));let i=new Jo(t),r;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(i.stack=e3.create(),r=this._leakageMon.check(i.stack,this._size+1)),this._listeners?this._listeners instanceof Jo?(this._deliveryQueue??=new o3,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._size++;let o=He(()=>{r?.(),this._removeListener(i)});return s instanceof ii?s.add(o):Array.isArray(s)&&s.push(o),o},this._event}_removeListener(t){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let e=this._listeners,s=e.indexOf(t);if(s===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,e[s]=void 0;let i=this._deliveryQueue.current===this;if(this._size*n3<=e.length){let r=0;for(let o=0;o<e.length;o++)e[o]?e[r++]=e[o]:i&&(this._deliveryQueue.end--,r<this._deliveryQueue.i&&this._deliveryQueue.i--);e.length=r}}_deliver(t,e){if(!t)return;let s=this._options?.onListenerError||Tr;if(!s){t.value(e);return}try{t.value(e)}catch(i){s(i)}}_deliverQueue(t){let e=t.current._listeners;for(;t.i<t.end;)this._deliver(e[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Jo)this._deliver(this._listeners,t);else{let e=this._deliveryQueue;e.enqueue(this,t,this._listeners.length),this._deliverQueue(e)}this._perfMon?.stop()}hasListeners(){return this._size>0}},o3=class{constructor(){this.i=-1,this.end=0}enqueue(t,e,s){this.i=0,this.end=s,this.current=t,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},$a=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new re,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new re,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,s){if(this.getZoomLevel(s)===e)return;let i=this.getWindowId(s);this.mapWindowIdToZoomLevel.set(i,e),this._onDidChangeZoomLevel.fire(i)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,s){this.mapWindowIdToZoomFactor.set(this.getWindowId(s),e)}setFullscreen(e,s){if(this.isFullscreen(s)===e)return;let i=this.getWindowId(s);this.mapWindowIdToFullScreen.set(i,e),this._onDidChangeFullscreen.fire(i)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};$a.INSTANCE=new $a;var oc=$a;function a3(t,e,s){typeof e=="string"&&(e=t.matchMedia(e)),e.addEventListener("change",s)}oc.INSTANCE.onDidChangeZoomLevel;function l3(t){return oc.INSTANCE.getZoomFactor(t)}oc.INSTANCE.onDidChangeFullscreen;var en=typeof navigator=="object"?navigator.userAgent:"",Fa=en.indexOf("Firefox")>=0,c3=en.indexOf("AppleWebKit")>=0,ac=en.indexOf("Chrome")>=0,d3=!ac&&en.indexOf("Safari")>=0;en.indexOf("Electron/")>=0;en.indexOf("Android")>=0;var Qo=!1;if(typeof $s.matchMedia=="function"){let t=$s.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=$s.matchMedia("(display-mode: fullscreen)");Qo=t.matches,a3($s,t,({matches:s})=>{Qo&&e.matches||(Qo=s)})}var Mi="en",Ua=!1,Ha=!1,Dr=!1,jm=!1,_r,Mr=Mi,Md=Mi,h3,Bs,xi=globalThis,Xt;typeof xi.vscode<"u"&&typeof xi.vscode.process<"u"?Xt=xi.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(Xt=process);var u3=typeof Xt?.versions?.electron=="string",f3=u3&&Xt?.type==="renderer";if(typeof Xt=="object"){Ua=Xt.platform==="win32",Ha=Xt.platform==="darwin",Dr=Xt.platform==="linux",Dr&&Xt.env.SNAP&&Xt.env.SNAP_REVISION,Xt.env.CI||Xt.env.BUILD_ARTIFACTSTAGINGDIRECTORY,_r=Mi,Mr=Mi;let t=Xt.env.VSCODE_NLS_CONFIG;if(t)try{let e=JSON.parse(t);_r=e.userLocale,Md=e.osLocale,Mr=e.resolvedLanguage||Mi,h3=e.languagePack?.translationsConfigFile}catch{}jm=!0}else typeof navigator=="object"&&!f3?(Bs=navigator.userAgent,Ua=Bs.indexOf("Windows")>=0,Ha=Bs.indexOf("Macintosh")>=0,(Bs.indexOf("Macintosh")>=0||Bs.indexOf("iPad")>=0||Bs.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Dr=Bs.indexOf("Linux")>=0,Bs?.indexOf("Mobi")>=0,Mr=globalThis._VSCODE_NLS_LANGUAGE||Mi,_r=navigator.language.toLowerCase(),Md=_r):console.error("Unable to resolve platform.");var Nm=Ua,Rs=Ha,m3=Dr,Pd=jm,Ds=Bs,Ks=Mr,p3;(t=>{function e(){return Ks}t.value=e;function s(){return Ks.length===2?Ks==="en":Ks.length>=3?Ks[0]==="e"&&Ks[1]==="n"&&Ks[2]==="-":!1}t.isDefaultVariant=s;function i(){return Ks==="en"}t.isDefault=i})(p3||={});var g3=typeof xi.postMessage=="function"&&!xi.importScripts;(()=>{if(g3){let t=[];xi.addEventListener("message",s=>{if(s.data&&s.data.vscodeScheduleAsyncWork)for(let i=0,r=t.length;i<r;i++){let o=t[i];if(o.id===s.data.vscodeScheduleAsyncWork){t.splice(i,1),o.callback();return}}});let e=0;return s=>{let i=++e;t.push({id:i,callback:s}),xi.postMessage({vscodeScheduleAsyncWork:i},"*")}}return t=>setTimeout(t)})();var _3=!!(Ds&&Ds.indexOf("Chrome")>=0);Ds&&Ds.indexOf("Firefox")>=0;!_3&&Ds&&Ds.indexOf("Safari")>=0;Ds&&Ds.indexOf("Edg/")>=0;Ds&&Ds.indexOf("Android")>=0;var Ei=typeof navigator=="object"?navigator:{};Pd||document.queryCommandSupported&&document.queryCommandSupported("copy")||Ei&&Ei.clipboard&&Ei.clipboard.writeText,Pd||Ei&&Ei.clipboard&&Ei.clipboard.readText;var lc=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}},Zo=new lc,Ld=new lc,Od=new lc,x3=new Array(230),Am;(t=>{function e(l){return Zo.keyCodeToStr(l)}t.toString=e;function s(l){return Zo.strToKeyCode(l)}t.fromString=s;function i(l){return Ld.keyCodeToStr(l)}t.toUserSettingsUS=i;function r(l){return Od.keyCodeToStr(l)}t.toUserSettingsGeneral=r;function o(l){return Ld.strToKeyCode(l)||Od.strToKeyCode(l)}t.fromUserSettings=o;function a(l){if(l>=98&&l<=113)return null;switch(l){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Zo.keyCodeToStr(l)}t.toElectronAccelerator=a})(Am||={});var v3=class Em{constructor(e,s,i,r,o){this.ctrlKey=e,this.shiftKey=s,this.altKey=i,this.metaKey=r,this.keyCode=o}equals(e){return e instanceof Em&&this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode}getHashCode(){let e=this.ctrlKey?"1":"0",s=this.shiftKey?"1":"0",i=this.altKey?"1":"0",r=this.metaKey?"1":"0";return`K${e}${s}${i}${r}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new b3([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},b3=class{constructor(t){if(t.length===0)throw WC("chords");this.chords=t}getHashCode(){let t="";for(let e=0,s=this.chords.length;e<s;e++)e!==0&&(t+=";"),t+=this.chords[e].getHashCode();return t}equals(t){if(t===null||this.chords.length!==t.chords.length)return!1;for(let e=0;e<this.chords.length;e++)if(!this.chords[e].equals(t.chords[e]))return!1;return!0}};function y3(t){if(t.charCode){let s=String.fromCharCode(t.charCode).toUpperCase();return Am.fromString(s)}let e=t.keyCode;if(e===3)return 7;if(Fa)switch(e){case 59:return 85;case 60:if(m3)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Rs)return 57;break}else if(c3&&(Rs&&e===93||!Rs&&e===92))return 57;return x3[e]||0}var S3=Rs?256:2048,w3=512,V3=1024,C3=Rs?2048:256,Bd=class{constructor(t){this._standardKeyboardEventBrand=!0;let e=t;this.browserEvent=e,this.target=e.target,this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,this.altGraphKey=e.getModifierState?.("AltGraph"),this.keyCode=y3(e),this.code=e.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode);let e=0;return this.ctrlKey&&(e|=S3),this.altKey&&(e|=w3),this.shiftKey&&(e|=V3),this.metaKey&&(e|=C3),e|=t,e}_computeKeyCodeChord(){let t=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode),new v3(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}},zd=new WeakMap;function k3(t){if(!t.parent||t.parent===t)return null;try{let e=t.location,s=t.parent.location;if(e.origin!=="null"&&s.origin!=="null"&&e.origin!==s.origin)return null}catch{return null}return t.parent}var j3=class{static getSameOriginWindowChain(t){let e=zd.get(t);if(!e){e=[],zd.set(t,e);let s=t,i;do i=k3(s),i?e.push({window:new WeakRef(s),iframeElement:s.frameElement||null}):e.push({window:new WeakRef(s),iframeElement:null}),s=i;while(s)}return e.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,e){if(!e||t===e)return{top:0,left:0};let s=0,i=0,r=this.getSameOriginWindowChain(t);for(let o of r){let a=o.window.deref();if(s+=a?.scrollY??0,i+=a?.scrollX??0,a===e||!o.iframeElement)break;let l=o.iframeElement.getBoundingClientRect();s+=l.top,i+=l.left}return{top:s,left:i}}},xr=class{constructor(t,e){this.timestamp=Date.now(),this.browserEvent=e,this.leftButton=e.button===0,this.middleButton=e.button===1,this.rightButton=e.button===2,this.buttons=e.buttons,this.target=e.target,this.detail=e.detail||1,e.type==="dblclick"&&(this.detail=2),this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,typeof e.pageX=="number"?(this.posx=e.pageX,this.posy=e.pageY):(this.posx=e.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=e.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let s=j3.getPositionOfChildWindowRelativeToAncestorWindow(t,e.view);this.posx-=s.left,this.posy-=s.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},$d=class{constructor(t,e=0,s=0){this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=s,this.deltaX=e;let i=!1;if(ac){let r=navigator.userAgent.match(/Chrome\/(\d+)/);i=(r?parseInt(r[1]):123)<=122}if(t){let r=t,o=t,a=t.view?.devicePixelRatio||1;if(typeof r.wheelDeltaY<"u")i?this.deltaY=r.wheelDeltaY/(120*a):this.deltaY=r.wheelDeltaY/120;else if(typeof o.VERTICAL_AXIS<"u"&&o.axis===o.VERTICAL_AXIS)this.deltaY=-o.detail/3;else if(t.type==="wheel"){let l=t;l.deltaMode===l.DOM_DELTA_LINE?Fa&&!Rs?this.deltaY=-t.deltaY/3:this.deltaY=-t.deltaY:this.deltaY=-t.deltaY/40}if(typeof r.wheelDeltaX<"u")d3&&Nm?this.deltaX=-(r.wheelDeltaX/120):i?this.deltaX=r.wheelDeltaX/(120*a):this.deltaX=r.wheelDeltaX/120;else if(typeof o.HORIZONTAL_AXIS<"u"&&o.axis===o.HORIZONTAL_AXIS)this.deltaX=-t.detail/3;else if(t.type==="wheel"){let l=t;l.deltaMode===l.DOM_DELTA_LINE?Fa&&!Rs?this.deltaX=-t.deltaX/3:this.deltaX=-t.deltaX:this.deltaX=-t.deltaX/40}this.deltaY===0&&this.deltaX===0&&t.wheelDelta&&(i?this.deltaY=t.wheelDelta/(120*a):this.deltaY=t.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},Im=Object.freeze(function(t,e){let s=setTimeout(t.bind(e),0);return{dispose(){clearTimeout(s)}}}),N3;(t=>{function e(s){return s===t.None||s===t.Cancelled||s instanceof A3?!0:!s||typeof s!="object"?!1:typeof s.isCancellationRequested=="boolean"&&typeof s.onCancellationRequested=="function"}t.isCancellationToken=e,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:yt.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Im})})(N3||={});var A3=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Im:(this._emitter||(this._emitter=new re),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},cc=class{constructor(t,e){this._isDisposed=!1,this._token=-1,typeof t=="function"&&typeof e=="number"&&this.setIfNotSet(t,e)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,e){if(this._isDisposed)throw new Pa("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},e)}setIfNotSet(t,e){if(this._isDisposed)throw new Pa("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},e))}},E3=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(t,e,s=globalThis){if(this.isDisposed)throw new Pa("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let i=s.setInterval(()=>{t()},e);this.disposable=He(()=>{s.clearInterval(i),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},I3;(t=>{async function e(i){let r,o=await Promise.all(i.map(a=>a.then(l=>l,l=>{r||(r=l)})));if(typeof r<"u")throw r;return o}t.settled=e;function s(i){return new Promise(async(r,o)=>{try{await i(r,o)}catch(a){o(a)}})}t.withAsyncBody=s})(I3||={});var Fd=class rs{static fromArray(e){return new rs(s=>{s.emitMany(e)})}static fromPromise(e){return new rs(async s=>{s.emitMany(await e)})}static fromPromises(e){return new rs(async s=>{await Promise.all(e.map(async i=>s.emitOne(await i)))})}static merge(e){return new rs(async s=>{await Promise.all(e.map(async i=>{for await(let r of i)s.emitOne(r)}))})}constructor(e,s){this._state=0,this._results=[],this._error=null,this._onReturn=s,this._onStateChanged=new re,queueMicrotask(async()=>{let i={emitOne:r=>this.emitOne(r),emitMany:r=>this.emitMany(r),reject:r=>this.reject(r)};try{await Promise.resolve(e(i)),this.resolve()}catch(r){this.reject(r)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await yt.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,s){return new rs(async i=>{for await(let r of e)i.emitOne(s(r))})}map(e){return rs.map(this,e)}static filter(e,s){return new rs(async i=>{for await(let r of e)s(r)&&i.emitOne(r)})}filter(e){return rs.filter(this,e)}static coalesce(e){return rs.filter(e,s=>!!s)}coalesce(){return rs.coalesce(this)}static async toPromise(e){let s=[];for await(let i of e)s.push(i);return s}toPromise(){return rs.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};Fd.EMPTY=Fd.fromArray([]);var{getWindow:ks,getWindowId:R3,onDidRegisterWindow:T3}=(function(){let t=new Map,e={window:$s,disposables:new ii};t.set($s.vscodeWindowId,e);let s=new re,i=new re,r=new re;function o(a,l){return(typeof a=="number"?t.get(a):void 0)??(l?e:void 0)}return{onDidRegisterWindow:s.event,onWillUnregisterWindow:r.event,onDidUnregisterWindow:i.event,registerWindow(a){if(t.has(a.vscodeWindowId))return ke.None;let l=new ii,c={window:a,disposables:l.add(new ii)};return t.set(a.vscodeWindowId,c),l.add(He(()=>{t.delete(a.vscodeWindowId),i.fire(a)})),l.add(Se(a,ht.BEFORE_UNLOAD,()=>{r.fire(a)})),s.fire(c),l},getWindows(){return t.values()},getWindowsCount(){return t.size},getWindowId(a){return a.vscodeWindowId},hasWindow(a){return t.has(a)},getWindowById:o,getWindow(a){let l=a;if(l?.ownerDocument?.defaultView)return l.ownerDocument.defaultView.window;let c=a;return c?.view?c.view.window:$s},getDocument(a){return ks(a).document}}})(),D3=class{constructor(t,e,s,i){this._node=t,this._type=e,this._handler=s,this._options=i||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function Se(t,e,s,i){return new D3(t,e,s,i)}var Ud=function(t,e,s,i){return Se(t,e,s,i)},dc,M3=class extends E3{constructor(t){super(),this.defaultTarget=t&&ks(t)}cancelAndSet(t,e,s){return super.cancelAndSet(t,e,s??this.defaultTarget)}},Hd=class{constructor(t,e=0){this._runner=t,this.priority=e,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){Tr(t)}}static sort(t,e){return e.priority-t.priority}};(function(){let t=new Map,e=new Map,s=new Map,i=new Map,r=o=>{s.set(o,!1);let a=t.get(o)??[];for(e.set(o,a),t.set(o,[]),i.set(o,!0);a.length>0;)a.sort(Hd.sort),a.shift().execute();i.set(o,!1)};dc=(o,a,l=0)=>{let c=R3(o),d=new Hd(a,l),u=t.get(c);return u||(u=[],t.set(c,u)),u.push(d),s.get(c)||(s.set(c,!0),o.requestAnimationFrame(()=>r(c))),d}})();function P3(t){let e=t.getBoundingClientRect(),s=ks(t);return{left:e.left+s.scrollX,top:e.top+s.scrollY,width:e.width,height:e.height}}var ht={CLICK:"click",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",BLUR:"blur",INPUT:"input"},L3=class{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(t){let e=Ft(t);this._maxWidth!==e&&(this._maxWidth=e,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){let e=Ft(t);this._width!==e&&(this._width=e,this.domNode.style.width=this._width)}setHeight(t){let e=Ft(t);this._height!==e&&(this._height=e,this.domNode.style.height=this._height)}setTop(t){let e=Ft(t);this._top!==e&&(this._top=e,this.domNode.style.top=this._top)}setLeft(t){let e=Ft(t);this._left!==e&&(this._left=e,this.domNode.style.left=this._left)}setBottom(t){let e=Ft(t);this._bottom!==e&&(this._bottom=e,this.domNode.style.bottom=this._bottom)}setRight(t){let e=Ft(t);this._right!==e&&(this._right=e,this.domNode.style.right=this._right)}setPaddingTop(t){let e=Ft(t);this._paddingTop!==e&&(this._paddingTop=e,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(t){let e=Ft(t);this._paddingLeft!==e&&(this._paddingLeft=e,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(t){let e=Ft(t);this._paddingBottom!==e&&(this._paddingBottom=e,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(t){let e=Ft(t);this._paddingRight!==e&&(this._paddingRight=e,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){let e=Ft(t);this._fontSize!==e&&(this._fontSize=e,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){let e=Ft(t);this._lineHeight!==e&&(this._lineHeight=e,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){let e=Ft(t);this._letterSpacing!==e&&(this._letterSpacing=e,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,e){this.domNode.classList.toggle(t,e),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,e){this.domNode.setAttribute(t,e)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}};function Ft(t){return typeof t=="number"?`${t}px`:t}function Nn(t){return new L3(t)}var Rm=class{constructor(){this._hooks=new ii,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,e){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let s=this._onStopCallback;this._onStopCallback=null,t&&s&&s(e)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,e,s,i,r){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=i,this._onStopCallback=r;let o=t;try{t.setPointerCapture(e),this._hooks.add(He(()=>{try{t.releasePointerCapture(e)}catch{}}))}catch{o=ks(t)}this._hooks.add(Se(o,ht.POINTER_MOVE,a=>{if(a.buttons!==s){this.stopMonitoring(!0);return}a.preventDefault(),this._pointerMoveCallback(a)})),this._hooks.add(Se(o,ht.POINTER_UP,a=>this.stopMonitoring(!0)))}};function O3(t,e,s){let i=null,r=null;if(typeof s.value=="function"?(i="value",r=s.value,r.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof s.get=="function"&&(i="get",r=s.get),!r)throw new Error("not supported");let o=`$memoize$${e}`;s[i]=function(...a){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:r.apply(this,a)}),this[o]}}var ws;(t=>(t.Tap="-xterm-gesturetap",t.Change="-xterm-gesturechange",t.Start="-xterm-gesturestart",t.End="-xterm-gesturesend",t.Contextmenu="-xterm-gesturecontextmenu"))(ws||={});var pn=class Vt extends ke{constructor(){super(),this.dispatched=!1,this.targets=new Dd,this.ignoreTargets=new Dd,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(yt.runAndSubscribe(T3,({window:e,disposables:s})=>{s.add(Se(e.document,"touchstart",i=>this.onTouchStart(i),{passive:!1})),s.add(Se(e.document,"touchend",i=>this.onTouchEnd(e,i))),s.add(Se(e.document,"touchmove",i=>this.onTouchMove(i),{passive:!1}))},{window:$s,disposables:this._store}))}static addTarget(e){if(!Vt.isTouchDevice())return ke.None;Vt.INSTANCE||(Vt.INSTANCE=new Vt);let s=Vt.INSTANCE.targets.push(e);return He(s)}static ignoreTarget(e){if(!Vt.isTouchDevice())return ke.None;Vt.INSTANCE||(Vt.INSTANCE=new Vt);let s=Vt.INSTANCE.ignoreTargets.push(e);return He(s)}static isTouchDevice(){return"ontouchstart"in $s||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){let s=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,r=e.targetTouches.length;i<r;i++){let o=e.targetTouches.item(i);this.activeTouches[o.identifier]={id:o.identifier,initialTarget:o.target,initialTimeStamp:s,initialPageX:o.pageX,initialPageY:o.pageY,rollingTimestamps:[s],rollingPageX:[o.pageX],rollingPageY:[o.pageY]};let a=this.newGestureEvent(ws.Start,o.target);a.pageX=o.pageX,a.pageY=o.pageY,this.dispatchEvent(a)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}onTouchEnd(e,s){let i=Date.now(),r=Object.keys(this.activeTouches).length;for(let o=0,a=s.changedTouches.length;o<a;o++){let l=s.changedTouches.item(o);if(!this.activeTouches.hasOwnProperty(String(l.identifier))){console.warn("move of an UNKNOWN touch",l);continue}let c=this.activeTouches[l.identifier],d=Date.now()-c.initialTimeStamp;if(d<Vt.HOLD_DELAY&&Math.abs(c.initialPageX-Gt(c.rollingPageX))<30&&Math.abs(c.initialPageY-Gt(c.rollingPageY))<30){let u=this.newGestureEvent(ws.Tap,c.initialTarget);u.pageX=Gt(c.rollingPageX),u.pageY=Gt(c.rollingPageY),this.dispatchEvent(u)}else if(d>=Vt.HOLD_DELAY&&Math.abs(c.initialPageX-Gt(c.rollingPageX))<30&&Math.abs(c.initialPageY-Gt(c.rollingPageY))<30){let u=this.newGestureEvent(ws.Contextmenu,c.initialTarget);u.pageX=Gt(c.rollingPageX),u.pageY=Gt(c.rollingPageY),this.dispatchEvent(u)}else if(r===1){let u=Gt(c.rollingPageX),h=Gt(c.rollingPageY),f=Gt(c.rollingTimestamps)-c.rollingTimestamps[0],m=u-c.rollingPageX[0],p=h-c.rollingPageY[0],g=[...this.targets].filter(_=>c.initialTarget instanceof Node&&_.contains(c.initialTarget));this.inertia(e,g,i,Math.abs(m)/f,m>0?1:-1,u,Math.abs(p)/f,p>0?1:-1,h)}this.dispatchEvent(this.newGestureEvent(ws.End,c.initialTarget)),delete this.activeTouches[l.identifier]}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,s){let i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=s,i.tapCount=0,i}dispatchEvent(e){if(e.type===ws.Tap){let s=new Date().getTime(),i=0;s-this._lastSetTapCountTime>Vt.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=s,e.tapCount=i}else(e.type===ws.Change||e.type===ws.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(let i of this.ignoreTargets)if(i.contains(e.initialTarget))return;let s=[];for(let i of this.targets)if(i.contains(e.initialTarget)){let r=0,o=e.initialTarget;for(;o&&o!==i;)r++,o=o.parentElement;s.push([r,i])}s.sort((i,r)=>i[0]-r[0]);for(let[i,r]of s)r.dispatchEvent(e),this.dispatched=!0}}inertia(e,s,i,r,o,a,l,c,d){this.handle=dc(e,()=>{let u=Date.now(),h=u-i,f=0,m=0,p=!0;r+=Vt.SCROLL_FRICTION*h,l+=Vt.SCROLL_FRICTION*h,r>0&&(p=!1,f=o*r*h),l>0&&(p=!1,m=c*l*h);let g=this.newGestureEvent(ws.Change);g.translationX=f,g.translationY=m,s.forEach(_=>_.dispatchEvent(g)),p||this.inertia(e,s,u,r,o,a+f,l,c,d+m)})}onTouchMove(e){let s=Date.now();for(let i=0,r=e.changedTouches.length;i<r;i++){let o=e.changedTouches.item(i);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn("end of an UNKNOWN touch",o);continue}let a=this.activeTouches[o.identifier],l=this.newGestureEvent(ws.Change,a.initialTarget);l.translationX=o.pageX-Gt(a.rollingPageX),l.translationY=o.pageY-Gt(a.rollingPageY),l.pageX=o.pageX,l.pageY=o.pageY,this.dispatchEvent(l),a.rollingPageX.length>3&&(a.rollingPageX.shift(),a.rollingPageY.shift(),a.rollingTimestamps.shift()),a.rollingPageX.push(o.pageX),a.rollingPageY.push(o.pageY),a.rollingTimestamps.push(s)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}};pn.SCROLL_FRICTION=-.005,pn.HOLD_DELAY=700,pn.CLEAR_TAP_COUNT_TIME=400,Je([O3],pn,"isTouchDevice",1);var B3=pn,hc=class extends ke{onclick(t,e){this._register(Se(t,ht.CLICK,s=>e(new xr(ks(t),s))))}onmousedown(t,e){this._register(Se(t,ht.MOUSE_DOWN,s=>e(new xr(ks(t),s))))}onmouseover(t,e){this._register(Se(t,ht.MOUSE_OVER,s=>e(new xr(ks(t),s))))}onmouseleave(t,e){this._register(Se(t,ht.MOUSE_LEAVE,s=>e(new xr(ks(t),s))))}onkeydown(t,e){this._register(Se(t,ht.KEY_DOWN,s=>e(new Bd(s))))}onkeyup(t,e){this._register(Se(t,ht.KEY_UP,s=>e(new Bd(s))))}oninput(t,e){this._register(Se(t,ht.INPUT,e))}onblur(t,e){this._register(Se(t,ht.BLUR,e))}onfocus(t,e){this._register(Se(t,ht.FOCUS,e))}onchange(t,e){this._register(Se(t,ht.CHANGE,e))}ignoreGesture(t){return B3.ignoreTarget(t)}},Wd=11,z3=class extends hc{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=t.bgWidth+"px",this.bgDomNode.style.height=t.bgHeight+"px",typeof t.top<"u"&&(this.bgDomNode.style.top="0px"),typeof t.left<"u"&&(this.bgDomNode.style.left="0px"),typeof t.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof t.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=t.className,this.domNode.style.position="absolute",this.domNode.style.width=Wd+"px",this.domNode.style.height=Wd+"px",typeof t.top<"u"&&(this.domNode.style.top=t.top+"px"),typeof t.left<"u"&&(this.domNode.style.left=t.left+"px"),typeof t.bottom<"u"&&(this.domNode.style.bottom=t.bottom+"px"),typeof t.right<"u"&&(this.domNode.style.right=t.right+"px"),this._pointerMoveMonitor=this._register(new Rm),this._register(Ud(this.bgDomNode,ht.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(Ud(this.domNode,ht.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new M3),this._pointerdownScheduleRepeatTimer=this._register(new cc)}_arrowPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,ks(t))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(e,200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,s=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),t.preventDefault()}},$3=class Wa{constructor(e,s,i,r,o,a,l){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(s=s|0,i=i|0,r=r|0,o=o|0,a=a|0,l=l|0),this.rawScrollLeft=r,this.rawScrollTop=l,s<0&&(s=0),r+s>i&&(r=i-s),r<0&&(r=0),o<0&&(o=0),l+o>a&&(l=a-o),l<0&&(l=0),this.width=s,this.scrollWidth=i,this.scrollLeft=r,this.height=o,this.scrollHeight=a,this.scrollTop=l}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,s){return new Wa(this._forceIntegerValues,typeof e.width<"u"?e.width:this.width,typeof e.scrollWidth<"u"?e.scrollWidth:this.scrollWidth,s?this.rawScrollLeft:this.scrollLeft,typeof e.height<"u"?e.height:this.height,typeof e.scrollHeight<"u"?e.scrollHeight:this.scrollHeight,s?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new Wa(this._forceIntegerValues,this.width,this.scrollWidth,typeof e.scrollLeft<"u"?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof e.scrollTop<"u"?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,s){let i=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,o=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,l=this.scrollHeight!==e.scrollHeight,c=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:s,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:r,scrollLeftChanged:o,heightChanged:a,scrollHeightChanged:l,scrollTopChanged:c}}},F3=class extends ke{constructor(t){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new re),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new $3(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,e){let s=this._state.withScrollDimensions(t,e);this._setState(s,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){let e=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(e,!1)}setScrollPositionSmooth(t,e){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(t);if(this._smoothScrolling){t={scrollLeft:typeof t.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:typeof t.scrollTop>"u"?this._smoothScrolling.to.scrollTop:t.scrollTop};let s=this._state.withScrollPosition(t);if(this._smoothScrolling.to.scrollLeft===s.scrollLeft&&this._smoothScrolling.to.scrollTop===s.scrollTop)return;let i;e?i=new qd(this._smoothScrolling.from,s,this._smoothScrolling.startTime,this._smoothScrolling.duration):i=this._smoothScrolling.combine(this._state,s,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=i}else{let s=this._state.withScrollPosition(t);this._smoothScrolling=qd.start(this._state,s,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let t=this._smoothScrolling.tick(),e=this._state.withScrollPosition(t);if(this._setState(e,!0),!!this._smoothScrolling){if(t.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(t,e){let s=this._state;s.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(s,e)))}},Kd=class{constructor(t,e,s){this.scrollLeft=t,this.scrollTop=e,this.isDone=s}};function ea(t,e){let s=e-t;return function(i){return t+s*W3(i)}}function U3(t,e,s){return function(i){return i<s?t(i/s):e((i-s)/(1-s))}}var qd=class Ka{constructor(e,s,i,r){this.from=e,this.to=s,this.duration=r,this.startTime=i,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,s,i){if(Math.abs(e-s)>2.5*i){let r,o;return e<s?(r=e+.75*i,o=s-.75*i):(r=e-.75*i,o=s+.75*i),U3(ea(e,r),ea(o,s),.33)}return ea(e,s)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){let s=(e-this.startTime)/this.duration;if(s<1){let i=this.scrollLeft(s),r=this.scrollTop(s);return new Kd(i,r,!1)}return new Kd(this.to.scrollLeft,this.to.scrollTop,!0)}combine(e,s,i){return Ka.start(e,s,i)}static start(e,s,i){i=i+10;let r=Date.now()-10;return new Ka(e,s,r,i)}};function H3(t){return Math.pow(t,3)}function W3(t){return 1-H3(1-t)}var K3=class extends ke{constructor(t,e,s){super(),this._visibility=t,this._visibleClassName=e,this._invisibleClassName=s,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new cc)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this._updateShouldBeVisible())}setShouldBeVisible(t){this._rawShouldBeVisible=t,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let t=this._applyVisibilitySetting();this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())}setIsNeeded(t){this._isNeeded!==t&&(this._isNeeded=t,this.ensureVisibility())}setDomNode(t){this._domNode=t,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(t){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(t?" fade":"")))}},q3=140,Tm=class extends hc{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new K3(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new Rm),this._shouldRender=!0,this.domNode=Nn(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(Se(this.domNode.domNode,ht.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(t){let e=this._register(new z3(t));this.domNode.domNode.appendChild(e.bgDomNode),this.domNode.domNode.appendChild(e.domNode)}_createSlider(t,e,s,i){this.slider=Nn(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(t),this.slider.setLeft(e),typeof s=="number"&&this.slider.setWidth(s),typeof i=="number"&&this.slider.setHeight(i),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Se(this.slider.domNode,ht.POINTER_DOWN,r=>{r.button===0&&(r.preventDefault(),this._sliderPointerDown(r))})),this.onclick(this.slider.domNode,r=>{r.leftButton&&r.stopPropagation()})}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){let e=this.domNode.domNode.getClientRects()[0].top,s=e+this._scrollbarState.getSliderPosition(),i=e+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),r=this._sliderPointerPosition(t);s<=r&&r<=i?t.button===0&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let e,s;if(t.target===this.domNode.domNode&&typeof t.offsetX=="number"&&typeof t.offsetY=="number")e=t.offsetX,s=t.offsetY;else{let r=P3(this.domNode.domNode);e=t.pageX-r.left,s=t.pageY-r.top}let i=this._pointerDownRelativePosition(e,s);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(i):this._scrollbarState.getDesiredScrollPositionFromOffset(i)),t.button===0&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=this._sliderPointerPosition(t),s=this._sliderOrthogonalPointerPosition(t),i=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,r=>{let o=this._sliderOrthogonalPointerPosition(r),a=Math.abs(o-s);if(Nm&&a>q3){this._setDesiredScrollPositionNow(i.getScrollPosition());return}let l=this._sliderPointerPosition(r)-e;this._setDesiredScrollPositionNow(i.getDesiredScrollPositionFromDelta(l))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(t){let e={};this.writeScrollPosition(e,t),this._scrollable.setScrollPositionNow(e)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Dm=class qa{constructor(e,s,i,r,o,a){this._scrollbarSize=Math.round(s),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=o,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new qa(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let s=Math.round(e);return this._visibleSize!==s?(this._visibleSize=s,this._refreshComputedValues(),!0):!1}setScrollSize(e){let s=Math.round(e);return this._scrollSize!==s?(this._scrollSize=s,this._refreshComputedValues(),!0):!1}setScrollPosition(e){let s=Math.round(e);return this._scrollPosition!==s?(this._scrollPosition=s,this._refreshComputedValues(),!0):!1}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,s,i,r,o){let a=Math.max(0,i-e),l=Math.max(0,a-2*s),c=r>0&&r>i;if(!c)return{computedAvailableSize:Math.round(a),computedIsNeeded:c,computedSliderSize:Math.round(l),computedSliderRatio:0,computedSliderPosition:0};let d=Math.round(Math.max(20,Math.floor(i*l/r))),u=(l-d)/(r-i),h=o*u;return{computedAvailableSize:Math.round(a),computedIsNeeded:c,computedSliderSize:Math.round(d),computedSliderRatio:u,computedSliderPosition:Math.round(h)}}_refreshComputedValues(){let e=qa._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let s=e-this._arrowSize-this._computedSliderSize/2;return Math.round(s/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let s=e-this._arrowSize,i=this._scrollPosition;return s<this._computedSliderPosition?i-=this._visibleSize:i+=this._visibleSize,i}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;let s=this._computedSliderPosition+e;return Math.round(s/this._computedSliderRatio)}},G3=class extends Tm{constructor(t,e,s){let i=t.getScrollDimensions(),r=t.getCurrentScrollPosition();if(super({lazyRender:e.lazyRender,host:s,scrollbarState:new Dm(e.horizontalHasArrows?e.arrowSize:0,e.horizontal===2?0:e.horizontalScrollbarSize,e.vertical===2?0:e.verticalScrollbarSize,i.width,i.scrollWidth,r.scrollLeft),visibility:e.horizontal,extraScrollbarClassName:"horizontal",scrollable:t,scrollByPage:e.scrollByPage}),e.horizontalHasArrows)throw new Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((e.horizontalScrollbarSize-e.horizontalSliderSize)/2),0,void 0,e.horizontalSliderSize)}_updateSlider(t,e){this.slider.setWidth(t),this.slider.setLeft(e)}_renderDomNode(t,e){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(t.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,e){return t}_sliderPointerPosition(t){return t.pageX}_sliderOrthogonalPointerPosition(t){return t.pageY}_updateScrollbarSize(t){this.slider.setHeight(t)}writeScrollPosition(t,e){t.scrollLeft=e}updateOptions(t){this.updateScrollbarSize(t.horizontal===2?0:t.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._visibilityController.setVisibility(t.horizontal),this._scrollByPage=t.scrollByPage}},Y3=class extends Tm{constructor(t,e,s){let i=t.getScrollDimensions(),r=t.getCurrentScrollPosition();if(super({lazyRender:e.lazyRender,host:s,scrollbarState:new Dm(e.verticalHasArrows?e.arrowSize:0,e.vertical===2?0:e.verticalScrollbarSize,0,i.height,i.scrollHeight,r.scrollTop),visibility:e.vertical,extraScrollbarClassName:"vertical",scrollable:t,scrollByPage:e.scrollByPage}),e.verticalHasArrows)throw new Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((e.verticalScrollbarSize-e.verticalSliderSize)/2),e.verticalSliderSize,void 0)}_updateSlider(t,e){this.slider.setHeight(t),this.slider.setTop(e)}_renderDomNode(t,e){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(t.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,e){return e}_sliderPointerPosition(t){return t.pageY}_sliderOrthogonalPointerPosition(t){return t.pageX}_updateScrollbarSize(t){this.slider.setWidth(t)}writeScrollPosition(t,e){t.scrollTop=e}updateOptions(t){this.updateScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(t.vertical),this._scrollByPage=t.scrollByPage}},X3=500,Gd=50,J3=class{constructor(t,e,s){this.timestamp=t,this.deltaX=e,this.deltaY=s,this.score=0}},Ga=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let e=1,s=0,i=1,r=this._rear;do{let o=r===this._front?e:Math.pow(2,-i);if(e-=o,s+=this._memory[r].score*o,r===this._front)break;r=(this._capacity+r-1)%this._capacity,i++}while(!0);return s<=.5}acceptStandardWheelEvent(e){if(ac){let s=ks(e.browserEvent),i=l3(s);this.accept(Date.now(),e.deltaX*i,e.deltaY*i)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,s,i){let r=null,o=new J3(e,s,i);this._front===-1&&this._rear===-1?(this._memory[0]=o,this._front=0,this._rear=0):(r=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=o),o.score=this._computeScore(o,r)}_computeScore(e,s){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(i+=.25),s){let r=Math.abs(e.deltaX),o=Math.abs(e.deltaY),a=Math.abs(s.deltaX),l=Math.abs(s.deltaY),c=Math.max(Math.min(r,a),1),d=Math.max(Math.min(o,l),1),u=Math.max(r,a),h=Math.max(o,l);u%c===0&&h%d===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};Ga.INSTANCE=new Ga;var Q3=Ga,Z3=class extends hc{constructor(t,e,s){super(),this._onScroll=this._register(new re),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new re),this.onWillScroll=this._onWillScroll.event,this._options=tk(e),this._scrollable=s,this._register(this._scrollable.onScroll(r=>{this._onWillScroll.fire(r),this._onDidScroll(r),this._onScroll.fire(r)}));let i={onMouseWheel:r=>this._onMouseWheel(r),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Y3(this._scrollable,this._options,i)),this._horizontalScrollbar=this._register(new G3(this._scrollable,this._options,i)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(t),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Nn(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Nn(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Nn(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,r=>this._onMouseOver(r)),this.onmouseleave(this._listenOnDomNode,r=>this._onMouseLeave(r)),this._hideTimeout=this._register(new cc),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=vi(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(t){this._verticalScrollbar.delegatePointerDown(t)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(t){this._scrollable.setScrollDimensions(t,!1)}updateClassName(t){this._options.className=t,Rs&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(t){typeof t.handleMouseWheel<"u"&&(this._options.handleMouseWheel=t.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof t.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity),typeof t.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=t.fastScrollSensitivity),typeof t.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=t.scrollPredominantAxis),typeof t.horizontal<"u"&&(this._options.horizontal=t.horizontal),typeof t.vertical<"u"&&(this._options.vertical=t.vertical),typeof t.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=t.horizontalScrollbarSize),typeof t.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=t.verticalScrollbarSize),typeof t.scrollByPage<"u"&&(this._options.scrollByPage=t.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(t){this._revealOnScroll=t}delegateScrollFromMouseWheelEvent(t){this._onMouseWheel(new $d(t))}_setListeningToMouseWheel(t){if(this._mouseWheelToDispose.length>0!==t&&(this._mouseWheelToDispose=vi(this._mouseWheelToDispose),t)){let e=s=>{this._onMouseWheel(new $d(s))};this._mouseWheelToDispose.push(Se(this._listenOnDomNode,ht.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(t){if(t.browserEvent?.defaultPrevented)return;let e=Q3.INSTANCE;e.acceptStandardWheelEvent(t);let s=!1;if(t.deltaY||t.deltaX){let r=t.deltaY*this._options.mouseWheelScrollSensitivity,o=t.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&o+r===0?o=r=0:Math.abs(r)>=Math.abs(o)?o=0:r=0),this._options.flipAxes&&([r,o]=[o,r]);let a=!Rs&&t.browserEvent&&t.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!o&&(o=r,r=0),t.browserEvent&&t.browserEvent.altKey&&(o=o*this._options.fastScrollSensitivity,r=r*this._options.fastScrollSensitivity);let l=this._scrollable.getFutureScrollPosition(),c={};if(r){let d=Gd*r,u=l.scrollTop-(d<0?Math.floor(d):Math.ceil(d));this._verticalScrollbar.writeScrollPosition(c,u)}if(o){let d=Gd*o,u=l.scrollLeft-(d<0?Math.floor(d):Math.ceil(d));this._horizontalScrollbar.writeScrollPosition(c,u)}c=this._scrollable.validateScrollPosition(c),(l.scrollLeft!==c.scrollLeft||l.scrollTop!==c.scrollTop)&&(this._options.mouseWheelSmoothScroll&&e.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(c):this._scrollable.setScrollPositionNow(c),s=!0)}let i=s;!i&&this._options.alwaysConsumeMouseWheel&&(i=!0),!i&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(i=!0),i&&(t.preventDefault(),t.stopPropagation())}_onDidScroll(t){this._shouldRender=this._horizontalScrollbar.onDidScroll(t)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(t)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let t=this._scrollable.getCurrentScrollPosition(),e=t.scrollTop>0,s=t.scrollLeft>0,i=s?" left":"",r=e?" top":"",o=s||e?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${i}`),this._topShadowDomNode.setClassName(`shadow${r}`),this._topLeftShadowDomNode.setClassName(`shadow${o}${r}${i}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(t){this._mouseIsOver=!1,this._hide()}_onMouseOver(t){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),X3)}},ek=class extends Z3{constructor(t,e,s){super(t,e,s)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function tk(t){let e={lazyRender:typeof t.lazyRender<"u"?t.lazyRender:!1,className:typeof t.className<"u"?t.className:"",useShadows:typeof t.useShadows<"u"?t.useShadows:!0,handleMouseWheel:typeof t.handleMouseWheel<"u"?t.handleMouseWheel:!0,flipAxes:typeof t.flipAxes<"u"?t.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof t.consumeMouseWheelIfScrollbarIsNeeded<"u"?t.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof t.alwaysConsumeMouseWheel<"u"?t.alwaysConsumeMouseWheel:!1,scrollYToX:typeof t.scrollYToX<"u"?t.scrollYToX:!1,mouseWheelScrollSensitivity:typeof t.mouseWheelScrollSensitivity<"u"?t.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof t.fastScrollSensitivity<"u"?t.fastScrollSensitivity:5,scrollPredominantAxis:typeof t.scrollPredominantAxis<"u"?t.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof t.mouseWheelSmoothScroll<"u"?t.mouseWheelSmoothScroll:!0,arrowSize:typeof t.arrowSize<"u"?t.arrowSize:11,listenOnDomNode:typeof t.listenOnDomNode<"u"?t.listenOnDomNode:null,horizontal:typeof t.horizontal<"u"?t.horizontal:1,horizontalScrollbarSize:typeof t.horizontalScrollbarSize<"u"?t.horizontalScrollbarSize:10,horizontalSliderSize:typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:0,horizontalHasArrows:typeof t.horizontalHasArrows<"u"?t.horizontalHasArrows:!1,vertical:typeof t.vertical<"u"?t.vertical:1,verticalScrollbarSize:typeof t.verticalScrollbarSize<"u"?t.verticalScrollbarSize:10,verticalHasArrows:typeof t.verticalHasArrows<"u"?t.verticalHasArrows:!1,verticalSliderSize:typeof t.verticalSliderSize<"u"?t.verticalSliderSize:0,scrollByPage:typeof t.scrollByPage<"u"?t.scrollByPage:!1};return e.horizontalSliderSize=typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:e.horizontalScrollbarSize,e.verticalSliderSize=typeof t.verticalSliderSize<"u"?t.verticalSliderSize:e.verticalScrollbarSize,Rs&&(e.className+=" mac"),e}var Ya=class extends ke{constructor(t,e,s,i,r,o,a,l){super(),this._bufferService=s,this._optionsService=a,this._renderService=l,this._onRequestScrollLines=this._register(new re),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new F3({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:d=>dc(i.window,d)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new ek(e,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(r.onProtocolChange(d=>{this._scrollableElement.updateOptions({handleMouseWheel:!(d&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(yt.runAndSubscribe(o.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=o.colors.background.css})),t.appendChild(this._scrollableElement.getDomNode()),this._register(He(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=i.mainDocument.createElement("style"),e.appendChild(this._styleElement),this._register(He(()=>this._styleElement.remove())),this._register(yt.runAndSubscribe(o.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${o.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${o.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${o.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
726
+ `)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(d=>this._handleScroll(d)))}scrollLines(t){let e=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:e.scrollTop+t*this._renderService.dimensions.css.cell.height})}scrollToLine(t,e){e&&(this._latestYDisp=t),this._scrollableElement.setScrollPosition({reuseAnimation:!e,scrollTop:t*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(t){t!==void 0&&(this._latestYDisp=t),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(t=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,t!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:t*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(t){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let e=Math.round(t.scrollTop/this._renderService.dimensions.css.cell.height),s=e-this._bufferService.buffer.ydisp;s!==0&&(this._latestYDisp=e,this._onRequestScrollLines.fire(s)),this._isHandlingScroll=!1}};Ya=Je([le(2,Ot),le(3,Us),le(4,mm),le(5,Zi),le(6,Bt),le(7,Hs)],Ya);var Xa=class extends ke{constructor(t,e,s,i,r){super(),this._screenElement=t,this._bufferService=e,this._coreBrowserService=s,this._decorationService=i,this._renderService=r,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(o=>this._removeDecoration(o))),this._register(He(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let t of this._decorationService.decorations)this._renderDecoration(t);this._dimensionsChanged=!1}_renderDecoration(t){this._refreshStyle(t),this._dimensionsChanged&&this._refreshXPosition(t)}_createElement(t){let e=this._coreBrowserService.mainDocument.createElement("div");e.classList.add("xterm-decoration"),e.classList.toggle("xterm-decoration-top-layer",t?.options?.layer==="top"),e.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,e.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,e.style.top=`${(t.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,e.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let s=t.options.x??0;return s&&s>this._bufferService.cols&&(e.style.display="none"),this._refreshXPosition(t,e),e}_refreshStyle(t){let e=t.marker.line-this._bufferService.buffers.active.ydisp;if(e<0||e>=this._bufferService.rows)t.element&&(t.element.style.display="none",t.onRenderEmitter.fire(t.element));else{let s=this._decorationElements.get(t);s||(s=this._createElement(t),t.element=s,this._decorationElements.set(t,s),this._container.appendChild(s),t.onDispose(()=>{this._decorationElements.delete(t),s.remove()})),s.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(s.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,s.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,s.style.top=`${e*this._renderService.dimensions.css.cell.height}px`,s.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),t.onRenderEmitter.fire(s)}}_refreshXPosition(t,e=t.element){if(!e)return;let s=t.options.x??0;(t.options.anchor||"left")==="right"?e.style.right=s?`${s*this._renderService.dimensions.css.cell.width}px`:"":e.style.left=s?`${s*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(t){this._decorationElements.get(t)?.remove(),this._decorationElements.delete(t),t.dispose()}};Xa=Je([le(1,Ot),le(2,Us),le(3,or),le(4,Hs)],Xa);var sk=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(t){if(t.options.overviewRulerOptions){for(let e of this._zones)if(e.color===t.options.overviewRulerOptions.color&&e.position===t.options.overviewRulerOptions.position){if(this._lineIntersectsZone(e,t.marker.line))return;if(this._lineAdjacentToZone(e,t.marker.line,t.options.overviewRulerOptions.position)){this._addLineToZone(e,t.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=t.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=t.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=t.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=t.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:t.options.overviewRulerOptions.color,position:t.options.overviewRulerOptions.position,startBufferLine:t.marker.line,endBufferLine:t.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(t){this._linePadding=t}_lineIntersectsZone(t,e){return e>=t.startBufferLine&&e<=t.endBufferLine}_lineAdjacentToZone(t,e,s){return e>=t.startBufferLine-this._linePadding[s||"full"]&&e<=t.endBufferLine+this._linePadding[s||"full"]}_addLineToZone(t,e){t.startBufferLine=Math.min(t.startBufferLine,e),t.endBufferLine=Math.max(t.endBufferLine,e)}},ys={full:0,left:0,center:0,right:0},qs={full:0,left:0,center:0,right:0},an={full:0,left:0,center:0,right:0},eo=class extends ke{constructor(t,e,s,i,r,o,a,l){super(),this._viewportElement=t,this._screenElement=e,this._bufferService=s,this._decorationService=i,this._renderService=r,this._optionsService=o,this._themeService=a,this._coreBrowserService=l,this._colorZoneStore=new sk,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(He(()=>this._canvas?.remove()));let c=this._canvas.getContext("2d");if(c)this._ctx=c;else throw new Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let t=Math.floor((this._canvas.width-1)/3),e=Math.ceil((this._canvas.width-1)/3);qs.full=this._canvas.width,qs.left=t,qs.center=e,qs.right=t,this._refreshDrawHeightConstants(),an.full=1,an.left=1,an.center=1+qs.left,an.right=1+qs.left+qs.center}_refreshDrawHeightConstants(){ys.full=Math.round(2*this._coreBrowserService.dpr);let t=this._canvas.height/this._bufferService.buffer.lines.length,e=Math.round(Math.max(Math.min(t,12),6)*this._coreBrowserService.dpr);ys.left=e,ys.center=e,ys.right=e}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ys.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ys.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ys.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ys.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let t=this._colorZoneStore.zones;for(let e of t)e.position!=="full"&&this._renderColorZone(e);for(let e of t)e.position==="full"&&this._renderColorZone(e);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(t){this._ctx.fillStyle=t.color,this._ctx.fillRect(an[t.position||"full"],Math.round((this._canvas.height-1)*(t.startBufferLine/this._bufferService.buffers.active.lines.length)-ys[t.position||"full"]/2),qs[t.position||"full"],Math.round((this._canvas.height-1)*((t.endBufferLine-t.startBufferLine)/this._bufferService.buffers.active.lines.length)+ys[t.position||"full"]))}_queueRefresh(t,e){this._shouldUpdateDimensions=t||this._shouldUpdateDimensions,this._shouldUpdateAnchor=e||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};eo=Je([le(2,Ot),le(3,or),le(4,Hs),le(5,Bt),le(6,Zi),le(7,Us)],eo);var Q;(t=>(t.NUL="\0",t.SOH="",t.STX="",t.ETX="",t.EOT="",t.ENQ="",t.ACK="",t.BEL="\x07",t.BS="\b",t.HT=" ",t.LF=`
727
+ `,t.VT="\v",t.FF="\f",t.CR="\r",t.SO="",t.SI="",t.DLE="",t.DC1="",t.DC2="",t.DC3="",t.DC4="",t.NAK="",t.SYN="",t.ETB="",t.CAN="",t.EM="",t.SUB="",t.ESC="\x1B",t.FS="",t.GS="",t.RS="",t.US="",t.SP=" ",t.DEL=""))(Q||={});var Pr;(t=>(t.PAD="€",t.HOP="",t.BPH="‚",t.NBH="ƒ",t.IND="„",t.NEL="…",t.SSA="†",t.ESA="‡",t.HTS="ˆ",t.HTJ="‰",t.VTS="Š",t.PLD="‹",t.PLU="Œ",t.RI="",t.SS2="Ž",t.SS3="",t.DCS="",t.PU1="‘",t.PU2="’",t.STS="“",t.CCH="”",t.MW="•",t.SPA="–",t.EPA="—",t.SOS="˜",t.SGCI="™",t.SCI="š",t.CSI="›",t.ST="œ",t.OSC="",t.PM="ž",t.APC="Ÿ"))(Pr||={});var Mm;(t=>t.ST=`${Q.ESC}\\`)(Mm||={});var Ja=class{constructor(t,e,s,i,r,o){this._textarea=t,this._compositionView=e,this._bufferService=s,this._optionsService=i,this._coreService=r,this._renderService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(t){this._compositionView.textContent=t.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(t){if(this._isComposing||this._isSendingComposition){if(t.keyCode===20||t.keyCode===229||t.keyCode===16||t.keyCode===17||t.keyCode===18)return!1;this._finalizeComposition(!1)}return t.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(t){if(this._compositionView.classList.remove("active"),this._isComposing=!1,t){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let s;e.start+=this._dataAlreadySent.length,this._isComposing?s=this._textarea.value.substring(e.start,this._compositionPosition.start):s=this._textarea.value.substring(e.start),s.length>0&&this._coreService.triggerDataEvent(s,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let t=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let e=this._textarea.value,s=e.replace(t,"");this._dataAlreadySent=s,e.length>t.length?this._coreService.triggerDataEvent(s,!0):e.length<t.length?this._coreService.triggerDataEvent(`${Q.DEL}`,!0):e.length===t.length&&e!==t&&this._coreService.triggerDataEvent(e,!0)}},0)}updateCompositionElements(t){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),s=this._renderService.dimensions.css.cell.height,i=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,r=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=r+"px",this._compositionView.style.top=i+"px",this._compositionView.style.height=s+"px",this._compositionView.style.lineHeight=s+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let o=this._compositionView.getBoundingClientRect();this._textarea.style.left=r+"px",this._textarea.style.top=i+"px",this._textarea.style.width=Math.max(o.width,1)+"px",this._textarea.style.height=Math.max(o.height,1)+"px",this._textarea.style.lineHeight=o.height+"px"}t||setTimeout(()=>this.updateCompositionElements(!0),0)}}};Ja=Je([le(2,Ot),le(3,Bt),le(4,Ni),le(5,Hs)],Ja);var ft=0,mt=0,pt=0,Xe=0,Yd={css:"#00000000",rgba:0},tt;(t=>{function e(r,o,a,l){return l!==void 0?`#${fi(r)}${fi(o)}${fi(a)}${fi(l)}`:`#${fi(r)}${fi(o)}${fi(a)}`}t.toCss=e;function s(r,o,a,l=255){return(r<<24|o<<16|a<<8|l)>>>0}t.toRgba=s;function i(r,o,a,l){return{css:t.toCss(r,o,a,l),rgba:t.toRgba(r,o,a,l)}}t.toColor=i})(tt||={});var ze;(t=>{function e(c,d){if(Xe=(d.rgba&255)/255,Xe===1)return{css:d.css,rgba:d.rgba};let u=d.rgba>>24&255,h=d.rgba>>16&255,f=d.rgba>>8&255,m=c.rgba>>24&255,p=c.rgba>>16&255,g=c.rgba>>8&255;ft=m+Math.round((u-m)*Xe),mt=p+Math.round((h-p)*Xe),pt=g+Math.round((f-g)*Xe);let _=tt.toCss(ft,mt,pt),v=tt.toRgba(ft,mt,pt);return{css:_,rgba:v}}t.blend=e;function s(c){return(c.rgba&255)===255}t.isOpaque=s;function i(c,d,u){let h=Lr.ensureContrastRatio(c.rgba,d.rgba,u);if(h)return tt.toColor(h>>24&255,h>>16&255,h>>8&255)}t.ensureContrastRatio=i;function r(c){let d=(c.rgba|255)>>>0;return[ft,mt,pt]=Lr.toChannels(d),{css:tt.toCss(ft,mt,pt),rgba:d}}t.opaque=r;function o(c,d){return Xe=Math.round(d*255),[ft,mt,pt]=Lr.toChannels(c.rgba),{css:tt.toCss(ft,mt,pt,Xe),rgba:tt.toRgba(ft,mt,pt,Xe)}}t.opacity=o;function a(c,d){return Xe=c.rgba&255,o(c,Xe*d/255)}t.multiplyOpacity=a;function l(c){return[c.rgba>>24&255,c.rgba>>16&255,c.rgba>>8&255]}t.toColorRGB=l})(ze||={});var Ke;(t=>{let e,s;try{let r=document.createElement("canvas");r.width=1,r.height=1;let o=r.getContext("2d",{willReadFrequently:!0});o&&(e=o,e.globalCompositeOperation="copy",s=e.createLinearGradient(0,0,1,1))}catch{}function i(r){if(r.match(/#[\da-f]{3,8}/i))switch(r.length){case 4:return ft=parseInt(r.slice(1,2).repeat(2),16),mt=parseInt(r.slice(2,3).repeat(2),16),pt=parseInt(r.slice(3,4).repeat(2),16),tt.toColor(ft,mt,pt);case 5:return ft=parseInt(r.slice(1,2).repeat(2),16),mt=parseInt(r.slice(2,3).repeat(2),16),pt=parseInt(r.slice(3,4).repeat(2),16),Xe=parseInt(r.slice(4,5).repeat(2),16),tt.toColor(ft,mt,pt,Xe);case 7:return{css:r,rgba:(parseInt(r.slice(1),16)<<8|255)>>>0};case 9:return{css:r,rgba:parseInt(r.slice(1),16)>>>0}}let o=r.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(o)return ft=parseInt(o[1]),mt=parseInt(o[2]),pt=parseInt(o[3]),Xe=Math.round((o[5]===void 0?1:parseFloat(o[5]))*255),tt.toColor(ft,mt,pt,Xe);if(!e||!s)throw new Error("css.toColor: Unsupported css format");if(e.fillStyle=s,e.fillStyle=r,typeof e.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(e.fillRect(0,0,1,1),[ft,mt,pt,Xe]=e.getImageData(0,0,1,1).data,Xe!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:tt.toRgba(ft,mt,pt,Xe),css:r}}t.toColor=i})(Ke||={});var At;(t=>{function e(i){return s(i>>16&255,i>>8&255,i&255)}t.relativeLuminance=e;function s(i,r,o){let a=i/255,l=r/255,c=o/255,d=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4),u=l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4),h=c<=.03928?c/12.92:Math.pow((c+.055)/1.055,2.4);return d*.2126+u*.7152+h*.0722}t.relativeLuminance2=s})(At||={});var Lr;(t=>{function e(a,l){if(Xe=(l&255)/255,Xe===1)return l;let c=l>>24&255,d=l>>16&255,u=l>>8&255,h=a>>24&255,f=a>>16&255,m=a>>8&255;return ft=h+Math.round((c-h)*Xe),mt=f+Math.round((d-f)*Xe),pt=m+Math.round((u-m)*Xe),tt.toRgba(ft,mt,pt)}t.blend=e;function s(a,l,c){let d=At.relativeLuminance(a>>8),u=At.relativeLuminance(l>>8);if(Os(d,u)<c){if(u<d){let m=i(a,l,c),p=Os(d,At.relativeLuminance(m>>8));if(p<c){let g=r(a,l,c),_=Os(d,At.relativeLuminance(g>>8));return p>_?m:g}return m}let h=r(a,l,c),f=Os(d,At.relativeLuminance(h>>8));if(f<c){let m=i(a,l,c),p=Os(d,At.relativeLuminance(m>>8));return f>p?h:m}return h}}t.ensureContrastRatio=s;function i(a,l,c){let d=a>>24&255,u=a>>16&255,h=a>>8&255,f=l>>24&255,m=l>>16&255,p=l>>8&255,g=Os(At.relativeLuminance2(f,m,p),At.relativeLuminance2(d,u,h));for(;g<c&&(f>0||m>0||p>0);)f-=Math.max(0,Math.ceil(f*.1)),m-=Math.max(0,Math.ceil(m*.1)),p-=Math.max(0,Math.ceil(p*.1)),g=Os(At.relativeLuminance2(f,m,p),At.relativeLuminance2(d,u,h));return(f<<24|m<<16|p<<8|255)>>>0}t.reduceLuminance=i;function r(a,l,c){let d=a>>24&255,u=a>>16&255,h=a>>8&255,f=l>>24&255,m=l>>16&255,p=l>>8&255,g=Os(At.relativeLuminance2(f,m,p),At.relativeLuminance2(d,u,h));for(;g<c&&(f<255||m<255||p<255);)f=Math.min(255,f+Math.ceil((255-f)*.1)),m=Math.min(255,m+Math.ceil((255-m)*.1)),p=Math.min(255,p+Math.ceil((255-p)*.1)),g=Os(At.relativeLuminance2(f,m,p),At.relativeLuminance2(d,u,h));return(f<<24|m<<16|p<<8|255)>>>0}t.increaseLuminance=r;function o(a){return[a>>24&255,a>>16&255,a>>8&255,a&255]}t.toChannels=o})(Lr||={});function fi(t){let e=t.toString(16);return e.length<2?"0"+e:e}function Os(t,e){return t<e?(e+.05)/(t+.05):(t+.05)/(e+.05)}var ik=class extends rr{constructor(t,e,s){super(),this.content=0,this.combinedData="",this.fg=t.fg,this.bg=t.bg,this.combinedData=e,this._width=s}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(t){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},to=class{constructor(t){this._bufferService=t,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new cs}register(t){let e={id:this._nextCharacterJoinerId++,handler:t};return this._characterJoiners.push(e),e.id}deregister(t){for(let e=0;e<this._characterJoiners.length;e++)if(this._characterJoiners[e].id===t)return this._characterJoiners.splice(e,1),!0;return!1}getJoinedCharacters(t){if(this._characterJoiners.length===0)return[];let e=this._bufferService.buffer.lines.get(t);if(!e||e.length===0)return[];let s=[],i=e.translateToString(!0),r=0,o=0,a=0,l=e.getFg(0),c=e.getBg(0);for(let d=0;d<e.getTrimmedLength();d++)if(e.loadCell(d,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==l||this._workCell.bg!==c){if(d-r>1){let u=this._getJoinedRanges(i,a,o,e,r);for(let h=0;h<u.length;h++)s.push(u[h])}r=d,a=o,l=this._workCell.fg,c=this._workCell.bg}o+=this._workCell.getChars().length||Qs.length}if(this._bufferService.cols-r>1){let d=this._getJoinedRanges(i,a,o,e,r);for(let u=0;u<d.length;u++)s.push(d[u])}return s}_getJoinedRanges(t,e,s,i,r){let o=t.substring(e,s),a=[];try{a=this._characterJoiners[0].handler(o)}catch(l){console.error(l)}for(let l=1;l<this._characterJoiners.length;l++)try{let c=this._characterJoiners[l].handler(o);for(let d=0;d<c.length;d++)to._mergeRanges(a,c[d])}catch(c){console.error(c)}return this._stringRangesToCellRanges(a,i,r),a}_stringRangesToCellRanges(t,e,s){let i=0,r=!1,o=0,a=t[i];if(a){for(let l=s;l<this._bufferService.cols;l++){let c=e.getWidth(l),d=e.getString(l).length||Qs.length;if(c!==0){if(!r&&a[0]<=o&&(a[0]=l,r=!0),a[1]<=o){if(a[1]=l,a=t[++i],!a)break;a[0]<=o?(a[0]=l,r=!0):r=!1}o+=d}}a&&(a[1]=this._bufferService.cols)}}static _mergeRanges(t,e){let s=!1;for(let i=0;i<t.length;i++){let r=t[i];if(s){if(e[1]<=r[0])return t[i-1][1]=e[1],t;if(e[1]<=r[1])return t[i-1][1]=Math.max(e[1],r[1]),t.splice(i,1),t;t.splice(i,1),i--}else{if(e[1]<=r[0])return t.splice(i,0,e),t;if(e[1]<=r[1])return r[0]=Math.min(e[0],r[0]),t;e[0]<r[1]&&(r[0]=Math.min(e[0],r[0]),s=!0);continue}}return s?t[t.length-1][1]=e[1]:t.push(e),t}};to=Je([le(0,Ot)],to);function nk(t){return 57508<=t&&t<=57558}function rk(t){return 9472<=t&&t<=9631}function ok(t){return nk(t)||rk(t)}function ak(){return{css:{canvas:vr(),cell:vr()},device:{canvas:vr(),cell:vr(),char:{width:0,height:0,left:0,top:0}}}}function vr(){return{width:0,height:0}}var Qa=class{constructor(t,e,s,i,r,o,a){this._document=t,this._characterJoinerService=e,this._optionsService=s,this._coreBrowserService=i,this._coreService=r,this._decorationService=o,this._themeService=a,this._workCell=new cs,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(t,e,s){this._selectionStart=t,this._selectionEnd=e,this._columnSelectMode=s}createRow(t,e,s,i,r,o,a,l,c,d,u){let h=[],f=this._characterJoinerService.getJoinedCharacters(e),m=this._themeService.colors,p=t.getNoBgTrimmedLength();s&&p<o+1&&(p=o+1);let g,_=0,v="",x=0,b=0,y=0,C=0,k=!1,w=0,V=!1,j=0,R=0,T=[],I=d!==-1&&u!==-1;for(let A=0;A<p;A++){t.loadCell(A,this._workCell);let N=this._workCell.getWidth();if(N===0)continue;let E=!1,M=A>=R,L=A,D=this._workCell;if(f.length>0&&A===f[0][0]&&M){let J=f.shift(),se=this._isCellInSelection(J[0],e);for(x=J[0]+1;x<J[1];x++)M&&=se===this._isCellInSelection(x,e);M&&=!s||o<J[0]||o>=J[1],M?(E=!0,D=new ik(this._workCell,t.translateToString(!0,J[0],J[1]),J[1]-J[0]),L=J[1]-1,N=D.getWidth()):R=J[1]}let P=this._isCellInSelection(A,e),O=s&&A===o,$=I&&A>=d&&A<=u,z=!1;this._decorationService.forEachDecorationAtCell(A,e,void 0,J=>{z=!0});let W=D.getChars()||Qs;if(W===" "&&(D.isUnderline()||D.isOverline())&&(W=" "),j=N*l-c.get(W,D.isBold(),D.isItalic()),!g)g=this._document.createElement("span");else if(_&&(P&&V||!P&&!V&&D.bg===b)&&(P&&V&&m.selectionForeground||D.fg===y)&&D.extended.ext===C&&$===k&&j===w&&!O&&!E&&!z&&M){D.isInvisible()?v+=Qs:v+=W,_++;continue}else _&&(g.textContent=v),g=this._document.createElement("span"),_=0,v="";if(b=D.bg,y=D.fg,C=D.extended.ext,k=$,w=j,V=P,E&&o>=A&&o<=L&&(o=A),!this._coreService.isCursorHidden&&O&&this._coreService.isCursorInitialized){if(T.push("xterm-cursor"),this._coreBrowserService.isFocused)a&&T.push("xterm-cursor-blink"),T.push(i==="bar"?"xterm-cursor-bar":i==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(r)switch(r){case"outline":T.push("xterm-cursor-outline");break;case"block":T.push("xterm-cursor-block");break;case"bar":T.push("xterm-cursor-bar");break;case"underline":T.push("xterm-cursor-underline");break}}if(D.isBold()&&T.push("xterm-bold"),D.isItalic()&&T.push("xterm-italic"),D.isDim()&&T.push("xterm-dim"),D.isInvisible()?v=Qs:v=D.getChars()||Qs,D.isUnderline()&&(T.push(`xterm-underline-${D.extended.underlineStyle}`),v===" "&&(v=" "),!D.isUnderlineColorDefault()))if(D.isUnderlineColorRGB())g.style.textDecorationColor=`rgb(${rr.toColorRGB(D.getUnderlineColor()).join(",")})`;else{let J=D.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&D.isBold()&&J<8&&(J+=8),g.style.textDecorationColor=m.ansi[J].css}D.isOverline()&&(T.push("xterm-overline"),v===" "&&(v=" ")),D.isStrikethrough()&&T.push("xterm-strikethrough"),$&&(g.style.textDecoration="underline");let F=D.getFgColor(),K=D.getFgColorMode(),H=D.getBgColor(),U=D.getBgColorMode(),Y=!!D.isInverse();if(Y){let J=F;F=H,H=J;let se=K;K=U,U=se}let q,G,ee=!1;this._decorationService.forEachDecorationAtCell(A,e,void 0,J=>{J.options.layer!=="top"&&ee||(J.backgroundColorRGB&&(U=50331648,H=J.backgroundColorRGB.rgba>>8&16777215,q=J.backgroundColorRGB),J.foregroundColorRGB&&(K=50331648,F=J.foregroundColorRGB.rgba>>8&16777215,G=J.foregroundColorRGB),ee=J.options.layer==="top")}),!ee&&P&&(q=this._coreBrowserService.isFocused?m.selectionBackgroundOpaque:m.selectionInactiveBackgroundOpaque,H=q.rgba>>8&16777215,U=50331648,ee=!0,m.selectionForeground&&(K=50331648,F=m.selectionForeground.rgba>>8&16777215,G=m.selectionForeground)),ee&&T.push("xterm-decoration-top");let Z;switch(U){case 16777216:case 33554432:Z=m.ansi[H],T.push(`xterm-bg-${H}`);break;case 50331648:Z=tt.toColor(H>>16,H>>8&255,H&255),this._addStyle(g,`background-color:#${Xd((H>>>0).toString(16),"0",6)}`);break;default:Y?(Z=m.foreground,T.push("xterm-bg-257")):Z=m.background}switch(q||D.isDim()&&(q=ze.multiplyOpacity(Z,.5)),K){case 16777216:case 33554432:D.isBold()&&F<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(F+=8),this._applyMinimumContrast(g,Z,m.ansi[F],D,q,void 0)||T.push(`xterm-fg-${F}`);break;case 50331648:let J=tt.toColor(F>>16&255,F>>8&255,F&255);this._applyMinimumContrast(g,Z,J,D,q,G)||this._addStyle(g,`color:#${Xd(F.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(g,Z,m.foreground,D,q,G)||Y&&T.push("xterm-fg-257")}T.length&&(g.className=T.join(" "),T.length=0),!O&&!E&&!z&&M?_++:g.textContent=v,j!==this.defaultSpacing&&(g.style.letterSpacing=`${j}px`),h.push(g),A=L}return g&&_&&(g.textContent=v),h}_applyMinimumContrast(t,e,s,i,r,o){if(this._optionsService.rawOptions.minimumContrastRatio===1||ok(i.getCode()))return!1;let a=this._getContrastCache(i),l;if(!r&&!o&&(l=a.getColor(e.rgba,s.rgba)),l===void 0){let c=this._optionsService.rawOptions.minimumContrastRatio/(i.isDim()?2:1);l=ze.ensureContrastRatio(r||e,o||s,c),a.setColor((r||e).rgba,(o||s).rgba,l??null)}return l?(this._addStyle(t,`color:${l.css}`),!0):!1}_getContrastCache(t){return t.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(t,e){t.setAttribute("style",`${t.getAttribute("style")||""}${e};`)}_isCellInSelection(t,e){let s=this._selectionStart,i=this._selectionEnd;return!s||!i?!1:this._columnSelectMode?s[0]<=i[0]?t>=s[0]&&e>=s[1]&&t<i[0]&&e<=i[1]:t<s[0]&&e>=s[1]&&t>=i[0]&&e<=i[1]:e>s[1]&&e<i[1]||s[1]===i[1]&&e===s[1]&&t>=s[0]&&t<i[0]||s[1]<i[1]&&e===i[1]&&t<i[0]||s[1]<i[1]&&e===s[1]&&t>=s[0]}};Qa=Je([le(1,_m),le(2,Bt),le(3,Us),le(4,Ni),le(5,or),le(6,Zi)],Qa);function Xd(t,e,s){for(;t.length<s;)t=e+t;return t}var lk=class{constructor(t,e){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=t.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let s=t.createElement("span");s.classList.add("xterm-char-measure-element");let i=t.createElement("span");i.classList.add("xterm-char-measure-element"),i.style.fontWeight="bold";let r=t.createElement("span");r.classList.add("xterm-char-measure-element"),r.style.fontStyle="italic";let o=t.createElement("span");o.classList.add("xterm-char-measure-element"),o.style.fontWeight="bold",o.style.fontStyle="italic",this._measureElements=[s,i,r,o],this._container.appendChild(s),this._container.appendChild(i),this._container.appendChild(r),this._container.appendChild(o),e.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(t,e,s,i){t===this._font&&e===this._fontSize&&s===this._weight&&i===this._weightBold||(this._font=t,this._fontSize=e,this._weight=s,this._weightBold=i,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${s}`,this._measureElements[1].style.fontWeight=`${i}`,this._measureElements[2].style.fontWeight=`${s}`,this._measureElements[3].style.fontWeight=`${i}`,this.clear())}get(t,e,s){let i=0;if(!e&&!s&&t.length===1&&(i=t.charCodeAt(0))<256){if(this._flat[i]!==-9999)return this._flat[i];let a=this._measure(t,0);return a>0&&(this._flat[i]=a),a}let r=t;e&&(r+="B"),s&&(r+="I");let o=this._holey.get(r);if(o===void 0){let a=0;e&&(a|=1),s&&(a|=2),o=this._measure(t,a),o>0&&this._holey.set(r,o)}return o}_measure(t,e){let s=this._measureElements[e];return s.textContent=t.repeat(32),s.offsetWidth/32}},ck=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(t,e,s,i=!1){if(this.selectionStart=e,this.selectionEnd=s,!e||!s||e[0]===s[0]&&e[1]===s[1]){this.clear();return}let r=t.buffers.active.ydisp,o=e[1]-r,a=s[1]-r,l=Math.max(o,0),c=Math.min(a,t.rows-1);if(l>=t.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=i,this.viewportStartRow=o,this.viewportEndRow=a,this.viewportCappedStartRow=l,this.viewportCappedEndRow=c,this.startCol=e[0],this.endCol=s[0]}isCellSelected(t,e,s){return this.hasSelection?(s-=t.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?e>=this.startCol&&s>=this.viewportCappedStartRow&&e<this.endCol&&s<=this.viewportCappedEndRow:e<this.startCol&&s>=this.viewportCappedStartRow&&e>=this.endCol&&s<=this.viewportCappedEndRow:s>this.viewportStartRow&&s<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&s===this.viewportStartRow&&e>=this.startCol&&e<this.endCol||this.viewportStartRow<this.viewportEndRow&&s===this.viewportEndRow&&e<this.endCol||this.viewportStartRow<this.viewportEndRow&&s===this.viewportStartRow&&e>=this.startCol):!1}};function dk(){return new ck}var ta="xterm-dom-renderer-owner-",ns="xterm-rows",br="xterm-fg-",Jd="xterm-bg-",ln="xterm-focus",yr="xterm-selection",hk=1,Za=class extends ke{constructor(t,e,s,i,r,o,a,l,c,d,u,h,f,m){super(),this._terminal=t,this._document=e,this._element=s,this._screenElement=i,this._viewportElement=r,this._helperContainer=o,this._linkifier2=a,this._charSizeService=c,this._optionsService=d,this._bufferService=u,this._coreService=h,this._coreBrowserService=f,this._themeService=m,this._terminalClass=hk++,this._rowElements=[],this._selectionRenderModel=dk(),this.onRequestRedraw=this._register(new re).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(ns),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(yr),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=ak(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(p=>this._injectCss(p))),this._injectCss(this._themeService.colors),this._rowFactory=l.createInstance(Qa,document),this._element.classList.add(ta+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(p=>this._handleLinkHover(p))),this._register(this._linkifier2.onHideLinkUnderline(p=>this._handleLinkLeave(p))),this._register(He(()=>{this._element.classList.remove(ta+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new lk(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let t=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*t,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*t),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/t),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/t),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let s of this._rowElements)s.style.width=`${this.dimensions.css.canvas.width}px`,s.style.height=`${this.dimensions.css.cell.height}px`,s.style.lineHeight=`${this.dimensions.css.cell.height}px`,s.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let e=`${this._terminalSelector} .${ns} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=e,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(t){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let e=`${this._terminalSelector} .${ns} { pointer-events: none; color: ${t.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;e+=`${this._terminalSelector} .${ns} .xterm-dim { color: ${ze.multiplyOpacity(t.foreground,.5).css};}`,e+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let s=`blink_underline_${this._terminalClass}`,i=`blink_bar_${this._terminalClass}`,r=`blink_block_${this._terminalClass}`;e+=`@keyframes ${s} { 50% { border-bottom-style: hidden; }}`,e+=`@keyframes ${i} { 50% { box-shadow: none; }}`,e+=`@keyframes ${r} { 0% { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css}; } 50% { background-color: inherit; color: ${t.cursor.css}; }}`,e+=`${this._terminalSelector} .${ns}.${ln} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${ns}.${ln} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${ns}.${ln} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${ns} .xterm-cursor.xterm-cursor-block { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css};}${this._terminalSelector} .${ns} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${t.cursor.css} !important; color: ${t.cursorAccent.css} !important;}${this._terminalSelector} .${ns} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${t.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${ns} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${t.cursor.css} inset;}${this._terminalSelector} .${ns} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${t.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,e+=`${this._terminalSelector} .${yr} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${yr} div { position: absolute; background-color: ${t.selectionBackgroundOpaque.css};}${this._terminalSelector} .${yr} div { position: absolute; background-color: ${t.selectionInactiveBackgroundOpaque.css};}`;for(let[o,a]of t.ansi.entries())e+=`${this._terminalSelector} .${br}${o} { color: ${a.css}; }${this._terminalSelector} .${br}${o}.xterm-dim { color: ${ze.multiplyOpacity(a,.5).css}; }${this._terminalSelector} .${Jd}${o} { background-color: ${a.css}; }`;e+=`${this._terminalSelector} .${br}257 { color: ${ze.opaque(t.background).css}; }${this._terminalSelector} .${br}257.xterm-dim { color: ${ze.multiplyOpacity(ze.opaque(t.background),.5).css}; }${this._terminalSelector} .${Jd}257 { background-color: ${t.foreground.css}; }`,this._themeStyleElement.textContent=e}_setDefaultSpacing(){let t=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${t}px`,this._rowFactory.defaultSpacing=t}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(t,e){for(let s=this._rowElements.length;s<=e;s++){let i=this._document.createElement("div");this._rowContainer.appendChild(i),this._rowElements.push(i)}for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(t,e){this._refreshRowElements(t,e),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(ln),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(ln),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(t,e,s){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(t,e,s),this.renderRows(0,this._bufferService.rows-1),!t||!e||(this._selectionRenderModel.update(this._terminal,t,e,s),!this._selectionRenderModel.hasSelection))return;let i=this._selectionRenderModel.viewportStartRow,r=this._selectionRenderModel.viewportEndRow,o=this._selectionRenderModel.viewportCappedStartRow,a=this._selectionRenderModel.viewportCappedEndRow,l=this._document.createDocumentFragment();if(s){let c=t[0]>e[0];l.appendChild(this._createSelectionElement(o,c?e[0]:t[0],c?t[0]:e[0],a-o+1))}else{let c=i===o?t[0]:0,d=o===r?e[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(o,c,d));let u=a-o-1;if(l.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,u)),o!==a){let h=r===a?e[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(a,0,h))}}this._selectionContainer.appendChild(l)}_createSelectionElement(t,e,s,i=1){let r=this._document.createElement("div"),o=e*this.dimensions.css.cell.width,a=this.dimensions.css.cell.width*(s-e);return o+a>this.dimensions.css.canvas.width&&(a=this.dimensions.css.canvas.width-o),r.style.height=`${i*this.dimensions.css.cell.height}px`,r.style.top=`${t*this.dimensions.css.cell.height}px`,r.style.left=`${o}px`,r.style.width=`${a}px`,r}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let t of this._rowElements)t.replaceChildren()}renderRows(t,e){let s=this._bufferService.buffer,i=s.ybase+s.y,r=Math.min(s.x,this._bufferService.cols-1),o=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,a=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,l=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=t;c<=e;c++){let d=c+s.ydisp,u=this._rowElements[c],h=s.lines.get(d);if(!u||!h)break;u.replaceChildren(...this._rowFactory.createRow(h,d,d===i,a,l,r,o,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${ta}${this._terminalClass}`}_handleLinkHover(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!0)}_handleLinkLeave(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!1)}_setCellUnderline(t,e,s,i,r,o){s<0&&(t=0),i<0&&(e=0);let a=this._bufferService.rows-1;s=Math.max(Math.min(s,a),0),i=Math.max(Math.min(i,a),0),r=Math.min(r,this._bufferService.cols);let l=this._bufferService.buffer,c=l.ybase+l.y,d=Math.min(l.x,r-1),u=this._optionsService.rawOptions.cursorBlink,h=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let m=s;m<=i;++m){let p=m+l.ydisp,g=this._rowElements[m],_=l.lines.get(p);if(!g||!_)break;g.replaceChildren(...this._rowFactory.createRow(_,p,p===c,h,f,d,u,this.dimensions.css.cell.width,this._widthCache,o?m===s?t:0:-1,o?(m===i?e:r)-1:-1))}}};Za=Je([le(7,nc),le(8,ko),le(9,Bt),le(10,Ot),le(11,Ni),le(12,Us),le(13,Zi)],Za);var el=class extends ke{constructor(t,e,s){super(),this._optionsService=s,this.width=0,this.height=0,this._onCharSizeChange=this._register(new re),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new fk(this._optionsService))}catch{this._measureStrategy=this._register(new uk(t,e,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let t=this._measureStrategy.measure();(t.width!==this.width||t.height!==this.height)&&(this.width=t.width,this.height=t.height,this._onCharSizeChange.fire())}};el=Je([le(2,Bt)],el);var Pm=class extends ke{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(t,e){t!==void 0&&t>0&&e!==void 0&&e>0&&(this._result.width=t,this._result.height=e)}},uk=class extends Pm{constructor(t,e,s){super(),this._document=t,this._parentElement=e,this._optionsService=s,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},fk=class extends Pm{constructor(t){super(),this._optionsService=t,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let e=this._ctx.measureText("W");if(!("width"in e&&"fontBoundingBoxAscent"in e&&"fontBoundingBoxDescent"in e))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let t=this._ctx.measureText("W");return this._validateAndSet(t.width,t.fontBoundingBoxAscent+t.fontBoundingBoxDescent),this._result}},mk=class extends ke{constructor(t,e,s){super(),this._textarea=t,this._window=e,this.mainDocument=s,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new pk(this._window)),this._onDprChange=this._register(new re),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new re),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(i=>this._screenDprMonitor.setWindow(i))),this._register(yt.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(Se(this._textarea,"focus",()=>this._isFocused=!0)),this._register(Se(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(t){this._window!==t&&(this._window=t,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},pk=class extends ke{constructor(t){super(),this._parentWindow=t,this._windowResizeListener=this._register(new Hi),this._onDprChange=this._register(new re),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(He(()=>this.clearListener()))}setWindow(t){this._parentWindow=t,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=Se(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},gk=class extends ke{constructor(){super(),this.linkProviders=[],this._register(He(()=>this.linkProviders.length=0))}registerLinkProvider(t){return this.linkProviders.push(t),{dispose:()=>{let e=this.linkProviders.indexOf(t);e!==-1&&this.linkProviders.splice(e,1)}}}};function uc(t,e,s){let i=s.getBoundingClientRect(),r=t.getComputedStyle(s),o=parseInt(r.getPropertyValue("padding-left")),a=parseInt(r.getPropertyValue("padding-top"));return[e.clientX-i.left-o,e.clientY-i.top-a]}function _k(t,e,s,i,r,o,a,l,c){if(!o)return;let d=uc(t,e,s);if(d)return d[0]=Math.ceil((d[0]+(c?a/2:0))/a),d[1]=Math.ceil(d[1]/l),d[0]=Math.min(Math.max(d[0],1),i+(c?1:0)),d[1]=Math.min(Math.max(d[1],1),r),d}var tl=class{constructor(t,e){this._renderService=t,this._charSizeService=e}getCoords(t,e,s,i,r){return _k(window,t,e,s,i,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,r)}getMouseReportCoords(t,e){let s=uc(window,t,e);if(this._charSizeService.hasValidSize)return s[0]=Math.min(Math.max(s[0],0),this._renderService.dimensions.css.canvas.width-1),s[1]=Math.min(Math.max(s[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(s[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(s[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(s[0]),y:Math.floor(s[1])}}};tl=Je([le(0,Hs),le(1,ko)],tl);var xk=class{constructor(t,e){this._renderCallback=t,this._coreBrowserService=e,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(t){return this._refreshCallbacks.push(t),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(t,e,s){this._rowCount=s,t=t!==void 0?t:0,e=e!==void 0?e:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,e):e,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let t of this._refreshCallbacks)t(0);this._refreshCallbacks=[]}},Lm={};NC(Lm,{getSafariVersion:()=>bk,isChromeOS:()=>$m,isFirefox:()=>Om,isIpad:()=>yk,isIphone:()=>Sk,isLegacyEdge:()=>vk,isLinux:()=>fc,isMac:()=>so,isNode:()=>jo,isSafari:()=>Bm,isWindows:()=>zm});var jo=typeof process<"u"&&"title"in process,ar=jo?"node":navigator.userAgent,lr=jo?"node":navigator.platform,Om=ar.includes("Firefox"),vk=ar.includes("Edge"),Bm=/^((?!chrome|android).)*safari/i.test(ar);function bk(){if(!Bm)return 0;let t=ar.match(/Version\/(\d+)/);return t===null||t.length<2?0:parseInt(t[1])}var so=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(lr),yk=lr==="iPad",Sk=lr==="iPhone",zm=["Windows","Win16","Win32","WinCE"].includes(lr),fc=lr.indexOf("Linux")>=0,$m=/\bCrOS\b/.test(ar),Fm=class{constructor(){this._tasks=[],this._i=0}enqueue(t){this._tasks.push(t),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(t){this._idleCallback=void 0;let e=0,s=0,i=t.timeRemaining(),r=0;for(;this._i<this._tasks.length;){if(e=performance.now(),this._tasks[this._i]()||this._i++,e=Math.max(1,performance.now()-e),s=Math.max(e,s),r=t.timeRemaining(),s*1.5>r){i-e<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(i-e))}ms`),this._start();return}i=r}this.clear()}},wk=class extends Fm{_requestCallback(t){return setTimeout(()=>t(this._createDeadline(16)))}_cancelCallback(t){clearTimeout(t)}_createDeadline(t){let e=performance.now()+t;return{timeRemaining:()=>Math.max(0,e-performance.now())}}},Vk=class extends Fm{_requestCallback(t){return requestIdleCallback(t)}_cancelCallback(t){cancelIdleCallback(t)}},io=!jo&&"requestIdleCallback"in window?Vk:wk,Ck=class{constructor(){this._queue=new io}set(t){this._queue.clear(),this._queue.enqueue(t)}flush(){this._queue.flush()}},sl=class extends ke{constructor(t,e,s,i,r,o,a,l,c){super(),this._rowCount=t,this._optionsService=s,this._charSizeService=i,this._coreService=r,this._coreBrowserService=l,this._renderer=this._register(new Hi),this._pausedResizeTask=new Ck,this._observerDisposable=this._register(new Hi),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new re),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new re),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new re),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new re),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new xk((d,u)=>this._renderRows(d,u),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new kk(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(He(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(a.onResize(()=>this._fullRefresh())),this._register(a.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(o.onDecorationRegistered(()=>this._fullRefresh())),this._register(o.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(a.cols,a.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(a.buffer.y,a.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,e),this._register(this._coreBrowserService.onWindowChange(d=>this._registerIntersectionObserver(d,e)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(t,e){if("IntersectionObserver"in t){let s=new t.IntersectionObserver(i=>this._handleIntersectionChange(i[i.length-1]),{threshold:0});s.observe(e),this._observerDisposable.value=He(()=>s.disconnect())}}_handleIntersectionChange(t){this._isPaused=t.isIntersecting===void 0?t.intersectionRatio===0:!t.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(t,e,s=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,e);return}let i=this._syncOutputHandler.flush();i&&(t=Math.min(t,i.start),e=Math.max(e,i.end)),s||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(t,e,this._rowCount)}_renderRows(t,e){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,e);return}t=Math.min(t,this._rowCount-1),e=Math.min(e,this._rowCount-1),this._renderer.value.renderRows(t,e),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:t,end:e}),this._onRender.fire({start:t,end:e}),this._isNextRenderRedrawOnly=!0}}resize(t,e){this._rowCount=e,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(t){this._renderer.value=t,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(t){return this._renderDebouncer.addRefreshCallback(t)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(t,e){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(t,e)):this._renderer.value.handleResize(t,e),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(t,e,s){this._selectionState.start=t,this._selectionState.end=e,this._selectionState.columnSelectMode=s,this._renderer.value?.handleSelectionChanged(t,e,s)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};sl=Je([le(2,Bt),le(3,ko),le(4,Ni),le(5,or),le(6,Ot),le(7,Us),le(8,Zi)],sl);var kk=class{constructor(t,e,s){this._coreBrowserService=t,this._coreService=e,this._onTimeout=s,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(t,e){this._isBuffering?(this._start=Math.min(this._start,t),this._end=Math.max(this._end,e)):(this._start=t,this._end=e,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let t={start:this._start,end:this._end};return this._isBuffering=!1,t}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function jk(t,e,s,i){let r=s.buffer.x,o=s.buffer.y;if(!s.buffer.hasScrollback)return Ek(r,o,t,e,s,i)+No(o,e,s,i)+Ik(r,o,t,e,s,i);let a;if(o===e)return a=r>t?"D":"C",$n(Math.abs(r-t),zn(a,i));a=o>e?"D":"C";let l=Math.abs(o-e),c=Ak(o>e?t:r,s)+(l-1)*s.cols+1+Nk(o>e?r:t);return $n(c,zn(a,i))}function Nk(t,e){return t-1}function Ak(t,e){return e.cols-t}function Ek(t,e,s,i,r,o){return No(e,i,r,o).length===0?"":$n(Hm(t,e,t,e-bi(e,r),!1,r).length,zn("D",o))}function No(t,e,s,i){let r=t-bi(t,s),o=e-bi(e,s),a=Math.abs(r-o)-Rk(t,e,s);return $n(a,zn(Um(t,e),i))}function Ik(t,e,s,i,r,o){let a;No(e,i,r,o).length>0?a=i-bi(i,r):a=e;let l=i,c=Tk(t,e,s,i,r,o);return $n(Hm(t,a,s,l,c==="C",r).length,zn(c,o))}function Rk(t,e,s){let i=0,r=t-bi(t,s),o=e-bi(e,s);for(let a=0;a<Math.abs(r-o);a++){let l=Um(t,e)==="A"?-1:1;s.buffer.lines.get(r+l*a)?.isWrapped&&i++}return i}function bi(t,e){let s=0,i=e.buffer.lines.get(t),r=i?.isWrapped;for(;r&&t>=0&&t<e.rows;)s++,i=e.buffer.lines.get(--t),r=i?.isWrapped;return s}function Tk(t,e,s,i,r,o){let a;return No(s,i,r,o).length>0?a=i-bi(i,r):a=e,t<s&&a<=i||t>=s&&a<i?"C":"D"}function Um(t,e){return t>e?"A":"B"}function Hm(t,e,s,i,r,o){let a=t,l=e,c="";for(;(a!==s||l!==i)&&l>=0&&l<o.buffer.lines.length;)a+=r?1:-1,r&&a>o.cols-1?(c+=o.buffer.translateBufferLineToString(l,!1,t,a),a=0,t=0,l++):!r&&a<0&&(c+=o.buffer.translateBufferLineToString(l,!1,0,t+1),a=o.cols-1,t=a,l--);return c+o.buffer.translateBufferLineToString(l,!1,t,a)}function zn(t,e){let s=e?"O":"[";return Q.ESC+s+t}function $n(t,e){t=Math.floor(t);let s="";for(let i=0;i<t;i++)s+=e;return s}var Dk=class{constructor(t){this._bufferService=t,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?t%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)-1]:[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[t,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[Math.max(t,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let t=this.selectionStart,e=this.selectionEnd;return!t||!e?!1:t[1]>e[1]||t[1]===e[1]&&t[0]>e[0]}handleTrim(t){return this.selectionStart&&(this.selectionStart[1]-=t),this.selectionEnd&&(this.selectionEnd[1]-=t),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function Qd(t,e){if(t.start.y>t.end.y)throw new Error(`Buffer range end (${t.end.x}, ${t.end.y}) cannot be before start (${t.start.x}, ${t.start.y})`);return e*(t.end.y-t.start.y)+(t.end.x-t.start.x+1)}var sa=50,Mk=15,Pk=50,Lk=500,Ok=" ",Bk=new RegExp(Ok,"g"),il=class extends ke{constructor(t,e,s,i,r,o,a,l,c){super(),this._element=t,this._screenElement=e,this._linkifier=s,this._bufferService=i,this._coreService=r,this._mouseService=o,this._optionsService=a,this._renderService=l,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new cs,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new re),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new re),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new re),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new re),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=d=>this._handleMouseMove(d),this._mouseUpListener=d=>this._handleMouseUp(d),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(d=>this._handleTrim(d)),this._register(this._bufferService.buffers.onBufferActivate(d=>this._handleBufferActivate(d))),this.enable(),this._model=new Dk(this._bufferService),this._activeSelectionMode=0,this._register(He(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(d=>{d.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd;return!t||!e?!1:t[0]!==e[0]||t[1]!==e[1]}get selectionText(){let t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd;if(!t||!e)return"";let s=this._bufferService.buffer,i=[];if(this._activeSelectionMode===3){if(t[0]===e[0])return"";let r=t[0]<e[0]?t[0]:e[0],o=t[0]<e[0]?e[0]:t[0];for(let a=t[1];a<=e[1];a++){let l=s.translateBufferLineToString(a,!0,r,o);i.push(l)}}else{let r=t[1]===e[1]?e[0]:void 0;i.push(s.translateBufferLineToString(t[1],!0,t[0],r));for(let o=t[1]+1;o<=e[1]-1;o++){let a=s.lines.get(o),l=s.translateBufferLineToString(o,!0);a?.isWrapped?i[i.length-1]+=l:i.push(l)}if(t[1]!==e[1]){let o=s.lines.get(e[1]),a=s.translateBufferLineToString(e[1],!0,0,e[0]);o&&o.isWrapped?i[i.length-1]+=a:i.push(a)}}return i.map(r=>r.replace(Bk," ")).join(zm?`\r
728
+ `:`
729
+ `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(t){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),fc&&t&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(t){let e=this._getMouseBufferCoords(t),s=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!s||!i||!e?!1:this._areCoordsInSelection(e,s,i)}isCellInSelection(t,e){let s=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!s||!i?!1:this._areCoordsInSelection([t,e],s,i)}_areCoordsInSelection(t,e,s){return t[1]>e[1]&&t[1]<s[1]||e[1]===s[1]&&t[1]===e[1]&&t[0]>=e[0]&&t[0]<s[0]||e[1]<s[1]&&t[1]===s[1]&&t[0]<s[0]||e[1]<s[1]&&t[1]===e[1]&&t[0]>=e[0]}_selectWordAtCursor(t,e){let s=this._linkifier.currentLink?.link?.range;if(s)return this._model.selectionStart=[s.start.x-1,s.start.y-1],this._model.selectionStartLength=Qd(s,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let i=this._getMouseBufferCoords(t);return i?(this._selectWordAt(i,e),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(t,e){this._model.clearSelection(),t=Math.max(t,0),e=Math.min(e,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,t],this._model.selectionEnd=[this._bufferService.cols,e],this.refresh(),this._onSelectionChange.fire()}_handleTrim(t){this._model.handleTrim(t)&&this.refresh()}_getMouseBufferCoords(t){let e=this._mouseService.getCoords(t,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(e)return e[0]--,e[1]--,e[1]+=this._bufferService.buffer.ydisp,e}_getMouseEventScrollAmount(t){let e=uc(this._coreBrowserService.window,t,this._screenElement)[1],s=this._renderService.dimensions.css.canvas.height;return e>=0&&e<=s?0:(e>s&&(e-=s),e=Math.min(Math.max(e,-sa),sa),e/=sa,e/Math.abs(e)+Math.round(e*(Mk-1)))}shouldForceSelection(t){return so?t.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:t.shiftKey}handleMouseDown(t){if(this._mouseDownTimeStamp=t.timeStamp,!(t.button===2&&this.hasSelection)&&t.button===0){if(!this._enabled){if(!this.shouldForceSelection(t))return;t.stopPropagation()}t.preventDefault(),this._dragScrollAmount=0,this._enabled&&t.shiftKey?this._handleIncrementalClick(t):t.detail===1?this._handleSingleClick(t):t.detail===2?this._handleDoubleClick(t):t.detail===3&&this._handleTripleClick(t),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),Pk)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(t){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(t))}_handleSingleClick(t){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(t)?3:0,this._model.selectionStart=this._getMouseBufferCoords(t),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let e=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);e&&e.length!==this._model.selectionStart[0]&&e.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(t){this._selectWordAtCursor(t,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(t){let e=this._getMouseBufferCoords(t);e&&(this._activeSelectionMode=2,this._selectLineAt(e[1]))}shouldColumnSelect(t){return t.altKey&&!(so&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(t){if(t.stopImmediatePropagation(),!this._model.selectionStart)return;let e=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(t),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(t),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let s=this._bufferService.buffer;if(this._model.selectionEnd[1]<s.lines.length){let i=s.lines.get(this._model.selectionEnd[1]);i&&i.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!e||e[0]!==this._model.selectionEnd[0]||e[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let t=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(t.ydisp+this._bufferService.rows,t.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=t.ydisp),this.refresh()}}_handleMouseUp(t){let e=t.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&e<Lk&&t.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let s=this._mouseService.getCoords(t,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(s&&s[0]!==void 0&&s[1]!==void 0){let i=jk(s[0]-1,s[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd,s=!!t&&!!e&&(t[0]!==e[0]||t[1]!==e[1]);if(!s){this._oldHasSelection&&this._fireOnSelectionChange(t,e,s);return}!t||!e||(!this._oldSelectionStart||!this._oldSelectionEnd||t[0]!==this._oldSelectionStart[0]||t[1]!==this._oldSelectionStart[1]||e[0]!==this._oldSelectionEnd[0]||e[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(t,e,s)}_fireOnSelectionChange(t,e,s){this._oldSelectionStart=t,this._oldSelectionEnd=e,this._oldHasSelection=s,this._onSelectionChange.fire()}_handleBufferActivate(t){this.clearSelection(),this._trimListener.dispose(),this._trimListener=t.activeBuffer.lines.onTrim(e=>this._handleTrim(e))}_convertViewportColToCharacterIndex(t,e){let s=e;for(let i=0;e>=i;i++){let r=t.loadCell(i,this._workCell).getChars().length;this._workCell.getWidth()===0?s--:r>1&&e!==i&&(s+=r-1)}return s}setSelection(t,e,s){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[t,e],this._model.selectionStartLength=s,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(t){this._isClickInSelection(t)||(this._selectWordAtCursor(t,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(t,e,s=!0,i=!0){if(t[0]>=this._bufferService.cols)return;let r=this._bufferService.buffer,o=r.lines.get(t[1]);if(!o)return;let a=r.translateBufferLineToString(t[1],!1),l=this._convertViewportColToCharacterIndex(o,t[0]),c=l,d=t[0]-l,u=0,h=0,f=0,m=0;if(a.charAt(l)===" "){for(;l>0&&a.charAt(l-1)===" ";)l--;for(;c<a.length&&a.charAt(c+1)===" ";)c++}else{let _=t[0],v=t[0];o.getWidth(_)===0&&(u++,_--),o.getWidth(v)===2&&(h++,v++);let x=o.getString(v).length;for(x>1&&(m+=x-1,c+=x-1);_>0&&l>0&&!this._isCharWordSeparator(o.loadCell(_-1,this._workCell));){o.loadCell(_-1,this._workCell);let b=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,_--):b>1&&(f+=b-1,l-=b-1),l--,_--}for(;v<o.length&&c+1<a.length&&!this._isCharWordSeparator(o.loadCell(v+1,this._workCell));){o.loadCell(v+1,this._workCell);let b=this._workCell.getChars().length;this._workCell.getWidth()===2?(h++,v++):b>1&&(m+=b-1,c+=b-1),c++,v++}}c++;let p=l+d-u+f,g=Math.min(this._bufferService.cols,c-l+u+h-f-m);if(!(!e&&a.slice(l,c).trim()==="")){if(s&&p===0&&o.getCodePoint(0)!==32){let _=r.lines.get(t[1]-1);if(_&&o.isWrapped&&_.getCodePoint(this._bufferService.cols-1)!==32){let v=this._getWordAt([this._bufferService.cols-1,t[1]-1],!1,!0,!1);if(v){let x=this._bufferService.cols-v.start;p-=x,g+=x}}}if(i&&p+g===this._bufferService.cols&&o.getCodePoint(this._bufferService.cols-1)!==32){let _=r.lines.get(t[1]+1);if(_?.isWrapped&&_.getCodePoint(0)!==32){let v=this._getWordAt([0,t[1]+1],!1,!1,!0);v&&(g+=v.length)}}return{start:p,length:g}}}_selectWordAt(t,e){let s=this._getWordAt(t,e);if(s){for(;s.start<0;)s.start+=this._bufferService.cols,t[1]--;this._model.selectionStart=[s.start,t[1]],this._model.selectionStartLength=s.length}}_selectToWordAt(t){let e=this._getWordAt(t,!0);if(e){let s=t[1];for(;e.start<0;)e.start+=this._bufferService.cols,s--;if(!this._model.areSelectionValuesReversed())for(;e.start+e.length>this._bufferService.cols;)e.length-=this._bufferService.cols,s++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?e.start:e.start+e.length,s]}}_isCharWordSeparator(t){return t.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(t.getChars())>=0}_selectLineAt(t){let e=this._bufferService.buffer.getWrappedRangeForLine(t),s={start:{x:0,y:e.first},end:{x:this._bufferService.cols-1,y:e.last}};this._model.selectionStart=[0,e.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=Qd(s,this._bufferService.cols)}};il=Je([le(3,Ot),le(4,Ni),le(5,rc),le(6,Bt),le(7,Hs),le(8,Us)],il);var Zd=class{constructor(){this._data={}}set(t,e,s){this._data[t]||(this._data[t]={}),this._data[t][e]=s}get(t,e){return this._data[t]?this._data[t][e]:void 0}clear(){this._data={}}},eh=class{constructor(){this._color=new Zd,this._css=new Zd}setCss(t,e,s){this._css.set(t,e,s)}getCss(t,e){return this._css.get(t,e)}setColor(t,e,s){this._color.set(t,e,s)}getColor(t,e){return this._color.get(t,e)}clear(){this._color.clear(),this._css.clear()}},rt=Object.freeze((()=>{let t=[Ke.toColor("#2e3436"),Ke.toColor("#cc0000"),Ke.toColor("#4e9a06"),Ke.toColor("#c4a000"),Ke.toColor("#3465a4"),Ke.toColor("#75507b"),Ke.toColor("#06989a"),Ke.toColor("#d3d7cf"),Ke.toColor("#555753"),Ke.toColor("#ef2929"),Ke.toColor("#8ae234"),Ke.toColor("#fce94f"),Ke.toColor("#729fcf"),Ke.toColor("#ad7fa8"),Ke.toColor("#34e2e2"),Ke.toColor("#eeeeec")],e=[0,95,135,175,215,255];for(let s=0;s<216;s++){let i=e[s/36%6|0],r=e[s/6%6|0],o=e[s%6];t.push({css:tt.toCss(i,r,o),rgba:tt.toRgba(i,r,o)})}for(let s=0;s<24;s++){let i=8+s*10;t.push({css:tt.toCss(i,i,i),rgba:tt.toRgba(i,i,i)})}return t})()),mi=Ke.toColor("#ffffff"),gn=Ke.toColor("#000000"),th=Ke.toColor("#ffffff"),sh=gn,cn={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},zk=mi,nl=class extends ke{constructor(t){super(),this._optionsService=t,this._contrastCache=new eh,this._halfContrastCache=new eh,this._onChangeColors=this._register(new re),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:mi,background:gn,cursor:th,cursorAccent:sh,selectionForeground:void 0,selectionBackgroundTransparent:cn,selectionBackgroundOpaque:ze.blend(gn,cn),selectionInactiveBackgroundTransparent:cn,selectionInactiveBackgroundOpaque:ze.blend(gn,cn),scrollbarSliderBackground:ze.opacity(mi,.2),scrollbarSliderHoverBackground:ze.opacity(mi,.4),scrollbarSliderActiveBackground:ze.opacity(mi,.5),overviewRulerBorder:mi,ansi:rt.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(t={}){let e=this._colors;if(e.foreground=Pe(t.foreground,mi),e.background=Pe(t.background,gn),e.cursor=ze.blend(e.background,Pe(t.cursor,th)),e.cursorAccent=ze.blend(e.background,Pe(t.cursorAccent,sh)),e.selectionBackgroundTransparent=Pe(t.selectionBackground,cn),e.selectionBackgroundOpaque=ze.blend(e.background,e.selectionBackgroundTransparent),e.selectionInactiveBackgroundTransparent=Pe(t.selectionInactiveBackground,e.selectionBackgroundTransparent),e.selectionInactiveBackgroundOpaque=ze.blend(e.background,e.selectionInactiveBackgroundTransparent),e.selectionForeground=t.selectionForeground?Pe(t.selectionForeground,Yd):void 0,e.selectionForeground===Yd&&(e.selectionForeground=void 0),ze.isOpaque(e.selectionBackgroundTransparent)&&(e.selectionBackgroundTransparent=ze.opacity(e.selectionBackgroundTransparent,.3)),ze.isOpaque(e.selectionInactiveBackgroundTransparent)&&(e.selectionInactiveBackgroundTransparent=ze.opacity(e.selectionInactiveBackgroundTransparent,.3)),e.scrollbarSliderBackground=Pe(t.scrollbarSliderBackground,ze.opacity(e.foreground,.2)),e.scrollbarSliderHoverBackground=Pe(t.scrollbarSliderHoverBackground,ze.opacity(e.foreground,.4)),e.scrollbarSliderActiveBackground=Pe(t.scrollbarSliderActiveBackground,ze.opacity(e.foreground,.5)),e.overviewRulerBorder=Pe(t.overviewRulerBorder,zk),e.ansi=rt.slice(),e.ansi[0]=Pe(t.black,rt[0]),e.ansi[1]=Pe(t.red,rt[1]),e.ansi[2]=Pe(t.green,rt[2]),e.ansi[3]=Pe(t.yellow,rt[3]),e.ansi[4]=Pe(t.blue,rt[4]),e.ansi[5]=Pe(t.magenta,rt[5]),e.ansi[6]=Pe(t.cyan,rt[6]),e.ansi[7]=Pe(t.white,rt[7]),e.ansi[8]=Pe(t.brightBlack,rt[8]),e.ansi[9]=Pe(t.brightRed,rt[9]),e.ansi[10]=Pe(t.brightGreen,rt[10]),e.ansi[11]=Pe(t.brightYellow,rt[11]),e.ansi[12]=Pe(t.brightBlue,rt[12]),e.ansi[13]=Pe(t.brightMagenta,rt[13]),e.ansi[14]=Pe(t.brightCyan,rt[14]),e.ansi[15]=Pe(t.brightWhite,rt[15]),t.extendedAnsi){let s=Math.min(e.ansi.length-16,t.extendedAnsi.length);for(let i=0;i<s;i++)e.ansi[i+16]=Pe(t.extendedAnsi[i],rt[i+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(t){this._restoreColor(t),this._onChangeColors.fire(this.colors)}_restoreColor(t){if(t===void 0){for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e];return}switch(t){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[t]=this._restoreColors.ansi[t]}}modifyColors(t){t(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};nl=Je([le(0,Bt)],nl);function Pe(t,e){if(t!==void 0)try{return Ke.toColor(t)}catch{}return e}var $k=class{constructor(...t){this._entries=new Map;for(let[e,s]of t)this.set(e,s)}set(t,e){let s=this._entries.get(t);return this._entries.set(t,e),s}forEach(t){for(let[e,s]of this._entries.entries())t(e,s)}has(t){return this._entries.has(t)}get(t){return this._entries.get(t)}},Fk=class{constructor(){this._services=new $k,this._services.set(nc,this)}setService(t,e){this._services.set(t,e)}getService(t){return this._services.get(t)}createInstance(t,...e){let s=MC(t).sort((o,a)=>o.index-a.index),i=[];for(let o of s){let a=this._services.get(o.id);if(!a)throw new Error(`[createInstance] ${t.name} depends on UNKNOWN service ${o.id._id}.`);i.push(a)}let r=s.length>0?s[0].index:e.length;if(e.length!==r)throw new Error(`[createInstance] First service dependency of ${t.name} at position ${r+1} conflicts with ${e.length} static arguments`);return new t(...e,...i)}},Uk={trace:0,debug:1,info:2,warn:3,error:4,off:5},Hk="xterm.js: ",rl=class extends ke{constructor(t){super(),this._optionsService=t,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=Uk[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(t){for(let e=0;e<t.length;e++)typeof t[e]=="function"&&(t[e]=t[e]())}_log(t,e,s){this._evalLazyOptionalParams(s),t.call(console,(this._optionsService.options.logger?"":Hk)+e,...s)}trace(t,...e){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,t,e)}debug(t,...e){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,t,e)}info(t,...e){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,t,e)}warn(t,...e){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,t,e)}error(t,...e){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,t,e)}};rl=Je([le(0,Bt)],rl);var ih=class extends ke{constructor(t){super(),this._maxLength=t,this.onDeleteEmitter=this._register(new re),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new re),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new re),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(t){if(this._maxLength===t)return;let e=new Array(t);for(let s=0;s<Math.min(t,this.length);s++)e[s]=this._array[this._getCyclicIndex(s)];this._array=e,this._maxLength=t,this._startIndex=0}get length(){return this._length}set length(t){if(t>this._length)for(let e=this._length;e<t;e++)this._array[e]=void 0;this._length=t}get(t){return this._array[this._getCyclicIndex(t)]}set(t,e){this._array[this._getCyclicIndex(t)]=e}push(t){this._array[this._getCyclicIndex(this._length)]=t,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(t,e,...s){if(e){for(let i=t;i<this._length-e;i++)this._array[this._getCyclicIndex(i)]=this._array[this._getCyclicIndex(i+e)];this._length-=e,this.onDeleteEmitter.fire({index:t,amount:e})}for(let i=this._length-1;i>=t;i--)this._array[this._getCyclicIndex(i+s.length)]=this._array[this._getCyclicIndex(i)];for(let i=0;i<s.length;i++)this._array[this._getCyclicIndex(t+i)]=s[i];if(s.length&&this.onInsertEmitter.fire({index:t,amount:s.length}),this._length+s.length>this._maxLength){let i=this._length+s.length-this._maxLength;this._startIndex+=i,this._length=this._maxLength,this.onTrimEmitter.fire(i)}else this._length+=s.length}trimStart(t){t>this._length&&(t=this._length),this._startIndex+=t,this._length-=t,this.onTrimEmitter.fire(t)}shiftElements(t,e,s){if(!(e<=0)){if(t<0||t>=this._length)throw new Error("start argument out of range");if(t+s<0)throw new Error("Cannot shift elements in list beyond index 0");if(s>0){for(let r=e-1;r>=0;r--)this.set(t+r+s,this.get(t+r));let i=t+e+s-this._length;if(i>0)for(this._length+=i;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let i=0;i<e;i++)this.set(t+i+s,this.get(t+i))}}_getCyclicIndex(t){return(this._startIndex+t)%this._maxLength}},Ce=3,et=Object.freeze(new rr),Sr=0,ia=2,_n=class Wm{constructor(e,s,i=!1){this.isWrapped=i,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*Ce);let r=s||cs.fromCharData([0,dm,1,0]);for(let o=0;o<e;++o)this.setCell(o,r);this.length=e}get(e){let s=this._data[e*Ce+0],i=s&2097151;return[this._data[e*Ce+1],s&2097152?this._combined[e]:i?Xs(i):"",s>>22,s&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):i]}set(e,s){this._data[e*Ce+1]=s[0],s[1].length>1?(this._combined[e]=s[1],this._data[e*Ce+0]=e|2097152|s[2]<<22):this._data[e*Ce+0]=s[1].charCodeAt(0)|s[2]<<22}getWidth(e){return this._data[e*Ce+0]>>22}hasWidth(e){return this._data[e*Ce+0]&12582912}getFg(e){return this._data[e*Ce+1]}getBg(e){return this._data[e*Ce+2]}hasContent(e){return this._data[e*Ce+0]&4194303}getCodePoint(e){let s=this._data[e*Ce+0];return s&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):s&2097151}isCombined(e){return this._data[e*Ce+0]&2097152}getString(e){let s=this._data[e*Ce+0];return s&2097152?this._combined[e]:s&2097151?Xs(s&2097151):""}isProtected(e){return this._data[e*Ce+2]&536870912}loadCell(e,s){return Sr=e*Ce,s.content=this._data[Sr+0],s.fg=this._data[Sr+1],s.bg=this._data[Sr+2],s.content&2097152&&(s.combinedData=this._combined[e]),s.bg&268435456&&(s.extended=this._extendedAttrs[e]),s}setCell(e,s){s.content&2097152&&(this._combined[e]=s.combinedData),s.bg&268435456&&(this._extendedAttrs[e]=s.extended),this._data[e*Ce+0]=s.content,this._data[e*Ce+1]=s.fg,this._data[e*Ce+2]=s.bg}setCellFromCodepoint(e,s,i,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*Ce+0]=s|i<<22,this._data[e*Ce+1]=r.fg,this._data[e*Ce+2]=r.bg}addCodepointToCell(e,s,i){let r=this._data[e*Ce+0];r&2097152?this._combined[e]+=Xs(s):r&2097151?(this._combined[e]=Xs(r&2097151)+Xs(s),r&=-2097152,r|=2097152):r=s|1<<22,i&&(r&=-12582913,r|=i<<22),this._data[e*Ce+0]=r}insertCells(e,s,i){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,i),s<this.length-e){let r=new cs;for(let o=this.length-e-s-1;o>=0;--o)this.setCell(e+s+o,this.loadCell(e+o,r));for(let o=0;o<s;++o)this.setCell(e+o,i)}else for(let r=e;r<this.length;++r)this.setCell(r,i);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,i)}deleteCells(e,s,i){if(e%=this.length,s<this.length-e){let r=new cs;for(let o=0;o<this.length-e-s;++o)this.setCell(e+o,this.loadCell(e+s+o,r));for(let o=this.length-s;o<this.length;++o)this.setCell(o,i)}else for(let r=e;r<this.length;++r)this.setCell(r,i);e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,i),this.getWidth(e)===0&&!this.hasContent(e)&&this.setCellFromCodepoint(e,0,1,i)}replaceCells(e,s,i,r=!1){if(r){for(e&&this.getWidth(e-1)===2&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),s<this.length&&this.getWidth(s-1)===2&&!this.isProtected(s)&&this.setCellFromCodepoint(s,0,1,i);e<s&&e<this.length;)this.isProtected(e)||this.setCell(e,i),e++;return}for(e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,i),s<this.length&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s,0,1,i);e<s&&e<this.length;)this.setCell(e++,i)}resize(e,s){if(e===this.length)return this._data.length*4*ia<this._data.buffer.byteLength;let i=e*Ce;if(e>this.length){if(this._data.buffer.byteLength>=i*4)this._data=new Uint32Array(this._data.buffer,0,i);else{let r=new Uint32Array(i);r.set(this._data),this._data=r}for(let r=this.length;r<e;++r)this.setCell(r,s)}else{this._data=this._data.subarray(0,i);let r=Object.keys(this._combined);for(let a=0;a<r.length;a++){let l=parseInt(r[a],10);l>=e&&delete this._combined[l]}let o=Object.keys(this._extendedAttrs);for(let a=0;a<o.length;a++){let l=parseInt(o[a],10);l>=e&&delete this._extendedAttrs[l]}}return this.length=e,i*4*ia<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*ia<this._data.buffer.byteLength){let e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,s=!1){if(s){for(let i=0;i<this.length;++i)this.isProtected(i)||this.setCell(i,e);return}this._combined={},this._extendedAttrs={};for(let i=0;i<this.length;++i)this.setCell(i,e)}copyFrom(e){this.length!==e.length?this._data=new Uint32Array(e._data):this._data.set(e._data),this.length=e.length,this._combined={};for(let s in e._combined)this._combined[s]=e._combined[s];this._extendedAttrs={};for(let s in e._extendedAttrs)this._extendedAttrs[s]=e._extendedAttrs[s];this.isWrapped=e.isWrapped}clone(){let e=new Wm(0);e._data=new Uint32Array(this._data),e.length=this.length;for(let s in this._combined)e._combined[s]=this._combined[s];for(let s in this._extendedAttrs)e._extendedAttrs[s]=this._extendedAttrs[s];return e.isWrapped=this.isWrapped,e}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Ce+0]&4194303)return e+(this._data[e*Ce+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Ce+0]&4194303||this._data[e*Ce+2]&50331648)return e+(this._data[e*Ce+0]>>22);return 0}copyCellsFrom(e,s,i,r,o){let a=e._data;if(o)for(let c=r-1;c>=0;c--){for(let d=0;d<Ce;d++)this._data[(i+c)*Ce+d]=a[(s+c)*Ce+d];a[(s+c)*Ce+2]&268435456&&(this._extendedAttrs[i+c]=e._extendedAttrs[s+c])}else for(let c=0;c<r;c++){for(let d=0;d<Ce;d++)this._data[(i+c)*Ce+d]=a[(s+c)*Ce+d];a[(s+c)*Ce+2]&268435456&&(this._extendedAttrs[i+c]=e._extendedAttrs[s+c])}let l=Object.keys(e._combined);for(let c=0;c<l.length;c++){let d=parseInt(l[c],10);d>=s&&(this._combined[d-s+i]=e._combined[d])}}translateToString(e,s,i,r){s=s??0,i=i??this.length,e&&(i=Math.min(i,this.getTrimmedLength())),r&&(r.length=0);let o="";for(;s<i;){let a=this._data[s*Ce+0],l=a&2097151,c=a&2097152?this._combined[s]:l?Xs(l):Qs;if(o+=c,r)for(let d=0;d<c.length;++d)r.push(s);s+=a>>22||1}return r&&r.push(s),o}};function Wk(t,e,s,i,r,o){let a=[];for(let l=0;l<t.length-1;l++){let c=l,d=t.get(++c);if(!d.isWrapped)continue;let u=[t.get(l)];for(;c<t.length&&d.isWrapped;)u.push(d),d=t.get(++c);if(!o&&i>=l&&i<c){l+=u.length-1;continue}let h=0,f=Fn(u,h,e),m=1,p=0;for(;m<u.length;){let _=Fn(u,m,e),v=_-p,x=s-f,b=Math.min(v,x);u[h].copyCellsFrom(u[m],p,f,b,!1),f+=b,f===s&&(h++,f=0),p+=b,p===_&&(m++,p=0),f===0&&h!==0&&u[h-1].getWidth(s-1)===2&&(u[h].copyCellsFrom(u[h-1],s-1,f++,1,!1),u[h-1].setCell(s-1,r))}u[h].replaceCells(f,s,r);let g=0;for(let _=u.length-1;_>0&&(_>h||u[_].getTrimmedLength()===0);_--)g++;g>0&&(a.push(l+u.length-g),a.push(g)),l+=u.length-1}return a}function Kk(t,e){let s=[],i=0,r=e[i],o=0;for(let a=0;a<t.length;a++)if(r===a){let l=e[++i];t.onDeleteEmitter.fire({index:a-o,amount:l}),a+=l-1,o+=l,r=e[++i]}else s.push(a);return{layout:s,countRemoved:o}}function qk(t,e){let s=[];for(let i=0;i<e.length;i++)s.push(t.get(e[i]));for(let i=0;i<s.length;i++)t.set(i,s[i]);t.length=e.length}function Gk(t,e,s){let i=[],r=t.map((c,d)=>Fn(t,d,e)).reduce((c,d)=>c+d),o=0,a=0,l=0;for(;l<r;){if(r-l<s){i.push(r-l);break}o+=s;let c=Fn(t,a,e);o>c&&(o-=c,a++);let d=t[a].getWidth(o-1)===2;d&&o--;let u=d?s-1:s;i.push(u),l+=u}return i}function Fn(t,e,s){if(e===t.length-1)return t[e].getTrimmedLength();let i=!t[e].hasContent(s-1)&&t[e].getWidth(s-1)===1,r=t[e+1].getWidth(0)===2;return i&&r?s-1:s}var Km=class qm{constructor(e){this.line=e,this.isDisposed=!1,this._disposables=[],this._id=qm._nextId++,this._onDispose=this.register(new re),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),vi(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};Km._nextId=1;var Yk=Km,dt={},pi=dt.B;dt[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};dt.A={"#":"£"};dt.B=void 0;dt[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};dt.C=dt[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};dt.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};dt.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};dt.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};dt.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};dt.E=dt[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};dt.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};dt.H=dt[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};dt["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var nh=4294967295,rh=class{constructor(t,e,s){this._hasScrollback=t,this._optionsService=e,this._bufferService=s,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=et.clone(),this.savedCharset=pi,this.markers=[],this._nullCell=cs.fromCharData([0,dm,1,0]),this._whitespaceCell=cs.fromCharData([0,Qs,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new io,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new ih(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(t){return t?(this._nullCell.fg=t.fg,this._nullCell.bg=t.bg,this._nullCell.extended=t.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new Zr),this._nullCell}getWhitespaceCell(t){return t?(this._whitespaceCell.fg=t.fg,this._whitespaceCell.bg=t.bg,this._whitespaceCell.extended=t.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new Zr),this._whitespaceCell}getBlankLine(t,e){return new _n(this._bufferService.cols,this.getNullCell(t),e)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let t=this.ybase+this.y-this.ydisp;return t>=0&&t<this._rows}_getCorrectBufferLength(t){if(!this._hasScrollback)return t;let e=t+this._optionsService.rawOptions.scrollback;return e>nh?nh:e}fillViewportRows(t){if(this.lines.length===0){t===void 0&&(t=et);let e=this._rows;for(;e--;)this.lines.push(this.getBlankLine(t))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new ih(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(t,e){let s=this.getNullCell(et),i=0,r=this._getCorrectBufferLength(e);if(r>this.lines.maxLength&&(this.lines.maxLength=r),this.lines.length>0){if(this._cols<t)for(let a=0;a<this.lines.length;a++)i+=+this.lines.get(a).resize(t,s);let o=0;if(this._rows<e)for(let a=this._rows;a<e;a++)this.lines.length<e+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new _n(t,s)):this.ybase>0&&this.lines.length<=this.ybase+this.y+o+1?(this.ybase--,o++,this.ydisp>0&&this.ydisp--):this.lines.push(new _n(t,s)));else for(let a=this._rows;a>e;a--)this.lines.length>e+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(r<this.lines.maxLength){let a=this.lines.length-r;a>0&&(this.lines.trimStart(a),this.ybase=Math.max(this.ybase-a,0),this.ydisp=Math.max(this.ydisp-a,0),this.savedY=Math.max(this.savedY-a,0)),this.lines.maxLength=r}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,e-1),o&&(this.y+=o),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=e-1,this._isReflowEnabled&&(this._reflow(t,e),this._cols>t))for(let o=0;o<this.lines.length;o++)i+=+this.lines.get(o).resize(t,s);this._cols=t,this._rows=e,this._memoryCleanupQueue.clear(),i>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let t=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,t=!1);let e=0;for(;this._memoryCleanupPosition<this.lines.length;)if(e+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),e>100)return!0;return t}get _isReflowEnabled(){let t=this._optionsService.rawOptions.windowsPty;return t&&t.buildNumber?this._hasScrollback&&t.backend==="conpty"&&t.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(t,e){this._cols!==t&&(t>this._cols?this._reflowLarger(t,e):this._reflowSmaller(t,e))}_reflowLarger(t,e){let s=this._optionsService.rawOptions.reflowCursorLine,i=Wk(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(et),s);if(i.length>0){let r=Kk(this.lines,i);qk(this.lines,r.layout),this._reflowLargerAdjustViewport(t,e,r.countRemoved)}}_reflowLargerAdjustViewport(t,e,s){let i=this.getNullCell(et),r=s;for(;r-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<e&&this.lines.push(new _n(t,i))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-s,0)}_reflowSmaller(t,e){let s=this._optionsService.rawOptions.reflowCursorLine,i=this.getNullCell(et),r=[],o=0;for(let a=this.lines.length-1;a>=0;a--){let l=this.lines.get(a);if(!l||!l.isWrapped&&l.getTrimmedLength()<=t)continue;let c=[l];for(;l.isWrapped&&a>0;)l=this.lines.get(--a),c.unshift(l);if(!s){let b=this.ybase+this.y;if(b>=a&&b<a+c.length)continue}let d=c[c.length-1].getTrimmedLength(),u=Gk(c,this._cols,t),h=u.length-c.length,f;this.ybase===0&&this.y!==this.lines.length-1?f=Math.max(0,this.y-this.lines.maxLength+h):f=Math.max(0,this.lines.length-this.lines.maxLength+h);let m=[];for(let b=0;b<h;b++){let y=this.getBlankLine(et,!0);m.push(y)}m.length>0&&(r.push({start:a+c.length+o,newLines:m}),o+=m.length),c.push(...m);let p=u.length-1,g=u[p];g===0&&(p--,g=u[p]);let _=c.length-h-1,v=d;for(;_>=0;){let b=Math.min(v,g);if(c[p]===void 0)break;if(c[p].copyCellsFrom(c[_],v-b,g-b,b,!0),g-=b,g===0&&(p--,g=u[p]),v-=b,v===0){_--;let y=Math.max(_,0);v=Fn(c,y,this._cols)}}for(let b=0;b<c.length;b++)u[b]<t&&c[b].setCell(u[b],i);let x=h-f;for(;x-- >0;)this.ybase===0?this.y<e-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+o)-e&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+h,this.ybase+e-1)}if(r.length>0){let a=[],l=[];for(let g=0;g<this.lines.length;g++)l.push(this.lines.get(g));let c=this.lines.length,d=c-1,u=0,h=r[u];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+o);let f=0;for(let g=Math.min(this.lines.maxLength-1,c+o-1);g>=0;g--)if(h&&h.start>d+f){for(let _=h.newLines.length-1;_>=0;_--)this.lines.set(g--,h.newLines[_]);g++,a.push({index:d+1,amount:h.newLines.length}),f+=h.newLines.length,h=r[++u]}else this.lines.set(g,l[d--]);let m=0;for(let g=a.length-1;g>=0;g--)a[g].index+=m,this.lines.onInsertEmitter.fire(a[g]),m+=a[g].amount;let p=Math.max(0,c+o-this.lines.maxLength);p>0&&this.lines.onTrimEmitter.fire(p)}}translateBufferLineToString(t,e,s=0,i){let r=this.lines.get(t);return r?r.translateToString(e,s,i):""}getWrappedRangeForLine(t){let e=t,s=t;for(;e>0&&this.lines.get(e).isWrapped;)e--;for(;s+1<this.lines.length&&this.lines.get(s+1).isWrapped;)s++;return{first:e,last:s}}setupTabStops(t){for(t!=null?this.tabs[t]||(t=this.prevStop(t)):(this.tabs={},t=0);t<this._cols;t+=this._optionsService.rawOptions.tabStopWidth)this.tabs[t]=!0}prevStop(t){for(t==null&&(t=this.x);!this.tabs[--t]&&t>0;);return t>=this._cols?this._cols-1:t<0?0:t}nextStop(t){for(t==null&&(t=this.x);!this.tabs[++t]&&t<this._cols;);return t>=this._cols?this._cols-1:t<0?0:t}clearMarkers(t){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].line===t&&(this.markers[e].dispose(),this.markers.splice(e--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].dispose();this.markers.length=0,this._isClearing=!1}addMarker(t){let e=new Yk(t);return this.markers.push(e),e.register(this.lines.onTrim(s=>{e.line-=s,e.line<0&&e.dispose()})),e.register(this.lines.onInsert(s=>{e.line>=s.index&&(e.line+=s.amount)})),e.register(this.lines.onDelete(s=>{e.line>=s.index&&e.line<s.index+s.amount&&e.dispose(),e.line>s.index&&(e.line-=s.amount)})),e.register(e.onDispose(()=>this._removeMarker(e))),e}_removeMarker(t){this._isClearing||this.markers.splice(this.markers.indexOf(t),1)}},Xk=class extends ke{constructor(t,e){super(),this._optionsService=t,this._bufferService=e,this._onBufferActivate=this._register(new re),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new rh(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new rh(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(t){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(t),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(t,e){this._normal.resize(t,e),this._alt.resize(t,e),this.setupTabStops(t)}setupTabStops(t){this._normal.setupTabStops(t),this._alt.setupTabStops(t)}},Gm=2,Ym=1,ol=class extends ke{constructor(t){super(),this.isUserScrolling=!1,this._onResize=this._register(new re),this.onResize=this._onResize.event,this._onScroll=this._register(new re),this.onScroll=this._onScroll.event,this.cols=Math.max(t.rawOptions.cols||0,Gm),this.rows=Math.max(t.rawOptions.rows||0,Ym),this.buffers=this._register(new Xk(t,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(t,e){let s=this.cols!==t,i=this.rows!==e;this.cols=t,this.rows=e,this.buffers.resize(t,e),this._onResize.fire({cols:t,rows:e,colsChanged:s,rowsChanged:i})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(t,e=!1){let s=this.buffer,i;i=this._cachedBlankLine,(!i||i.length!==this.cols||i.getFg(0)!==t.fg||i.getBg(0)!==t.bg)&&(i=s.getBlankLine(t,e),this._cachedBlankLine=i),i.isWrapped=e;let r=s.ybase+s.scrollTop,o=s.ybase+s.scrollBottom;if(s.scrollTop===0){let a=s.lines.isFull;o===s.lines.length-1?a?s.lines.recycle().copyFrom(i):s.lines.push(i.clone()):s.lines.splice(o+1,0,i.clone()),a?this.isUserScrolling&&(s.ydisp=Math.max(s.ydisp-1,0)):(s.ybase++,this.isUserScrolling||s.ydisp++)}else{let a=o-r+1;s.lines.shiftElements(r+1,a-1,-1),s.lines.set(o,i.clone())}this.isUserScrolling||(s.ydisp=s.ybase),this._onScroll.fire(s.ydisp)}scrollLines(t,e){let s=this.buffer;if(t<0){if(s.ydisp===0)return;this.isUserScrolling=!0}else t+s.ydisp>=s.ybase&&(this.isUserScrolling=!1);let i=s.ydisp;s.ydisp=Math.max(Math.min(s.ydisp+t,s.ybase),0),i!==s.ydisp&&(e||this._onScroll.fire(s.ydisp))}};ol=Je([le(0,Bt)],ol);var Ii={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:so,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},Jk=["normal","bold","100","200","300","400","500","600","700","800","900"],Qk=class extends ke{constructor(t){super(),this._onOptionChange=this._register(new re),this.onOptionChange=this._onOptionChange.event;let e={...Ii};for(let s in t)if(s in e)try{let i=t[s];e[s]=this._sanitizeAndValidateOption(s,i)}catch(i){console.error(i)}this.rawOptions=e,this.options={...e},this._setupOptions(),this._register(He(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(t,e){return this.onOptionChange(s=>{s===t&&e(this.rawOptions[t])})}onMultipleOptionChange(t,e){return this.onOptionChange(s=>{t.indexOf(s)!==-1&&e()})}_setupOptions(){let t=s=>{if(!(s in Ii))throw new Error(`No option with key "${s}"`);return this.rawOptions[s]},e=(s,i)=>{if(!(s in Ii))throw new Error(`No option with key "${s}"`);i=this._sanitizeAndValidateOption(s,i),this.rawOptions[s]!==i&&(this.rawOptions[s]=i,this._onOptionChange.fire(s))};for(let s in this.rawOptions){let i={get:t.bind(this,s),set:e.bind(this,s)};Object.defineProperty(this.options,s,i)}}_sanitizeAndValidateOption(t,e){switch(t){case"cursorStyle":if(e||(e=Ii[t]),!Zk(e))throw new Error(`"${e}" is not a valid value for ${t}`);break;case"wordSeparator":e||(e=Ii[t]);break;case"fontWeight":case"fontWeightBold":if(typeof e=="number"&&1<=e&&e<=1e3)break;e=Jk.includes(e)?e:Ii[t];break;case"cursorWidth":e=Math.floor(e);case"lineHeight":case"tabStopWidth":if(e<1)throw new Error(`${t} cannot be less than 1, value: ${e}`);break;case"minimumContrastRatio":e=Math.max(1,Math.min(21,Math.round(e*10)/10));break;case"scrollback":if(e=Math.min(e,4294967295),e<0)throw new Error(`${t} cannot be less than 0, value: ${e}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(e<=0)throw new Error(`${t} cannot be less than or equal to 0, value: ${e}`);break;case"rows":case"cols":if(!e&&e!==0)throw new Error(`${t} must be numeric, value: ${e}`);break;case"windowsPty":e=e??{};break}return e}};function Zk(t){return t==="block"||t==="underline"||t==="bar"}function xn(t,e=5){if(typeof t!="object")return t;let s=Array.isArray(t)?[]:{};for(let i in t)s[i]=e<=1?t[i]:t[i]&&xn(t[i],e-1);return s}var oh=Object.freeze({insertMode:!1}),ah=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),al=class extends ke{constructor(t,e,s){super(),this._bufferService=t,this._logService=e,this._optionsService=s,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new re),this.onData=this._onData.event,this._onUserInput=this._register(new re),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new re),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new re),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=xn(oh),this.decPrivateModes=xn(ah)}reset(){this.modes=xn(oh),this.decPrivateModes=xn(ah)}triggerDataEvent(t,e=!1){if(this._optionsService.rawOptions.disableStdin)return;let s=this._bufferService.buffer;e&&this._optionsService.rawOptions.scrollOnUserInput&&s.ybase!==s.ydisp&&this._onRequestScrollToBottom.fire(),e&&this._onUserInput.fire(),this._logService.debug(`sending data "${t}"`),this._logService.trace("sending data (codes)",()=>t.split("").map(i=>i.charCodeAt(0))),this._onData.fire(t)}triggerBinaryEvent(t){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${t}"`),this._logService.trace("sending binary (codes)",()=>t.split("").map(e=>e.charCodeAt(0))),this._onBinary.fire(t))}};al=Je([le(0,Ot),le(1,pm),le(2,Bt)],al);var lh={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:t=>t.button===4||t.action!==1?!1:(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)},VT200:{events:19,restrict:t=>t.action!==32},DRAG:{events:23,restrict:t=>!(t.action===32&&t.button===3)},ANY:{events:31,restrict:t=>!0}};function na(t,e){let s=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return t.button===4?(s|=64,s|=t.action):(s|=t.button&3,t.button&4&&(s|=64),t.button&8&&(s|=128),t.action===32?s|=32:t.action===0&&!e&&(s|=3)),s}var ra=String.fromCharCode,ch={DEFAULT:t=>{let e=[na(t,!1)+32,t.col+32,t.row+32];return e[0]>255||e[1]>255||e[2]>255?"":`\x1B[M${ra(e[0])}${ra(e[1])}${ra(e[2])}`},SGR:t=>{let e=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${na(t,!0)};${t.col};${t.row}${e}`},SGR_PIXELS:t=>{let e=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${na(t,!0)};${t.x};${t.y}${e}`}},ll=class extends ke{constructor(t,e,s){super(),this._bufferService=t,this._coreService=e,this._optionsService=s,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new re),this.onProtocolChange=this._onProtocolChange.event;for(let i of Object.keys(lh))this.addProtocol(i,lh[i]);for(let i of Object.keys(ch))this.addEncoding(i,ch[i]);this.reset()}addProtocol(t,e){this._protocols[t]=e}addEncoding(t,e){this._encodings[t]=e}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(t){if(!this._protocols[t])throw new Error(`unknown protocol "${t}"`);this._activeProtocol=t,this._onProtocolChange.fire(this._protocols[t].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(t){if(!this._encodings[t])throw new Error(`unknown encoding "${t}"`);this._activeEncoding=t}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(t,e,s){if(t.deltaY===0||t.shiftKey||e===void 0||s===void 0)return 0;let i=e/s,r=this._applyScrollModifier(t.deltaY,t);return t.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(r/=i+0,Math.abs(t.deltaY)<50&&(r*=.3),this._wheelPartialScroll+=r,r=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(r*=this._bufferService.rows),r}_applyScrollModifier(t,e){return e.altKey||e.ctrlKey||e.shiftKey?t*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:t*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(t){if(t.col<0||t.col>=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows||t.button===4&&t.action===32||t.button===3&&t.action!==32||t.button!==4&&(t.action===2||t.action===3)||(t.col++,t.row++,t.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,t,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(t))return!1;let e=this._encodings[this._activeEncoding](t);return e&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(e):this._coreService.triggerDataEvent(e,!0)),this._lastEvent=t,!0}explainEvents(t){return{down:!!(t&1),up:!!(t&2),drag:!!(t&4),move:!!(t&8),wheel:!!(t&16)}}_equalEvents(t,e,s){if(s){if(t.x!==e.x||t.y!==e.y)return!1}else if(t.col!==e.col||t.row!==e.row)return!1;return!(t.button!==e.button||t.action!==e.action||t.ctrl!==e.ctrl||t.alt!==e.alt||t.shift!==e.shift)}};ll=Je([le(0,Ot),le(1,Ni),le(2,Bt)],ll);var oa=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],ej=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],ot;function tj(t,e){let s=0,i=e.length-1,r;if(t<e[0][0]||t>e[i][1])return!1;for(;i>=s;)if(r=s+i>>1,t>e[r][1])s=r+1;else if(t<e[r][0])i=r-1;else return!0;return!1}var sj=class{constructor(){if(this.version="6",!ot){ot=new Uint8Array(65536),ot.fill(1),ot[0]=0,ot.fill(0,1,32),ot.fill(0,127,160),ot.fill(2,4352,4448),ot[9001]=2,ot[9002]=2,ot.fill(2,11904,42192),ot[12351]=1,ot.fill(2,44032,55204),ot.fill(2,63744,64256),ot.fill(2,65040,65050),ot.fill(2,65072,65136),ot.fill(2,65280,65377),ot.fill(2,65504,65511);for(let t=0;t<oa.length;++t)ot.fill(0,oa[t][0],oa[t][1]+1)}}wcwidth(t){return t<32?0:t<127?1:t<65536?ot[t]:tj(t,ej)?0:t>=131072&&t<=196605||t>=196608&&t<=262141?2:1}charProperties(t,e){let s=this.wcwidth(t),i=s===0&&e!==0;if(i){let r=gi.extractWidth(e);r===0?i=!1:r>s&&(s=r)}return gi.createPropertyValue(0,s,i)}},gi=class Or{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new re,this.onChange=this._onChange.event;let e=new sj;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return(e&1)!==0}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,s,i=!1){return(e&16777215)<<3|(s&3)<<1|(i?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let s=0,i=0,r=e.length;for(let o=0;o<r;++o){let a=e.charCodeAt(o);if(55296<=a&&a<=56319){if(++o>=r)return s+this.wcwidth(a);let d=e.charCodeAt(o);56320<=d&&d<=57343?a=(a-55296)*1024+d-56320+65536:s+=this.wcwidth(d)}let l=this.charProperties(a,i),c=Or.extractWidth(l);Or.extractShouldJoin(l)&&(c-=Or.extractWidth(i)),s+=c,i=l}return s}charProperties(e,s){return this._activeProvider.charProperties(e,s)}},ij=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(t){this.glevel=t,this.charset=this._charsets[t]}setgCharset(t,e){this._charsets[t]=e,this.glevel===t&&(this.charset=e)}};function dh(t){let e=t.buffer.lines.get(t.buffer.ybase+t.buffer.y-1)?.get(t.cols-1),s=t.buffer.lines.get(t.buffer.ybase+t.buffer.y);s&&e&&(s.isWrapped=e[3]!==0&&e[3]!==32)}var dn=2147483647,nj=256,Xm=class cl{constructor(e=32,s=32){if(this.maxLength=e,this.maxSubParamsLength=s,s>nj)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(s),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(e){let s=new cl;if(!e.length)return s;for(let i=Array.isArray(e[0])?1:0;i<e.length;++i){let r=e[i];if(Array.isArray(r))for(let o=0;o<r.length;++o)s.addSubParam(r[o]);else s.addParam(r)}return s}clone(){let e=new cl(this.maxLength,this.maxSubParamsLength);return e.params.set(this.params),e.length=this.length,e._subParams.set(this._subParams),e._subParamsLength=this._subParamsLength,e._subParamsIdx.set(this._subParamsIdx),e._rejectDigits=this._rejectDigits,e._rejectSubDigits=this._rejectSubDigits,e._digitIsSub=this._digitIsSub,e}toArray(){let e=[];for(let s=0;s<this.length;++s){e.push(this.params[s]);let i=this._subParamsIdx[s]>>8,r=this._subParamsIdx[s]&255;r-i>0&&e.push(Array.prototype.slice.call(this._subParams,i,r))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>dn?dn:e}addSubParam(e){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>dn?dn:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let s=this._subParamsIdx[e]>>8,i=this._subParamsIdx[e]&255;return i-s>0?this._subParams.subarray(s,i):null}getSubParamsAll(){let e={};for(let s=0;s<this.length;++s){let i=this._subParamsIdx[s]>>8,r=this._subParamsIdx[s]&255;r-i>0&&(e[s]=this._subParams.slice(i,r))}return e}addDigit(e){let s;if(this._rejectDigits||!(s=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let i=this._digitIsSub?this._subParams:this.params,r=i[s-1];i[s-1]=~r?Math.min(r*10+e,dn):e}},hn=[],rj=class{constructor(){this._state=0,this._active=hn,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let s=this._handlers[t];return s.push(e),{dispose:()=>{let i=s.indexOf(e);i!==-1&&s.splice(i,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=hn}reset(){if(this._state===2)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].end(!1);this._stack.paused=!1,this._active=hn,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||hn,!this._active.length)this._handlerFb(this._id,"START");else for(let t=this._active.length-1;t>=0;t--)this._active[t].start()}_put(t,e,s){if(!this._active.length)this._handlerFb(this._id,"PUT",Co(t,e,s));else for(let i=this._active.length-1;i>=0;i--)this._active[i].put(t,e,s)}start(){this.reset(),this._state=1}put(t,e,s){if(this._state!==3){if(this._state===1)for(;e<s;){let i=t[e++];if(i===59){this._state=2,this._start();break}if(i<48||57<i){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+i-48}this._state===2&&s-e>0&&this._put(t,e,s)}}end(t,e=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",t);else{let s=!1,i=this._active.length-1,r=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,s=e,r=this._stack.fallThrough,this._stack.paused=!1),!r&&s===!1){for(;i>=0&&(s=this._active[i].end(t),s!==!0);i--)if(s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,s;i--}for(;i>=0;i--)if(s=this._active[i].end(!1),s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,s}this._active=hn,this._id=-1,this._state=0}}},Yt=class{constructor(t){this._handler=t,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(t,e,s){this._hitLimit||(this._data+=Co(t,e,s),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data),e instanceof Promise))return e.then(s=>(this._data="",this._hitLimit=!1,s));return this._data="",this._hitLimit=!1,e}},un=[],oj=class{constructor(){this._handlers=Object.create(null),this._active=un,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=un}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let s=this._handlers[t];return s.push(e),{dispose:()=>{let i=s.indexOf(e);i!==-1&&s.splice(i,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}reset(){if(this._active.length)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].unhook(!1);this._stack.paused=!1,this._active=un,this._ident=0}hook(t,e){if(this.reset(),this._ident=t,this._active=this._handlers[t]||un,!this._active.length)this._handlerFb(this._ident,"HOOK",e);else for(let s=this._active.length-1;s>=0;s--)this._active[s].hook(e)}put(t,e,s){if(!this._active.length)this._handlerFb(this._ident,"PUT",Co(t,e,s));else for(let i=this._active.length-1;i>=0;i--)this._active[i].put(t,e,s)}unhook(t,e=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",t);else{let s=!1,i=this._active.length-1,r=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,s=e,r=this._stack.fallThrough,this._stack.paused=!1),!r&&s===!1){for(;i>=0&&(s=this._active[i].unhook(t),s!==!0);i--)if(s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,s;i--}for(;i>=0;i--)if(s=this._active[i].unhook(!1),s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,s}this._active=un,this._ident=0}},vn=new Xm;vn.addParam(0);var hh=class{constructor(t){this._handler=t,this._data="",this._params=vn,this._hitLimit=!1}hook(t){this._params=t.length>1||t.params[0]?t.clone():vn,this._data="",this._hitLimit=!1}put(t,e,s){this._hitLimit||(this._data+=Co(t,e,s),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data,this._params),e instanceof Promise))return e.then(s=>(this._params=vn,this._data="",this._hitLimit=!1,s));return this._params=vn,this._data="",this._hitLimit=!1,e}},aj=class{constructor(t){this.table=new Uint8Array(t)}setDefault(t,e){this.table.fill(t<<4|e)}add(t,e,s,i){this.table[e<<8|t]=s<<4|i}addMany(t,e,s,i){for(let r=0;r<t.length;r++)this.table[e<<8|t[r]]=s<<4|i}},ls=160,lj=(function(){let t=new aj(4095),e=Array.apply(null,Array(256)).map((l,c)=>c),s=(l,c)=>e.slice(l,c),i=s(32,127),r=s(0,24);r.push(25),r.push.apply(r,s(28,32));let o=s(0,14),a;t.setDefault(1,0),t.addMany(i,0,2,0);for(a in o)t.addMany([24,26,153,154],a,3,0),t.addMany(s(128,144),a,3,0),t.addMany(s(144,152),a,3,0),t.add(156,a,0,0),t.add(27,a,11,1),t.add(157,a,4,8),t.addMany([152,158,159],a,0,7),t.add(155,a,11,3),t.add(144,a,11,9);return t.addMany(r,0,3,0),t.addMany(r,1,3,1),t.add(127,1,0,1),t.addMany(r,8,0,8),t.addMany(r,3,3,3),t.add(127,3,0,3),t.addMany(r,4,3,4),t.add(127,4,0,4),t.addMany(r,6,3,6),t.addMany(r,5,3,5),t.add(127,5,0,5),t.addMany(r,2,3,2),t.add(127,2,0,2),t.add(93,1,4,8),t.addMany(i,8,5,8),t.add(127,8,5,8),t.addMany([156,27,24,26,7],8,6,0),t.addMany(s(28,32),8,0,8),t.addMany([88,94,95],1,0,7),t.addMany(i,7,0,7),t.addMany(r,7,0,7),t.add(156,7,0,0),t.add(127,7,0,7),t.add(91,1,11,3),t.addMany(s(64,127),3,7,0),t.addMany(s(48,60),3,8,4),t.addMany([60,61,62,63],3,9,4),t.addMany(s(48,60),4,8,4),t.addMany(s(64,127),4,7,0),t.addMany([60,61,62,63],4,0,6),t.addMany(s(32,64),6,0,6),t.add(127,6,0,6),t.addMany(s(64,127),6,0,0),t.addMany(s(32,48),3,9,5),t.addMany(s(32,48),5,9,5),t.addMany(s(48,64),5,0,6),t.addMany(s(64,127),5,7,0),t.addMany(s(32,48),4,9,5),t.addMany(s(32,48),1,9,2),t.addMany(s(32,48),2,9,2),t.addMany(s(48,127),2,10,0),t.addMany(s(48,80),1,10,0),t.addMany(s(81,88),1,10,0),t.addMany([89,90,92],1,10,0),t.addMany(s(96,127),1,10,0),t.add(80,1,11,9),t.addMany(r,9,0,9),t.add(127,9,0,9),t.addMany(s(28,32),9,0,9),t.addMany(s(32,48),9,9,12),t.addMany(s(48,60),9,8,10),t.addMany([60,61,62,63],9,9,10),t.addMany(r,11,0,11),t.addMany(s(32,128),11,0,11),t.addMany(s(28,32),11,0,11),t.addMany(r,10,0,10),t.add(127,10,0,10),t.addMany(s(28,32),10,0,10),t.addMany(s(48,60),10,8,10),t.addMany([60,61,62,63],10,0,11),t.addMany(s(32,48),10,9,12),t.addMany(r,12,0,12),t.add(127,12,0,12),t.addMany(s(28,32),12,0,12),t.addMany(s(32,48),12,9,12),t.addMany(s(48,64),12,0,11),t.addMany(s(64,127),12,12,13),t.addMany(s(64,127),10,12,13),t.addMany(s(64,127),9,12,13),t.addMany(r,13,13,13),t.addMany(i,13,13,13),t.add(127,13,0,13),t.addMany([27,156,24,26],13,14,0),t.add(ls,0,2,0),t.add(ls,8,5,8),t.add(ls,6,0,6),t.add(ls,11,0,11),t.add(ls,13,13,13),t})(),cj=class extends ke{constructor(t=lj){super(),this._transitions=t,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new Xm,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,s,i)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,s)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(He(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new rj),this._dcsParser=this._register(new oj),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(t,e=[64,126]){let s=0;if(t.prefix){if(t.prefix.length>1)throw new Error("only one byte as prefix supported");if(s=t.prefix.charCodeAt(0),s&&60>s||s>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(t.intermediates){if(t.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let r=0;r<t.intermediates.length;++r){let o=t.intermediates.charCodeAt(r);if(32>o||o>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");s<<=8,s|=o}}if(t.final.length!==1)throw new Error("final must be a single byte");let i=t.final.charCodeAt(0);if(e[0]>i||i>e[1])throw new Error(`final must be in range ${e[0]} .. ${e[1]}`);return s<<=8,s|=i,s}identToString(t){let e=[];for(;t;)e.push(String.fromCharCode(t&255)),t>>=8;return e.reverse().join("")}setPrintHandler(t){this._printHandler=t}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(t,e){let s=this._identifier(t,[48,126]);this._escHandlers[s]===void 0&&(this._escHandlers[s]=[]);let i=this._escHandlers[s];return i.push(e),{dispose:()=>{let r=i.indexOf(e);r!==-1&&i.splice(r,1)}}}clearEscHandler(t){this._escHandlers[this._identifier(t,[48,126])]&&delete this._escHandlers[this._identifier(t,[48,126])]}setEscHandlerFallback(t){this._escHandlerFb=t}setExecuteHandler(t,e){this._executeHandlers[t.charCodeAt(0)]=e}clearExecuteHandler(t){this._executeHandlers[t.charCodeAt(0)]&&delete this._executeHandlers[t.charCodeAt(0)]}setExecuteHandlerFallback(t){this._executeHandlerFb=t}registerCsiHandler(t,e){let s=this._identifier(t);this._csiHandlers[s]===void 0&&(this._csiHandlers[s]=[]);let i=this._csiHandlers[s];return i.push(e),{dispose:()=>{let r=i.indexOf(e);r!==-1&&i.splice(r,1)}}}clearCsiHandler(t){this._csiHandlers[this._identifier(t)]&&delete this._csiHandlers[this._identifier(t)]}setCsiHandlerFallback(t){this._csiHandlerFb=t}registerDcsHandler(t,e){return this._dcsParser.registerHandler(this._identifier(t),e)}clearDcsHandler(t){this._dcsParser.clearHandler(this._identifier(t))}setDcsHandlerFallback(t){this._dcsParser.setHandlerFallback(t)}registerOscHandler(t,e){return this._oscParser.registerHandler(t,e)}clearOscHandler(t){this._oscParser.clearHandler(t)}setOscHandlerFallback(t){this._oscParser.setHandlerFallback(t)}setErrorHandler(t){this._errorHandler=t}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(t,e,s,i,r){this._parseStack.state=t,this._parseStack.handlers=e,this._parseStack.handlerPos=s,this._parseStack.transition=i,this._parseStack.chunkPos=r}parse(t,e,s){let i=0,r=0,o=0,a;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,o=this._parseStack.chunkPos+1;else{if(s===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let l=this._parseStack.handlers,c=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(s===!1&&c>-1){for(;c>=0&&(a=l[c](this._params),a!==!0);c--)if(a instanceof Promise)return this._parseStack.handlerPos=c,a}this._parseStack.handlers=[];break;case 4:if(s===!1&&c>-1){for(;c>=0&&(a=l[c](),a!==!0);c--)if(a instanceof Promise)return this._parseStack.handlerPos=c,a}this._parseStack.handlers=[];break;case 6:if(i=t[this._parseStack.chunkPos],a=this._dcsParser.unhook(i!==24&&i!==26,s),a)return a;i===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(i=t[this._parseStack.chunkPos],a=this._oscParser.end(i!==24&&i!==26,s),a)return a;i===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,o=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let l=o;l<e;++l){switch(i=t[l],r=this._transitions.table[this.currentState<<8|(i<160?i:ls)],r>>4){case 2:for(let f=l+1;;++f){if(f>=e||(i=t[f])<32||i>126&&i<ls){this._printHandler(t,l,f),l=f-1;break}if(++f>=e||(i=t[f])<32||i>126&&i<ls){this._printHandler(t,l,f),l=f-1;break}if(++f>=e||(i=t[f])<32||i>126&&i<ls){this._printHandler(t,l,f),l=f-1;break}if(++f>=e||(i=t[f])<32||i>126&&i<ls){this._printHandler(t,l,f),l=f-1;break}}break;case 3:this._executeHandlers[i]?this._executeHandlers[i]():this._executeHandlerFb(i),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:l,code:i,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let c=this._csiHandlers[this._collect<<8|i],d=c?c.length-1:-1;for(;d>=0&&(a=c[d](this._params),a!==!0);d--)if(a instanceof Promise)return this._preserveStack(3,c,d,r,l),a;d<0&&this._csiHandlerFb(this._collect<<8|i,this._params),this.precedingJoinState=0;break;case 8:do switch(i){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(i-48)}while(++l<e&&(i=t[l])>47&&i<60);l--;break;case 9:this._collect<<=8,this._collect|=i;break;case 10:let u=this._escHandlers[this._collect<<8|i],h=u?u.length-1:-1;for(;h>=0&&(a=u[h](),a!==!0);h--)if(a instanceof Promise)return this._preserveStack(4,u,h,r,l),a;h<0&&this._escHandlerFb(this._collect<<8|i),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|i,this._params);break;case 13:for(let f=l+1;;++f)if(f>=e||(i=t[f])===24||i===26||i===27||i>127&&i<ls){this._dcsParser.put(t,l,f),l=f-1;break}break;case 14:if(a=this._dcsParser.unhook(i!==24&&i!==26),a)return this._preserveStack(6,[],0,r,l),a;i===27&&(r|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let f=l+1;;f++)if(f>=e||(i=t[f])<32||i>127&&i<ls){this._oscParser.put(t,l,f),l=f-1;break}break;case 6:if(a=this._oscParser.end(i!==24&&i!==26),a)return this._preserveStack(5,[],0,r,l),a;i===27&&(r|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=r&15}}},dj=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,hj=/^[\da-f]+$/;function uh(t){if(!t)return;let e=t.toLowerCase();if(e.indexOf("rgb:")===0){e=e.slice(4);let s=dj.exec(e);if(s){let i=s[1]?15:s[4]?255:s[7]?4095:65535;return[Math.round(parseInt(s[1]||s[4]||s[7]||s[10],16)/i*255),Math.round(parseInt(s[2]||s[5]||s[8]||s[11],16)/i*255),Math.round(parseInt(s[3]||s[6]||s[9]||s[12],16)/i*255)]}}else if(e.indexOf("#")===0&&(e=e.slice(1),hj.exec(e)&&[3,6,9,12].includes(e.length))){let s=e.length/3,i=[0,0,0];for(let r=0;r<3;++r){let o=parseInt(e.slice(s*r,s*r+s),16);i[r]=s===1?o<<4:s===2?o:s===3?o>>4:o>>8}return i}}function aa(t,e){let s=t.toString(16),i=s.length<2?"0"+s:s;switch(e){case 4:return s[0];case 8:return i;case 12:return(i+i).slice(0,3);default:return i+i}}function uj(t,e=16){let[s,i,r]=t;return`rgb:${aa(s,e)}/${aa(i,e)}/${aa(r,e)}`}var fj={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Gs=131072,fh=10;function mh(t,e){if(t>24)return e.setWinLines||!1;switch(t){case 1:return!!e.restoreWin;case 2:return!!e.minimizeWin;case 3:return!!e.setWinPosition;case 4:return!!e.setWinSizePixels;case 5:return!!e.raiseWin;case 6:return!!e.lowerWin;case 7:return!!e.refreshWin;case 8:return!!e.setWinSizeChars;case 9:return!!e.maximizeWin;case 10:return!!e.fullscreenWin;case 11:return!!e.getWinState;case 13:return!!e.getWinPosition;case 14:return!!e.getWinSizePixels;case 15:return!!e.getScreenSizePixels;case 16:return!!e.getCellSizePixels;case 18:return!!e.getWinSizeChars;case 19:return!!e.getScreenSizeChars;case 20:return!!e.getIconTitle;case 21:return!!e.getWinTitle;case 22:return!!e.pushTitle;case 23:return!!e.popTitle;case 24:return!!e.setWinLines}return!1}var ph=5e3,gh=0,mj=class extends ke{constructor(t,e,s,i,r,o,a,l,c=new cj){super(),this._bufferService=t,this._charsetService=e,this._coreService=s,this._logService=i,this._optionsService=r,this._oscLinkService=o,this._coreMouseService=a,this._unicodeService=l,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new TC,this._utf8Decoder=new DC,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=et.clone(),this._eraseAttrDataInternal=et.clone(),this._onRequestBell=this._register(new re),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new re),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new re),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new re),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new re),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new re),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new re),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new re),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new re),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new re),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new re),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new re),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new re),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new dl(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(d=>this._activeBuffer=d.activeBuffer)),this._parser.setCsiHandlerFallback((d,u)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(d),params:u.toArray()})}),this._parser.setEscHandlerFallback(d=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(d)})}),this._parser.setExecuteHandlerFallback(d=>{this._logService.debug("Unknown EXECUTE code: ",{code:d})}),this._parser.setOscHandlerFallback((d,u,h)=>{this._logService.debug("Unknown OSC code: ",{identifier:d,action:u,data:h})}),this._parser.setDcsHandlerFallback((d,u,h)=>{u==="HOOK"&&(h=h.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(d),action:u,payload:h})}),this._parser.setPrintHandler((d,u,h)=>this.print(d,u,h)),this._parser.registerCsiHandler({final:"@"},d=>this.insertChars(d)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},d=>this.scrollLeft(d)),this._parser.registerCsiHandler({final:"A"},d=>this.cursorUp(d)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},d=>this.scrollRight(d)),this._parser.registerCsiHandler({final:"B"},d=>this.cursorDown(d)),this._parser.registerCsiHandler({final:"C"},d=>this.cursorForward(d)),this._parser.registerCsiHandler({final:"D"},d=>this.cursorBackward(d)),this._parser.registerCsiHandler({final:"E"},d=>this.cursorNextLine(d)),this._parser.registerCsiHandler({final:"F"},d=>this.cursorPrecedingLine(d)),this._parser.registerCsiHandler({final:"G"},d=>this.cursorCharAbsolute(d)),this._parser.registerCsiHandler({final:"H"},d=>this.cursorPosition(d)),this._parser.registerCsiHandler({final:"I"},d=>this.cursorForwardTab(d)),this._parser.registerCsiHandler({final:"J"},d=>this.eraseInDisplay(d,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},d=>this.eraseInDisplay(d,!0)),this._parser.registerCsiHandler({final:"K"},d=>this.eraseInLine(d,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},d=>this.eraseInLine(d,!0)),this._parser.registerCsiHandler({final:"L"},d=>this.insertLines(d)),this._parser.registerCsiHandler({final:"M"},d=>this.deleteLines(d)),this._parser.registerCsiHandler({final:"P"},d=>this.deleteChars(d)),this._parser.registerCsiHandler({final:"S"},d=>this.scrollUp(d)),this._parser.registerCsiHandler({final:"T"},d=>this.scrollDown(d)),this._parser.registerCsiHandler({final:"X"},d=>this.eraseChars(d)),this._parser.registerCsiHandler({final:"Z"},d=>this.cursorBackwardTab(d)),this._parser.registerCsiHandler({final:"`"},d=>this.charPosAbsolute(d)),this._parser.registerCsiHandler({final:"a"},d=>this.hPositionRelative(d)),this._parser.registerCsiHandler({final:"b"},d=>this.repeatPrecedingCharacter(d)),this._parser.registerCsiHandler({final:"c"},d=>this.sendDeviceAttributesPrimary(d)),this._parser.registerCsiHandler({prefix:">",final:"c"},d=>this.sendDeviceAttributesSecondary(d)),this._parser.registerCsiHandler({final:"d"},d=>this.linePosAbsolute(d)),this._parser.registerCsiHandler({final:"e"},d=>this.vPositionRelative(d)),this._parser.registerCsiHandler({final:"f"},d=>this.hVPosition(d)),this._parser.registerCsiHandler({final:"g"},d=>this.tabClear(d)),this._parser.registerCsiHandler({final:"h"},d=>this.setMode(d)),this._parser.registerCsiHandler({prefix:"?",final:"h"},d=>this.setModePrivate(d)),this._parser.registerCsiHandler({final:"l"},d=>this.resetMode(d)),this._parser.registerCsiHandler({prefix:"?",final:"l"},d=>this.resetModePrivate(d)),this._parser.registerCsiHandler({final:"m"},d=>this.charAttributes(d)),this._parser.registerCsiHandler({final:"n"},d=>this.deviceStatus(d)),this._parser.registerCsiHandler({prefix:"?",final:"n"},d=>this.deviceStatusPrivate(d)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},d=>this.softReset(d)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},d=>this.setCursorStyle(d)),this._parser.registerCsiHandler({final:"r"},d=>this.setScrollRegion(d)),this._parser.registerCsiHandler({final:"s"},d=>this.saveCursor(d)),this._parser.registerCsiHandler({final:"t"},d=>this.windowOptions(d)),this._parser.registerCsiHandler({final:"u"},d=>this.restoreCursor(d)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},d=>this.insertColumns(d)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},d=>this.deleteColumns(d)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},d=>this.selectProtected(d)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},d=>this.requestMode(d,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},d=>this.requestMode(d,!1)),this._parser.setExecuteHandler(Q.BEL,()=>this.bell()),this._parser.setExecuteHandler(Q.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(Q.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(Q.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(Q.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(Q.BS,()=>this.backspace()),this._parser.setExecuteHandler(Q.HT,()=>this.tab()),this._parser.setExecuteHandler(Q.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(Q.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(Pr.IND,()=>this.index()),this._parser.setExecuteHandler(Pr.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(Pr.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Yt(d=>(this.setTitle(d),this.setIconName(d),!0))),this._parser.registerOscHandler(1,new Yt(d=>this.setIconName(d))),this._parser.registerOscHandler(2,new Yt(d=>this.setTitle(d))),this._parser.registerOscHandler(4,new Yt(d=>this.setOrReportIndexedColor(d))),this._parser.registerOscHandler(8,new Yt(d=>this.setHyperlink(d))),this._parser.registerOscHandler(10,new Yt(d=>this.setOrReportFgColor(d))),this._parser.registerOscHandler(11,new Yt(d=>this.setOrReportBgColor(d))),this._parser.registerOscHandler(12,new Yt(d=>this.setOrReportCursorColor(d))),this._parser.registerOscHandler(104,new Yt(d=>this.restoreIndexedColor(d))),this._parser.registerOscHandler(110,new Yt(d=>this.restoreFgColor(d))),this._parser.registerOscHandler(111,new Yt(d=>this.restoreBgColor(d))),this._parser.registerOscHandler(112,new Yt(d=>this.restoreCursorColor(d))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let d in dt)this._parser.registerEscHandler({intermediates:"(",final:d},()=>this.selectCharset("("+d)),this._parser.registerEscHandler({intermediates:")",final:d},()=>this.selectCharset(")"+d)),this._parser.registerEscHandler({intermediates:"*",final:d},()=>this.selectCharset("*"+d)),this._parser.registerEscHandler({intermediates:"+",final:d},()=>this.selectCharset("+"+d)),this._parser.registerEscHandler({intermediates:"-",final:d},()=>this.selectCharset("-"+d)),this._parser.registerEscHandler({intermediates:".",final:d},()=>this.selectCharset("."+d)),this._parser.registerEscHandler({intermediates:"/",final:d},()=>this.selectCharset("/"+d));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(d=>(this._logService.error("Parsing error: ",d),d)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new hh((d,u)=>this.requestStatusString(d,u)))}getAttrData(){return this._curAttrData}_preserveStack(t,e,s,i){this._parseStack.paused=!0,this._parseStack.cursorStartX=t,this._parseStack.cursorStartY=e,this._parseStack.decodedLength=s,this._parseStack.position=i}_logSlowResolvingAsync(t){this._logService.logLevel<=3&&Promise.race([t,new Promise((e,s)=>setTimeout(()=>s("#SLOW_TIMEOUT"),ph))]).catch(e=>{if(e!=="#SLOW_TIMEOUT")throw e;console.warn(`async parser handler taking longer than ${ph} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(t,e){let s,i=this._activeBuffer.x,r=this._activeBuffer.y,o=0,a=this._parseStack.paused;if(a){if(s=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,e))return this._logSlowResolvingAsync(s),s;i=this._parseStack.cursorStartX,r=this._parseStack.cursorStartY,this._parseStack.paused=!1,t.length>Gs&&(o=this._parseStack.position+Gs)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof t=="string"?` "${t}"`:` "${Array.prototype.map.call(t,d=>String.fromCharCode(d)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof t=="string"?t.split("").map(d=>d.charCodeAt(0)):t),this._parseBuffer.length<t.length&&this._parseBuffer.length<Gs&&(this._parseBuffer=new Uint32Array(Math.min(t.length,Gs))),a||this._dirtyRowTracker.clearRange(),t.length>Gs)for(let d=o;d<t.length;d+=Gs){let u=d+Gs<t.length?d+Gs:t.length,h=typeof t=="string"?this._stringDecoder.decode(t.substring(d,u),this._parseBuffer):this._utf8Decoder.decode(t.subarray(d,u),this._parseBuffer);if(s=this._parser.parse(this._parseBuffer,h))return this._preserveStack(i,r,h,d),this._logSlowResolvingAsync(s),s}else if(!a){let d=typeof t=="string"?this._stringDecoder.decode(t,this._parseBuffer):this._utf8Decoder.decode(t,this._parseBuffer);if(s=this._parser.parse(this._parseBuffer,d))return this._preserveStack(i,r,d,0),this._logSlowResolvingAsync(s),s}(this._activeBuffer.x!==i||this._activeBuffer.y!==r)&&this._onCursorMove.fire();let l=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),c=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);c<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(c,this._bufferService.rows-1),end:Math.min(l,this._bufferService.rows-1)})}print(t,e,s){let i,r,o=this._charsetService.charset,a=this._optionsService.rawOptions.screenReaderMode,l=this._bufferService.cols,c=this._coreService.decPrivateModes.wraparound,d=this._coreService.modes.insertMode,u=this._curAttrData,h=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&s-e>0&&h.getWidth(this._activeBuffer.x-1)===2&&h.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let m=e;m<s;++m){if(i=t[m],i<127&&o){let v=o[String.fromCharCode(i)];v&&(i=v.charCodeAt(0))}let p=this._unicodeService.charProperties(i,f);r=gi.extractWidth(p);let g=gi.extractShouldJoin(p),_=g?gi.extractWidth(f):0;if(f=p,a&&this._onA11yChar.fire(Xs(i)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+r-_>l){if(c){let v=h,x=this._activeBuffer.x-_;for(this._activeBuffer.x=_,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),h=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),_>0&&h instanceof _n&&h.copyCellsFrom(v,x,0,_,!1);x<l;)v.setCellFromCodepoint(x++,0,1,u)}else if(this._activeBuffer.x=l-1,r===2)continue}if(g&&this._activeBuffer.x){let v=h.getWidth(this._activeBuffer.x-1)?1:2;h.addCodepointToCell(this._activeBuffer.x-v,i,r);for(let x=r-_;--x>=0;)h.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(d&&(h.insertCells(this._activeBuffer.x,r-_,this._activeBuffer.getNullCell(u)),h.getWidth(l-1)===2&&h.setCellFromCodepoint(l-1,0,1,u)),h.setCellFromCodepoint(this._activeBuffer.x++,i,r,u),r>0)for(;--r;)h.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x<l&&s-e>0&&h.getWidth(this._activeBuffer.x)===0&&!h.hasContent(this._activeBuffer.x)&&h.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(t,e){return t.final==="t"&&!t.prefix&&!t.intermediates?this._parser.registerCsiHandler(t,s=>mh(s.params[0],this._optionsService.rawOptions.windowOptions)?e(s):!0):this._parser.registerCsiHandler(t,e)}registerDcsHandler(t,e){return this._parser.registerDcsHandler(t,new hh(e))}registerEscHandler(t,e){return this._parser.registerEscHandler(t,e)}registerOscHandler(t,e){return this._parser.registerOscHandler(t,new Yt(e))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);t.hasWidth(this._activeBuffer.x)&&!t.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-t),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(t=this._bufferService.cols-1){this._activeBuffer.x=Math.min(t,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(t,e){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=t,this._activeBuffer.y=this._activeBuffer.scrollTop+e):(this._activeBuffer.x=t,this._activeBuffer.y=e),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(t,e){this._restrictCursor(),this._setCursor(this._activeBuffer.x+t,this._activeBuffer.y+e)}cursorUp(t){let e=this._activeBuffer.y-this._activeBuffer.scrollTop;return e>=0?this._moveCursor(0,-Math.min(e,t.params[0]||1)):this._moveCursor(0,-(t.params[0]||1)),!0}cursorDown(t){let e=this._activeBuffer.scrollBottom-this._activeBuffer.y;return e>=0?this._moveCursor(0,Math.min(e,t.params[0]||1)):this._moveCursor(0,t.params[0]||1),!0}cursorForward(t){return this._moveCursor(t.params[0]||1,0),!0}cursorBackward(t){return this._moveCursor(-(t.params[0]||1),0),!0}cursorNextLine(t){return this.cursorDown(t),this._activeBuffer.x=0,!0}cursorPrecedingLine(t){return this.cursorUp(t),this._activeBuffer.x=0,!0}cursorCharAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(t){return this._setCursor(t.length>=2?(t.params[1]||1)-1:0,(t.params[0]||1)-1),!0}charPosAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(t){return this._moveCursor(t.params[0]||1,0),!0}linePosAbsolute(t){return this._setCursor(this._activeBuffer.x,(t.params[0]||1)-1),!0}vPositionRelative(t){return this._moveCursor(0,t.params[0]||1),!0}hVPosition(t){return this.cursorPosition(t),!0}tabClear(t){let e=t.params[0];return e===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:e===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=t.params[0]||1;for(;e--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=t.params[0]||1;for(;e--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(t){let e=t.params[0];return e===1&&(this._curAttrData.bg|=536870912),(e===2||e===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(t,e,s,i=!1,r=!1){let o=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);o.replaceCells(e,s,this._activeBuffer.getNullCell(this._eraseAttrData()),r),i&&(o.isWrapped=!1)}_resetBufferLine(t,e=!1){let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);s&&(s.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),e),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+t),s.isWrapped=!1)}eraseInDisplay(t,e=!1){this._restrictCursor(this._bufferService.cols);let s;switch(t.params[0]){case 0:for(s=this._activeBuffer.y,this._dirtyRowTracker.markDirty(s),this._eraseInBufferLine(s++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,e);s<this._bufferService.rows;s++)this._resetBufferLine(s,e);this._dirtyRowTracker.markDirty(s);break;case 1:for(s=this._activeBuffer.y,this._dirtyRowTracker.markDirty(s),this._eraseInBufferLine(s,0,this._activeBuffer.x+1,!0,e),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(s+1).isWrapped=!1);s--;)this._resetBufferLine(s,e);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(s=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,s-1);s--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+s)?.getTrimmedLength(););for(;s>=0;s--)this._bufferService.scroll(this._eraseAttrData())}else{for(s=this._bufferService.rows,this._dirtyRowTracker.markDirty(s-1);s--;)this._resetBufferLine(s,e);this._dirtyRowTracker.markDirty(0)}break;case 3:let i=this._activeBuffer.lines.length-this._bufferService.rows;i>0&&(this._activeBuffer.lines.trimStart(i),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-i,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-i,0),this._onScroll.fire(0));break}return!0}eraseInLine(t,e=!1){switch(this._restrictCursor(this._bufferService.cols),t.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,e);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,e);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,e);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(t){this._restrictCursor();let e=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=this._activeBuffer.ybase+this._activeBuffer.y,i=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-i+1;for(;e--;)this._activeBuffer.lines.splice(r-1,1),this._activeBuffer.lines.splice(s,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(t){this._restrictCursor();let e=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=this._activeBuffer.ybase+this._activeBuffer.y,i;for(i=this._bufferService.rows-1-this._activeBuffer.scrollBottom,i=this._bufferService.rows-1+this._activeBuffer.ybase-i;e--;)this._activeBuffer.lines.splice(s,1),this._activeBuffer.lines.splice(i,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(t){this._restrictCursor();let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return e&&(e.insertCells(this._activeBuffer.x,t.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(t){this._restrictCursor();let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return e&&(e.deleteCells(this._activeBuffer.x,t.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(t){let e=t.params[0]||1;for(;e--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(t){let e=t.params[0]||1;for(;e--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(et));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let e=t.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.deleteCells(0,e,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let e=t.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.insertCells(0,e,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let e=t.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.insertCells(this._activeBuffer.x,e,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let e=t.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.deleteCells(this._activeBuffer.x,e,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(t){this._restrictCursor();let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return e&&(e.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(t.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(t){let e=this._parser.precedingJoinState;if(!e)return!0;let s=t.params[0]||1,i=gi.extractWidth(e),r=this._activeBuffer.x-i,o=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(r),a=new Uint32Array(o.length*s),l=0;for(let d=0;d<o.length;){let u=o.codePointAt(d)||0;a[l++]=u,d+=u>65535?2:1}let c=l;for(let d=1;d<s;++d)a.copyWithin(c,0,l),c+=l;return this.print(a,0,c),!0}sendDeviceAttributesPrimary(t){return t.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(Q.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(Q.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(t){return t.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(Q.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(Q.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(t.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(Q.ESC+"[>83;40003;0c")),!0}_is(t){return(this._optionsService.rawOptions.termName+"").indexOf(t)===0}setMode(t){for(let e=0;e<t.length;e++)switch(t.params[e]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(t){for(let e=0;e<t.length;e++)switch(t.params[e]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,pi),this._charsetService.setgCharset(1,pi),this._charsetService.setgCharset(2,pi),this._charsetService.setgCharset(3,pi);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(t){for(let e=0;e<t.length;e++)switch(t.params[e]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(t){for(let e=0;e<t.length;e++)switch(t.params[e]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),t.params[e]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(t,e){let s;(g=>(g[g.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",g[g.SET=1]="SET",g[g.RESET=2]="RESET",g[g.PERMANENTLY_SET=3]="PERMANENTLY_SET",g[g.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(s||={});let i=this._coreService.decPrivateModes,{activeProtocol:r,activeEncoding:o}=this._coreMouseService,a=this._coreService,{buffers:l,cols:c}=this._bufferService,{active:d,alt:u}=l,h=this._optionsService.rawOptions,f=(g,_)=>(a.triggerDataEvent(`${Q.ESC}[${e?"":"?"}${g};${_}$y`),!0),m=g=>g?1:2,p=t.params[0];return e?p===2?f(p,4):p===4?f(p,m(a.modes.insertMode)):p===12?f(p,3):p===20?f(p,m(h.convertEol)):f(p,0):p===1?f(p,m(i.applicationCursorKeys)):p===3?f(p,h.windowOptions.setWinLines?c===80?2:c===132?1:0:0):p===6?f(p,m(i.origin)):p===7?f(p,m(i.wraparound)):p===8?f(p,3):p===9?f(p,m(r==="X10")):p===12?f(p,m(h.cursorBlink)):p===25?f(p,m(!a.isCursorHidden)):p===45?f(p,m(i.reverseWraparound)):p===66?f(p,m(i.applicationKeypad)):p===67?f(p,4):p===1e3?f(p,m(r==="VT200")):p===1002?f(p,m(r==="DRAG")):p===1003?f(p,m(r==="ANY")):p===1004?f(p,m(i.sendFocus)):p===1005?f(p,4):p===1006?f(p,m(o==="SGR")):p===1015?f(p,4):p===1016?f(p,m(o==="SGR_PIXELS")):p===1048?f(p,1):p===47||p===1047||p===1049?f(p,m(d===u)):p===2004?f(p,m(i.bracketedPasteMode)):p===2026?f(p,m(i.synchronizedOutput)):f(p,0)}_updateAttrColor(t,e,s,i,r){return e===2?(t|=50331648,t&=-16777216,t|=rr.fromColorRGB([s,i,r])):e===5&&(t&=-50331904,t|=33554432|s&255),t}_extractColor(t,e,s){let i=[0,0,-1,0,0,0],r=0,o=0;do{if(i[o+r]=t.params[e+o],t.hasSubParams(e+o)){let a=t.getSubParams(e+o),l=0;do i[1]===5&&(r=1),i[o+l+1+r]=a[l];while(++l<a.length&&l+o+1+r<i.length);break}if(i[1]===5&&o+r>=2||i[1]===2&&o+r>=5)break;i[1]&&(r=1)}while(++o+e<t.length&&o+r<i.length);for(let a=2;a<i.length;++a)i[a]===-1&&(i[a]=0);switch(i[0]){case 38:s.fg=this._updateAttrColor(s.fg,i[1],i[3],i[4],i[5]);break;case 48:s.bg=this._updateAttrColor(s.bg,i[1],i[3],i[4],i[5]);break;case 58:s.extended=s.extended.clone(),s.extended.underlineColor=this._updateAttrColor(s.extended.underlineColor,i[1],i[3],i[4],i[5])}return o}_processUnderline(t,e){e.extended=e.extended.clone(),(!~t||t>5)&&(t=1),e.extended.underlineStyle=t,e.fg|=268435456,t===0&&(e.fg&=-268435457),e.updateExtended()}_processSGR0(t){t.fg=et.fg,t.bg=et.bg,t.extended=t.extended.clone(),t.extended.underlineStyle=0,t.extended.underlineColor&=-67108864,t.updateExtended()}charAttributes(t){if(t.length===1&&t.params[0]===0)return this._processSGR0(this._curAttrData),!0;let e=t.length,s,i=this._curAttrData;for(let r=0;r<e;r++)s=t.params[r],s>=30&&s<=37?(i.fg&=-50331904,i.fg|=16777216|s-30):s>=40&&s<=47?(i.bg&=-50331904,i.bg|=16777216|s-40):s>=90&&s<=97?(i.fg&=-50331904,i.fg|=16777216|s-90|8):s>=100&&s<=107?(i.bg&=-50331904,i.bg|=16777216|s-100|8):s===0?this._processSGR0(i):s===1?i.fg|=134217728:s===3?i.bg|=67108864:s===4?(i.fg|=268435456,this._processUnderline(t.hasSubParams(r)?t.getSubParams(r)[0]:1,i)):s===5?i.fg|=536870912:s===7?i.fg|=67108864:s===8?i.fg|=1073741824:s===9?i.fg|=2147483648:s===2?i.bg|=134217728:s===21?this._processUnderline(2,i):s===22?(i.fg&=-134217729,i.bg&=-134217729):s===23?i.bg&=-67108865:s===24?(i.fg&=-268435457,this._processUnderline(0,i)):s===25?i.fg&=-536870913:s===27?i.fg&=-67108865:s===28?i.fg&=-1073741825:s===29?i.fg&=2147483647:s===39?(i.fg&=-67108864,i.fg|=et.fg&16777215):s===49?(i.bg&=-67108864,i.bg|=et.bg&16777215):s===38||s===48||s===58?r+=this._extractColor(t,r,i):s===53?i.bg|=1073741824:s===55?i.bg&=-1073741825:s===59?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):s===100?(i.fg&=-67108864,i.fg|=et.fg&16777215,i.bg&=-67108864,i.bg|=et.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",s);return!0}deviceStatus(t){switch(t.params[0]){case 5:this._coreService.triggerDataEvent(`${Q.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,s=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${Q.ESC}[${e};${s}R`);break}return!0}deviceStatusPrivate(t){if(t.params[0]===6){let e=this._activeBuffer.y+1,s=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${Q.ESC}[?${e};${s}R`)}return!0}softReset(t){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=et.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(t){let e=t.length===0?1:t.params[0];if(e===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(e){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let s=e%2===1;this._coreService.decPrivateModes.cursorBlink=s}return!0}setScrollRegion(t){let e=t.params[0]||1,s;return(t.length<2||(s=t.params[1])>this._bufferService.rows||s===0)&&(s=this._bufferService.rows),s>e&&(this._activeBuffer.scrollTop=e-1,this._activeBuffer.scrollBottom=s-1,this._setCursor(0,0)),!0}windowOptions(t){if(!mh(t.params[0],this._optionsService.rawOptions.windowOptions))return!0;let e=t.length>1?t.params[1]:0;switch(t.params[0]){case 14:e!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${Q.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(e===0||e===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>fh&&this._windowTitleStack.shift()),(e===0||e===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>fh&&this._iconNameStack.shift());break;case 23:(e===0||e===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(e===0||e===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(t){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(t){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(t){return this._windowTitle=t,this._onTitleChange.fire(t),!0}setIconName(t){return this._iconName=t,!0}setOrReportIndexedColor(t){let e=[],s=t.split(";");for(;s.length>1;){let i=s.shift(),r=s.shift();if(/^\d+$/.exec(i)){let o=parseInt(i);if(_h(o))if(r==="?")e.push({type:0,index:o});else{let a=uh(r);a&&e.push({type:1,index:o,color:a})}}}return e.length&&this._onColor.fire(e),!0}setHyperlink(t){let e=t.indexOf(";");if(e===-1)return!0;let s=t.slice(0,e).trim(),i=t.slice(e+1);return i?this._createHyperlink(s,i):s.trim()?!1:this._finishHyperlink()}_createHyperlink(t,e){this._getCurrentLinkId()&&this._finishHyperlink();let s=t.split(":"),i,r=s.findIndex(o=>o.startsWith("id="));return r!==-1&&(i=s[r].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:i,uri:e}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(t,e){let s=t.split(";");for(let i=0;i<s.length&&!(e>=this._specialColors.length);++i,++e)if(s[i]==="?")this._onColor.fire([{type:0,index:this._specialColors[e]}]);else{let r=uh(s[i]);r&&this._onColor.fire([{type:1,index:this._specialColors[e],color:r}])}return!0}setOrReportFgColor(t){return this._setOrReportSpecialColor(t,0)}setOrReportBgColor(t){return this._setOrReportSpecialColor(t,1)}setOrReportCursorColor(t){return this._setOrReportSpecialColor(t,2)}restoreIndexedColor(t){if(!t)return this._onColor.fire([{type:2}]),!0;let e=[],s=t.split(";");for(let i=0;i<s.length;++i)if(/^\d+$/.exec(s[i])){let r=parseInt(s[i]);_h(r)&&e.push({type:2,index:r})}return e.length&&this._onColor.fire(e),!0}restoreFgColor(t){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(t){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(t){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,pi),!0}selectCharset(t){return t.length!==2?(this.selectDefaultCharset(),!0):(t[0]==="/"||this._charsetService.setgCharset(fj[t[0]],dt[t[1]]||pi),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let t=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,t,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=et.clone(),this._eraseAttrDataInternal=et.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(t){return this._charsetService.setgLevel(t),!0}screenAlignmentPattern(){let t=new cs;t.content=1<<22|69,t.fg=this._curAttrData.fg,t.bg=this._curAttrData.bg,this._setCursor(0,0);for(let e=0;e<this._bufferService.rows;++e){let s=this._activeBuffer.ybase+this._activeBuffer.y+e,i=this._activeBuffer.lines.get(s);i&&(i.fill(t),i.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(t,e){let s=a=>(this._coreService.triggerDataEvent(`${Q.ESC}${a}${Q.ESC}\\`),!0),i=this._bufferService.buffer,r=this._optionsService.rawOptions;return s(t==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:t==='"p'?'P1$r61;1"p':t==="r"?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:t==="m"?"P1$r0m":t===" q"?`P1$r${{block:2,underline:4,bar:6}[r.cursorStyle]-(r.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(t,e){this._dirtyRowTracker.markRangeDirty(t,e)}},dl=class{constructor(t){this._bufferService=t,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(t){t<this.start?this.start=t:t>this.end&&(this.end=t)}markRangeDirty(t,e){t>e&&(gh=t,t=e,e=gh),t<this.start&&(this.start=t),e>this.end&&(this.end=e)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};dl=Je([le(0,Ot)],dl);function _h(t){return 0<=t&&t<256}var pj=5e7,xh=12,gj=50,_j=class extends ke{constructor(t){super(),this._action=t,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new re),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(t,e){if(e!==void 0&&this._syncCalls>e){this._syncCalls=0;return}if(this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let s;for(;s=this._writeBuffer.shift();){this._action(s);let i=this._callbacks.shift();i&&i()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(t,e){if(this._pendingData>pj)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(e),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(e)}_innerWrite(t=0,e=!0){let s=t||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let i=this._writeBuffer[this._bufferOffset],r=this._action(i,e);if(r){let a=l=>performance.now()-s>=xh?setTimeout(()=>this._innerWrite(0,l)):this._innerWrite(s,l);r.catch(l=>(queueMicrotask(()=>{throw l}),Promise.resolve(!1))).then(a);return}let o=this._callbacks[this._bufferOffset];if(o&&o(),this._bufferOffset++,this._pendingData-=i.length,performance.now()-s>=xh)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>gj&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},hl=class{constructor(t){this._bufferService=t,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(t){let e=this._bufferService.buffer;if(t.id===void 0){let l=e.addMarker(e.ybase+e.y),c={data:t,id:this._nextId++,lines:[l]};return l.onDispose(()=>this._removeMarkerFromLink(c,l)),this._dataByLinkId.set(c.id,c),c.id}let s=t,i=this._getEntryIdKey(s),r=this._entriesWithId.get(i);if(r)return this.addLineToLink(r.id,e.ybase+e.y),r.id;let o=e.addMarker(e.ybase+e.y),a={id:this._nextId++,key:this._getEntryIdKey(s),data:s,lines:[o]};return o.onDispose(()=>this._removeMarkerFromLink(a,o)),this._entriesWithId.set(a.key,a),this._dataByLinkId.set(a.id,a),a.id}addLineToLink(t,e){let s=this._dataByLinkId.get(t);if(s&&s.lines.every(i=>i.line!==e)){let i=this._bufferService.buffer.addMarker(e);s.lines.push(i),i.onDispose(()=>this._removeMarkerFromLink(s,i))}}getLinkData(t){return this._dataByLinkId.get(t)?.data}_getEntryIdKey(t){return`${t.id};;${t.uri}`}_removeMarkerFromLink(t,e){let s=t.lines.indexOf(e);s!==-1&&(t.lines.splice(s,1),t.lines.length===0&&(t.data.id!==void 0&&this._entriesWithId.delete(t.key),this._dataByLinkId.delete(t.id)))}};hl=Je([le(0,Ot)],hl);var vh=!1,xj=class extends ke{constructor(t){super(),this._windowsWrappingHeuristics=this._register(new Hi),this._onBinary=this._register(new re),this.onBinary=this._onBinary.event,this._onData=this._register(new re),this.onData=this._onData.event,this._onLineFeed=this._register(new re),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new re),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new re),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new re),this._instantiationService=new Fk,this.optionsService=this._register(new Qk(t)),this._instantiationService.setService(Bt,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(ol)),this._instantiationService.setService(Ot,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(rl)),this._instantiationService.setService(pm,this._logService),this.coreService=this._register(this._instantiationService.createInstance(al)),this._instantiationService.setService(Ni,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(ll)),this._instantiationService.setService(mm,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(gi)),this._instantiationService.setService(OC,this.unicodeService),this._charsetService=this._instantiationService.createInstance(ij),this._instantiationService.setService(LC,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(hl),this._instantiationService.setService(gm,this._oscLinkService),this._inputHandler=this._register(new mj(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(yt.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(yt.forward(this._bufferService.onResize,this._onResize)),this._register(yt.forward(this.coreService.onData,this._onData)),this._register(yt.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new _j((e,s)=>this._inputHandler.parse(e,s))),this._register(yt.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new re),this._onScroll.event(t=>{this._onScrollApi?.fire(t.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(t){for(let e in t)this.optionsService.options[e]=t[e]}write(t,e){this._writeBuffer.write(t,e)}writeSync(t,e){this._logService.logLevel<=3&&!vh&&(this._logService.warn("writeSync is unreliable and will be removed soon."),vh=!0),this._writeBuffer.writeSync(t,e)}input(t,e=!0){this.coreService.triggerDataEvent(t,e)}resize(t,e){isNaN(t)||isNaN(e)||(t=Math.max(t,Gm),e=Math.max(e,Ym),this._bufferService.resize(t,e))}scroll(t,e=!1){this._bufferService.scroll(t,e)}scrollLines(t,e){this._bufferService.scrollLines(t,e)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let e=t-this._bufferService.buffer.ydisp;e!==0&&this.scrollLines(e)}registerEscHandler(t,e){return this._inputHandler.registerEscHandler(t,e)}registerDcsHandler(t,e){return this._inputHandler.registerDcsHandler(t,e)}registerCsiHandler(t,e){return this._inputHandler.registerCsiHandler(t,e)}registerOscHandler(t,e){return this._inputHandler.registerOscHandler(t,e)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let t=!1,e=this.optionsService.rawOptions.windowsPty;e&&e.buildNumber!==void 0&&e.buildNumber!==void 0?t=e.backend==="conpty"&&e.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(t=!0),t?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let t=[];t.push(this.onLineFeed(dh.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:"H"},()=>(dh(this._bufferService),!1))),this._windowsWrappingHeuristics.value=He(()=>{for(let e of t)e.dispose()})}}},vj={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function bj(t,e,s,i){let r={type:0,cancel:!1,key:void 0},o=(t.shiftKey?1:0)|(t.altKey?2:0)|(t.ctrlKey?4:0)|(t.metaKey?8:0);switch(t.keyCode){case 0:t.key==="UIKeyInputUpArrow"?e?r.key=Q.ESC+"OA":r.key=Q.ESC+"[A":t.key==="UIKeyInputLeftArrow"?e?r.key=Q.ESC+"OD":r.key=Q.ESC+"[D":t.key==="UIKeyInputRightArrow"?e?r.key=Q.ESC+"OC":r.key=Q.ESC+"[C":t.key==="UIKeyInputDownArrow"&&(e?r.key=Q.ESC+"OB":r.key=Q.ESC+"[B");break;case 8:r.key=t.ctrlKey?"\b":Q.DEL,t.altKey&&(r.key=Q.ESC+r.key);break;case 9:if(t.shiftKey){r.key=Q.ESC+"[Z";break}r.key=Q.HT,r.cancel=!0;break;case 13:r.key=t.altKey?Q.ESC+Q.CR:Q.CR,r.cancel=!0;break;case 27:r.key=Q.ESC,t.altKey&&(r.key=Q.ESC+Q.ESC),r.cancel=!0;break;case 37:if(t.metaKey)break;o?r.key=Q.ESC+"[1;"+(o+1)+"D":e?r.key=Q.ESC+"OD":r.key=Q.ESC+"[D";break;case 39:if(t.metaKey)break;o?r.key=Q.ESC+"[1;"+(o+1)+"C":e?r.key=Q.ESC+"OC":r.key=Q.ESC+"[C";break;case 38:if(t.metaKey)break;o?r.key=Q.ESC+"[1;"+(o+1)+"A":e?r.key=Q.ESC+"OA":r.key=Q.ESC+"[A";break;case 40:if(t.metaKey)break;o?r.key=Q.ESC+"[1;"+(o+1)+"B":e?r.key=Q.ESC+"OB":r.key=Q.ESC+"[B";break;case 45:!t.shiftKey&&!t.ctrlKey&&(r.key=Q.ESC+"[2~");break;case 46:o?r.key=Q.ESC+"[3;"+(o+1)+"~":r.key=Q.ESC+"[3~";break;case 36:o?r.key=Q.ESC+"[1;"+(o+1)+"H":e?r.key=Q.ESC+"OH":r.key=Q.ESC+"[H";break;case 35:o?r.key=Q.ESC+"[1;"+(o+1)+"F":e?r.key=Q.ESC+"OF":r.key=Q.ESC+"[F";break;case 33:t.shiftKey?r.type=2:t.ctrlKey?r.key=Q.ESC+"[5;"+(o+1)+"~":r.key=Q.ESC+"[5~";break;case 34:t.shiftKey?r.type=3:t.ctrlKey?r.key=Q.ESC+"[6;"+(o+1)+"~":r.key=Q.ESC+"[6~";break;case 112:o?r.key=Q.ESC+"[1;"+(o+1)+"P":r.key=Q.ESC+"OP";break;case 113:o?r.key=Q.ESC+"[1;"+(o+1)+"Q":r.key=Q.ESC+"OQ";break;case 114:o?r.key=Q.ESC+"[1;"+(o+1)+"R":r.key=Q.ESC+"OR";break;case 115:o?r.key=Q.ESC+"[1;"+(o+1)+"S":r.key=Q.ESC+"OS";break;case 116:o?r.key=Q.ESC+"[15;"+(o+1)+"~":r.key=Q.ESC+"[15~";break;case 117:o?r.key=Q.ESC+"[17;"+(o+1)+"~":r.key=Q.ESC+"[17~";break;case 118:o?r.key=Q.ESC+"[18;"+(o+1)+"~":r.key=Q.ESC+"[18~";break;case 119:o?r.key=Q.ESC+"[19;"+(o+1)+"~":r.key=Q.ESC+"[19~";break;case 120:o?r.key=Q.ESC+"[20;"+(o+1)+"~":r.key=Q.ESC+"[20~";break;case 121:o?r.key=Q.ESC+"[21;"+(o+1)+"~":r.key=Q.ESC+"[21~";break;case 122:o?r.key=Q.ESC+"[23;"+(o+1)+"~":r.key=Q.ESC+"[23~";break;case 123:o?r.key=Q.ESC+"[24;"+(o+1)+"~":r.key=Q.ESC+"[24~";break;default:if(t.ctrlKey&&!t.shiftKey&&!t.altKey&&!t.metaKey)t.keyCode>=65&&t.keyCode<=90?r.key=String.fromCharCode(t.keyCode-64):t.keyCode===32?r.key=Q.NUL:t.keyCode>=51&&t.keyCode<=55?r.key=String.fromCharCode(t.keyCode-51+27):t.keyCode===56?r.key=Q.DEL:t.keyCode===219?r.key=Q.ESC:t.keyCode===220?r.key=Q.FS:t.keyCode===221&&(r.key=Q.GS);else if((!s||i)&&t.altKey&&!t.metaKey){let a=vj[t.keyCode]?.[t.shiftKey?1:0];if(a)r.key=Q.ESC+a;else if(t.keyCode>=65&&t.keyCode<=90){let l=t.ctrlKey?t.keyCode-64:t.keyCode+32,c=String.fromCharCode(l);t.shiftKey&&(c=c.toUpperCase()),r.key=Q.ESC+c}else if(t.keyCode===32)r.key=Q.ESC+(t.ctrlKey?Q.NUL:" ");else if(t.key==="Dead"&&t.code.startsWith("Key")){let l=t.code.slice(3,4);t.shiftKey||(l=l.toLowerCase()),r.key=Q.ESC+l,r.cancel=!0}}else s&&!t.altKey&&!t.ctrlKey&&!t.shiftKey&&t.metaKey?t.keyCode===65&&(r.type=1):t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.keyCode>=48&&t.key.length===1?r.key=t.key:t.key&&t.ctrlKey&&(t.key==="_"&&(r.key=Q.US),t.key==="@"&&(r.key=Q.NUL));break}return r}var Qe=0,yj=class{constructor(t){this._getKey=t,this._array=[],this._insertedValues=[],this._flushInsertedTask=new io,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new io,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(t){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(t)}_flushInserted(){let t=this._insertedValues.sort((r,o)=>this._getKey(r)-this._getKey(o)),e=0,s=0,i=new Array(this._array.length+this._insertedValues.length);for(let r=0;r<i.length;r++)s>=this._array.length||this._getKey(t[e])<=this._getKey(this._array[s])?(i[r]=t[e],e++):i[r]=this._array[s++];this._array=i,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(t){if(this._flushCleanupInserted(),this._array.length===0)return!1;let e=this._getKey(t);if(e===void 0||(Qe=this._search(e),Qe===-1)||this._getKey(this._array[Qe])!==e)return!1;do if(this._array[Qe]===t)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(Qe),!0;while(++Qe<this._array.length&&this._getKey(this._array[Qe])===e);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let t=this._deletedIndices.sort((r,o)=>r-o),e=0,s=new Array(this._array.length-t.length),i=0;for(let r=0;r<this._array.length;r++)t[e]===r?e++:s[i++]=this._array[r];this._array=s,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(Qe=this._search(t),!(Qe<0||Qe>=this._array.length)&&this._getKey(this._array[Qe])===t))do yield this._array[Qe];while(++Qe<this._array.length&&this._getKey(this._array[Qe])===t)}forEachByKey(t,e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(Qe=this._search(t),!(Qe<0||Qe>=this._array.length)&&this._getKey(this._array[Qe])===t))do e(this._array[Qe]);while(++Qe<this._array.length&&this._getKey(this._array[Qe])===t)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(t){let e=0,s=this._array.length-1;for(;s>=e;){let i=e+s>>1,r=this._getKey(this._array[i]);if(r>t)s=i-1;else if(r<t)e=i+1;else{for(;i>0&&this._getKey(this._array[i-1])===t;)i--;return i}}return e}},la=0,bh=0,Sj=class extends ke{constructor(){super(),this._decorations=new yj(t=>t?.marker.line),this._onDecorationRegistered=this._register(new re),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new re),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(He(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(t){if(t.marker.isDisposed)return;let e=new wj(t);if(e){let s=e.marker.onDispose(()=>e.dispose()),i=e.onDispose(()=>{i.dispose(),e&&(this._decorations.delete(e)&&this._onDecorationRemoved.fire(e),s.dispose())});this._decorations.insert(e),this._onDecorationRegistered.fire(e)}return e}reset(){for(let t of this._decorations.values())t.dispose();this._decorations.clear()}*getDecorationsAtCell(t,e,s){let i=0,r=0;for(let o of this._decorations.getKeyIterator(e))i=o.options.x??0,r=i+(o.options.width??1),t>=i&&t<r&&(!s||(o.options.layer??"bottom")===s)&&(yield o)}forEachDecorationAtCell(t,e,s,i){this._decorations.forEachByKey(e,r=>{la=r.options.x??0,bh=la+(r.options.width??1),t>=la&&t<bh&&(!s||(r.options.layer??"bottom")===s)&&i(r)})}},wj=class extends ii{constructor(t){super(),this.options=t,this.onRenderEmitter=this.add(new re),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new re),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=t.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=Ke.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=Ke.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},Vj=1e3,Cj=class{constructor(t,e=Vj){this._renderCallback=t,this._debounceThresholdMS=e,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(t,e,s){this._rowCount=s,t=t!==void 0?t:0,e=e!==void 0?e:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,e):e;let i=performance.now();if(i-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=i,this._innerRefresh();else if(!this._additionalRefreshRequested){let r=i-this._lastRefreshMs,o=this._debounceThresholdMS-r;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},o)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e)}},yh=20,no=class extends ke{constructor(t,e,s,i){super(),this._terminal=t,this._coreBrowserService=s,this._renderService=i,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let r=this._coreBrowserService.mainDocument;this._accessibilityContainer=r.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=r.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let o=0;o<this._terminal.rows;o++)this._rowElements[o]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[o]);if(this._topBoundaryFocusListener=o=>this._handleBoundaryFocus(o,0),this._bottomBoundaryFocusListener=o=>this._handleBoundaryFocus(o,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=r.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new Cj(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize(o=>this._handleResize(o.rows))),this._register(this._terminal.onRender(o=>this._refreshRows(o.start,o.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(o=>this._handleChar(o))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
730
+ `))),this._register(this._terminal.onA11yTab(o=>this._handleTab(o))),this._register(this._terminal.onKey(o=>this._handleKey(o.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(Se(r,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(He(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(t){for(let e=0;e<t;e++)this._handleChar(" ")}_handleChar(t){this._liveRegionLineCount<yh+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==t&&(this._charsToAnnounce+=t):this._charsToAnnounce+=t,t===`
731
+ `&&(this._liveRegionLineCount++,this._liveRegionLineCount===yh+1&&(this._liveRegion.textContent+=Ia.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(t){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(t)||this._charsToConsume.push(t)}_refreshRows(t,e){this._liveRegionDebouncer.refresh(t,e,this._terminal.rows)}_renderRows(t,e){let s=this._terminal.buffer,i=s.lines.length.toString();for(let r=t;r<=e;r++){let o=s.lines.get(s.ydisp+r),a=[],l=o?.translateToString(!0,void 0,void 0,a)||"",c=(s.ydisp+r+1).toString(),d=this._rowElements[r];d&&(l.length===0?(d.textContent=" ",this._rowColumns.set(d,[0,1])):(d.textContent=l,this._rowColumns.set(d,a)),d.setAttribute("aria-posinset",c),d.setAttribute("aria-setsize",i),this._alignRowWidth(d))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(t,e){let s=t.target,i=this._rowElements[e===0?1:this._rowElements.length-2],r=s.getAttribute("aria-posinset"),o=e===0?"1":`${this._terminal.buffer.lines.length}`;if(r===o||t.relatedTarget!==i)return;let a,l;if(e===0?(a=s,l=this._rowElements.pop(),this._rowContainer.removeChild(l)):(a=this._rowElements.shift(),l=s,this._rowContainer.removeChild(a)),a.removeEventListener("focus",this._topBoundaryFocusListener),l.removeEventListener("focus",this._bottomBoundaryFocusListener),e===0){let c=this._createAccessibilityTreeNode();this._rowElements.unshift(c),this._rowContainer.insertAdjacentElement("afterbegin",c)}else{let c=this._createAccessibilityTreeNode();this._rowElements.push(c),this._rowContainer.appendChild(c)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(e===0?-1:1),this._rowElements[e===0?1:this._rowElements.length-2].focus(),t.preventDefault(),t.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let t=this._coreBrowserService.mainDocument.getSelection();if(!t)return;if(t.isCollapsed){this._rowContainer.contains(t.anchorNode)&&this._terminal.clearSelection();return}if(!t.anchorNode||!t.focusNode){console.error("anchorNode and/or focusNode are null");return}let e={node:t.anchorNode,offset:t.anchorOffset},s={node:t.focusNode,offset:t.focusOffset};if((e.node.compareDocumentPosition(s.node)&Node.DOCUMENT_POSITION_PRECEDING||e.node===s.node&&e.offset>s.offset)&&([e,s]=[s,e]),e.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(e={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(e.node))return;let i=this._rowElements.slice(-1)[0];if(s.node.compareDocumentPosition(i)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(s={node:i,offset:i.textContent?.length??0}),!this._rowContainer.contains(s.node))return;let r=({node:l,offset:c})=>{let d=l instanceof Text?l.parentNode:l,u=parseInt(d?.getAttribute("aria-posinset"),10)-1;if(isNaN(u))return console.warn("row is invalid. Race condition?"),null;let h=this._rowColumns.get(d);if(!h)return console.warn("columns is null. Race condition?"),null;let f=c<h.length?h[c]:h.slice(-1)[0]+1;return f>=this._terminal.cols&&(++u,f=0),{row:u,column:f}},o=r(e),a=r(s);if(!(!o||!a)){if(o.row>a.row||o.row===a.row&&o.column>=a.column)throw new Error("invalid range");this._terminal.select(o.column,o.row,(a.row-o.row)*this._terminal.cols-o.column+a.column)}}_handleResize(t){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let t=this._coreBrowserService.mainDocument.createElement("div");return t.setAttribute("role","listitem"),t.tabIndex=-1,this._refreshRowDimensions(t),t}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let t=0;t<this._terminal.rows;t++)this._refreshRowDimensions(this._rowElements[t]),this._alignRowWidth(this._rowElements[t])}}_refreshRowDimensions(t){t.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(t){t.style.transform="";let e=t.getBoundingClientRect().width,s=this._rowColumns.get(t)?.slice(-1)?.[0];if(!s)return;let i=s*this._renderService.dimensions.css.cell.width;t.style.transform=`scaleX(${i/e})`}};no=Je([le(1,nc),le(2,Us),le(3,Hs)],no);var ul=class extends ke{constructor(t,e,s,i,r){super(),this._element=t,this._mouseService=e,this._renderService=s,this._bufferService=i,this._linkProviderService=r,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new re),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new re),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(He(()=>{vi(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(Se(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(Se(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(Se(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(Se(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(t){this._lastMouseEvent=t;let e=this._positionFromMouseEvent(t,this._element,this._mouseService);if(!e)return;this._isMouseOut=!1;let s=t.composedPath();for(let i=0;i<s.length;i++){let r=s[i];if(r.classList.contains("xterm"))break;if(r.classList.contains("xterm-hover"))return}(!this._lastBufferCell||e.x!==this._lastBufferCell.x||e.y!==this._lastBufferCell.y)&&(this._handleHover(e),this._lastBufferCell=e)}_handleHover(t){if(this._activeLine!==t.y||this._wasResized){this._clearCurrentLink(),this._askForLink(t,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,t)||(this._clearCurrentLink(),this._askForLink(t,!0))}_askForLink(t,e){(!this._activeProviderReplies||!e)&&(this._activeProviderReplies?.forEach(i=>{i?.forEach(r=>{r.link.dispose&&r.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=t.y);let s=!1;for(let[i,r]of this._linkProviderService.linkProviders.entries())e?this._activeProviderReplies?.get(i)&&(s=this._checkLinkProviderResult(i,t,s)):r.provideLinks(t.y,o=>{if(this._isMouseOut)return;let a=o?.map(l=>({link:l}));this._activeProviderReplies?.set(i,a),s=this._checkLinkProviderResult(i,t,s),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(t.y,this._activeProviderReplies)})}_removeIntersectingLinks(t,e){let s=new Set;for(let i=0;i<e.size;i++){let r=e.get(i);if(r)for(let o=0;o<r.length;o++){let a=r[o],l=a.link.range.start.y<t?0:a.link.range.start.x,c=a.link.range.end.y>t?this._bufferService.cols:a.link.range.end.x;for(let d=l;d<=c;d++){if(s.has(d)){r.splice(o--,1);break}s.add(d)}}}}_checkLinkProviderResult(t,e,s){if(!this._activeProviderReplies)return s;let i=this._activeProviderReplies.get(t),r=!1;for(let o=0;o<t;o++)(!this._activeProviderReplies.has(o)||this._activeProviderReplies.get(o))&&(r=!0);if(!r&&i){let o=i.find(a=>this._linkAtPosition(a.link,e));o&&(s=!0,this._handleNewLink(o))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!s)for(let o=0;o<this._activeProviderReplies.size;o++){let a=this._activeProviderReplies.get(o)?.find(l=>this._linkAtPosition(l.link,e));if(a){s=!0,this._handleNewLink(a);break}}return s}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(t){if(!this._currentLink)return;let e=this._positionFromMouseEvent(t,this._element,this._mouseService);e&&this._mouseDownLink&&kj(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,e)&&this._currentLink.link.activate(t,this._currentLink.link.text)}_clearCurrentLink(t,e){!this._currentLink||!this._lastMouseEvent||(!t||!e||this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=e)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,vi(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(t){if(!this._lastMouseEvent)return;let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._linkAtPosition(t.link,e)&&(this._currentLink=t,this._currentLink.state={decorations:{underline:t.link.decorations===void 0?!0:t.link.decorations.underline,pointerCursor:t.link.decorations===void 0?!0:t.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,t.link,this._lastMouseEvent),t.link.decorations={},Object.defineProperties(t.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:s=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==s&&(this._currentLink.state.decorations.pointerCursor=s,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",s))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:s=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==s&&(this._currentLink.state.decorations.underline=s,this._currentLink.state.isHovered&&this._fireUnderlineEvent(t.link,s))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(s=>{if(!this._currentLink)return;let i=s.start===0?0:s.start+1+this._bufferService.buffer.ydisp,r=this._bufferService.buffer.ydisp+1+s.end;if(this._currentLink.link.range.start.y>=i&&this._currentLink.link.range.end.y<=r&&(this._clearCurrentLink(i,r),this._lastMouseEvent)){let o=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);o&&this._askForLink(o,!1)}})))}_linkHover(t,e,s){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!0),this._currentLink.state.decorations.pointerCursor&&t.classList.add("xterm-cursor-pointer")),e.hover&&e.hover(s,e.text)}_fireUnderlineEvent(t,e){let s=t.range,i=this._bufferService.buffer.ydisp,r=this._createLinkUnderlineEvent(s.start.x-1,s.start.y-i-1,s.end.x,s.end.y-i-1,void 0);(e?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(r)}_linkLeave(t,e,s){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!1),this._currentLink.state.decorations.pointerCursor&&t.classList.remove("xterm-cursor-pointer")),e.leave&&e.leave(s,e.text)}_linkAtPosition(t,e){let s=t.range.start.y*this._bufferService.cols+t.range.start.x,i=t.range.end.y*this._bufferService.cols+t.range.end.x,r=e.y*this._bufferService.cols+e.x;return s<=r&&r<=i}_positionFromMouseEvent(t,e,s){let i=s.getCoords(t,e,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(t,e,s,i,r){return{x1:t,y1:e,x2:s,y2:i,cols:this._bufferService.cols,fg:r}}};ul=Je([le(1,rc),le(2,Hs),le(3,Ot),le(4,xm)],ul);function kj(t,e){return t.text===e.text&&t.range.start.x===e.range.start.x&&t.range.start.y===e.range.start.y&&t.range.end.x===e.range.end.x&&t.range.end.y===e.range.end.y}var jj=class extends xj{constructor(t={}){super(t),this._linkifier=this._register(new Hi),this.browser=Lm,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Hi),this._onCursorMove=this._register(new re),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new re),this.onKey=this._onKey.event,this._onRender=this._register(new re),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new re),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new re),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new re),this.onBell=this._onBell.event,this._onFocus=this._register(new re),this._onBlur=this._register(new re),this._onA11yCharEmitter=this._register(new re),this._onA11yTabEmitter=this._register(new re),this._onWillOpen=this._register(new re),this._setup(),this._decorationService=this._instantiationService.createInstance(Sj),this._instantiationService.setService(or,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(gk),this._instantiationService.setService(xm,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Ta)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(yt.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(yt.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(yt.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(yt.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(He(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(t){if(this._themeService)for(let e of t){let s,i="";switch(e.index){case 256:s="foreground",i="10";break;case 257:s="background",i="11";break;case 258:s="cursor",i="12";break;default:s="ansi",i="4;"+e.index}switch(e.type){case 0:let r=ze.toColorRGB(s==="ansi"?this._themeService.colors.ansi[e.index]:this._themeService.colors[s]);this.coreService.triggerDataEvent(`${Q.ESC}]${i};${uj(r)}${Mm.ST}`);break;case 1:if(s==="ansi")this._themeService.modifyColors(o=>o.ansi[e.index]=tt.toColor(...e.color));else{let o=s;this._themeService.modifyColors(a=>a[o]=tt.toColor(...e.color))}break;case 2:this._themeService.restoreColor(e.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(t){t?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(no,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(t){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Q.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Q.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let t=this.buffer.ybase+this.buffer.y,e=this.buffer.lines.get(t);if(!e)return;let s=Math.min(this.buffer.x,this.cols-1),i=this._renderService.dimensions.css.cell.height,r=e.getWidth(s),o=this._renderService.dimensions.css.cell.width*r,a=this.buffer.y*this._renderService.dimensions.css.cell.height,l=s*this._renderService.dimensions.css.cell.width;this.textarea.style.left=l+"px",this.textarea.style.top=a+"px",this.textarea.style.width=o+"px",this.textarea.style.height=i+"px",this.textarea.style.lineHeight=i+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(Se(this.element,"copy",e=>{this.hasSelection()&&IC(e,this._selectionService)}));let t=e=>RC(e,this.textarea,this.coreService,this.optionsService);this._register(Se(this.textarea,"paste",t)),this._register(Se(this.element,"paste",t)),Om?this._register(Se(this.element,"mousedown",e=>{e.button===2&&Id(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(Se(this.element,"contextmenu",e=>{Id(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),fc&&this._register(Se(this.element,"auxclick",e=>{e.button===1&&cm(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(Se(this.textarea,"keyup",t=>this._keyUp(t),!0)),this._register(Se(this.textarea,"keydown",t=>this._keyDown(t),!0)),this._register(Se(this.textarea,"keypress",t=>this._keyPress(t),!0)),this._register(Se(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(Se(this.textarea,"compositionupdate",t=>this._compositionHelper.compositionupdate(t))),this._register(Se(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(Se(this.textarea,"input",t=>this._inputEvent(t),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(t){if(!t)throw new Error("Terminal requires a parent element.");if(t.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=t.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),t.appendChild(this.element);let e=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),e.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(Se(this.screenElement,"mousemove",r=>this.updateCursorStyle(r))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),e.appendChild(this.screenElement);let s=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",Ea.get()),$m||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>s.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(mk,this.textarea,t.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(Us,this._coreBrowserService),this._register(Se(this.textarea,"focus",r=>this._handleTextAreaFocus(r))),this._register(Se(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(el,this._document,this._helperContainer),this._instantiationService.setService(ko,this._charSizeService),this._themeService=this._instantiationService.createInstance(nl),this._instantiationService.setService(Zi,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(to),this._instantiationService.setService(_m,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(sl,this.rows,this.screenElement)),this._instantiationService.setService(Hs,this._renderService),this._register(this._renderService.onRenderedViewportChange(r=>this._onRender.fire(r))),this.onResize(r=>this._renderService.resize(r.cols,r.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(Ja,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(tl),this._instantiationService.setService(rc,this._mouseService);let i=this._linkifier.value=this._register(this._instantiationService.createInstance(ul,this.screenElement));this.element.appendChild(e);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Ya,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(r=>{super.scrollLines(r,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(il,this.element,this.screenElement,i)),this._instantiationService.setService(zC,this._selectionService),this._register(this._selectionService.onRequestScrollLines(r=>this.scrollLines(r.amount,r.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(r=>this._renderService.handleSelectionChanged(r.start,r.end,r.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(r=>{this.textarea.value=r,this.textarea.focus(),this.textarea.select()})),this._register(yt.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Xa,this.screenElement)),this._register(Se(this.element,"mousedown",r=>this._selectionService.handleMouseDown(r))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(no,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",r=>this._handleScreenReaderModeOptionChange(r))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(eo,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",r=>{!this._overviewRulerRenderer&&r&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(eo,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Za,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let t=this,e=this.element;function s(o){let a=t._mouseService.getMouseReportCoords(o,t.screenElement);if(!a)return!1;let l,c;switch(o.overrideType||o.type){case"mousemove":c=32,o.buttons===void 0?(l=3,o.button!==void 0&&(l=o.button<3?o.button:3)):l=o.buttons&1?0:o.buttons&4?1:o.buttons&2?2:3;break;case"mouseup":c=0,l=o.button<3?o.button:3;break;case"mousedown":c=1,l=o.button<3?o.button:3;break;case"wheel":if(t._customWheelEventHandler&&t._customWheelEventHandler(o)===!1)return!1;let d=o.deltaY;if(d===0||t.coreMouseService.consumeWheelEvent(o,t._renderService?.dimensions?.device?.cell?.height,t._coreBrowserService?.dpr)===0)return!1;c=d<0?0:1,l=4;break;default:return!1}return c===void 0||l===void 0||l>4?!1:t.coreMouseService.triggerMouseEvent({col:a.col,row:a.row,x:a.x,y:a.y,button:l,action:c,ctrl:o.ctrlKey,alt:o.altKey,shift:o.shiftKey})}let i={mouseup:null,wheel:null,mousedrag:null,mousemove:null},r={mouseup:o=>(s(o),o.buttons||(this._document.removeEventListener("mouseup",i.mouseup),i.mousedrag&&this._document.removeEventListener("mousemove",i.mousedrag)),this.cancel(o)),wheel:o=>(s(o),this.cancel(o,!0)),mousedrag:o=>{o.buttons&&s(o)},mousemove:o=>{o.buttons||s(o)}};this._register(this.coreMouseService.onProtocolChange(o=>{o?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(o)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),o&8?i.mousemove||(e.addEventListener("mousemove",r.mousemove),i.mousemove=r.mousemove):(e.removeEventListener("mousemove",i.mousemove),i.mousemove=null),o&16?i.wheel||(e.addEventListener("wheel",r.wheel,{passive:!1}),i.wheel=r.wheel):(e.removeEventListener("wheel",i.wheel),i.wheel=null),o&2?i.mouseup||(i.mouseup=r.mouseup):(this._document.removeEventListener("mouseup",i.mouseup),i.mouseup=null),o&4?i.mousedrag||(i.mousedrag=r.mousedrag):(this._document.removeEventListener("mousemove",i.mousedrag),i.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(Se(e,"mousedown",o=>{if(o.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(o)))return s(o),i.mouseup&&this._document.addEventListener("mouseup",i.mouseup),i.mousedrag&&this._document.addEventListener("mousemove",i.mousedrag),this.cancel(o)})),this._register(Se(e,"wheel",o=>{if(!i.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(o)===!1)return!1;if(!this.buffer.hasScrollback){if(o.deltaY===0)return!1;if(t.coreMouseService.consumeWheelEvent(o,t._renderService?.dimensions?.device?.cell?.height,t._coreBrowserService?.dpr)===0)return this.cancel(o,!0);let a=Q.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(o.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(a,!0),this.cancel(o,!0)}}},{passive:!1}))}refresh(t,e){this._renderService?.refreshRows(t,e)}updateCursorStyle(t){this._selectionService?.shouldColumnSelect(t)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(t,e){this._viewport?this._viewport.scrollLines(t):super.scrollLines(t,e),this.refresh(0,this.rows-1)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){t&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let e=t-this._bufferService.buffer.ydisp;e!==0&&this.scrollLines(e)}paste(t){lm(t,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(t){this._customKeyEventHandler=t}attachCustomWheelEventHandler(t){this._customWheelEventHandler=t}registerLinkProvider(t){return this._linkProviderService.registerLinkProvider(t)}registerCharacterJoiner(t){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let e=this._characterJoinerService.register(t);return this.refresh(0,this.rows-1),e}deregisterCharacterJoiner(t){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(t)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(t){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+t)}registerDecoration(t){return this._decorationService.registerDecoration(t)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(t,e,s){this._selectionService.setSelection(t,e,s)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(t,e){this._selectionService?.selectLines(t,e)}_keyDown(t){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;let e=this.browser.isMac&&this.options.macOptionIsMeta&&t.altKey;if(!e&&!this._compositionHelper.keydown(t))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!e&&(t.key==="Dead"||t.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let s=bj(t,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(t),s.type===3||s.type===2){let i=this.rows-1;return this.scrollLines(s.type===2?-i:i),this.cancel(t,!0)}if(s.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,t)||(s.cancel&&this.cancel(t,!0),!s.key)||t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.key.length===1&&t.key.charCodeAt(0)>=65&&t.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((s.key===Q.ETX||s.key===Q.CR)&&(this.textarea.value=""),this._onKey.fire({key:s.key,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(s.key,!0),!this.optionsService.rawOptions.screenReaderMode||t.altKey||t.ctrlKey)return this.cancel(t,!0);this._keyDownHandled=!0}_isThirdLevelShift(t,e){let s=t.isMac&&!this.options.macOptionIsMeta&&e.altKey&&!e.ctrlKey&&!e.metaKey||t.isWindows&&e.altKey&&e.ctrlKey&&!e.metaKey||t.isWindows&&e.getModifierState("AltGraph");return e.type==="keypress"?s:s&&(!e.keyCode||e.keyCode>47)}_keyUp(t){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)&&(Nj(t)||this.focus(),this.updateCursorStyle(t),this._keyPressHandled=!1)}_keyPress(t){let e;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;if(this.cancel(t),t.charCode)e=t.charCode;else if(t.which===null||t.which===void 0)e=t.keyCode;else if(t.which!==0&&t.charCode!==0)e=t.which;else return!1;return!e||(t.altKey||t.ctrlKey||t.metaKey)&&!this._isThirdLevelShift(this.browser,t)?!1:(e=String.fromCharCode(e),this._onKey.fire({key:e,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(e,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(t){if(t.data&&t.inputType==="insertText"&&(!t.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let e=t.data;return this.coreService.triggerDataEvent(e,!0),this.cancel(t),!0}return!1}resize(t,e){if(t===this.cols&&e===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(t,e)}_afterResize(t,e){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let t=1;t<this.rows;t++)this.buffer.lines.push(this.buffer.getBlankLine(et));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let t=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=t,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(Q.ESC+"[I"):this.coreService.triggerDataEvent(Q.ESC+"[O")}_reportWindowsOptions(t){if(this._renderService)switch(t){case 0:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),s=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${Q.ESC}[4;${s};${e}t`);break;case 1:let i=this._renderService.dimensions.css.cell.width.toFixed(0),r=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${Q.ESC}[6;${r};${i}t`);break}}cancel(t,e){if(!(!this.options.cancelEvents&&!e))return t.preventDefault(),t.stopPropagation(),!1}};function Nj(t){return t.keyCode===16||t.keyCode===17||t.keyCode===18}var Aj=class{constructor(){this._addons=[]}dispose(){for(let t=this._addons.length-1;t>=0;t--)this._addons[t].instance.dispose()}loadAddon(t,e){let s={instance:e,dispose:e.dispose,isDisposed:!1};this._addons.push(s),e.dispose=()=>this._wrappedAddonDispose(s),e.activate(t)}_wrappedAddonDispose(t){if(t.isDisposed)return;let e=-1;for(let s=0;s<this._addons.length;s++)if(this._addons[s]===t){e=s;break}if(e===-1)throw new Error("Could not dispose an addon that has not been loaded");t.isDisposed=!0,t.dispose.apply(t.instance),this._addons.splice(e,1)}},Ej=class{constructor(t){this._line=t}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(t,e){if(!(t<0||t>=this._line.length))return e?(this._line.loadCell(t,e),e):this._line.loadCell(t,new cs)}translateToString(t,e,s){return this._line.translateToString(t,e,s)}},Sh=class{constructor(t,e){this._buffer=t,this.type=e}init(t){return this._buffer=t,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(t){let e=this._buffer.lines.get(t);if(e)return new Ej(e)}getNullCell(){return new cs}},Ij=class extends ke{constructor(t){super(),this._core=t,this._onBufferChange=this._register(new re),this.onBufferChange=this._onBufferChange.event,this._normal=new Sh(this._core.buffers.normal,"normal"),this._alternate=new Sh(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},Rj=class{constructor(t){this._core=t}registerCsiHandler(t,e){return this._core.registerCsiHandler(t,s=>e(s.toArray()))}addCsiHandler(t,e){return this.registerCsiHandler(t,e)}registerDcsHandler(t,e){return this._core.registerDcsHandler(t,(s,i)=>e(s,i.toArray()))}addDcsHandler(t,e){return this.registerDcsHandler(t,e)}registerEscHandler(t,e){return this._core.registerEscHandler(t,e)}addEscHandler(t,e){return this.registerEscHandler(t,e)}registerOscHandler(t,e){return this._core.registerOscHandler(t,e)}addOscHandler(t,e){return this.registerOscHandler(t,e)}},Tj=class{constructor(t){this._core=t}register(t){this._core.unicodeService.register(t)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(t){this._core.unicodeService.activeVersion=t}},Dj=["cols","rows"],Ss=0,Mj=class extends ke{constructor(t){super(),this._core=this._register(new jj(t)),this._addonManager=this._register(new Aj),this._publicOptions={...this._core.options};let e=i=>this._core.options[i],s=(i,r)=>{this._checkReadonlyOptions(i),this._core.options[i]=r};for(let i in this._core.options){let r={get:e.bind(this,i),set:s.bind(this,i)};Object.defineProperty(this._publicOptions,i,r)}}_checkReadonlyOptions(t){if(Dj.includes(t))throw new Error(`Option "${t}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new Rj(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new Tj(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new Ij(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let t=this._core.coreService.decPrivateModes,e="none";switch(this._core.coreMouseService.activeProtocol){case"X10":e="x10";break;case"VT200":e="vt200";break;case"DRAG":e="drag";break;case"ANY":e="any";break}return{applicationCursorKeysMode:t.applicationCursorKeys,applicationKeypadMode:t.applicationKeypad,bracketedPasteMode:t.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:e,originMode:t.origin,reverseWraparoundMode:t.reverseWraparound,sendFocusMode:t.sendFocus,synchronizedOutputMode:t.synchronizedOutput,wraparoundMode:t.wraparound}}get options(){return this._publicOptions}set options(t){for(let e in t)this._publicOptions[e]=t[e]}blur(){this._core.blur()}focus(){this._core.focus()}input(t,e=!0){this._core.input(t,e)}resize(t,e){this._verifyIntegers(t,e),this._core.resize(t,e)}open(t){this._core.open(t)}attachCustomKeyEventHandler(t){this._core.attachCustomKeyEventHandler(t)}attachCustomWheelEventHandler(t){this._core.attachCustomWheelEventHandler(t)}registerLinkProvider(t){return this._core.registerLinkProvider(t)}registerCharacterJoiner(t){return this._checkProposedApi(),this._core.registerCharacterJoiner(t)}deregisterCharacterJoiner(t){this._checkProposedApi(),this._core.deregisterCharacterJoiner(t)}registerMarker(t=0){return this._verifyIntegers(t),this._core.registerMarker(t)}registerDecoration(t){return this._checkProposedApi(),this._verifyPositiveIntegers(t.x??0,t.width??0,t.height??0),this._core.registerDecoration(t)}hasSelection(){return this._core.hasSelection()}select(t,e,s){this._verifyIntegers(t,e,s),this._core.select(t,e,s)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(t,e){this._verifyIntegers(t,e),this._core.selectLines(t,e)}dispose(){super.dispose()}scrollLines(t){this._verifyIntegers(t),this._core.scrollLines(t)}scrollPages(t){this._verifyIntegers(t),this._core.scrollPages(t)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(t){this._verifyIntegers(t),this._core.scrollToLine(t)}clear(){this._core.clear()}write(t,e){this._core.write(t,e)}writeln(t,e){this._core.write(t),this._core.write(`\r
732
+ `,e)}paste(t){this._core.paste(t)}refresh(t,e){this._verifyIntegers(t,e),this._core.refresh(t,e)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(t){this._addonManager.loadAddon(this,t)}static get strings(){return{get promptLabel(){return Ea.get()},set promptLabel(t){Ea.set(t)},get tooMuchOutput(){return Ia.get()},set tooMuchOutput(t){Ia.set(t)}}}_verifyIntegers(...t){for(Ss of t)if(Ss===1/0||isNaN(Ss)||Ss%1!==0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...t){for(Ss of t)if(Ss&&(Ss===1/0||isNaN(Ss)||Ss%1!==0||Ss<0))throw new Error("This API only accepts positive integers")}};var Pj=2,Lj=1,Oj=class{activate(t){this._terminal=t}dispose(){}fit(){let t=this.proposeDimensions();if(!t||!this._terminal||isNaN(t.cols)||isNaN(t.rows))return;let e=this._terminal._core;(this._terminal.rows!==t.rows||this._terminal.cols!==t.cols)&&(e._renderService.clear(),this._terminal.resize(t.cols,t.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let e=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,s=window.getComputedStyle(this._terminal.element.parentElement),i=parseInt(s.getPropertyValue("height")),r=Math.max(0,parseInt(s.getPropertyValue("width"))),o=window.getComputedStyle(this._terminal.element),a={top:parseInt(o.getPropertyValue("padding-top")),bottom:parseInt(o.getPropertyValue("padding-bottom")),right:parseInt(o.getPropertyValue("padding-right")),left:parseInt(o.getPropertyValue("padding-left"))},l=a.top+a.bottom,c=a.right+a.left,d=i-l,u=r-c-e;return{cols:Math.max(Pj,Math.floor(u/t.css.cell.width)),rows:Math.max(Lj,Math.floor(d/t.css.cell.height))}}};function Bj({onReady:t,onSelectionChange:e,initialData:s,className:i}){const r=S.useRef(null),o=S.useRef(null),a=S.useRef(e);return a.current=e,S.useEffect(()=>{const l=r.current;if(!l)return;const c=getComputedStyle(document.documentElement),d=p=>c.getPropertyValue(p).trim()||void 0,u=new Mj({allowTransparency:!1,fontFamily:d("--font-mono")||"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:12.5,lineHeight:1.5,scrollback:5e3,cursorBlink:!1,disableStdin:!0,theme:{background:d("--sidebar")||d("--card")||d("--background")||"#1e1e1e",cursor:"transparent",foreground:d("--foreground")||"#d4d4d4",selectionBackground:d("--accent"),selectionForeground:d("--accent-foreground"),black:d("--muted"),red:d("--destructive"),green:d("--success"),yellow:d("--warning"),blue:d("--chart-1"),magenta:d("--chart-3"),cyan:d("--chart-5"),white:d("--foreground"),brightBlack:d("--muted-foreground"),brightRed:d("--destructive"),brightGreen:d("--success"),brightYellow:d("--warning"),brightBlue:d("--chart-1"),brightMagenta:d("--chart-3"),brightCyan:d("--chart-5"),brightWhite:d("--foreground")}}),h=new Oj;u.loadAddon(h),u.open(l),h.fit(),s&&u.write(s),o.current=u,t?.(u);const f=u.onSelectionChange(()=>{const p=!!u.getSelection();a.current?.(p,()=>u.getSelection())}),m=new ResizeObserver(()=>{h.fit()});return m.observe(l),()=>{f.dispose(),m.disconnect(),o.current=null,u.dispose()}},[]),n.jsx("div",{ref:r,className:X("overflow-hidden bg-sidebar px-4 py-3 [&_.xterm]:h-full [&_.xterm-screen]:min-h-full [&_.xterm-viewport]:overscroll-contain",i)})}function zj(){const t=B.c(2),s=mc()?.entity;let i;return t[0]!==s?(i=Fs(s),t[0]=s,t[1]=i):i=t[1],i}const $j={npm:{install:"npm install",run:t=>`npm run ${t}`,runtime:"node"},pnpm:{install:"pnpm install",run:t=>`pnpm run ${t}`,runtime:"node"},yarn:{install:"yarn install",run:t=>`yarn run ${t}`,runtime:"node"},bun:{install:"bun install",run:t=>`bun run ${t}`,runtime:"bun"},deno:{install:"deno install",run:t=>`deno task ${t}`,runtime:"deno"}},Fj=["dev","start"];function wh(t){return t?.previewUrl?t.previewUrl.replace(/\/$/,""):null}function Uj({daemonOpen:t=!1}){const{org:e}=ye(),s=mc(),i=Mt(),{data:r}=St.useSession(),{currentBranch:o,setCurrentTaskBranch:a}=es(),l=r?.user?.id,c=s?.entity?.metadata,d=l&&o?c?.vmMap?.[l]?.[o]:void 0,u=d&&o?{previewUrl:d.previewUrl,vmId:d.vmId,branch:o,runnerKind:d.runnerKind}:null,[h,f]=S.useState(null),[m,p]=S.useState(""),[g,_]=S.useState(""),[v,x]=S.useState(!1),[b,y]=S.useState(new Set),C=S.useRef(!1),k=S.useRef(Date.now()),[w,V]=S.useState("setup"),[j,R]=S.useState([]),T=S.useRef(new Map),{sendMessage:I}=ro(),{setChatOpen:A}=Wn(),[N,E]=S.useState(!1),M=S.useRef(null),L=te=>{V(te),E(!1),M.current=null},D=(te,ue,Ve)=>{te===w&&(E(ue),M.current=ue?Ve:null)},P=()=>{const te=M.current?.();if(!te)return;A(!0),I({parts:[{type:"text",text:`<server-logs>
733
+ ${te}
734
+ </server-logs>`}]}),T.current.get(w)?.clearSelection()},O=Le({connectionId:Pt,orgId:e.id}),$=(te,ue)=>{const Ve=T.current.get(te);Ve&&Ve.write(ue)},z=Qi();hC($);const W=nw(s?.entity?.id,o??void 0),F=z.suspended?"suspended":u?"running":W?"creating":"idle",K=h??F;S.useEffect(()=>{h==="creating"&&F==="running"&&f(null),h==="stopping"&&F==="idle"&&f(null)},[F,h]);const H=ec(O),{mutate:U,isPending:Y}=H,q=s?.entity?.id,G=z.notFound?d?.vmId??null:null,ee=S.useRef(null);S.useEffect(()=>{if(!G||!q||Y||ee.current===G)return;ee.current=G;const te={virtualMcpId:q};o&&(te.branch=o),U(te,{onError:ue=>{console.error("[env] reprovision VM_START failed",ue)}})},[G,q,o,Y,U]);const Z=S.useRef(!1);S.useEffect(()=>{if(z.scripts.length>0&&!Z.current){Z.current=!0;for(const te of Fj)if(z.scripts.includes(te)){R([te]),L(te);break}}},[z.scripts]);const J=async(te,ue)=>{const Ve=await O.callTool({name:te,arguments:ue}),Ee=Ve.content;if(Ee?.[0]?.text?.startsWith("Error:"))throw new Error(Ee[0].text);return Ve.structuredContent??Ve},se=async te=>{if(!(v||!u)){x(!0);try{const ue=wh(d);if(!ue)throw new Error("No VM");const Ve=await fetch(`${ue}/_decopilot_vm/exec/${te}`,{method:"POST"});if(!Ve.ok)throw new Error(`Exec failed: ${Ve.statusText}`);y(Ee=>{const Te=new Set(Ee);return Te.delete(te),Te})}finally{x(!1)}}},ne=async te=>{if(!(v||!u)){x(!0);try{const ue=wh(d);if(!ue)throw new Error("No VM");const Ve=await fetch(`${ue}/_decopilot_vm/kill/${te}`,{method:"POST"});if(!Ve.ok)throw new Error(`Kill failed: ${Ve.statusText}`);y(Ee=>new Set(Ee).add(te))}finally{x(!1)}}},ce=te=>{j.includes(te)||R(ue=>[...ue,te]),L(te),se(te)},xe=async()=>{if(!C.current){C.current=!0,k.current=Date.now(),f("creating"),p("Connecting..."),_(""),Z.current=!1,R([]),L("setup");try{if(!s?.entity)throw new Error("No virtual MCP context");const te={virtualMcpId:s.entity.id};o&&(te.branch=o);const ue=await J("VM_START",te);if(!ue.vmId||!ue.branch)throw new Error("Invalid VM response — missing fields");o||a(ue.branch),p(""),Vr(i)}catch(te){f("error"),_(te instanceof Error?te.message:"Failed to start VM")}finally{C.current=!1}}},ae=async()=>{const te=u?.branch??o;f("stopping");const ue=s?.entity?.id;if(ue&&te)try{await O.callTool({name:"VM_DELETE",arguments:{virtualMcpId:ue,branch:te}})}catch{}Vr(i)},he=zj();if(!he)return null;const pe=s?.entity?.metadata?.runtime,me="__none__",we=Object.keys($j),ve=async(te,ue)=>{if(s?.entity)try{await O.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:s.entity.id,data:{metadata:{runtime:{...pe,[te]:ue}}}}}),Vr(i)}catch{fe.error("Failed to update setting")}};if(K==="idle"||K==="stopping"){const te=K==="stopping";return n.jsx("div",{className:"flex flex-col items-center justify-center w-full h-full p-6",children:n.jsxs("div",{className:"flex flex-col gap-4 w-full max-w-xs",children:[n.jsxs("a",{href:`https://github.com/${he.owner}/${he.name}`,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-4 rounded-lg border border-border hover:bg-accent/50 transition-colors",children:[n.jsx(Fr,{size:24}),n.jsxs("div",{className:"flex flex-col gap-0.5 min-w-0 flex-1",children:[n.jsxs("span",{className:"text-sm font-medium truncate",children:[he.owner,"/",he.name]}),n.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["github.com/",he.owner,"/",he.name]})]}),n.jsx(ji,{size:14,className:"text-muted-foreground shrink-0"})]}),n.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-2 w-full",children:[n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx(Vn,{htmlFor:"env-runtime",className:"text-xs font-medium",children:"Runtime"}),n.jsxs(ei,{value:pe?.selected??me,onValueChange:ue=>ve("selected",ue===me?null:ue),children:[n.jsx(ti,{id:"env-runtime",className:"w-28",children:n.jsx(si,{placeholder:"None"})}),n.jsxs(Zs,{children:[n.jsx(Ht,{value:me,children:"None"}),we.map(ue=>n.jsx(Ht,{value:ue,children:ue},ue))]})]})]}),n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx(Vn,{htmlFor:"env-port",className:"text-xs font-medium",children:"Port"}),n.jsx(gt,{id:"env-port",placeholder:"3000",className:"w-20 h-8",defaultValue:pe?.port??"",onBlur:ue=>ve("port",ue.target.value||null)})]}),n.jsxs(oe,{onClick:xe,disabled:te,children:[te?n.jsx(De,{size:14,className:"animate-spin"}):n.jsx(Ar,{size:14}),te?"Stopping...":"Run"]})]})]})})}if(K==="creating")return n.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full gap-4",children:[n.jsx(De,{size:24,className:"animate-spin text-muted-foreground"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:m}),n.jsx(rg,{since:k.current})]});if(K==="error")return n.jsx(om,{errorMsg:g,onRetry:xe});if(K==="suspended")return n.jsx(rm,{onResume:xe});const de=["setup",...j,...t?["daemon"]:[]],Re=z.scripts.filter(te=>!j.includes(te));return n.jsx("div",{className:"flex flex-col w-full h-full",children:n.jsxs("div",{className:"flex flex-col h-full",children:[n.jsxs("div",{className:"flex h-12 items-center border-b border-border px-2 shrink-0",children:[de.map(te=>n.jsx("button",{type:"button",onClick:()=>L(te),className:X("flex items-center h-full px-3 text-sm whitespace-nowrap border-b-2 mb-[-1px] capitalize transition-all hover:text-foreground",w===te?"text-foreground border-primary":"text-muted-foreground border-transparent"),children:te},te)),Re.length>0&&n.jsxs(As,{children:[n.jsx(Es,{asChild:!0,children:n.jsx("button",{type:"button",className:"flex items-center h-full px-2 text-muted-foreground hover:text-foreground transition-colors",children:n.jsx(Qt,{size:14})})}),n.jsx(Is,{align:"start",children:Re.map(te=>n.jsx(at,{onClick:()=>ce(te),children:te},te))})]}),n.jsx("div",{className:"flex-1 flex justify-center",children:u?.vmId&&n.jsxs("div",{className:"flex items-center",children:[n.jsxs(nt,{children:[n.jsx(st,{asChild:!0,children:n.jsx("button",{type:"button",className:"shrink-0 rounded-l bg-muted px-1.5 py-0.5 text-[10px] font-mono text-muted-foreground cursor-pointer hover:bg-accent hover:text-foreground transition-colors border-r border-border/50",onClick:()=>navigator.clipboard.writeText(u?.vmId??""),children:u.vmId})}),n.jsx(it,{side:"bottom",children:"Copy VM ID"})]}),n.jsxs(As,{children:[n.jsx(Es,{asChild:!0,children:n.jsx("button",{type:"button",className:"shrink-0 self-stretch rounded-r bg-muted px-0.5 text-[10px] text-muted-foreground cursor-pointer hover:bg-accent hover:text-foreground transition-colors",children:n.jsx(Rn,{size:10})})}),n.jsx(Is,{align:"center",children:n.jsxs(at,{onClick:ae,children:[n.jsx(wc,{size:12}),"Stop Server"]})})]})]})}),n.jsxs("div",{className:"flex items-center gap-1",children:[N&&n.jsxs("button",{type:"button",onClick:P,className:"flex items-center gap-1 rounded-md border border-border px-2 py-1 text-xs font-medium text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:[n.jsx(Og,{size:12}),"Add to chat"]}),w!=="setup"&&w!=="daemon"&&j.includes(w)&&(()=>{const te=z.activeProcesses.includes(w)&&!b.has(w);return n.jsxs("div",{className:"flex items-center",children:[n.jsxs("button",{type:"button",disabled:v,onClick:()=>se(w),className:X("flex items-center gap-1 border border-border px-2 py-1 text-xs font-medium text-muted-foreground hover:text-foreground hover:bg-muted transition-colors disabled:opacity-50",te?"rounded-l-md border-r-0":"rounded-md"),children:[v?n.jsx(De,{size:12,className:"animate-spin"}):n.jsx(Ar,{size:12}),v?"Running...":te?"Restart":"Run"]}),te&&n.jsxs(As,{children:[n.jsx(Es,{asChild:!0,children:n.jsx("button",{type:"button",disabled:v,className:"flex items-center self-stretch rounded-r-md border border-border px-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted transition-colors disabled:opacity-50",children:n.jsx(Rn,{size:12})})}),n.jsx(Is,{align:"end",children:n.jsxs(at,{onClick:()=>ne(w),children:[n.jsx(wc,{size:12}),"Stop Process"]})})]})]})})()]})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:de.map(te=>n.jsx("div",{className:X("h-full",w===te?"block":"hidden"),children:z.hasData(te)||te==="setup"||te==="daemon"?n.jsx(Bj,{onReady:ue=>{T.current.set(te,ue)},onSelectionChange:(ue,Ve)=>D(te,ue,Ve),initialData:z.getBuffer(te),className:"h-full"}):n.jsx(Fi,{className:"h-full",image:null,title:`Script "${te}" not running`,description:`Click Run to start "${te}".`,actions:n.jsxs(oe,{variant:"outline",size:"sm",disabled:v,onClick:()=>se(te),children:[v?n.jsx(De,{size:14,className:"animate-spin"}):n.jsx(Ar,{size:14}),"Run"]})})},te))})]})})}function Hj(t){const e=B.c(2),{virtualMcpId:s}=t,i=is(s);if(!(i?Fs(i):null)){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground p-6",children:[n.jsx(oi,{size:24,className:"text-muted-foreground/60"}),n.jsx("div",{children:"No repository connected."}),n.jsx("div",{className:"text-xs text-muted-foreground/80",children:"Connect a GitHub repository from the Connections tab to enable Env."})]}),e[0]=a):a=e[0],a}let o;return e[1]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx(Uj,{}),e[1]=o):o=e[1],o}function An(t){const e=t.trim().split(/\s+/);return e.length!==5?!1:e.every(s=>/^[\d*/,-]+$/.test(s))}function Wj(t){if(!t)return"Unknown schedule";const e=t.trim();if(e==="* * * * *")return"Every minute";if(e==="0 * * * *")return"Every hour";if(e==="0 0 * * *")return"Every day";if(e==="0 0 * * 1")return"Every week";const s=e.match(/^\*\/(\d+)\s+\*\s+\*\s+\*\s+\*$/);if(s)return`Every ${s[1]} minutes`;const i=e.match(/^0\s+\*\/(\d+)\s+\*\s+\*\s+\*$/);if(i)return`Every ${i[1]} hours`;const r=e.match(/^0\s+0\s+\*\/(\d+)\s+\*\s+\*$/);if(r){const l=parseInt(r[1]??"1");return l%7===0?`Every ${l/7} weeks`:`Every ${l} days`}const o=e.match(/^(\d+)\s+(\d+)\s+\*\s+\*\s+\*$/);if(o){const l=(o[2]??"0").padStart(2,"0"),c=(o[1]??"0").padStart(2,"0");return`Every day at ${l}:${c} UTC`}const a=e.match(/^(\d+)\s+(\d+)\s+\*\s+\*\s+(\d)$/);if(a){const c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][parseInt(a[3]??"0")]??"day",d=(a[2]??"0").padStart(2,"0"),u=(a[1]??"0").padStart(2,"0");return`Every ${c} at ${d}:${u} UTC`}return t}function Kj(t,e){const s=Math.max(1,t);switch(e){case"minutes":return s===1?"* * * * *":`*/${s} * * * *`;case"hours":return s===1?"0 * * * *":`0 */${s} * * *`;case"days":return s===1?"0 0 * * *":`0 0 */${s} * *`;case"weeks":return s===1?"0 0 * * 1":`0 0 */${s*7} * *`}}function qj(t){const e=t.trim();if(e==="* * * * *")return{count:1,unit:"minutes"};if(e==="0 * * * *")return{count:1,unit:"hours"};if(e==="0 0 * * *")return{count:1,unit:"days"};if(e==="0 0 * * 1")return{count:1,unit:"weeks"};const s=e.match(/^\*\/(\d+)\s+\*\s+\*\s+\*\s+\*$/);if(s)return{count:parseInt(s[1]),unit:"minutes"};const i=e.match(/^0\s+\*\/(\d+)\s+\*\s+\*\s+\*$/);if(i)return{count:parseInt(i[1]),unit:"hours"};const r=e.match(/^0\s+0\s+\*\/(\d+)\s+\*\s+\*$/);if(r){const o=parseInt(r[1]);return o%7===0?{count:o/7,unit:"weeks"}:{count:o,unit:"days"}}return null}function Gj(t,e){return e===1?{minutes:"minute",hours:"hour",days:"day",weeks:"week"}[t]??t:t}const Yj=[{label:"Minute",cron:"* * * * *"},{label:"Hour",cron:"0 * * * *"},{label:"Day",cron:"0 0 * * *"},{label:"Week",cron:"0 0 * * 1"}];function Xj(t){const e=B.c(33),{automationId:s,open:i,onOpenChange:r,onCustomSelect:o,onEventSelect:a}=t,{triggerAdd:l}=er(),[c,d]=S.useState(!1),u=i??c;let h;e[0]!==r?(h=T=>{r?r(T):d(T)},e[0]=r,e[1]=h):h=e[1];const f=h;let m;e[2]!==l||e[3]!==s||e[4]!==f?(m=async T=>{try{await l.mutateAsync({automation_id:s,type:"cron",cron_expression:T}),fe.success("Starter added"),f(!1)}catch(I){const A=I,N=A instanceof Error?A.message:"Failed to add starter";fe.error(N)}},e[2]=l,e[3]=s,e[4]=f,e[5]=m):m=e[5];const p=m;let g;e[6]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx(Es,{asChild:!0,children:n.jsxs(oe,{variant:"outline",size:"sm",children:[n.jsx(Qt,{size:14}),"Add Starter"]})}),e[6]=g):g=e[6];let _;e[7]===Symbol.for("react.memo_cache_sentinel")?(_=n.jsxs(Gh,{className:"gap-2.5",children:[n.jsx(Sn,{size:14,className:"text-muted-foreground shrink-0"}),"Every..."]}),e[7]=_):_=e[7];let v;e[8]!==l||e[9]!==p?(v=Yj.map(T=>n.jsxs(at,{className:"gap-2.5",onSelect:()=>p(T.cron),disabled:l.isPending,children:[n.jsx(Sn,{size:14,className:"text-muted-foreground shrink-0"}),"Every ",T.label]},T.cron)),e[8]=l,e[9]=p,e[10]=v):v=e[10];let x;e[11]!==v?(x=n.jsxs(kr,{children:[_,n.jsx(jr,{className:"w-[160px]",children:v})]}),e[11]=v,e[12]=x):x=e[12];let b;e[13]!==f||e[14]!==o?(b=()=>{f(!1),o?.()},e[13]=f,e[14]=o,e[15]=b):b=e[15];let y;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=n.jsx(Sn,{size:14,className:"text-muted-foreground shrink-0"}),e[16]=y):y=e[16];let C;e[17]!==b?(C=n.jsxs(at,{className:"gap-2.5",onSelect:b,children:[y,"Custom (cron)"]}),e[17]=b,e[18]=C):C=e[18];let k;e[19]!==f||e[20]!==a?(k=()=>{f(!1),a?.()},e[19]=f,e[20]=a,e[21]=k):k=e[21];let w;e[22]===Symbol.for("react.memo_cache_sentinel")?(w=n.jsx(Ui,{size:14,className:"text-muted-foreground shrink-0"}),e[22]=w):w=e[22];let V;e[23]!==k?(V=n.jsxs(at,{className:"gap-2.5",onSelect:k,children:[w,"Event"]}),e[23]=k,e[24]=V):V=e[24];let j;e[25]!==V||e[26]!==x||e[27]!==C?(j=n.jsxs(Is,{align:"end",className:"w-[200px]",children:[x,C,V]}),e[25]=V,e[26]=x,e[27]=C,e[28]=j):j=e[28];let R;return e[29]!==f||e[30]!==u||e[31]!==j?(R=n.jsxs(As,{open:u,onOpenChange:f,children:[g,j]}),e[29]=f,e[30]=u,e[31]=j,e[32]=R):R=e[32],R}function Jj(t){const e=B.c(60),{trigger:s,automationId:i,connectionName:r}=t,{triggerAdd:o,triggerRemove:a}=er(),[l,c]=S.useState(!1);let d;e[0]!==s.cron_expression?(d=s.cron_expression?qj(s.cron_expression):null,e[0]=s.cron_expression,e[1]=d):d=e[1];const u=d,[h,f]=S.useState(u?.count??1),[m,p]=S.useState(!1),[g,_]=S.useState(s.cron_expression??""),v=a.isPending||o.isPending,x=s.type==="cron";let b;e[2]!==i||e[3]!==a||e[4]!==s.id?(b=async()=>{try{await a.mutateAsync({trigger_id:s.id,automation_id:i}),fe.success("Starter removed")}catch{fe.error("Failed to remove starter")}c(!1)},e[2]=i,e[3]=a,e[4]=s.id,e[5]=b):b=e[5];const y=b;let C;e[6]!==o||e[7]!==i||e[8]!==g||e[9]!==a||e[10]!==s.cron_expression||e[11]!==s.id?(C=async()=>{const $=g.trim();if(!$||!An($)||$===s.cron_expression){p(!1),_(s.cron_expression??"");return}try{await o.mutateAsync({automation_id:i,type:"cron",cron_expression:$}),await a.mutateAsync({trigger_id:s.id,automation_id:i}),p(!1)}catch{fe.error("Failed to update starter"),_(s.cron_expression??""),p(!1)}},e[6]=o,e[7]=i,e[8]=g,e[9]=a,e[10]=s.cron_expression,e[11]=s.id,e[12]=C):C=e[12];const k=C;let w;e[13]!==o||e[14]!==i||e[15]!==u||e[16]!==a||e[17]!==s.cron_expression||e[18]!==s.id?(w=async $=>{if(!u)return;const z=Math.max(1,$),W=Kj(z,u.unit);if(W!==s.cron_expression)try{await o.mutateAsync({automation_id:i,type:"cron",cron_expression:W}),await a.mutateAsync({trigger_id:s.id,automation_id:i})}catch{fe.error("Failed to update starter"),f(u.count)}},e[13]=o,e[14]=i,e[15]=u,e[16]=a,e[17]=s.cron_expression,e[18]=s.id,e[19]=w):w=e[19];const V=w;let j;e[20]!==x?(j=x?n.jsx(Sn,{size:14,className:"text-muted-foreground shrink-0"}):n.jsx(Ui,{size:14,className:"text-muted-foreground shrink-0"}),e[20]=x,e[21]=j):j=e[21];let R;e[22]!==r||e[23]!==h||e[24]!==g||e[25]!==V||e[26]!==k||e[27]!==u||e[28]!==x||e[29]!==m||e[30]!==v||e[31]!==s.cron_expression||e[32]!==s.event_type||e[33]!==s.params?(R=u&&x?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"text-sm text-muted-foreground",children:"Every"}),n.jsx("input",{type:"number",min:1,value:h,onChange:$=>f(parseInt($.target.value)||1),onBlur:()=>V(h),onKeyDown:$=>{$.key==="Enter"&&$.target.blur(),$.key==="Escape"&&f(u.count)},disabled:v,className:"w-12 text-center text-sm h-7 border border-border rounded-md bg-background px-1 focus:outline-none focus:ring-1 focus:ring-ring"}),n.jsx("span",{className:"text-sm",children:Gj(u.unit,h)})]}):x&&m?n.jsxs(n.Fragment,{children:[n.jsx("input",{type:"text",value:g,onChange:$=>_($.target.value),onBlur:k,onKeyDown:$=>{$.key==="Enter"&&$.target.blur(),$.key==="Escape"&&(p(!1),_(s.cron_expression??""))},className:"flex-1 text-sm font-mono bg-transparent outline-none",autoFocus:!0}),g&&!An(g)&&n.jsx("span",{className:"text-xs text-muted-foreground/60 shrink-0",children:"invalid"})]}):n.jsxs("div",{className:"flex flex-col gap-0.5 flex-1 min-w-0",children:[n.jsx("span",{className:"text-sm font-mono text-xs text-muted-foreground truncate",children:x?Wj(s.cron_expression??""):`${s.event_type}${r?` · ${r}`:""}`}),!x&&s.params&&Object.keys(s.params).length>0&&n.jsx("span",{className:"text-xs text-muted-foreground/60 truncate",children:Object.entries(s.params).map(Qj).join(", ")})]}),e[22]=r,e[23]=h,e[24]=g,e[25]=V,e[26]=k,e[27]=u,e[28]=x,e[29]=m,e[30]=v,e[31]=s.cron_expression,e[32]=s.event_type,e[33]=s.params,e[34]=R):R=e[34];let T;e[35]!==v?(T=v&&n.jsx(De,{size:13,className:"animate-spin text-muted-foreground"}),e[35]=v,e[36]=T):T=e[36];let I;e[37]!==u||e[38]!==x||e[39]!==m||e[40]!==s.cron_expression?(I=x&&!u&&!m&&n.jsx(oe,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>{_(s.cron_expression??""),p(!0)},children:n.jsx(Bg,{size:13,className:"text-muted-foreground"})}),e[37]=u,e[38]=x,e[39]=m,e[40]=s.cron_expression,e[41]=I):I=e[41];let A;e[42]===Symbol.for("react.memo_cache_sentinel")?(A=n.jsx(oe,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>c(!0),children:n.jsx(ri,{size:13,className:"text-muted-foreground"})}),e[42]=A):A=e[42];let N;e[43]!==T||e[44]!==I?(N=n.jsxs("div",{className:"ml-auto flex items-center gap-1",children:[T,I,A]}),e[43]=T,e[44]=I,e[45]=N):N=e[45];let E;e[46]!==N||e[47]!==j||e[48]!==R?(E=n.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-border bg-background group",children:[j,R,N]}),e[46]=N,e[47]=j,e[48]=R,e[49]=E):E=e[49];let M;e[50]===Symbol.for("react.memo_cache_sentinel")?(M=n.jsxs(Dl,{children:[n.jsx(Ml,{children:"Remove Starter"}),n.jsx(Pl,{children:"Are you sure you want to remove this starter?"})]}),e[50]=M):M=e[50];let L;e[51]===Symbol.for("react.memo_cache_sentinel")?(L=n.jsx(Rl,{children:"Cancel"}),e[51]=L):L=e[51];let D;e[52]!==y?(D=n.jsxs(Tl,{children:[M,n.jsxs(Ll,{children:[L,n.jsx(Ru,{onClick:y,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Remove"})]})]}),e[52]=y,e[53]=D):D=e[53];let P;e[54]!==l||e[55]!==D?(P=n.jsx(Ol,{open:l,onOpenChange:c,children:D}),e[54]=l,e[55]=D,e[56]=P):P=e[56];let O;return e[57]!==E||e[58]!==P?(O=n.jsxs(n.Fragment,{children:[E,P]}),e[57]=E,e[58]=P,e[59]=O):O=e[59],O}function Qj(t){const[e,s]=t;return`${e}: ${s}`}function Zj(t){const e=B.c(55),{automationId:s,onDone:i}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={binding:"TRIGGER"},e[0]=r):r=e[0];const o=Gn(r),[a,l]=S.useState(),[c,d]=S.useState();let u;e[1]===Symbol.for("react.memo_cache_sentinel")?(u={},e[1]=u):u=e[1];const[h,f]=S.useState(u),{triggerAdd:m}=er(),{data:p,isLoading:g}=q_(a);let _,v,x,b,y,C;if(e[2]!==m||e[3]!==s||e[4]!==a||e[5]!==c||e[6]!==g||e[7]!==i||e[8]!==h||e[9]!==o||e[10]!==p){const V=p?.find(D=>D.type===c);let j;e[17]!==m||e[18]!==s||e[19]!==a||e[20]!==c||e[21]!==i||e[22]!==h?(j=async()=>{if(!(!a||!c))try{await m.mutateAsync({automation_id:s,type:"event",event_type:c,connection_id:a,params:h}),ie("automation_trigger_added",{automation_id:s,trigger_type:"event",connection_id:a,event_type:c}),fe.success("Event trigger added"),i()}catch{fe.error("Failed to add event trigger")}},e[17]=m,e[18]=s,e[19]=a,e[20]=c,e[21]=i,e[22]=h,e[23]=j):j=e[23],_=j,v="flex flex-col gap-3 px-3 py-3 rounded-lg border border-border bg-background";let R,T;e[24]===Symbol.for("react.memo_cache_sentinel")?(T=n.jsx(Ui,{size:14,className:"text-muted-foreground shrink-0"}),R=n.jsx("span",{className:"text-sm font-medium",children:"Event trigger"}),e[24]=R,e[25]=T):(R=e[24],T=e[25]);let I;e[26]===Symbol.for("react.memo_cache_sentinel")?(I=n.jsx(ri,{size:13}),e[26]=I):I=e[26],e[27]!==i?(x=n.jsxs("div",{className:"flex items-center gap-2",children:[T,R,n.jsx("button",{type:"button",className:"ml-auto shrink-0 p-0.5 rounded text-muted-foreground hover:text-foreground",onClick:i,children:I})]}),e[27]=i,e[28]=x):x=e[28];const A=a??"";let N;e[29]===Symbol.for("react.memo_cache_sentinel")?(N=D=>{l(D),d(void 0),f({})},e[29]=N):N=e[29];let E;e[30]===Symbol.for("react.memo_cache_sentinel")?(E=n.jsx(ti,{className:"w-full",children:n.jsx(si,{placeholder:"Select connection..."})}),e[30]=E):E=e[30];let M;e[31]!==o?(M=o.length===0?n.jsx("div",{className:"px-2 py-3 text-center text-xs text-muted-foreground",children:"No connections with trigger support"}):o.map(s5),e[31]=o,e[32]=M):M=e[32];let L;e[33]!==M?(L=n.jsx(Zs,{children:M}),e[33]=M,e[34]=L):L=e[34],e[35]!==A||e[36]!==L?(b=n.jsxs(ei,{value:A,onValueChange:N,children:[E,L]}),e[35]=A,e[36]=L,e[37]=b):b=e[37],e[38]!==a||e[39]!==c||e[40]!==g||e[41]!==p?(y=a&&n.jsxs(ei,{value:c??"",onValueChange:D=>{d(D),f({})},children:[n.jsx(ti,{className:"w-full",children:g?n.jsxs("span",{className:"flex items-center gap-2 text-muted-foreground",children:[n.jsx(De,{size:13,className:"animate-spin"}),"Loading events..."]}):n.jsx(si,{placeholder:"Select event type...",children:c??"Select event type..."})}),n.jsx(Zs,{children:p?.map(t5)})]}),e[38]=a,e[39]=c,e[40]=g,e[41]=p,e[42]=y):y=e[42],C=V?.paramsSchema&&Object.keys(V.paramsSchema).length>0&&n.jsx("div",{className:"flex flex-col gap-2",children:Object.entries(V.paramsSchema).map(D=>{const[P,O]=D;return n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsxs("label",{className:"text-xs text-muted-foreground",children:[P,O.description&&n.jsxs("span",{className:"text-muted-foreground/60",children:[" ","— ",O.description]})]}),O.enum?n.jsxs(ei,{value:h[P]??"",onValueChange:$=>f(z=>({...z,[P]:$})),children:[n.jsx(ti,{className:"w-full",children:n.jsx(si,{placeholder:`Select ${P}...`})}),n.jsx(Zs,{children:O.enum.map(e5)})]}):n.jsx("input",{type:"text",value:h[P]??"",onChange:$=>f(z=>({...z,[P]:$.target.value})),placeholder:O.description??P,className:"text-sm border border-border rounded-md bg-background px-2 py-1.5 focus:outline-none focus:ring-1 focus:ring-ring"})]},P)})}),e[2]=m,e[3]=s,e[4]=a,e[5]=c,e[6]=g,e[7]=i,e[8]=h,e[9]=o,e[10]=p,e[11]=_,e[12]=v,e[13]=x,e[14]=b,e[15]=y,e[16]=C}else _=e[11],v=e[12],x=e[13],b=e[14],y=e[15],C=e[16];let k;e[43]!==m||e[44]!==a||e[45]!==c||e[46]!==_?(k=a&&c&&n.jsx(oe,{size:"sm",onClick:_,disabled:m.isPending,children:m.isPending?n.jsx(De,{size:13,className:"animate-spin"}):"Add trigger"}),e[43]=m,e[44]=a,e[45]=c,e[46]=_,e[47]=k):k=e[47];let w;return e[48]!==v||e[49]!==x||e[50]!==b||e[51]!==y||e[52]!==C||e[53]!==k?(w=n.jsxs("div",{className:v,children:[x,b,y,C,k]}),e[48]=v,e[49]=x,e[50]=b,e[51]=y,e[52]=C,e[53]=k,e[54]=w):w=e[54],w}function e5(t){return n.jsx(Ht,{value:t,children:t},t)}function t5(t){return n.jsx(Ht,{value:t.type,children:n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{children:t.type}),n.jsx("span",{className:"text-xs text-muted-foreground",children:t.description})]})},t.type)}function s5(t){return n.jsx(Ht,{value:t.id,children:t.title},t.id)}function i5({automationId:t,automation:e,virtualMcpId:s,onBack:i,onDelete:r}){const o=e.agent?.id??s,{org:a}=ye(),{update:l,triggerAdd:c}=er(),d=Gn(),u=new Map(d.map(ae=>[ae.id,ae.title])),{createTaskWithMessage:h}=es(),{setModel:f,credentialId:m,selectedModel:p,setChatMode:g}=ai(),[_,v]=yi(),x=e.messages?.[0]?.metadata?.tiptapDoc??void 0,[b,y]=S.useState(x),[C,k]=S.useState(!1),[w,V]=S.useState(!1),[j,R]=S.useState(""),[T,I]=S.useState(!1),A=S.useRef(!1),N=S.useRef(null),E=S.useRef(!1),M=()=>{const he=gc(b).filter(pe=>pe.type==="text").map(pe=>pe.text).join(`
735
+ `);he.trim()&&(ee(),ie("automation_improve_clicked",{automation_id:t,agent_id:o,instructions_length:he.length}),g("plan"),h({virtualMcpId:vl(a.id),message:{parts:[{type:"text",text:`/writing-prompts for automation with id ${t}. The current message is
736
+
737
+ <message>
738
+ ${he}
739
+ </message>`}]}}))},L=e.models?.credentialId||m||"",D=e.models?.thinking?.id||p?.modelId||"",P=qi({defaultValues:{name:e.name,active:e.active,credential_id:L,model_id:D}}),O=P.watch("active"),$=P.watch("credential_id"),z=P.watch("model_id"),{models:W,isLoading:F}=uu($||void 0),K=W.find(ae=>ae.modelId===z)??null,H=S.useRef(null),U=S.useRef(new Set),Y=S.useRef(0),q=S.useRef(null),G=3e4,ee=()=>{q.current&&(clearTimeout(q.current),q.current=null),H.current!==null&&(ie("automation_updated",{automation_id:t,agent_id:o,fields:Array.from(U.current),save_count:Y.current,edit_duration_ms:Date.now()-H.current}),H.current=null,U.current=new Set,Y.current=0)},Z=async()=>{if(!(Object.keys(P.formState.dirtyFields).length>0)&&!E.current)return!0;const he=Object.keys(P.formState.dirtyFields),pe=E.current;E.current=!1;const me=P.getValues();try{const we=me.credential_id&&me.model_id?me.credential_id:"",ve=me.credential_id&&me.model_id?me.model_id:"",de={id:t,name:me.name,active:me.active,agent:{id:o},models:{credentialId:we,thinking:{id:ve}},messages:Bh(b),temperature:0};await l.mutateAsync(de),H.current===null&&(H.current=Date.now());for(const Re of he)U.current.add(Re);return pe&&U.current.add("messages"),Y.current+=1,q.current&&clearTimeout(q.current),q.current=setTimeout(ee,G),P.reset({...me,credential_id:we,model_id:ve}),!0}catch{return E.current=!0,!1}},J=()=>{N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{Z()},1e3)},se=async()=>(N.current&&clearTimeout(N.current),Z()),ne=ae=>{if(y(ae),!A.current){A.current=!0;return}E.current=!0,J()},ce=S.useRef(!1);ce.current||(ce.current=!0,P.watch(()=>{J()}));const xe=async()=>{ie("automation_test_clicked",{automation_id:t,agent_id:o});const ae=await se();if(ee(),!ae)return;if(!b){fe.error("No instructions configured for this automation");return}K&&$&&f({...K,keyId:$}),v({..._,toolApprovalLevel:"auto"});const he=gc(b);h({message:{tiptapDoc:b,parts:he},virtualMcpId:o||void 0})};return n.jsxs(n.Fragment,{children:[i&&n.jsx("div",{className:"flex items-center pb-4 shrink-0",children:n.jsxs(oe,{variant:"ghost",size:"sm",onClick:i,children:[n.jsx(kl,{size:14}),"Back to list"]})}),n.jsxs("div",{className:"flex flex-col gap-8",children:[n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsxs("div",{className:"flex items-center justify-between gap-4",children:[n.jsx(gt,{...P.register("name"),placeholder:"Automation name",className:"border border-transparent shadow-none px-0 text-lg font-medium h-auto focus-visible:ring-0 focus-visible:border-border bg-transparent flex-1",style:{boxShadow:"none"}}),r&&n.jsx(oe,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-destructive shrink-0",onClick:r,children:n.jsx(xa,{size:14})})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ri,{control:P.control,name:"active",render:({field:ae})=>n.jsx(Hr,{checked:ae.value,onCheckedChange:he=>{ae.onChange(he),setTimeout(()=>se(),0)},className:"cursor-pointer"})}),n.jsx("span",{className:"text-sm text-muted-foreground",children:O?"Active":"Inactive"}),n.jsx("span",{className:"text-muted-foreground/50 text-sm",children:"·"}),n.jsx(K_,{id:e.created_by,size:"2xs",className:"text-sm text-muted-foreground"})]})]}),n.jsxs("div",{className:"flex flex-col gap-2.5",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("span",{className:"text-xs font-semibold text-muted-foreground/60",children:"Starter"}),n.jsx(Xj,{automationId:t,open:C,onOpenChange:k,onCustomSelect:()=>{V(!0),I(!1),R("")},onEventSelect:()=>{I(!0),V(!1)}})]}),e.triggers.length===0&&!w?n.jsx("div",{className:"rounded-lg border border-dashed border-border px-4 py-6 text-center",children:n.jsxs("p",{className:"text-sm text-muted-foreground",children:["When should this automation run?"," ",n.jsx("button",{type:"button",className:"text-foreground underline underline-offset-2 cursor-pointer hover:text-foreground/80 transition-colors",onClick:()=>k(!0),children:"Add a starter"})," ","to get going."]})}):n.jsx("div",{className:"flex flex-col gap-2",children:e.triggers.map(ae=>n.jsx(Jj,{trigger:ae,automationId:t,connectionName:ae.connection_id?u.get(ae.connection_id):void 0},ae.id))}),w&&n.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-border bg-background group",children:[n.jsx(Sn,{size:14,className:"text-muted-foreground shrink-0"}),n.jsx("input",{type:"text",value:j,onChange:ae=>R(ae.target.value),onBlur:async()=>{const ae=j.trim();if(!(!ae||!An(ae)))try{await c.mutateAsync({automation_id:t,type:"cron",cron_expression:ae}),ie("automation_trigger_added",{automation_id:t,trigger_type:"cron"}),fe.success("Starter added"),V(!1),R("")}catch{fe.error("Failed to add starter")}},onKeyDown:async ae=>{const he=j.trim();ae.key==="Enter"&&he&&An(he)&&ae.target.blur(),ae.key==="Escape"&&(V(!1),R(""))},placeholder:"0 9 * * 1-5",className:"flex-1 text-sm font-mono bg-transparent outline-none placeholder:text-muted-foreground/40",autoFocus:!0}),j&&!An(j)&&n.jsx("span",{className:"text-xs text-muted-foreground/60 shrink-0",children:"invalid"}),c.isPending&&n.jsx(De,{size:13,className:"animate-spin text-muted-foreground shrink-0"}),n.jsx("button",{type:"button",className:"shrink-0 p-0.5 rounded text-muted-foreground opacity-0 group-hover:opacity-100 hover:text-foreground transition-opacity",onClick:()=>{V(!1),R("")},children:n.jsx(ri,{size:13})})]}),T&&n.jsx(S.Suspense,{fallback:n.jsxs("div",{className:"flex items-center gap-2 px-3 py-3 rounded-lg border border-border bg-background",children:[n.jsx(De,{size:13,className:"animate-spin text-muted-foreground"}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading connections..."})]}),children:n.jsx(Zj,{automationId:t,onDone:()=>I(!1)})})]}),n.jsxs("div",{className:"flex flex-col gap-2.5",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("span",{className:"text-xs font-semibold text-muted-foreground/60",children:"Instructions"}),n.jsxs(oe,{variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",disabled:!b,onClick:M,children:[n.jsx(Cl,{size:13}),"Improve"]})]}),n.jsx(tf,{tiptapDoc:b,setTiptapDoc:ne,placeholder:"What should this automation do?",children:n.jsxs("div",{className:"rounded-xl border border-border min-h-[120px] flex flex-col",children:[n.jsx(sf,{virtualMcpId:o||null,className:"max-h-[45vh]"}),n.jsxs("div",{className:"flex items-center justify-end gap-1.5 p-2.5",children:[n.jsx(mu,{model:K,isLoading:F,credentialId:$||null,onCredentialChange:ae=>{P.setValue("credential_id",ae??"",{shouldDirty:!0}),P.setValue("model_id","",{shouldDirty:!0})},onModelChange:ae=>P.setValue("model_id",ae.modelId,{shouldDirty:!0}),placeholder:"Model"}),n.jsxs(nt,{children:[n.jsx(st,{asChild:!0,children:n.jsxs(oe,{type:"button",variant:"default",className:"h-8 gap-1.5 rounded-md px-3 text-sm font-medium",onClick:xe,disabled:!o,children:[n.jsx(Zh,{size:16}),"Test"]})}),n.jsx(it,{children:"Test Automation"})]})]})]})})]})]})]})}function n5(t){const e=B.c(6),{tabId:s,virtualMcpId:i}=t;let r;e[0]!==s?(r=$h(s),e[0]=s,e[1]=r):r=e[1];const o=r;if(!o)return null;let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx(De,{size:20,className:"animate-spin text-muted-foreground"})}),e[2]=a):a=e[2];let l;return e[3]!==o.id||e[4]!==i?(l=n.jsx(ps,{children:n.jsx(ps.Content,{children:n.jsx(ps.Body,{children:n.jsx(S.Suspense,{fallback:a,children:n.jsx(r5,{id:o.id,virtualMcpId:i})})})})}),e[3]=o.id,e[4]=i,e[5]=l):l=e[5],l}function r5(t){const e=B.c(9),{id:s,virtualMcpId:i}=t,r=qe(),{data:o,isLoading:a}=G_(s);let l;e[0]!==r?(l=()=>r({to:".",search:o5,replace:!0}),e[0]=r,e[1]=l):l=e[1];const c=l;if(a){let u;return e[2]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx(De,{size:20,className:"animate-spin text-muted-foreground"})}),e[2]=u):u=e[2],u}if(!o){let u;return e[3]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx("div",{className:"flex-1 flex items-center justify-center text-sm text-muted-foreground",children:"Automation not found"}),e[3]=u):u=e[3],u}let d;return e[4]!==o||e[5]!==s||e[6]!==c||e[7]!==i?(d=n.jsx(i5,{automationId:s,automation:o,virtualMcpId:i,onBack:c}),e[4]=o,e[5]=s,e[6]=c,e[7]=i,e[8]=d):d=e[8],d}function o5(t){return{...t,main:"automations"}}function a5(t){const e=B.c(19),{virtualMcpId:s}=t,i=qe(),{data:r}=Y_(s),o=r===void 0?[]:r,{create:a}=er(),[l,c]=S.useState(""),d=l.toLowerCase(),u=o.filter(j=>j.name.toLowerCase().includes(d));let h;e[0]!==i?(h=j=>i({to:".",search:R=>({...R,main:"automation:"+j}),replace:!0}),e[0]=i,e[1]=h):h=e[1];const f=h,m=async()=>{if(a.isPending)return;ie("automation_new_clicked",{virtual_mcp_id:s,existing_count:o.length});const j=await a.mutateAsync(J_(s));f(j.id)},p=ps,g=ps,_=ps;let v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=n.jsx(Qt,{size:14}),e[2]=v):v=e[2];let x;e[3]!==a.isPending||e[4]!==m?(x=n.jsx(ps.Title,{actions:n.jsxs(oe,{size:"sm",onClick:m,disabled:a.isPending,children:[v,"New automation"]}),children:"Automations"}),e[3]=a.isPending,e[4]=m,e[5]=x):x=e[5];const b=o.length>0&&n.jsx(Q_,{value:l,onChange:c,placeholder:"Search automations...",className:"w-full md:w-[375px]"});let y;e[6]!==x||e[7]!==b?(y=n.jsxs("div",{className:"flex flex-col gap-6",children:[x,b]}),e[6]=x,e[7]=b,e[8]=y):y=e[8];const C=o.length===0?n.jsx("div",{className:"flex items-center justify-center py-20",children:n.jsx(Fi,{image:n.jsx(Ui,{size:48,className:"text-muted-foreground"}),title:"No automations yet",description:"Create your first automation to run this agent on a schedule or in response to events.",actions:n.jsxs(oe,{size:"sm",onClick:m,disabled:a.isPending,children:[n.jsx(Qt,{size:14}),"New automation"]})})}):u.length===0?n.jsx("div",{className:"flex items-center justify-center py-20",children:n.jsx(Fi,{image:n.jsx(Ui,{size:48,className:"text-muted-foreground"}),title:"No automations found",description:`No automations match "${l}"`})}):n.jsx("div",{className:"mt-6 rounded-xl border border-border overflow-hidden",children:u.map(j=>n.jsx(X_,{automation:j,onClick:()=>f(j.id)},j.id))});let k;e[9]!==_.Body||e[10]!==y||e[11]!==C?(k=n.jsxs(_.Body,{children:[y,C]}),e[9]=_.Body,e[10]=y,e[11]=C,e[12]=k):k=e[12];let w;e[13]!==k||e[14]!==g.Content?(w=n.jsx(g.Content,{children:k}),e[13]=k,e[14]=g.Content,e[15]=w):w=e[15];let V;return e[16]!==p||e[17]!==w?(V=n.jsx(p,{children:w}),e[16]=p,e[17]=w,e[18]=V):V=e[18],V}function l5(t){const e=B.c(3),{virtualMcpId:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx(De,{size:20,className:"animate-spin text-muted-foreground"})}),e[0]=i):i=e[0];let r;return e[1]!==s?(r=n.jsx(S.Suspense,{fallback:i,children:n.jsx(a5,{virtualMcpId:s})}),e[1]=s,e[2]=r):r=e[2],r}const Vh=S.lazy(()=>Op(()=>import("./project-app-view-8soha8U5.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52])).then(t=>({default:t.AppViewContent})));function c5(t){const e=B.c(35),{taskId:s,virtualMcpId:i}=t;let r;e[0]!==s||e[1]!==i?(r={virtualMcpId:i,taskId:s},e[0]=s,e[1]=i,e[2]=r):r=e[2];const{activeTab:o,layoutTabs:a,automationTabParsed:l}=Zf(r);if(og(o)){let m;return e[3]!==i?(m=n.jsx(jd,{virtualMcpId:i}),e[3]=i,e[4]=m):m=e[4],m}if(o==="git"){let m;return e[5]!==i?(m=n.jsx(YV,{virtualMcpId:i}),e[5]=i,e[6]=m):m=e[6],m}if(o==="automations"){let m;return e[7]!==i?(m=n.jsx(l5,{virtualMcpId:i}),e[7]=i,e[8]=m):m=e[8],m}if(o==="env"){let m;return e[9]!==i?(m=n.jsx(Hj,{virtualMcpId:i}),e[9]=i,e[10]=m):m=e[10],m}if(o==="preview"){let m;return e[11]!==i?(m=n.jsx(kC,{virtualMcpId:i}),e[11]=i,e[12]=m):m=e[12],m}if(l){let m;return e[13]!==o||e[14]!==i?(m=n.jsx(n5,{tabId:o,virtualMcpId:i}),e[13]=o,e[14]=i,e[15]=m):m=e[15],m}let c;e[16]!==o?(c=ag(o),e[16]=o,e[17]=c):c=e[17];const d=c;if(d){let m;e[18]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx("div",{className:"h-full w-full flex items-center justify-center",children:n.jsx(De,{size:20,className:"animate-spin text-muted-foreground"})}),e[18]=m):m=e[18];let p;return e[19]!==o||e[20]!==d.connectionId||e[21]!==d.toolName?(p=n.jsx(S.Suspense,{fallback:m,children:n.jsx(Vh,{connectionId:d.connectionId,toolName:d.toolName},o)}),e[19]=o,e[20]=d.connectionId,e[21]=d.toolName,e[22]=p):p=e[22],p}let u;if(e[23]!==o||e[24]!==a){let m;e[26]!==o?(m=p=>p.id===o,e[26]=o,e[27]=m):m=e[27],u=a.find(m),e[23]=o,e[24]=a,e[25]=u}else u=e[25];const h=u;if(h){let m;e[28]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx("div",{className:"h-full w-full flex items-center justify-center",children:n.jsx(De,{size:20,className:"animate-spin text-muted-foreground"})}),e[28]=m):m=e[28];let p;return e[29]!==o||e[30]!==h.id||e[31]!==h.view.appId?(p=n.jsx(S.Suspense,{fallback:m,children:n.jsx(Vh,{connectionId:h.view.appId,toolName:h.id},o)}),e[29]=o,e[30]=h.id,e[31]=h.view.appId,e[32]=p):p=e[32],p}let f;return e[33]!==i?(f=n.jsx(jd,{virtualMcpId:i}),e[33]=i,e[34]=f):f=e[34],f}function d5(t){const e=B.c(7),{children:s,defaultSize:i}=t,[,r]=S.useTransition();let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=pl.decoChatPanelWidth(),e[0]=o):o=e[0];const[a,l]=ml(o,45),c=i>0&&i<100?a:i;let d;e[1]!==l?(d=f=>r(()=>{f>0&&f<100&&l(f)}),e[1]=l,e[2]=d):d=e[2];const u=d;let h;return e[3]!==s||e[4]!==c||e[5]!==u?(h=n.jsx(pu,{defaultSize:c,minSize:20,collapsible:!0,collapsedSize:0,className:"min-w-0 overflow-hidden bg-sidebar",onResize:u,order:1,children:s}),e[3]=s,e[4]=c,e[5]=u,e[6]=h):h=e[6],h}function h5(t){const e=B.c(31),{virtualMcpId:s,taskId:i,chatOpen:r,mainOpen:o,variant:a,chatContent:l}=t;let c;e[0]!==r||e[1]!==o?(c=Sd(r,o),e[0]=r,e[1]=o,e[2]=c):c=e[2];const d=c;let u;e[3]===Symbol.for("react.memo_cache_sentinel")?(u=pl.decoChatPanelWidth(),e[3]=u):u=e[3];const[h]=ml(u,45),f=S.useRef(null);let m,p;e[4]!==r||e[5]!==o||e[6]!==h?(m=()=>{const T=f.current;if(!T)return;const I=Sd(r,o),A=I.chat>0&&I.chat<100?h:I.chat,N=I.chat>0&&I.chat<100?100-h:I.main;T.setLayout([A,N])},p=[r,o,h],e[4]=r,e[5]=o,e[6]=h,e[7]=m,e[8]=p):(m=e[7],p=e[8]),S.useEffect(m,p);const g=`${s}-${i}`;let _;e[9]===Symbol.for("react.memo_cache_sentinel")?(_={overflow:"visible"},e[9]=_):_=e[9];let v;e[10]!==l||e[11]!==a?(v=l??n.jsx(of,{variant:a}),e[10]=l,e[11]=a,e[12]=v):v=e[12];let x;e[13]!==v?(x=n.jsx("div",{className:"h-full p-0.5 pt-0.25",children:n.jsx("div",{className:"h-full bg-background rounded-[0.75rem] overflow-hidden card-shadow",children:v})}),e[13]=v,e[14]=x):x=e[14];let b;e[15]!==d.chat||e[16]!==x?(b=n.jsx(d5,{defaultSize:d.chat,children:x}),e[15]=d.chat,e[16]=x,e[17]=b):b=e[17];let y;e[18]===Symbol.for("react.memo_cache_sentinel")?(y=n.jsx(r_,{className:"bg-sidebar"}),e[18]=y):y=e[18];const C=d.main;let k;e[19]===Symbol.for("react.memo_cache_sentinel")?(k={overflow:"visible"},e[19]=k):k=e[19];let w;e[20]===Symbol.for("react.memo_cache_sentinel")?(w=X("flex flex-col h-full min-h-0 bg-background overflow-hidden","card-shadow","transition-[border-radius] duration-200 ease-[var(--ease-out-quart)]","rounded-[0.75rem]"),e[20]=w):w=e[20];let V;e[21]!==i||e[22]!==s?(V=n.jsx("div",{className:"h-full p-0.5 pt-0.25",children:n.jsx("div",{className:w,children:n.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:n.jsx(c5,{taskId:i,virtualMcpId:s})})})}),e[21]=i,e[22]=s,e[23]=V):V=e[23];let j;e[24]!==d.main||e[25]!==V?(j=n.jsx(pu,{className:"min-w-0 flex flex-col",order:2,defaultSize:C,style:k,collapsible:!0,collapsedSize:0,minSize:20,children:V}),e[24]=d.main,e[25]=V,e[26]=j):j=e[26];let R;return e[27]!==j||e[28]!==g||e[29]!==b?(R=n.jsxs(o_,{ref:f,direction:"horizontal",className:"flex-1 min-h-0 pb-1 pr-1 pl-0 pt-0",style:_,children:[b,y,j]},g),e[27]=j,e[28]=g,e[29]=b,e[30]=R):R=e[30],R}const ca="flex size-7 shrink-0 items-center justify-center rounded-md transition-colors",Ch="bg-sidebar-accent text-sidebar-foreground",da="text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground";function u5(t){const e=B.c(38),{isDecopilot:s,chatOpen:i,toggleChat:r,onNewTask:o}=t,{tasksOpen:a,toggleTasks:l}=Jf(),c=!!o;let d;e[0]!==a||e[1]!==l?(d=()=>{ie("agent_toolbar_toggled",{button:"tasks",next_state:a?"closed":"open"}),l()},e[0]=a,e[1]=l,e[2]=d):d=e[2];const u=a?Ch:da;let h;e[3]!==u?(h=X(ca,u),e[3]=u,e[4]=h):h=e[4];let f;e[5]===Symbol.for("react.memo_cache_sentinel")?(f=n.jsx($g,{size:16}),e[5]=f):f=e[5];let m;e[6]!==d||e[7]!==h||e[8]!==a?(m=n.jsx(st,{asChild:!0,children:n.jsx("button",{type:"button",onClick:d,"aria-pressed":a,className:h,children:f})}),e[6]=d,e[7]=h,e[8]=a,e[9]=m):m=e[9];let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=n.jsx(it,{side:"bottom",children:"Tasks"}),e[10]=p):p=e[10];let g;e[11]!==m?(g=n.jsxs(nt,{delayDuration:300,children:[m,p]}),e[11]=m,e[12]=g):g=e[12];let _;e[13]!==i||e[14]!==s||e[15]!==r?(_=!s&&n.jsxs(nt,{delayDuration:300,children:[n.jsx(st,{asChild:!0,children:n.jsx("button",{type:"button",onClick:()=>{ie("agent_toolbar_toggled",{button:"chat",next_state:i?"closed":"open"}),r()},"aria-pressed":i,className:X(ca,i?Ch:da),children:n.jsx(zg,{size:16})})}),n.jsx(it,{side:"bottom",children:"Chat"})]}),e[13]=i,e[14]=s,e[15]=r,e[16]=_):_=e[16];const v=c?"grid-cols-[1fr]":"grid-cols-[0fr]";let x;e[17]!==v?(x=X("grid transition-[grid-template-columns] duration-200 ease-[var(--ease-out-quart)]",v),e[17]=v,e[18]=x):x=e[18];const b=!c,y=c?0:-1,C=!c,k=c?"translate-x-0 opacity-100":"-translate-x-2 opacity-0";let w;e[19]!==k?(w=X(ca,da,"transition-[transform,opacity] duration-200 ease-[var(--ease-out-quart)] will-change-transform",k),e[19]=k,e[20]=w):w=e[20];let V;e[21]===Symbol.for("react.memo_cache_sentinel")?(V=n.jsx(wl,{size:16}),e[21]=V):V=e[21];let j;e[22]!==o||e[23]!==b||e[24]!==y||e[25]!==C||e[26]!==w?(j=n.jsx(st,{asChild:!0,children:n.jsx("button",{type:"button",onClick:o,disabled:b,tabIndex:y,"aria-hidden":C,className:w,children:V})}),e[22]=o,e[23]=b,e[24]=y,e[25]=C,e[26]=w,e[27]=j):j=e[27];let R;e[28]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx(it,{side:"bottom",children:"New task"}),e[28]=R):R=e[28];let T;e[29]!==j?(T=n.jsx("div",{className:"overflow-hidden",children:n.jsxs(nt,{delayDuration:300,children:[j,R]})}),e[29]=j,e[30]=T):T=e[30];let I;e[31]!==x||e[32]!==T?(I=n.jsx("div",{className:x,children:T}),e[31]=x,e[32]=T,e[33]=I):I=e[33];let A;return e[34]!==I||e[35]!==g||e[36]!==_?(A=n.jsxs(n.Fragment,{children:[g,_,I]}),e[34]=I,e[35]=g,e[36]=_,e[37]=A):A=e[37],A}function f5(t,e,s){if(t.length<=s)return{visible:t,overflow:[]};const i=t.slice(0,s),r=t.slice(s);if(e==null)return{visible:i,overflow:r};if(i.some(h=>h.id===e))return{visible:i,overflow:r};const a=r.findIndex(h=>h.id===e);if(a===-1)return{visible:i,overflow:r};const l=i[i.length-1],c=r[a],d=[...i.slice(0,-1),c],u=[l,...r.slice(0,a),...r.slice(a+1)];return{visible:d,overflow:u}}function m5(t){const e=B.c(13),{title:s,icon:i,active:r,onClick:o}=t,a=r?"bg-sidebar-accent text-sidebar-foreground":"text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground";let l;e[0]!==a?(l=X("shrink-0 flex items-center gap-1.5 h-8 rounded-md px-2","[transition:background-color_180ms_ease,color_180ms_ease]",a),e[0]=a,e[1]=l):l=e[1];let c;e[2]!==i?(c=n.jsx("span",{className:"flex size-5 items-center justify-center shrink-0",children:n.jsx(p5,{icon:i})}),e[2]=i,e[3]=c):c=e[3];let d;e[4]!==s?(d=n.jsx("span",{className:"whitespace-nowrap text-sm font-medium leading-none",children:s}),e[4]=s,e[5]=d):d=e[5];let u;return e[6]!==r||e[7]!==o||e[8]!==l||e[9]!==c||e[10]!==d||e[11]!==s?(u=n.jsxs("button",{type:"button",onClick:o,"aria-pressed":r,"aria-label":s,className:l,children:[c,d]}),e[6]=r,e[7]=o,e[8]=l,e[9]=c,e[10]=d,e[11]=s,e[12]=u):u=e[12],u}function p5(t){const e=B.c(5),{icon:s}=t;if(s.kind==="component"){const{Component:r}=s;let o;return e[0]!==r?(o=n.jsx(r,{className:"size-4"}),e[0]=r,e[1]=o):o=e[1],o}if(s.kind==="url"){let r;return e[2]!==s.src?(r=n.jsx("img",{src:s.src,alt:"",className:"size-4 rounded-sm object-cover"}),e[2]=s.src,e[3]=r):r=e[3],r}let i;return e[4]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(ou,{className:"size-4"}),e[4]=i):i=e[4],i}function g5(t){const e=B.c(13),{overflow:s,onSelect:i}=t,[r,o]=S.useState(!1);let a;e[0]!==i?(a=f=>{o(!1),i(f)},e[0]=i,e[1]=a):a=e[1];const l=a;let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(li,{asChild:!0,children:n.jsx("button",{type:"button",title:"More tabs","aria-label":"More tabs",className:"shrink-0 flex size-8 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",children:n.jsx(iu,{className:"size-4"})})}),e[2]=c):c=e[2];let d;if(e[3]!==l||e[4]!==s){let f;e[6]!==l?(f=m=>n.jsx("li",{children:n.jsxs("button",{type:"button",onClick:()=>l(m.id),className:"w-full flex items-center gap-2 px-3 py-2 rounded-md hover:bg-accent text-sm text-foreground",children:[n.jsx("span",{className:"flex size-5 items-center justify-center shrink-0",children:n.jsx(_5,{icon:m.icon})}),n.jsx("span",{className:"truncate",children:m.title})]})},m.id),e[6]=l,e[7]=f):f=e[7],d=s.map(f),e[3]=l,e[4]=s,e[5]=d}else d=e[5];let u;e[8]!==d?(u=n.jsx(ci,{align:"end",className:"w-56 p-1",children:n.jsx("ul",{className:"flex flex-col",children:d})}),e[8]=d,e[9]=u):u=e[9];let h;return e[10]!==r||e[11]!==u?(h=n.jsxs(di,{open:r,onOpenChange:o,children:[c,u]}),e[10]=r,e[11]=u,e[12]=h):h=e[12],h}function _5(t){const e=B.c(5),{icon:s}=t;if(s.kind==="component"){const{Component:r}=s;let o;return e[0]!==r?(o=n.jsx(r,{className:"size-4"}),e[0]=r,e[1]=o):o=e[1],o}if(s.kind==="url"){let r;return e[2]!==s.src?(r=n.jsx("img",{src:s.src,alt:"",className:"size-4 rounded-sm object-cover"}),e[2]=s.src,e[3]=r):r=e[3],r}let i;return e[4]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(ou,{className:"size-4"}),e[4]=i):i=e[4],i}const x5=6;function v5(t){const e=B.c(20),{virtualMcpId:s,taskId:i}=t,r=qe();let o;e[0]!==i||e[1]!==s?(o={virtualMcpId:s,taskId:i},e[0]=i,e[1]=s,e[2]=o):o=e[2];const{tabs:a,activeTab:l,mainOpen:c,setActiveTab:d}=Zf(o);let u,h,f,m;if(e[3]!==l||e[4]!==c||e[5]!==r||e[6]!==d||e[7]!==a||e[8]!==s){const _=lg({activeTab:l,mainOpen:c}),v=k=>k.id==="automations"?_:c&&k.id===l,b=a.find(k=>v(k))?.id??null,{visible:y,overflow:C}=f5(a,b,x5);h=C,u=k=>{const w=a.find(j=>j.id===k),V=b===k&&c;if(ie("main_panel_tab_clicked",{virtual_mcp_id:s,tab_id:k,tab_kind:w?.kind??null,was_active:V}),k==="automations"){const j=cg({activeTab:l,mainOpen:c});r({to:".",search:R=>({...R,main:j}),replace:!0});return}d(k)},f="flex items-center min-w-0 ml-auto gap-0.5",m=y.map(k=>n.jsx(m5,{title:k.title,icon:k.icon,active:v(k),onClick:()=>u(k.id)},k.id)),e[3]=l,e[4]=c,e[5]=r,e[6]=d,e[7]=a,e[8]=s,e[9]=u,e[10]=h,e[11]=f,e[12]=m}else u=e[9],h=e[10],f=e[11],m=e[12];let p;e[13]!==u||e[14]!==h?(p=h.length>0&&n.jsx(g5,{overflow:h,onSelect:u}),e[13]=u,e[14]=h,e[15]=p):p=e[15];let g;return e[16]!==f||e[17]!==m||e[18]!==p?(g=n.jsxs("div",{className:f,children:[m,p]}),e[16]=f,e[17]=m,e[18]=p,e[19]=g):g=e[19],g}function b5(t){const e=B.c(12);let s,i,r,o;e[0]!==t?({className:s,orientation:r,decorative:o,...i}=t,e[0]=t,e[1]=s,e[2]=i,e[3]=r,e[4]=o):(s=e[1],i=e[2],r=e[3],o=e[4]);const a=r===void 0?"horizontal":r,l=o===void 0?!0:o;let c;e[5]!==s?(c=X("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",s),e[5]=s,e[6]=c):c=e[6];let d;return e[7]!==l||e[8]!==a||e[9]!==i||e[10]!==c?(d=n.jsx(Bp,{"data-slot":"separator-root",decorative:l,orientation:a,className:c,...i}),e[7]=l,e[8]=a,e[9]=i,e[10]=c,e[11]=d):d=e[11],d}function y5(t){const e=B.c(20),{prNumber:s,disabled:i,send:r}=t;let o;e[0]!==s||e[1]!==r?(o=()=>r(OV({prNumber:s})),e[0]=s,e[1]=r,e[2]=o):o=e[2];const a=o;let l;e[3]!==s||e[4]!==r?(l=()=>r(LV({prNumber:s})),e[3]=s,e[4]=r,e[5]=l):l=e[5];const c=l;let d;e[6]!==i||e[7]!==a?(d=n.jsx(oe,{size:"sm",className:"rounded-r-none border-r border-primary-foreground/20",disabled:i,onClick:a,children:"Publish"}),e[6]=i,e[7]=a,e[8]=d):d=e[8];let u;e[9]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx(Rn,{className:"h-3.5 w-3.5"}),e[9]=u):u=e[9];let h;e[10]!==i?(h=n.jsx(Es,{asChild:!0,children:n.jsx(oe,{size:"sm",className:"rounded-l-none px-2",disabled:i,"aria-label":"More actions",children:u})}),e[10]=i,e[11]=h):h=e[11];let f;e[12]!==c?(f=n.jsx(Is,{align:"end",children:n.jsx(at,{onClick:c,children:"Review"})}),e[12]=c,e[13]=f):f=e[13];let m;e[14]!==h||e[15]!==f?(m=n.jsxs(As,{children:[h,f]}),e[14]=h,e[15]=f,e[16]=m):m=e[16];let p;return e[17]!==d||e[18]!==m?(p=n.jsxs("div",{className:"inline-flex items-stretch rounded-md",children:[d,m]}),e[17]=d,e[18]=m,e[19]=p):p=e[19],p}const S5=new Set(["failure","timed_out","cancelled","action_required"]);function w5(t){return t.status==="completed"&&S5.has(t.conclusion)}function V5(t){return t.status==="queued"||t.status==="in_progress"}function C5(t){const{branchStatus:e,pr:s,checks:i,reviews:r}=t;if(!e)return null;if(e.workingTreeDirty||e.unpushed>0)return{label:"Save changes",action:"commit-and-push"};if(s?.merged)return!!e.headSha&&!!s.headSha&&e.headSha!==s.headSha?{label:"Submit for review",action:"create-pr"}:null;if(e.aheadOfBase>0){if(s&&s.state==="closed"&&!s.merged)return{label:"Reopen",action:"reopen"};if(!s)return{label:"Submit for review",action:"create-pr"};if((r?.mergeableState??"unknown")==="dirty")return{label:`Sync with ${s.base}`,action:"rebase"};const l=i.filter(w5).map(c=>c.name);return l.length>0?{label:"Fix tests",action:"fix-checks",meta:{failingChecks:l}}:i.some(V5)?{label:"Running tests…",disabled:!0}:r?.draft?{label:"Mark ready",action:"mark-ready"}:(r?.unresolvedConversations??0)>0?{label:"Address feedback",action:"resolve-comments"}:r?.missingRequiredApprovals?{label:"Awaiting review",disabled:!0}:{label:"Publish",action:"merge-split"}}return null}function k5(){return Qi().branchStatus}const j5=6e4,N5=3e4;function A5(t){const e=B.c(11);let s;e[0]!==t.connectionId||e[1]!==t.orgId?(s={connectionId:t.connectionId,orgId:t.orgId},e[0]=t.connectionId,e[1]=t.orgId,e[2]=s):s=e[2];const i=Le(s),r=t.prNumber??0;let o;e[3]!==t.owner||e[4]!==t.repo||e[5]!==r?(o={method:"get",owner:t.owner,repo:t.repo,pullNumber:r},e[3]=t.owner,e[4]=t.repo,e[5]=r,e[6]=o):o=e[6];const a=!!t.prNumber;let l;return e[7]!==i||e[8]!==o||e[9]!==a?(l={client:i,toolName:"pull_request_read",toolArguments:o,enabled:a,refetchInterval:j5,refetchIntervalInBackground:!1,staleTime:N5,select:E5},e[7]=i,e[8]=o,e[9]=a,e[10]=l):l=e[10],ki(l)}function E5(t){const e=nr(t);if(!e)return null;const s=e.mergeable_state??"unknown",i=!!(e.draft??!1),r=Number(e.review_comments??0),o=s==="blocked"&&r>0?r:0;return{draft:i,mergeableState:s,unresolvedConversations:o,missingRequiredApprovals:s==="blocked"&&o===0}}function I5(t){const e=B.c(38),{virtualMcpId:s}=t,{org:i}=ye(),r=is(s),{currentBranch:o}=es(),a=ro(),l=r?.metadata?.githubRepo??null,c=k5(),d=l?.connectionId??"",u=l?.owner??"",h=l?.name??"",f=o??null;let m;e[0]!==i.id||e[1]!==d||e[2]!==u||e[3]!==h||e[4]!==f?(m={orgId:i.id,connectionId:d,owner:u,repo:h,branch:f},e[0]=i.id,e[1]=d,e[2]=u,e[3]=h,e[4]=f,e[5]=m):m=e[5];const g=tm(m).data??null,_=l?.connectionId??"",v=l?.owner??"",x=l?.name??"",b=g&&g.state==="open"?g.number:null;let y;e[6]!==i.id||e[7]!==_||e[8]!==v||e[9]!==x||e[10]!==b?(y={orgId:i.id,connectionId:_,owner:v,repo:x,prNumber:b},e[6]=i.id,e[7]=_,e[8]=v,e[9]=x,e[10]=b,e[11]=y):y=e[11];const C=im(y),k=l?.connectionId??"",w=l?.owner??"",V=l?.name??"",j=g&&g.state==="open"?g.number:null;let R;e[12]!==i.id||e[13]!==k||e[14]!==w||e[15]!==V||e[16]!==j?(R={orgId:i.id,connectionId:k,owner:w,repo:V,prNumber:j},e[12]=i.id,e[13]=k,e[14]=w,e[15]=V,e[16]=j,e[17]=R):R=e[17];const T=A5(R);if(!l?.connectionId||!o)return null;let I;e[18]!==c||e[19]!==C.data||e[20]!==g||e[21]!==T.data?(I=C5({branchStatus:c,pr:g,checks:C.data??[],reviews:T.data??null}),e[18]=c,e[19]=C.data,e[20]=g,e[21]=T.data,e[22]=I):I=e[22];const A=I;if(!A)return null;let N;e[23]!==a?(N=z=>a.sendMessage({parts:[{type:"text",text:z}]}),e[23]=a,e[24]=N):N=e[24];const E=N,M=a.isStreaming;let L;e[25]!==o||e[26]!==A||e[27]!==M||e[28]!==g||e[29]!==E?(L=z=>{if(!M)switch(z){case"commit-and-push":{E(AV({branch:o}));return}case"create-pr":{E(EV({branch:o}));return}case"reopen":{g&&E(IV({prNumber:g.number}));return}case"rebase":{E(RV({branch:o}));return}case"fix-checks":{g&&E(DV({prNumber:g.number,failingChecks:A.meta?.failingChecks??[]}));return}case"mark-ready":{g&&E(MV({prNumber:g.number}));return}case"resolve-comments":{g&&E(PV({prNumber:g.number}));return}case"merge-split":return}},e[25]=o,e[26]=A,e[27]=M,e[28]=g,e[29]=E,e[30]=L):L=e[30];const D=L;let P;e[31]===Symbol.for("react.memo_cache_sentinel")?(P=n.jsx(b5,{orientation:"vertical",className:"mx-2 data-[orientation=vertical]:h-5"}),e[31]=P):P=e[31];const O=g?.number;let $;return e[32]!==A||e[33]!==M||e[34]!==D||e[35]!==E||e[36]!==O?($=n.jsxs(n.Fragment,{children:[P,n.jsx(R5,{button:A,isStreaming:M,onActivate:D,prNumber:O,send:E})]}),e[32]=A,e[33]=M,e[34]=D,e[35]=E,e[36]=O,e[37]=$):$=e[37],$}function R5(t){const e=B.c(18),{button:s,isStreaming:i}=t,r=!!s.disabled||i,o=i?"Chat is running":null;if(s.action==="merge-split"&&t.prNumber!=null){let u;e[0]!==r||e[1]!==t.prNumber||e[2]!==t.send?(u=n.jsx(y5,{prNumber:t.prNumber,disabled:r,send:t.send}),e[0]=r,e[1]=t.prNumber,e[2]=t.send,e[3]=u):u=e[3];let h;return e[4]!==u||e[5]!==o?(h=n.jsx(kh,{label:o,children:u}),e[4]=u,e[5]=o,e[6]=h):h=e[6],h}const a=s.disabled?"outline":"default";let l;e[7]!==s.action||e[8]!==t?(l=()=>t.onActivate(s.action),e[7]=s.action,e[8]=t,e[9]=l):l=e[9];let c;e[10]!==s.label||e[11]!==r||e[12]!==a||e[13]!==l?(c=n.jsx(oe,{size:"sm",variant:a,disabled:r,onClick:l,children:s.label}),e[10]=s.label,e[11]=r,e[12]=a,e[13]=l,e[14]=c):c=e[14];let d;return e[15]!==c||e[16]!==o?(d=n.jsx(kh,{label:o,children:c}),e[15]=c,e[16]=o,e[17]=d):d=e[17],d}function kh(t){const e=B.c(9),{label:s,children:i}=t;if(!s){let l;return e[0]!==i?(l=n.jsx(n.Fragment,{children:i}),e[0]=i,e[1]=l):l=e[1],l}let r;e[2]!==i?(r=n.jsx(st,{asChild:!0,children:n.jsx("span",{children:i})}),e[2]=i,e[3]=r):r=e[3];let o;e[4]!==s?(o=n.jsx(it,{children:s}),e[4]=s,e[5]=o):o=e[5];let a;return e[6]!==r||e[7]!==o?(a=n.jsx(Oi,{children:n.jsxs(nt,{children:[r,o]})}),e[6]=r,e[7]=o,e[8]=a):a=e[8],a}function T5(t){const e=B.c(2),{virtualMcp:s}=t;if(!!!(s.metadata?.githubRepo??null)?.connectionId)return null;let o;return e[0]!==s.id?(o=n.jsx(Ue.Right,{children:n.jsx(I5,{virtualMcpId:s.id})}),e[0]=s.id,e[1]=o):o=e[1],o}const Di=S.createContext(null);function mc(){return S.use(Di)}function jh(t){const e=B.c(8),{children:s,variant:i}=t,{taskId:r}=es();let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("div",{className:"flex-1 flex items-center justify-center text-sm text-muted-foreground",children:"Something went wrong loading the chat. Try refreshing."}),e[0]=o):o=e[0];let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx(Oe.Skeleton,{}),e[1]=a):a=e[1];let l;e[2]!==s||e[3]!==i?(l=s??n.jsx(of,{variant:i}),e[2]=s,e[3]=i,e[4]=l):l=e[4];let c;return e[5]!==l||e[6]!==r?(c=n.jsx(Ns,{fallback:o,children:n.jsx(S.Suspense,{fallback:a,children:n.jsx(Oe.ActiveTaskProvider,{taskId:r,children:l})})}),e[5]=l,e[6]=r,e[7]=c):c=e[7],c}function Nh(t){const e=B.c(3),{onNewTaskRef:s,createNewTask:i}=t;let r;return e[0]!==i||e[1]!==s?(r=()=>(s.current=i,()=>{s.current=null}),e[0]=i,e[1]=s,e[2]=r):r=e[2],S.useLayoutEffect(r),null}function D5(t){const e=B.c(3),{onOpenSidebar:s}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(Hg,{size:20}),e[0]=i):i=e[0];let r;return e[1]!==s?(r=n.jsx("div",{className:"shrink-0 flex items-center justify-between px-3 h-12 bg-background border-b border-border",children:n.jsx("button",{type:"button",onClick:s,className:"flex size-8 items-center justify-center rounded-md text-foreground/60 hover:bg-accent hover:text-foreground transition-colors","aria-label":"Open menu",children:i})}),e[1]=s,e[2]=r):r=e[2],r}function Ah(t){const e=B.c(16),{virtualMcpId:s,hasActiveGithubRepo:i,vmMap:r,children:o}=t,{org:a}=ye(),{currentBranch:l}=es(),{data:c}=St.useSession(),d=c?.user?.id,u=d&&l?r?.[d]?.[l]??null:null;let h;e[0]!==u?(h=u?.previewUrl?u.previewUrl.replace(/\/$/,""):null,e[0]=u,e[1]=h):h=e[1];const f=h;let m;e[2]!==a.id?(m={connectionId:Pt,orgId:a.id},e[2]=a.id,e[3]=m):m=e[3];const p=Le(m),{mutate:g}=ec(p);let _;e[4]===Symbol.for("react.memo_cache_sentinel")?(_=new Set,e[4]=_):_=e[4];const v=S.useRef(_);let x,b;e[5]!==l||e[6]!==i||e[7]!==g||e[8]!==d||e[9]!==s||e[10]!==r?(x=()=>{i&&d&&l&&(r?.[d]?.[l]||v.current.has(l)||(v.current.add(l),g({virtualMcpId:s,branch:l},{onError:M5})))},b=[i,d,l,r,s,g],e[5]=l,e[6]=i,e[7]=g,e[8]=d,e[9]=s,e[10]=r,e[11]=x,e[12]=b):(x=e[11],b=e[12]),S.useEffect(x,b);let y;return e[13]!==o||e[14]!==f?(y=n.jsx(dC,{daemonBaseUrl:f,children:o}),e[13]=o,e[14]=f,e[15]=y):y=e[15],y}function M5(t){console.error("[auto-start-vm] failed:",t)}function Eh(){const t=B.c(106),e=Ms(),s=qe(),{org:i}=ye(),r=hw()?.tasksOpen??!1;$_(i.id);let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o={strict:!1},t[0]=o):o=t[0];const a=Hn(o),l=a.org??"";let c;t[1]===Symbol.for("react.memo_cache_sentinel")?(c={strict:!1},t[1]=c):c=t[1];const d=Si(c);let u;t[2]!==i.id||t[3]!==d.virtualmcpid?(u=d.virtualmcpid??ho(i.id).id,t[2]=i.id,t[3]=d.virtualmcpid,t[4]=u):u=t[4];const h=u;let f;t[5]!==i.id?(f=vl(i.id),t[5]=i.id,t[6]=f):f=t[6];const m=h===f,p=!m,g=tx(a.taskId??"",h),_=is(h),v=_?.metadata?.ui?.layout??null;let x;t[7]!==v?(x=v?{defaultMainView:v.defaultMainView??null,chatDefaultOpen:v.chatDefaultOpen??null}:null,t[7]=v,t[8]=x):x=t[8];const b=x;let y;t[9]!==_?(y=_&&Fs(_),t[9]=_,t[10]=y):y=t[10];const C=!!y;let k;t[11]!==p||t[12]!==l||t[13]!==h?(k={virtualMcpId:h,orgSlug:l,isAgentRoute:p},t[11]=p,t[12]=l,t[13]=h,t[14]=k):k=t[14];const w=lw(b,k),{setOpenMobile:V,openMobile:j}=Qn(),R=V,T=S.useRef(null);let I,A;t[15]===Symbol.for("react.memo_cache_sentinel")?(I=()=>{const q=G=>{Kh(G)&&G.shiftKey&&G.code==="KeyS"&&!G.repeat&&(G.preventDefault(),T.current?.())};return document.addEventListener("keydown",q),()=>document.removeEventListener("keydown",q)},A=[],t[15]=I,t[16]=A):(I=t[15],A=t[16]),S.useEffect(I,A);const N=h;let E;t[17]!==_||t[18]!==h?(E={virtualMcpId:h,entity:_},t[17]=_,t[18]=h,t[19]=E):E=t[19];const M=E;if(g.status==="creating"||g.status==="loading"){let q;t[20]===Symbol.for("react.memo_cache_sentinel")?(q=n.jsx("div",{className:"flex-1 min-h-0 pr-1.5 pb-1.5 overflow-hidden",children:n.jsxs("div",{className:"flex h-full items-center justify-center bg-background card-shadow rounded-[0.75rem] text-sm text-muted-foreground",children:[n.jsx(De,{className:"size-4 animate-spin mr-2"}),"Creating task…"]})}),t[20]=q):q=t[20];let G;return t[21]!==M?(G=n.jsx(Di,{value:M,children:q}),t[21]=M,t[22]=G):G=t[22],G}if(g.status==="error"){let q;t[23]===Symbol.for("react.memo_cache_sentinel")?(q=n.jsx("div",{className:"font-medium",children:"Task unavailable"}),t[23]=q):q=t[23];let G;t[24]!==g.error.message?(G=n.jsx("div",{className:"flex-1 min-h-0 pr-1.5 pb-1.5 overflow-hidden",children:n.jsxs("div",{className:"flex flex-col h-full items-center justify-center gap-2 bg-background card-shadow rounded-[0.75rem] p-8 text-sm",children:[q,n.jsx("div",{className:"text-muted-foreground",children:g.error.message})]})}),t[24]=g.error.message,t[25]=G):G=t[25];let ee;return t[26]!==M||t[27]!==G?(ee=n.jsx(Di,{value:M,children:G}),t[26]=M,t[27]=G,t[28]=ee):ee=t[28],ee}if(!_){let q;t[29]===Symbol.for("react.memo_cache_sentinel")?(q=n.jsx(oi,{size:48,className:"text-muted-foreground"}),t[29]=q):q=t[29];const G=`The agent "${h}" does not exist in this organization.`;let ee;t[30]!==s||t[31]!==l?(ee=n.jsx(oe,{variant:"outline",onClick:()=>s({to:"/$org",params:{org:l}}),children:"Go to organization home"}),t[30]=s,t[31]=l,t[32]=ee):ee=t[32];let Z;t[33]!==G||t[34]!==ee?(Z=n.jsx("div",{className:"flex-1 min-h-0 pr-1.5 pb-1.5 overflow-hidden",children:n.jsx("div",{className:"flex flex-col h-full bg-background overflow-hidden card-shadow rounded-[0.75rem]",children:n.jsx(Fi,{image:q,title:"Agent not found",description:G,actions:ee})})}),t[33]=G,t[34]=ee,t[35]=Z):Z=t[35];let J;return t[36]!==M||t[37]!==Z?(J=n.jsx(Di,{value:M,children:Z}),t[36]=M,t[37]=Z,t[38]=J):J=t[38],J}if(e){let q;t[39]===Symbol.for("react.memo_cache_sentinel")?(q=n.jsx(M_,{className:"sr-only",children:"Navigation"}),t[39]=q):q=t[39];let G;t[40]!==R?(G=n.jsx("div",{className:"w-14 shrink-0 bg-sidebar flex flex-col items-center border-r border-border overflow-y-auto group/sidebar","data-state":"collapsed",children:n.jsx(tw,{onClose:()=>R(!1)})}),t[40]=R,t[41]=G):G=t[41];let ee;t[42]===Symbol.for("react.memo_cache_sentinel")?(ee=n.jsx("div",{className:"flex-1 min-w-0 overflow-hidden",children:n.jsx(cf,{})}),t[42]=ee):ee=t[42];let Z;t[43]!==G?(Z=n.jsxs(P_,{side:"left",hideCloseButton:!0,className:"w-[calc(100vw-3rem)] sm:max-w-md! p-0",children:[q,n.jsxs("div",{className:"flex h-full",children:[G,ee]})]}),t[43]=G,t[44]=Z):Z=t[44];let J;t[45]!==j||t[46]!==R||t[47]!==Z?(J=n.jsx(L_,{open:j,onOpenChange:R,children:Z}),t[45]=j,t[46]=R,t[47]=Z,t[48]=J):J=t[48];const se=J,ne=_?.metadata?.vmMap;let ce;t[49]!==w.createNewTask?(ce=n.jsx(Nh,{onNewTaskRef:T,createNewTask:w.createNewTask}),t[49]=w.createNewTask,t[50]=ce):ce=t[50];let xe;t[51]!==R?(xe=n.jsx(D5,{onOpenSidebar:()=>R(!0)}),t[51]=R,t[52]=xe):xe=t[52];const ae=m?"home":void 0;let he;t[53]!==ae?(he=n.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:n.jsx(jh,{variant:ae})}),t[53]=ae,t[54]=he):he=t[54];let pe;t[55]!==C||t[56]!==se||t[57]!==ne||t[58]!==ce||t[59]!==xe||t[60]!==he||t[61]!==h?(pe=n.jsxs(Ah,{virtualMcpId:h,hasActiveGithubRepo:C,vmMap:ne,children:[ce,xe,he,se]}),t[55]=C,t[56]=se,t[57]=ne,t[58]=ce,t[59]=xe,t[60]=he,t[61]=h,t[62]=pe):pe=t[62];let me;t[63]!==N||t[64]!==pe?(me=n.jsx("div",{className:"flex flex-col flex-1 bg-background min-h-0",children:n.jsx(Oe.Provider,{virtualMcpId:N,children:pe},N)}),t[63]=N,t[64]=pe,t[65]=me):me=t[65];let we;return t[66]!==M||t[67]!==me?(we=n.jsx(Di,{value:M,children:me}),t[66]=M,t[67]=me,t[68]=we):we=t[68],we}const L=r?void 0:w.createNewTask;let D;t[69]!==m||t[70]!==w.chatOpen||t[71]!==w.toggleChat||t[72]!==L?(D=n.jsx(Ue.Toggles,{children:n.jsx(u5,{isDecopilot:m,chatOpen:w.chatOpen,toggleChat:w.toggleChat,onNewTask:L})}),t[69]=m,t[70]=w.chatOpen,t[71]=w.toggleChat,t[72]=L,t[73]=D):D=t[73];let P;t[74]!==m||t[75]!==w.taskId||t[76]!==h?(P=!m&&n.jsx(Ue.Tabs,{children:n.jsx(v5,{virtualMcpId:h,taskId:w.taskId})}),t[74]=m,t[75]=w.taskId,t[76]=h,t[77]=P):P=t[77];const O=_?.metadata?.vmMap;let $;t[78]!==_||t[79]!==m?($=!m&&n.jsx(T5,{virtualMcp:_}),t[78]=_,t[79]=m,t[80]=$):$=t[80];let z;t[81]!==w.createNewTask?(z=n.jsx(Nh,{onNewTaskRef:T,createNewTask:w.createNewTask}),t[81]=w.createNewTask,t[82]=z):z=t[82];const W=m?"home":void 0;let F;t[83]!==W?(F=n.jsx(jh,{variant:W}),t[83]=W,t[84]=F):F=t[84];let K;t[85]!==w.chatOpen||t[86]!==w.mainOpen||t[87]!==w.taskId||t[88]!==F||t[89]!==h?(K=n.jsx(h5,{virtualMcpId:h,taskId:w.taskId,chatOpen:w.chatOpen,mainOpen:w.mainOpen,chatContent:F}),t[85]=w.chatOpen,t[86]=w.mainOpen,t[87]=w.taskId,t[88]=F,t[89]=h,t[90]=K):K=t[90];let H;t[91]!==C||t[92]!==O||t[93]!==$||t[94]!==z||t[95]!==K||t[96]!==h?(H=n.jsxs(Ah,{virtualMcpId:h,hasActiveGithubRepo:C,vmMap:O,children:[$,z,K]}),t[91]=C,t[92]=O,t[93]=$,t[94]=z,t[95]=K,t[96]=h,t[97]=H):H=t[97];let U;t[98]!==N||t[99]!==P||t[100]!==H?(U=n.jsxs(Oe.Provider,{virtualMcpId:N,children:[P,H]},N),t[98]=N,t[99]=P,t[100]=H,t[101]=U):U=t[101];let Y;return t[102]!==M||t[103]!==D||t[104]!==U?(Y=n.jsxs(Di,{value:M,children:[D,U]}),t[102]=M,t[103]=D,t[104]=U,t[105]=Y):Y=t[105],Y}function AN(){const t=B.c(5),e=Ms();let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={"--sidebar-width-icon":"3.5rem"},t[0]=s):s=t[0];let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(ew,{}),t[1]=i):i=t[1];let r;t[2]===Symbol.for("react.memo_cache_sentinel")?(r={background:"transparent",containerType:"inline-size"},t[2]=r):r=t[2];let o;return t[3]!==e?(o=n.jsx(R_,{defaultOpen:!1,children:n.jsx("div",{className:"flex flex-col h-dvh overflow-hidden",children:n.jsxs(T_,{className:"flex-1 bg-sidebar",style:s,children:[i,n.jsx(D_,{className:"flex flex-col",style:r,children:e?n.jsx(S.Suspense,{fallback:n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx(De,{size:20,className:"animate-spin text-muted-foreground"})}),children:n.jsx(Eh,{})}):n.jsx(S.Suspense,{fallback:n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx(De,{size:20,className:"animate-spin text-muted-foreground"})}),children:n.jsx(cw,{children:n.jsxs(Ue,{children:[n.jsxs(Ue.Header,{children:[n.jsxs(Ue.LeftColumn,{children:[n.jsx(Ue.Nav,{}),n.jsx(Ue.TogglesSlot,{})]}),n.jsx(Ue.CenterSlot,{}),n.jsxs(Ue.RightColumn,{children:[n.jsx(Ue.TabsSlot,{}),n.jsx(Ue.RightSlot,{})]})]}),n.jsxs("div",{className:"flex-1 min-h-0 flex flex-row",children:[n.jsx(Nw,{}),n.jsx("div",{className:"flex-1 min-w-0 flex flex-col",children:n.jsx(S.Suspense,{fallback:n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx(De,{size:20,className:"animate-spin text-muted-foreground"})}),children:n.jsx(Eh,{})})})]})]})})})})]})})}),t[3]=e,t[4]=o):o=t[4],o}export{AN as default,mc as useInsetContext};