decocms 3.2.1 → 3.2.3

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 (229) hide show
  1. package/dist/client/assets/{AlertCircle-ByuuAmrP.js → AlertCircle-C8E06jfW.js} +1 -1
  2. package/dist/client/assets/{ArrowUpRight-7eXsw1ql.js → ArrowUpRight-CkF0i1No.js} +1 -1
  3. package/dist/client/assets/{Check-BbSnE7nF.js → Check-DwRXhDYN.js} +1 -1
  4. package/dist/client/assets/{CheckCircle-Ca1wJWW6.js → CheckCircle-2iMrjx7D.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-B3TWWBuw.js → ChevronDown-k1VC2srD.js} +1 -1
  6. package/dist/client/assets/{ChevronLeft-CuRKchB5.js → ChevronLeft-7V2_qQ3E.js} +1 -1
  7. package/dist/client/assets/{ChevronRight-CYgA53ZB.js → ChevronRight-bA2PmkN9.js} +1 -1
  8. package/dist/client/assets/{ChevronUp-0T6APBSE.js → ChevronUp-gzUJvPqk.js} +1 -1
  9. package/dist/client/assets/{Container-RPSmr1XN.js → Container-DrffveDY.js} +1 -1
  10. package/dist/client/assets/{DotsVertical-BQNv4yup.js → DotsVertical-BZEdPJTY.js} +1 -1
  11. package/dist/client/assets/{Eye-CNWO8gM7.js → Eye-CbDINxSR.js} +1 -1
  12. package/dist/client/assets/{FilterLines-Cpimx7eF.js → FilterLines-DGIJAfna.js} +1 -1
  13. package/dist/client/assets/{Globe01-C0ij8Y-s.js → Globe01-CXHtWC8F.js} +1 -1
  14. package/dist/client/assets/{HardDrive-ChaMHCwz.js → HardDrive-HIDpzn4I.js} +1 -1
  15. package/dist/client/assets/{Key01-Bfuisq2G.js → Key01-BTeVSARy.js} +1 -1
  16. package/dist/client/assets/{LinkExternal01-BDqI6g0z.js → LinkExternal01-D7lnMhd-.js} +1 -1
  17. package/dist/client/assets/{Monitor01-CcL8iOzY.js → Monitor01-F6bKl6tK.js} +1 -1
  18. package/dist/client/assets/{Palette-DKpoyUgd.js → Palette-szvJEqXU.js} +1 -1
  19. package/dist/client/assets/{Play-Bb6uueKI.js → Play-sw2az4p0.js} +1 -1
  20. package/dist/client/assets/{Plus-CZ_sF7TZ.js → Plus-dxS60FPA.js} +1 -1
  21. package/dist/client/assets/{RefreshCcw01-BPWCc7Ui.js → RefreshCcw01-B2-HH-To.js} +1 -1
  22. package/dist/client/assets/{SearchMd-BFlkVflN.js → SearchMd-88iVjfqP.js} +1 -1
  23. package/dist/client/assets/{Settings02-Ch7efITK.js → Settings02-CdYsqAUT.js} +1 -1
  24. package/dist/client/assets/{Shield01-rrS6w-7t.js → Shield01-D6lV8m1d.js} +1 -1
  25. package/dist/client/assets/{Star01-CNXX9diU.js → Star01-K2L8_aik.js} +1 -1
  26. package/dist/client/assets/{Stars01-BQswryR6.js → Stars01-Bmg9xGSu.js} +1 -1
  27. package/dist/client/assets/{Stars02-CSL2rgyN.js → Stars02-nn8T1-WQ.js} +1 -1
  28. package/dist/client/assets/{Sun-Ck3cYoCA.js → Sun-Bk5MW5gf.js} +1 -1
  29. package/dist/client/assets/{SwitchHorizontal01-DsrQHrpb.js → SwitchHorizontal01-Caie0gIK.js} +1 -1
  30. package/dist/client/assets/{Tool01-Cjv1XJEb.js → Tool01-CBtpfChg.js} +1 -1
  31. package/dist/client/assets/{Trash01-CxCHXGOx.js → Trash01-DDKaJVRQ.js} +1 -1
  32. package/dist/client/assets/{Upload01-CeYSkJhe.js → Upload01-B5AbRmag.js} +1 -1
  33. package/dist/client/assets/{User01-DrA8Lgm7.js → User01-C5NUNAi1.js} +1 -1
  34. package/dist/client/assets/{Users01-3z4KNhww.js → Users01-BCOOK-yw.js} +1 -1
  35. package/dist/client/assets/{Users03-C9tAd5Ba.js → Users03-CS9FNDsP.js} +1 -1
  36. package/dist/client/assets/{X-DSdGdxng.js → X-D96et_XK.js} +1 -1
  37. package/dist/client/assets/{XCircle--wEB3Wnr.js → XCircle-toDSs4J6.js} +1 -1
  38. package/dist/client/assets/{XClose-SBhbV0jV.js → XClose-C8XjR0Oj.js} +1 -1
  39. package/dist/client/assets/{Zap-BRXknHpU.js → Zap-DPY_aC88.js} +1 -1
  40. package/dist/client/assets/{ZapSquare-DW4J95z9.js → ZapSquare-D_bnCoLi.js} +1 -1
  41. package/dist/client/assets/{ZoomOut-1w3s7N6o.js → ZoomOut-CFJklA2J.js} +1 -1
  42. package/dist/client/assets/{access-gate-DUP-FMW_.js → access-gate-Bxa3dGfK.js} +1 -1
  43. package/dist/client/assets/{accordion-Bu_taiZe.js → accordion-7Hq31-jA.js} +1 -1
  44. package/dist/client/assets/{add-section-modal-BvFEBv0h.js → add-section-modal-ctMF5sBw.js} +1 -1
  45. package/dist/client/assets/{agent-capabilities-DbMxSg-C.js → agent-capabilities-BLrQsLZt.js} +1 -1
  46. package/dist/client/assets/{agent-icon-DkS6Ap-C.js → agent-icon-CEtrmBbc.js} +1 -1
  47. package/dist/client/assets/{agent-icons-BU8H-xTW.js → agent-icons-CasiUZSA.js} +1 -1
  48. package/dist/client/assets/{agents-list-DVZwv3E6.js → agents-list-CSKXo2_8.js} +1 -1
  49. package/dist/client/assets/{ai-providers-agn-dcob.js → ai-providers-DFSkJ7HL.js} +1 -1
  50. package/dist/client/assets/{alert-DN73WALn.js → alert-C0wwDo4J.js} +1 -1
  51. package/dist/client/assets/{alert-dialog-Bw7NBbRz.js → alert-dialog-jD0HIb4F.js} +1 -1
  52. package/dist/client/assets/app-editor-DJDkUDig.js +1 -0
  53. package/dist/client/assets/{auth-catchall-BlJ-5WHw.js → auth-catchall-CQy9rKP1.js} +1 -1
  54. package/dist/client/assets/{auth-split-layout-Dzm1aPH4.js → auth-split-layout-D2GxEaTP.js} +1 -1
  55. package/dist/client/assets/{automation-list-row-C3x-E244.js → automation-list-row-XWf2Pzvs.js} +1 -1
  56. package/dist/client/assets/{automation-runs-CTZmIulC.js → automation-runs-d4uENwdC.js} +1 -1
  57. package/dist/client/assets/{automations-S87NSt_f.js → automations-Cn-4c3Au.js} +1 -1
  58. package/dist/client/assets/{avatar-6TETgWGc.js → avatar-DXqnRYfU.js} +1 -1
  59. package/dist/client/assets/{badge-B8xisPo_.js → badge-CnPW-GqK.js} +1 -1
  60. package/dist/client/assets/{brand-context-Mfgei73B.js → brand-context-C1cfILrc.js} +1 -1
  61. package/dist/client/assets/{buckets-CVy4SLLv.js → buckets-ByaOx_bc.js} +1 -1
  62. package/dist/client/assets/{calendar-BvvsEYKA.js → calendar-DeW_DdNU.js} +1 -1
  63. package/dist/client/assets/{capability-load-error-VErw4nLB.js → capability-load-error-BGVv1fL5.js} +1 -1
  64. package/dist/client/assets/{card-XQIiSY-b.js → card-DJApDAXW.js} +1 -1
  65. package/dist/client/assets/{chat-context-DzUbC-xr.js → chat-context-CQlAaKi3.js} +1 -1
  66. package/dist/client/assets/{checkbox-Bpq-GtnK.js → checkbox-BIvxdAqx.js} +1 -1
  67. package/dist/client/assets/{cli-auth-success-BrX77bKE.js → cli-auth-success-BHBjLjeF.js} +1 -1
  68. package/dist/client/assets/{collection-detail-Dvs8YEXJ.js → collection-detail-C_EFjExv.js} +1 -1
  69. package/dist/client/assets/{collection-display-button-B3IAyNvh.js → collection-display-button-Bj56qTcS.js} +1 -1
  70. package/dist/client/assets/{collection-search-Dnrehh9Y.js → collection-search-BJxAlGyH.js} +1 -1
  71. package/dist/client/assets/{collection-table-wrapper-UpBeyOT3.js → collection-table-wrapper-D6peytAO.js} +1 -1
  72. package/dist/client/assets/{collection-tabs-CoI7UjOp.js → collection-tabs-CbsCH9v8.js} +1 -1
  73. package/dist/client/assets/{collections-B7jkmTPa.js → collections-Btisq60d.js} +1 -1
  74. package/dist/client/assets/{command-B39UMlEv.js → command-BFgPrNtf.js} +1 -1
  75. package/dist/client/assets/{connect-desktop-dialog-B_fv-zC_.js → connect-desktop-dialog-Dh1zqCgF.js} +1 -1
  76. package/dist/client/assets/{connection-card-BxD3hzYk.js → connection-card-DHoKYS6O.js} +1 -1
  77. package/dist/client/assets/{connection-detail-Bi7jbI9b.js → connection-detail-Bp6uv95F.js} +1 -1
  78. package/dist/client/assets/{connection-form-helpers-qDos9L_s.js → connection-form-helpers-q_5sAECo.js} +1 -1
  79. package/dist/client/assets/{connections-qXvhTW3S.js → connections-BH-sbBlr.js} +1 -1
  80. package/dist/client/assets/{constants-_OexfFJl.js → constants-C-D4Pmy6.js} +1 -1
  81. package/dist/client/assets/{decopilot-sse-pool-B9TJutJ9.js → decopilot-sse-pool-BrQw0UAm.js} +1 -1
  82. package/dist/client/assets/{dialog-N8dYL9IV.js → dialog-m1msdckr.js} +1 -1
  83. package/dist/client/assets/{domain-settings-BMZMOFLc.js → domain-settings-De5BKpSF.js} +1 -1
  84. package/dist/client/assets/{drawer-BDyeiuJ6.js → drawer-KxvT14L5.js} +1 -1
  85. package/dist/client/assets/{dropdown-menu-Jaik1o9W.js → dropdown-menu-BXhpM-R_.js} +1 -1
  86. package/dist/client/assets/{dynamic-plugin-layout-CGMYG2P8.js → dynamic-plugin-layout-DLRUs164.js} +1 -1
  87. package/dist/client/assets/{empty-state-BIZp3Wzl.js → empty-state-BXMuvewe.js} +1 -1
  88. package/dist/client/assets/{empty-state-DmuFPxSA.js → empty-state-D3juNsZ6.js} +1 -1
  89. package/dist/client/assets/{extract-connection-data-BMrTOxqq.js → extract-connection-data-CvUd4tJL.js} +1 -1
  90. package/dist/client/assets/{features-RZhE2UVO.js → features--cEA_34N.js} +1 -1
  91. package/dist/client/assets/{file-explorer-eWHbqcdV.js → file-explorer-CwfYBal8.js} +1 -1
  92. package/dist/client/assets/{file-type-icon-Bscuxmvi.js → file-type-icon-aSS_wfKX.js} +1 -1
  93. package/dist/client/assets/{files-C6VU3gjR.js → files-CKP66dnf.js} +1 -1
  94. package/dist/client/assets/{form-BzUl5L3O.js → form-DIz1lXzt.js} +1 -1
  95. package/dist/client/assets/{general-FkmFS6e6.js → general-CSQvrtS8.js} +1 -1
  96. package/dist/client/assets/{generate-id-BHkehxKG.js → generate-id-MICojNT7.js} +1 -1
  97. package/dist/client/assets/{github-repo-picker-BFiC9cbF.js → github-repo-picker-CUBnWzWO.js} +1 -1
  98. package/dist/client/assets/{header-tab-button-CeJ9c_tl.js → header-tab-button-BCxnrLni.js} +1 -1
  99. package/dist/client/assets/{hover-card-Cd5Q8igo.js → hover-card-BagBBHwl.js} +1 -1
  100. package/dist/client/assets/{image-field-UZAPAOOz.js → image-field-DInBNYXf.js} +1 -1
  101. package/dist/client/assets/{index-CVcc7k1H.js → index-42kOoh0P.js} +1 -1
  102. package/dist/client/assets/{index-B8ILnfS6.js → index-BCwnQG_j.js} +1 -1
  103. package/dist/client/assets/{index-meHkju0S.js → index-BWtmYkwi.js} +1 -1
  104. package/dist/client/assets/{index-CEk4GIBJ.js → index-C3NmhGwz.js} +1 -1
  105. package/dist/client/assets/{index-3PLXj9NO.js → index-CN3cwfwy.js} +4 -4
  106. package/dist/client/assets/{index-BQjzxwMq.js → index-CWjORjiD.js} +1 -1
  107. package/dist/client/assets/{index-CapCq4uG.js → index-ChQwZqpG.js} +1 -1
  108. package/dist/client/assets/{index-CUwWwcrX.js → index-Csz3ibNb.js} +1 -1
  109. package/dist/client/assets/{index-CXD35HrY.js → index-DHt9Mf9G.js} +3 -3
  110. package/dist/client/assets/{index-BLB4nIBt.js → index-DLIj-Jcg.js} +1 -1
  111. package/dist/client/assets/{index-BUA93rVM.js → index-DfrAcw3c.js} +1 -1
  112. package/dist/client/assets/{index-BLLBrYfT.js → index-Dg2RoULU.js} +1 -1
  113. package/dist/client/assets/{index-WmwIsUVI.js → index-Dla-fDpI.js} +1 -1
  114. package/dist/client/assets/{index-Du62ET2a.js → index-ZsTpfnpi.js} +1 -1
  115. package/dist/client/assets/{index-Dc-40HGd.js → index-eeLoYk5O.js} +1 -1
  116. package/dist/client/assets/{index-redirect-DDOXoojV.js → index-redirect-BTEQzwYi.js} +1 -1
  117. package/dist/client/assets/{infiniteQueryObserver-CGU6vZCH.js → infiniteQueryObserver-C0HsJFoc.js} +1 -1
  118. package/dist/client/assets/{input-C9wjfV7v.js → input-D2dMhViX.js} +1 -1
  119. package/dist/client/assets/{integration-icon-DsMTB170.js → integration-icon-D5ZAVm0g.js} +1 -1
  120. package/dist/client/assets/{label-g7qALGmg.js → label-W8QKQ71a.js} +1 -1
  121. package/dist/client/assets/{layout-bDoXge5D.js → layout-C3II9QQW.js} +1 -1
  122. package/dist/client/assets/{login-CPZKVFaQ.js → login-CN2Q_xpv.js} +1 -1
  123. package/dist/client/assets/{members-DWt34Meb.js → members-Dx-3G2q9.js} +1 -1
  124. package/dist/client/assets/{monaco-editor-CIVDk0X4.js → monaco-editor-637MBJHf.js} +1 -1
  125. package/dist/client/assets/{monitoring-stats-row-DVsMM237.js → monitoring-stats-row-vcZ8M2dk.js} +1 -1
  126. package/dist/client/assets/{oauth-callback-CSUHKD_o.js → oauth-callback-MkSvb6XB.js} +1 -1
  127. package/dist/client/assets/{oauth-callback-ai-provider-BlWETFFP.js → oauth-callback-ai-provider-BRN5UHIt.js} +1 -1
  128. package/dist/client/assets/{onboarding-D5Ic9zJG.js → onboarding-Ci3GX3X7.js} +1 -1
  129. package/dist/client/assets/{org-install-Bn_KoOXH.js → org-install-DvKUkehf.js} +1 -1
  130. package/dist/client/assets/{org-layout-BELYI7z_.js → org-layout-CDF7rmnv.js} +1 -1
  131. package/dist/client/assets/{org-plugin-layout-WHwrW77i.js → org-plugin-layout-C7dImV9m.js} +1 -1
  132. package/dist/client/assets/{page-seo-form-Rig1soEP.js → page-seo-form-_pRbcmAC.js} +1 -1
  133. package/dist/client/assets/page-seo-sheet-CKWQNz11.js +1 -0
  134. package/dist/client/assets/{pair-zYr2GmQ7.js → pair-BzvzVihx.js} +3 -3
  135. package/dist/client/assets/{plugin-empty-state-CaWAfurE.js → plugin-empty-state-RFNgD2Hl.js} +1 -1
  136. package/dist/client/assets/{plugin-header-BD-ptlOP.js → plugin-header-Cjy2H9Lt.js} +1 -1
  137. package/dist/client/assets/{plugin-layout-CIQ_MNTQ.js → plugin-layout-CMzjQ3je.js} +1 -1
  138. package/dist/client/assets/{popover-OD-r-fVD.js → popover-CBH5jqt8.js} +1 -1
  139. package/dist/client/assets/{post-editor-Ww43847q.js → post-editor-DgGiGnFb.js} +1 -1
  140. package/dist/client/assets/{primitives-BkhZbhaK.js → primitives-DIzZ8vtF.js} +1 -1
  141. package/dist/client/assets/{profile-DScmkuI4.js → profile-CzlZVbcz.js} +1 -1
  142. package/dist/client/assets/project-app-view-CpvI7p3P.js +1 -0
  143. package/dist/client/assets/record-editor-CVyJ-HfI.js +1 -0
  144. package/dist/client/assets/{registry-layout-aQVqpLkk.js → registry-layout-CK2u5-1Q.js} +1 -1
  145. package/dist/client/assets/registry-vLK01UDd.js +2 -0
  146. package/dist/client/assets/{require-capability-B83Rfplv.js → require-capability-DvXpu1NE.js} +1 -1
  147. package/dist/client/assets/{required-auth-layout-DCPdZlSg.js → required-auth-layout-CceJrchr.js} +1 -1
  148. package/dist/client/assets/{reset-password-BSCF-TYh.js → reset-password-MOrCv-Jk.js} +1 -1
  149. package/dist/client/assets/{resizable-BT2keVUf.js → resizable-B9nPHbdY.js} +1 -1
  150. package/dist/client/assets/{roles-DDxTqNFx.js → roles-C0nb3z6u.js} +1 -1
  151. package/dist/client/assets/{save-status-BWK9t34W.js → save-status-XRuEx_--.js} +1 -1
  152. package/dist/client/assets/{schema-form-DMN65tMe.js → schema-form-CB484siM.js} +1 -1
  153. package/dist/client/assets/{scroll-area-huDDjp9h.js → scroll-area-DVU-pYpl.js} +1 -1
  154. package/dist/client/assets/{search-input-Bo1czWuc.js → search-input-BMiEmNCi.js} +1 -1
  155. package/dist/client/assets/{secrets-BSGdlXxl.js → secrets-Cnbscr4a.js} +1 -1
  156. package/dist/client/assets/{sections-editor-Kc6kOt9I.js → sections-editor-CFNE6H-Z.js} +1 -1
  157. package/dist/client/assets/{select-D_rADyeN.js → select-BISzCSVs.js} +1 -1
  158. package/dist/client/assets/{select-model-D4qI7a0H.js → select-model-DYDHHLGi.js} +1 -1
  159. package/dist/client/assets/{seo-editor-GY9idGrl.js → seo-editor-0nVP1sQh.js} +1 -1
  160. package/dist/client/assets/{settings-layout-B0Ul5kvB.js → settings-layout-BVrDhJki.js} +1 -1
  161. package/dist/client/assets/{settings-section-DMc4s0vU.js → settings-section-BZG2d-sE.js} +1 -1
  162. package/dist/client/assets/{sheet-Pz5-NB3k.js → sheet-C-msc_1A.js} +1 -1
  163. package/dist/client/assets/{shell-controls-C0ImSETI.js → shell-controls-BvFNuvl3.js} +1 -1
  164. package/dist/client/assets/{shell-layout-Dgdt_8rv.js → shell-layout-xcJQ-oXv.js} +1 -1
  165. package/dist/client/assets/{shell-route-loading-CB1BVSfX.js → shell-route-loading-BToLUOm_.js} +1 -1
  166. package/dist/client/assets/{sidebar-B-j-nI2l.js → sidebar-C1EbFBeG.js} +1 -1
  167. package/dist/client/assets/{skeleton-DIe_hcjh.js → skeleton-HacfcGLU.js} +1 -1
  168. package/dist/client/assets/{sortable.esm-DY8YVkDQ.js → sortable.esm-Dlj8q3TW.js} +1 -1
  169. package/dist/client/assets/{spinner-B0UNMt-U.js → spinner-CXR5LEFP.js} +1 -1
  170. package/dist/client/assets/{sso-B0wN1G0O.js → sso-DlZR7eJk.js} +1 -1
  171. package/dist/client/assets/{store-Ck7Guxqc.js → store-C2kJGW5G.js} +1 -1
  172. package/dist/client/assets/store-registry-DESNxNEj.js +2 -0
  173. package/dist/client/assets/{switch-CCm7Q442.js → switch-CWfvQ3qI.js} +1 -1
  174. package/dist/client/assets/{tab-id-Bw_e4wJV.js → tab-id-CuSxDIM1.js} +1 -1
  175. package/dist/client/assets/{table-BYsCVFvU.js → table--UQXxBBH.js} +1 -1
  176. package/dist/client/assets/{tabs-DU8yElp1.js → tabs-33vYy1bT.js} +1 -1
  177. package/dist/client/assets/{task-status-DukwwWFW.js → task-status-DdX5GyQu.js} +1 -1
  178. package/dist/client/assets/{textarea-Bg3_-gyq.js → textarea-C-zVkKAJ.js} +1 -1
  179. package/dist/client/assets/{toggle-group-D3JRSHCm.js → toggle-group-CoUQzFHk.js} +1 -1
  180. package/dist/client/assets/{toolbar-BcNvXnW_.js → toolbar-BmXelHzT.js} +1 -1
  181. package/dist/client/assets/{tools-list-D-XUldpQ.js → tools-list-CV_q_f0Z.js} +1 -1
  182. package/dist/client/assets/{tooltip-BLOVWRLB.js → tooltip-DY1LX4fr.js} +1 -1
  183. package/dist/client/assets/{types-BDkt4vmT.js → types-Dl5kxJ-o.js} +1 -1
  184. package/dist/client/assets/{use-ai-providers-D8uqA8F3.js → use-ai-providers-BcOqTKKC.js} +1 -1
  185. package/dist/client/assets/{use-automations-B9xj4bsi.js → use-automations-BPP1PerV.js} +1 -1
  186. package/dist/client/assets/{use-capability-D90XVo0g.js → use-capability-BsGHGYLW.js} +1 -1
  187. package/dist/client/assets/{use-collections-DoCz8MGT.js → use-collections-ZGWkQryR.js} +1 -1
  188. package/dist/client/assets/{use-connection-BP0gNEj8.js → use-connection-BAOUEhf6.js} +1 -1
  189. package/dist/client/assets/{use-copy-QEEDdK3_.js → use-copy-eq8o4JlH.js} +1 -1
  190. package/dist/client/assets/{use-create-virtual-mcp-BH7S5Lx3.js → use-create-virtual-mcp-KZ5vkVjY.js} +1 -1
  191. package/dist/client/assets/{use-debounced-autosave-CiGa02ts.js → use-debounced-autosave-CVMWB9VT.js} +1 -1
  192. package/dist/client/assets/{use-delete-connection-ClZdPbyx.js → use-delete-connection-BddckOeq.js} +1 -1
  193. package/dist/client/assets/{use-file-configs-DryWc5C3.js → use-file-configs-BDCkFZ7E.js} +1 -1
  194. package/dist/client/assets/{use-infinite-scroll-G1byfuk0.js → use-infinite-scroll-CAJkZLHC.js} +1 -1
  195. package/dist/client/assets/{use-list-state-ao0R-NZI.js → use-list-state-ufhhKZZh.js} +1 -1
  196. package/dist/client/assets/{use-mcp-prompts-Dsxmrp6C.js → use-mcp-prompts-BJKxU2Na.js} +1 -1
  197. package/dist/client/assets/{use-mcp-tools-CP1ukXK9.js → use-mcp-tools-ftOL48Fr.js} +1 -1
  198. package/dist/client/assets/{use-members-DJtUNna_.js → use-members-D0MeIqsF.js} +1 -1
  199. package/dist/client/assets/{use-navigate-to-agent-D4AslRZm.js → use-navigate-to-agent-BYyEy_zS.js} +1 -1
  200. package/dist/client/assets/{use-org-auth-client-CxpHs_Vn.js → use-org-auth-client-YKBoNqBy.js} +1 -1
  201. package/dist/client/assets/{use-org-sso-RJt5vtQj.js → use-org-sso-Lxt3NvQV.js} +1 -1
  202. package/dist/client/assets/{use-organization-roles-B1v3SUrz.js → use-organization-roles-DE5F_seS.js} +1 -1
  203. package/dist/client/assets/{use-organization-settings-1zemtEzS.js → use-organization-settings-C-jLCwb5.js} +1 -1
  204. package/dist/client/assets/{use-registry-connections-Ex6acs_f.js → use-registry-connections-DWZHQxm0.js} +1 -1
  205. package/dist/client/assets/{use-secrets-CIR-JEqt.js → use-secrets-BT7pvkDh.js} +1 -1
  206. package/dist/client/assets/{use-status-sounds-DYoN9DxD.js → use-status-sounds-DLyX7i_J.js} +1 -1
  207. package/dist/client/assets/{use-view-mode-ZMLCKL2b.js → use-view-mode-ljpeZqvp.js} +1 -1
  208. package/dist/client/assets/{use-virtual-mcp-BRv_CvsW.js → use-virtual-mcp-Rn9fsUNN.js} +1 -1
  209. package/dist/client/assets/useInfiniteQuery-CWJ6mtkH.js +1 -0
  210. package/dist/client/assets/{useRouterState-DNu2gJlX.js → useRouterState-CXGDCAP4.js} +1 -1
  211. package/dist/client/assets/useSuspenseInfiniteQuery-DDVcuWif.js +1 -0
  212. package/dist/client/assets/{user-CDUKY7Tn.js → user-Dh7nE-E-.js} +1 -1
  213. package/dist/client/assets/{view-mode-toggle-DgZQSMnW.js → view-mode-toggle-7zw5kq-m.js} +1 -1
  214. package/dist/client/assets/{workflow-H0Kk_Nq-.js → workflow-BAq_lzuZ.js} +1 -1
  215. package/dist/client/assets/workflow-detail-DpURA77E.js +1 -0
  216. package/dist/client/index.html +1 -1
  217. package/dist/server/cli.js +435 -432
  218. package/dist/server/migrate.js +9 -9
  219. package/dist/server/server.js +288 -285
  220. package/package.json +1 -1
  221. package/dist/client/assets/app-editor-BuMABOjf.js +0 -1
  222. package/dist/client/assets/page-seo-sheet-Bf_FSOof.js +0 -1
  223. package/dist/client/assets/project-app-view-DRVCBkTN.js +0 -1
  224. package/dist/client/assets/record-editor-DNW7IuYT.js +0 -1
  225. package/dist/client/assets/registry-BDe37MkZ.js +0 -2
  226. package/dist/client/assets/store-registry-CFkyafgO.js +0 -2
  227. package/dist/client/assets/useInfiniteQuery-Dsby0HYE.js +0 -1
  228. package/dist/client/assets/useSuspenseInfiniteQuery-DMzYQ3Lt.js +0 -1
  229. package/dist/client/assets/workflow-detail-G3IbeOSM.js +0 -1
@@ -1 +1 @@
1
- import{cs as C,e as f,j as c,C as j,r as d,c as p,bg as b,ct as v,cu as h}from"./index-CXD35HrY.js";import{L as N}from"./label-g7qALGmg.js";const E=C,g=d.createContext({}),M=t=>{const e=f.c(9);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let o;e[2]!==s.name?(o={name:s.name},e[2]=s.name,e[3]=o):o=e[3];let n;e[4]!==s?(n=c.jsx(j,{...s}),e[4]=s,e[5]=n):n=e[5];let r;return e[6]!==o||e[7]!==n?(r=c.jsx(g.Provider,{value:o,children:n}),e[6]=o,e[7]=n,e[8]=r):r=e[8],r},x=()=>{const t=f.c(13),e=d.useContext(g),s=d.useContext($),{getFieldState:o}=v();let n;t[0]!==e.name?(n={name:e.name},t[0]=e.name,t[1]=n):n=t[1];const r=h(n);let a;t[2]!==e.name||t[3]!==r||t[4]!==o?(a=o(e.name,r),t[2]=e.name,t[3]=r,t[4]=o,t[5]=a):a=t[5];const l=a;if(!e)throw new Error("useFormField should be used within <FormField>");const{id:i}=s,m=`${i}-form-item`,F=`${i}-form-item-description`,I=`${i}-form-item-message`;let u;return t[6]!==e.name||t[7]!==l||t[8]!==i||t[9]!==m||t[10]!==F||t[11]!==I?(u={id:i,name:e.name,formItemId:m,formDescriptionId:F,formMessageId:I,...l},t[6]=e.name,t[7]=l,t[8]=i,t[9]=m,t[10]=F,t[11]=I,t[12]=u):u=t[12],u},$=d.createContext({});function w(t){const e=f.c(13);let s,o;e[0]!==t?({className:s,...o}=t,e[0]=t,e[1]=s,e[2]=o):(s=e[1],o=e[2]);const n=d.useId();let r;e[3]!==n?(r={id:n},e[3]=n,e[4]=r):r=e[4];let a;e[5]!==s?(a=p("grid gap-2",s),e[5]=s,e[6]=a):a=e[6];let l;e[7]!==o||e[8]!==a?(l=c.jsx("div",{"data-slot":"form-item",className:a,...o}),e[7]=o,e[8]=a,e[9]=l):l=e[9];let i;return e[10]!==r||e[11]!==l?(i=c.jsx($.Provider,{value:r,children:l}),e[10]=r,e[11]=l,e[12]=i):i=e[12],i}function L(t){const e=f.c(10);let s,o;e[0]!==t?({className:s,...o}=t,e[0]=t,e[1]=s,e[2]=o):(s=e[1],o=e[2]);const{error:n,formItemId:r}=x(),a=!!n;let l;e[3]!==s?(l=p("text-foreground data-[error=true]:text-destructive",s),e[3]=s,e[4]=l):l=e[4];let i;return e[5]!==r||e[6]!==o||e[7]!==a||e[8]!==l?(i=c.jsx(N,{"data-slot":"form-label","data-error":a,className:l,htmlFor:r,...o}),e[5]=r,e[6]=o,e[7]=a,e[8]=l,e[9]=i):i=e[9],i}function P(t){const e=f.c(7);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];const{error:o,formItemId:n,formDescriptionId:r,formMessageId:a}=x(),l=o?`${r} ${a}`:`${r}`,i=!!o;let m;return e[2]!==n||e[3]!==s||e[4]!==l||e[5]!==i?(m=c.jsx(b,{"data-slot":"form-control",id:n,"aria-describedby":l,"aria-invalid":i,...s}),e[2]=n,e[3]=s,e[4]=l,e[5]=i,e[6]=m):m=e[6],m}function y(t){const e=f.c(9);let s,o;e[0]!==t?({className:s,...o}=t,e[0]=t,e[1]=s,e[2]=o):(s=e[1],o=e[2]);const{formDescriptionId:n}=x();let r;e[3]!==s?(r=p("text-muted-foreground text-sm",s),e[3]=s,e[4]=r):r=e[4];let a;return e[5]!==n||e[6]!==o||e[7]!==r?(a=c.jsx("p",{"data-slot":"form-description",id:n,className:r,...o}),e[5]=n,e[6]=o,e[7]=r,e[8]=a):a=e[8],a}function R(t){const e=f.c(10);let s,o;e[0]!==t?({className:s,...o}=t,e[0]=t,e[1]=s,e[2]=o):(s=e[1],o=e[2]);const{error:n,formMessageId:r}=x(),a=n?String(n?.message??""):o.children;if(!a)return null;let l;e[3]!==s?(l=p("text-destructive text-sm",s),e[3]=s,e[4]=l):l=e[4];let i;return e[5]!==a||e[6]!==r||e[7]!==o||e[8]!==l?(i=c.jsx("p",{"data-slot":"form-message",id:r,className:l,...o,children:a}),e[5]=a,e[6]=r,e[7]=o,e[8]=l,e[9]=i):i=e[9],i}export{M as F,E as a,w as b,L as c,P as d,y as e,R as f};
1
+ import{cs as C,e as f,j as c,C as j,r as d,c as p,bg as b,ct as v,cu as h}from"./index-DHt9Mf9G.js";import{L as N}from"./label-W8QKQ71a.js";const E=C,g=d.createContext({}),M=t=>{const e=f.c(9);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let o;e[2]!==s.name?(o={name:s.name},e[2]=s.name,e[3]=o):o=e[3];let n;e[4]!==s?(n=c.jsx(j,{...s}),e[4]=s,e[5]=n):n=e[5];let r;return e[6]!==o||e[7]!==n?(r=c.jsx(g.Provider,{value:o,children:n}),e[6]=o,e[7]=n,e[8]=r):r=e[8],r},x=()=>{const t=f.c(13),e=d.useContext(g),s=d.useContext($),{getFieldState:o}=v();let n;t[0]!==e.name?(n={name:e.name},t[0]=e.name,t[1]=n):n=t[1];const r=h(n);let a;t[2]!==e.name||t[3]!==r||t[4]!==o?(a=o(e.name,r),t[2]=e.name,t[3]=r,t[4]=o,t[5]=a):a=t[5];const l=a;if(!e)throw new Error("useFormField should be used within <FormField>");const{id:i}=s,m=`${i}-form-item`,F=`${i}-form-item-description`,I=`${i}-form-item-message`;let u;return t[6]!==e.name||t[7]!==l||t[8]!==i||t[9]!==m||t[10]!==F||t[11]!==I?(u={id:i,name:e.name,formItemId:m,formDescriptionId:F,formMessageId:I,...l},t[6]=e.name,t[7]=l,t[8]=i,t[9]=m,t[10]=F,t[11]=I,t[12]=u):u=t[12],u},$=d.createContext({});function w(t){const e=f.c(13);let s,o;e[0]!==t?({className:s,...o}=t,e[0]=t,e[1]=s,e[2]=o):(s=e[1],o=e[2]);const n=d.useId();let r;e[3]!==n?(r={id:n},e[3]=n,e[4]=r):r=e[4];let a;e[5]!==s?(a=p("grid gap-2",s),e[5]=s,e[6]=a):a=e[6];let l;e[7]!==o||e[8]!==a?(l=c.jsx("div",{"data-slot":"form-item",className:a,...o}),e[7]=o,e[8]=a,e[9]=l):l=e[9];let i;return e[10]!==r||e[11]!==l?(i=c.jsx($.Provider,{value:r,children:l}),e[10]=r,e[11]=l,e[12]=i):i=e[12],i}function L(t){const e=f.c(10);let s,o;e[0]!==t?({className:s,...o}=t,e[0]=t,e[1]=s,e[2]=o):(s=e[1],o=e[2]);const{error:n,formItemId:r}=x(),a=!!n;let l;e[3]!==s?(l=p("text-foreground data-[error=true]:text-destructive",s),e[3]=s,e[4]=l):l=e[4];let i;return e[5]!==r||e[6]!==o||e[7]!==a||e[8]!==l?(i=c.jsx(N,{"data-slot":"form-label","data-error":a,className:l,htmlFor:r,...o}),e[5]=r,e[6]=o,e[7]=a,e[8]=l,e[9]=i):i=e[9],i}function P(t){const e=f.c(7);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];const{error:o,formItemId:n,formDescriptionId:r,formMessageId:a}=x(),l=o?`${r} ${a}`:`${r}`,i=!!o;let m;return e[2]!==n||e[3]!==s||e[4]!==l||e[5]!==i?(m=c.jsx(b,{"data-slot":"form-control",id:n,"aria-describedby":l,"aria-invalid":i,...s}),e[2]=n,e[3]=s,e[4]=l,e[5]=i,e[6]=m):m=e[6],m}function y(t){const e=f.c(9);let s,o;e[0]!==t?({className:s,...o}=t,e[0]=t,e[1]=s,e[2]=o):(s=e[1],o=e[2]);const{formDescriptionId:n}=x();let r;e[3]!==s?(r=p("text-muted-foreground text-sm",s),e[3]=s,e[4]=r):r=e[4];let a;return e[5]!==n||e[6]!==o||e[7]!==r?(a=c.jsx("p",{"data-slot":"form-description",id:n,className:r,...o}),e[5]=n,e[6]=o,e[7]=r,e[8]=a):a=e[8],a}function R(t){const e=f.c(10);let s,o;e[0]!==t?({className:s,...o}=t,e[0]=t,e[1]=s,e[2]=o):(s=e[1],o=e[2]);const{error:n,formMessageId:r}=x(),a=n?String(n?.message??""):o.children;if(!a)return null;let l;e[3]!==s?(l=p("text-destructive text-sm",s),e[3]=s,e[4]=l):l=e[4];let i;return e[5]!==a||e[6]!==r||e[7]!==o||e[8]!==l?(i=c.jsx("p",{"data-slot":"form-message",id:r,className:l,...o,children:a}),e[5]=a,e[6]=r,e[7]=o,e[8]=l,e[9]=i):i=e[9],i}export{M as F,E as a,w as b,L as c,P as d,y as e,R as f};
@@ -1 +1 @@
1
- import{f as H,q as V,F as Y,G as Z,H as J,a as M,t as L,o as D,K as q,j as n,C as B,R as W,U as k,e as P,r as T,B as X,L as $,a3 as ee}from"./index-CXD35HrY.js";import{P as E}from"./index-meHkju0S.js";import{u as te}from"./use-org-auth-client-CxpHs_Vn.js";import{u as ne}from"./use-debounced-autosave-CiGa02ts.js";import{A as ae}from"./avatar-6TETgWGc.js";import{I as G}from"./input-C9wjfV7v.js";import{S as K,a as U,b as F,c as se}from"./settings-section-DMc4s0vU.js";import{D as oe}from"./domain-settings-BMZMOFLc.js";import{S as ie,u as re}from"./constants-_OexfFJl.js";import{c as le,b as ce,d as ue,f as de,e as ge,g as me,a as fe,A as pe}from"./alert-dialog-Bw7NBbRz.js";import{R as he}from"./require-capability-B83Rfplv.js";import"./sidebar-B-j-nI2l.js";import"./sheet-Pz5-NB3k.js";import"./X-DSdGdxng.js";import"./tooltip-BLOVWRLB.js";import"./User01-DrA8Lgm7.js";import"./card-XQIiSY-b.js";import"./ArrowUpRight-7eXsw1ql.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./switch-CCm7Q442.js";import"./use-capability-D90XVo0g.js";import"./access-gate-DUP-FMW_.js";import"./capability-load-error-VErw4nLB.js";const xe=W({name:k().min(1,"Name is required").max(255,"Name is too long"),slug:k().min(1,"Slug is required").max(50,"Slug is too long").regex(/^[a-z0-9-]+$/,"Slug must contain only lowercase letters, numbers, and hyphens"),logo:k().optional()});function je(e){const t=P.c(13),{value:y,onChange:h,name:o,disabled:g}=e,c=T.useRef(null);let u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=()=>c.current?.click(),t[0]=u):u=t[0];const i=u;let l;t[1]!==h?(l=j=>{const f=j.target.files?.[0];if(!f)return;if(f.size>2097152){D.error("Image must be smaller than 2MB");return}const p=new FileReader;p.onerror=ye,p.onloadend=()=>{p.result&&h(p.result),c.current&&(c.current.value="")},p.readAsDataURL(f)},t[1]=h,t[2]=l):l=t[2];const a=l;let s;t[3]!==g||t[4]!==a?(s=n.jsx("input",{ref:c,type:"file",accept:"image/*",onChange:a,className:"hidden",disabled:g}),t[3]=g,t[4]=a,t[5]=s):s=t[5];const r=y||void 0,d=o??"?";let m;t[6]!==r||t[7]!==d?(m=n.jsx(ae,{url:r,fallback:d,shape:"square",size:"base"}),t[6]=r,t[7]=d,t[8]=m):m=t[8];let x;return t[9]!==g||t[10]!==s||t[11]!==m?(x=n.jsxs("button",{type:"button",onClick:i,disabled:g,className:"rounded-lg overflow-hidden hover:ring-2 hover:ring-border transition-all disabled:opacity-50","aria-label":"Upload organization logo",children:[s,m]}),t[9]=g,t[10]=s,t[11]=m,t[12]=x):x=t[12],x}function ye(){return D.error("Failed to read image")}function ve(){const e=H(),{org:t}=V(),y=te(),h=Y(),o=Z({resolver:J(xe),values:{name:t.name??"",slug:t.slug??"",logo:t.logo??""}}),g=M({mutationFn:async a=>{const s={name:a.name,slug:a.slug};a.logo&&(s.logo=a.logo);const r=await y.organization.update({data:s});if(r?.error)throw new Error(r.error.message||"Failed to update organization");return r},onSuccess:(a,s)=>{L("organization_settings_updated",{organization_id:t.id,fields:Object.keys(s)}),h.invalidateQueries({queryKey:q.organizations()}),h.invalidateQueries({queryKey:q.activeOrganization(t.slug)}),D.success("Organization updated successfully"),a?.data?.slug&&a.data.slug!==t.slug&&e({to:"/$org/settings/general",params:{org:a.data.slug}})},onError:(a,s)=>{L("organization_settings_update_failed",{organization_id:t.id,fields:Object.keys(s),error:a instanceof Error?a.message:String(a)}),D.error(a instanceof Error?a.message:"Failed to update organization")}}),{schedule:c,flush:u}=ne({save:async()=>{const a=o.control._formState.dirtyFields;if(Object.keys(a).length===0||!await o.trigger())return;const r=o.getValues(),d=o.control._defaultValues;o.reset(r,{keepValues:!0});try{await g.mutateAsync(r)}catch{o.reset(d,{keepValues:!0})}}}),i=o.formState.errors,l=typeof window<"u"?`${window.location.host}/`:"";return n.jsx(K,{children:n.jsxs(U,{children:[n.jsx(F,{title:"Logo",description:"Recommended size is 256x256px",action:n.jsx(je,{value:o.watch("logo"),onChange:a=>{o.setValue("logo",a??"",{shouldDirty:!0}),u()},name:o.watch("name")})}),n.jsx(F,{title:"Name",action:n.jsx(B,{control:o.control,name:"name",render:({field:a})=>n.jsx(G,{id:"org-name",...a,onChange:s=>{a.onChange(s),c()},onBlur:()=>{a.onBlur(),u()},placeholder:"Organization name",className:"w-[280px]"})})}),n.jsx(F,{title:"URL",action:n.jsxs("div",{className:"flex items-center w-[280px] rounded-md border border-input bg-input/30 focus-within:ring-2 focus-within:ring-ring/50 overflow-hidden",children:[l&&n.jsx("span",{className:"pl-3 text-sm text-muted-foreground select-none",children:l}),n.jsx(B,{control:o.control,name:"slug",render:({field:a})=>n.jsx("input",{id:"org-slug",value:a.value??"",name:a.name,ref:a.ref,placeholder:"my-organization",className:"flex-1 min-w-0 bg-transparent px-2 py-1.5 text-sm text-foreground placeholder:text-muted-foreground/60 outline-none",onChange:s=>{const r=s.target.value.toLowerCase().replace(/[^a-z0-9-]/g,"");o.setValue("slug",r,{shouldDirty:!0,shouldTouch:!0,shouldValidate:!0}),c()},onBlur:()=>{a.onBlur(),u()}})})]})}),(i.name||i.slug||i.logo)&&n.jsxs("div",{className:"px-5 pb-3 flex flex-col gap-1",children:[i.name&&n.jsx("p",{className:"text-xs text-destructive",children:i.name.message}),i.slug&&n.jsx("p",{className:"text-xs text-destructive",children:i.slug.message}),i.logo&&n.jsx("p",{className:"text-xs text-destructive",children:i.logo.message})]})]})})}function be(){const e=P.c(45),{org:t}=V(),[y,h]=T.useState(!1),[o,g]=T.useState("");let c;e[0]!==t.id||e[1]!==t.slug?(c={connectionId:ie,orgSlug:t.slug,orgId:t.id},e[0]=t.id,e[1]=t.slug,e[2]=c):c=e[2];const u=re(c);let i;e[3]!==t.id||e[4]!==u?(i=async()=>{const v=await u.callTool({name:"ORGANIZATION_DELETE",arguments:{id:t.id}});if(v.isError){const N=v.content,Q=Array.isArray(N)&&N[0]?.type==="text"&&typeof N[0].text=="string"?N[0].text:"Failed to delete organization";throw new Error(Q)}},e[3]=t.id,e[4]=u,e[5]=i):i=e[5];let l;e[6]!==t.id||e[7]!==t.slug?(l=()=>{L("organization_deleted",{organization_id:t.id}),localStorage.getItem($.lastOrgSlug())===t.slug&&localStorage.removeItem($.lastOrgSlug()),ee(),D.success("Organization deleted"),window.location.href="/"},e[6]=t.id,e[7]=t.slug,e[8]=l):l=e[8];let a;e[9]!==i||e[10]!==l?(a={mutationFn:i,onSuccess:l,onError:Se},e[9]=i,e[10]=l,e[11]=a):a=e[11];const s=M(a);let r;e[12]===Symbol.for("react.memo_cache_sentinel")?(r=()=>h(!0),e[12]=r):r=e[12];let d;e[13]!==s.isPending?(d=n.jsx(K,{title:"Danger Zone",description:"Irreversible actions that affect your entire organization.",children:n.jsx(U,{className:"border-destructive/40",children:n.jsx(F,{title:"Delete organization",description:"Permanently delete this organization and all of its data. This action cannot be undone.",action:n.jsx(X,{variant:"destructive",size:"sm",onClick:r,disabled:s.isPending,children:"Delete"})})})}),e[13]=s.isPending,e[14]=d):d=e[14];let m;e[15]===Symbol.for("react.memo_cache_sentinel")?(m=v=>{h(v),v||g("")},e[15]=m):m=e[15];let x;e[16]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx(le,{children:"Delete Organization?"}),e[16]=x):x=e[16];let j;e[17]!==t.name?(j=n.jsxs("p",{children:["This will permanently delete all data associated with"," ",n.jsx("span",{className:"font-medium text-foreground",children:t.name}),". This action cannot be undone."]}),e[17]=t.name,e[18]=j):j=e[18];let f;e[19]!==t.name?(f=n.jsxs("p",{className:"mt-3 mb-1.5",children:["Type"," ",n.jsx("span",{className:"font-medium text-foreground",children:t.name})," ","to confirm:"]}),e[19]=t.name,e[20]=f):f=e[20];let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p=v=>g(v.target.value),e[21]=p):p=e[21];let b;e[22]!==o||e[23]!==t.name?(b=n.jsx(G,{value:o,onChange:p,placeholder:t.name,autoFocus:!0}),e[22]=o,e[23]=t.name,e[24]=b):b=e[24];let S;e[25]!==b||e[26]!==j||e[27]!==f?(S=n.jsxs(ce,{children:[x,n.jsx(ue,{asChild:!0,children:n.jsxs("div",{children:[j,f,b]})})]}),e[25]=b,e[26]=j,e[27]=f,e[28]=S):S=e[28];let A;e[29]===Symbol.for("react.memo_cache_sentinel")?(A=n.jsx(de,{children:"Cancel"}),e[29]=A):A=e[29];let z;e[30]!==s?(z=()=>s.mutate(),e[30]=s,e[31]=z):z=e[31];const R=o!==t.name||s.isPending,I=s.isPending?"Deleting…":"Delete organization";let C;e[32]!==z||e[33]!==R||e[34]!==I?(C=n.jsxs(ge,{children:[A,n.jsx(me,{onClick:z,disabled:R,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90 disabled:opacity-50",children:I})]}),e[32]=z,e[33]=R,e[34]=I,e[35]=C):C=e[35];let _;e[36]!==S||e[37]!==C?(_=n.jsxs(fe,{children:[S,C]}),e[36]=S,e[37]=C,e[38]=_):_=e[38];let w;e[39]!==y||e[40]!==_?(w=n.jsx(pe,{open:y,onOpenChange:m,children:_}),e[39]=y,e[40]=_,e[41]=w):w=e[41];let O;return e[42]!==w||e[43]!==d?(O=n.jsxs(n.Fragment,{children:[d,w]}),e[42]=w,e[43]=d,e[44]=O):O=e[44],O}function Se(e){D.error(e instanceof Error?e.message:"Failed to delete organization")}function ze(){const e=P.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx(E,{children:n.jsx(E.Content,{children:n.jsx(E.Body,{children:n.jsxs(se,{children:[n.jsx(E.Title,{children:"Organization"}),n.jsx(ve,{}),n.jsx(oe,{}),n.jsx(be,{})]})})})}),e[0]=t):t=e[0],t}function Qe(){const e=P.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx(he,{capability:"org:manage",area:"general settings",children:n.jsx(ze,{})}),e[0]=t):t=e[0],t}export{Qe as default};
1
+ import{f as H,q as V,F as Y,G as Z,H as J,a as M,t as L,o as D,K as q,j as n,C as B,R as W,U as k,e as P,r as T,B as X,L as $,a3 as ee}from"./index-DHt9Mf9G.js";import{P as E}from"./index-BWtmYkwi.js";import{u as te}from"./use-org-auth-client-YKBoNqBy.js";import{u as ne}from"./use-debounced-autosave-CVMWB9VT.js";import{A as ae}from"./avatar-DXqnRYfU.js";import{I as G}from"./input-D2dMhViX.js";import{S as K,a as U,b as F,c as se}from"./settings-section-BZG2d-sE.js";import{D as oe}from"./domain-settings-De5BKpSF.js";import{S as ie,u as re}from"./constants-C-D4Pmy6.js";import{c as le,b as ce,d as ue,f as de,e as ge,g as me,a as fe,A as pe}from"./alert-dialog-jD0HIb4F.js";import{R as he}from"./require-capability-DvXpu1NE.js";import"./sidebar-C1EbFBeG.js";import"./sheet-C-msc_1A.js";import"./X-D96et_XK.js";import"./tooltip-DY1LX4fr.js";import"./User01-C5NUNAi1.js";import"./card-DJApDAXW.js";import"./ArrowUpRight-CkF0i1No.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./switch-CWfvQ3qI.js";import"./use-capability-BsGHGYLW.js";import"./access-gate-Bxa3dGfK.js";import"./capability-load-error-BGVv1fL5.js";const xe=W({name:k().min(1,"Name is required").max(255,"Name is too long"),slug:k().min(1,"Slug is required").max(50,"Slug is too long").regex(/^[a-z0-9-]+$/,"Slug must contain only lowercase letters, numbers, and hyphens"),logo:k().optional()});function je(e){const t=P.c(13),{value:y,onChange:h,name:o,disabled:g}=e,c=T.useRef(null);let u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=()=>c.current?.click(),t[0]=u):u=t[0];const i=u;let l;t[1]!==h?(l=j=>{const f=j.target.files?.[0];if(!f)return;if(f.size>2097152){D.error("Image must be smaller than 2MB");return}const p=new FileReader;p.onerror=ye,p.onloadend=()=>{p.result&&h(p.result),c.current&&(c.current.value="")},p.readAsDataURL(f)},t[1]=h,t[2]=l):l=t[2];const a=l;let s;t[3]!==g||t[4]!==a?(s=n.jsx("input",{ref:c,type:"file",accept:"image/*",onChange:a,className:"hidden",disabled:g}),t[3]=g,t[4]=a,t[5]=s):s=t[5];const r=y||void 0,d=o??"?";let m;t[6]!==r||t[7]!==d?(m=n.jsx(ae,{url:r,fallback:d,shape:"square",size:"base"}),t[6]=r,t[7]=d,t[8]=m):m=t[8];let x;return t[9]!==g||t[10]!==s||t[11]!==m?(x=n.jsxs("button",{type:"button",onClick:i,disabled:g,className:"rounded-lg overflow-hidden hover:ring-2 hover:ring-border transition-all disabled:opacity-50","aria-label":"Upload organization logo",children:[s,m]}),t[9]=g,t[10]=s,t[11]=m,t[12]=x):x=t[12],x}function ye(){return D.error("Failed to read image")}function ve(){const e=H(),{org:t}=V(),y=te(),h=Y(),o=Z({resolver:J(xe),values:{name:t.name??"",slug:t.slug??"",logo:t.logo??""}}),g=M({mutationFn:async a=>{const s={name:a.name,slug:a.slug};a.logo&&(s.logo=a.logo);const r=await y.organization.update({data:s});if(r?.error)throw new Error(r.error.message||"Failed to update organization");return r},onSuccess:(a,s)=>{L("organization_settings_updated",{organization_id:t.id,fields:Object.keys(s)}),h.invalidateQueries({queryKey:q.organizations()}),h.invalidateQueries({queryKey:q.activeOrganization(t.slug)}),D.success("Organization updated successfully"),a?.data?.slug&&a.data.slug!==t.slug&&e({to:"/$org/settings/general",params:{org:a.data.slug}})},onError:(a,s)=>{L("organization_settings_update_failed",{organization_id:t.id,fields:Object.keys(s),error:a instanceof Error?a.message:String(a)}),D.error(a instanceof Error?a.message:"Failed to update organization")}}),{schedule:c,flush:u}=ne({save:async()=>{const a=o.control._formState.dirtyFields;if(Object.keys(a).length===0||!await o.trigger())return;const r=o.getValues(),d=o.control._defaultValues;o.reset(r,{keepValues:!0});try{await g.mutateAsync(r)}catch{o.reset(d,{keepValues:!0})}}}),i=o.formState.errors,l=typeof window<"u"?`${window.location.host}/`:"";return n.jsx(K,{children:n.jsxs(U,{children:[n.jsx(F,{title:"Logo",description:"Recommended size is 256x256px",action:n.jsx(je,{value:o.watch("logo"),onChange:a=>{o.setValue("logo",a??"",{shouldDirty:!0}),u()},name:o.watch("name")})}),n.jsx(F,{title:"Name",action:n.jsx(B,{control:o.control,name:"name",render:({field:a})=>n.jsx(G,{id:"org-name",...a,onChange:s=>{a.onChange(s),c()},onBlur:()=>{a.onBlur(),u()},placeholder:"Organization name",className:"w-[280px]"})})}),n.jsx(F,{title:"URL",action:n.jsxs("div",{className:"flex items-center w-[280px] rounded-md border border-input bg-input/30 focus-within:ring-2 focus-within:ring-ring/50 overflow-hidden",children:[l&&n.jsx("span",{className:"pl-3 text-sm text-muted-foreground select-none",children:l}),n.jsx(B,{control:o.control,name:"slug",render:({field:a})=>n.jsx("input",{id:"org-slug",value:a.value??"",name:a.name,ref:a.ref,placeholder:"my-organization",className:"flex-1 min-w-0 bg-transparent px-2 py-1.5 text-sm text-foreground placeholder:text-muted-foreground/60 outline-none",onChange:s=>{const r=s.target.value.toLowerCase().replace(/[^a-z0-9-]/g,"");o.setValue("slug",r,{shouldDirty:!0,shouldTouch:!0,shouldValidate:!0}),c()},onBlur:()=>{a.onBlur(),u()}})})]})}),(i.name||i.slug||i.logo)&&n.jsxs("div",{className:"px-5 pb-3 flex flex-col gap-1",children:[i.name&&n.jsx("p",{className:"text-xs text-destructive",children:i.name.message}),i.slug&&n.jsx("p",{className:"text-xs text-destructive",children:i.slug.message}),i.logo&&n.jsx("p",{className:"text-xs text-destructive",children:i.logo.message})]})]})})}function be(){const e=P.c(45),{org:t}=V(),[y,h]=T.useState(!1),[o,g]=T.useState("");let c;e[0]!==t.id||e[1]!==t.slug?(c={connectionId:ie,orgSlug:t.slug,orgId:t.id},e[0]=t.id,e[1]=t.slug,e[2]=c):c=e[2];const u=re(c);let i;e[3]!==t.id||e[4]!==u?(i=async()=>{const v=await u.callTool({name:"ORGANIZATION_DELETE",arguments:{id:t.id}});if(v.isError){const N=v.content,Q=Array.isArray(N)&&N[0]?.type==="text"&&typeof N[0].text=="string"?N[0].text:"Failed to delete organization";throw new Error(Q)}},e[3]=t.id,e[4]=u,e[5]=i):i=e[5];let l;e[6]!==t.id||e[7]!==t.slug?(l=()=>{L("organization_deleted",{organization_id:t.id}),localStorage.getItem($.lastOrgSlug())===t.slug&&localStorage.removeItem($.lastOrgSlug()),ee(),D.success("Organization deleted"),window.location.href="/"},e[6]=t.id,e[7]=t.slug,e[8]=l):l=e[8];let a;e[9]!==i||e[10]!==l?(a={mutationFn:i,onSuccess:l,onError:Se},e[9]=i,e[10]=l,e[11]=a):a=e[11];const s=M(a);let r;e[12]===Symbol.for("react.memo_cache_sentinel")?(r=()=>h(!0),e[12]=r):r=e[12];let d;e[13]!==s.isPending?(d=n.jsx(K,{title:"Danger Zone",description:"Irreversible actions that affect your entire organization.",children:n.jsx(U,{className:"border-destructive/40",children:n.jsx(F,{title:"Delete organization",description:"Permanently delete this organization and all of its data. This action cannot be undone.",action:n.jsx(X,{variant:"destructive",size:"sm",onClick:r,disabled:s.isPending,children:"Delete"})})})}),e[13]=s.isPending,e[14]=d):d=e[14];let m;e[15]===Symbol.for("react.memo_cache_sentinel")?(m=v=>{h(v),v||g("")},e[15]=m):m=e[15];let x;e[16]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx(le,{children:"Delete Organization?"}),e[16]=x):x=e[16];let j;e[17]!==t.name?(j=n.jsxs("p",{children:["This will permanently delete all data associated with"," ",n.jsx("span",{className:"font-medium text-foreground",children:t.name}),". This action cannot be undone."]}),e[17]=t.name,e[18]=j):j=e[18];let f;e[19]!==t.name?(f=n.jsxs("p",{className:"mt-3 mb-1.5",children:["Type"," ",n.jsx("span",{className:"font-medium text-foreground",children:t.name})," ","to confirm:"]}),e[19]=t.name,e[20]=f):f=e[20];let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p=v=>g(v.target.value),e[21]=p):p=e[21];let b;e[22]!==o||e[23]!==t.name?(b=n.jsx(G,{value:o,onChange:p,placeholder:t.name,autoFocus:!0}),e[22]=o,e[23]=t.name,e[24]=b):b=e[24];let S;e[25]!==b||e[26]!==j||e[27]!==f?(S=n.jsxs(ce,{children:[x,n.jsx(ue,{asChild:!0,children:n.jsxs("div",{children:[j,f,b]})})]}),e[25]=b,e[26]=j,e[27]=f,e[28]=S):S=e[28];let A;e[29]===Symbol.for("react.memo_cache_sentinel")?(A=n.jsx(de,{children:"Cancel"}),e[29]=A):A=e[29];let z;e[30]!==s?(z=()=>s.mutate(),e[30]=s,e[31]=z):z=e[31];const R=o!==t.name||s.isPending,I=s.isPending?"Deleting…":"Delete organization";let C;e[32]!==z||e[33]!==R||e[34]!==I?(C=n.jsxs(ge,{children:[A,n.jsx(me,{onClick:z,disabled:R,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90 disabled:opacity-50",children:I})]}),e[32]=z,e[33]=R,e[34]=I,e[35]=C):C=e[35];let _;e[36]!==S||e[37]!==C?(_=n.jsxs(fe,{children:[S,C]}),e[36]=S,e[37]=C,e[38]=_):_=e[38];let w;e[39]!==y||e[40]!==_?(w=n.jsx(pe,{open:y,onOpenChange:m,children:_}),e[39]=y,e[40]=_,e[41]=w):w=e[41];let O;return e[42]!==w||e[43]!==d?(O=n.jsxs(n.Fragment,{children:[d,w]}),e[42]=w,e[43]=d,e[44]=O):O=e[44],O}function Se(e){D.error(e instanceof Error?e.message:"Failed to delete organization")}function ze(){const e=P.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx(E,{children:n.jsx(E.Content,{children:n.jsx(E.Body,{children:n.jsxs(se,{children:[n.jsx(E.Title,{children:"Organization"}),n.jsx(ve,{}),n.jsx(oe,{}),n.jsx(be,{})]})})})}),e[0]=t):t=e[0],t}function Qe(){const e=P.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx(he,{capability:"org:manage",area:"general settings",children:n.jsx(ze,{})}),e[0]=t):t=e[0],t}export{Qe as default};
@@ -1 +1 @@
1
- import{B as r}from"./collections-B7jkmTPa.js";import{cg as o}from"./index-CXD35HrY.js";const m=o(r,{target:"draft-7"});let n="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",l=(t=21)=>{let e="",a=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=n[a[t]&63];return e};function s(t){return`${t}_${l()}`}export{m as B,s as g};
1
+ import{B as r}from"./collections-Btisq60d.js";import{cg as o}from"./index-DHt9Mf9G.js";const m=o(r,{target:"draft-7"});let n="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",l=(t=21)=>{let e="",a=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=n[a[t]&63];return e};function s(t){return`${t}_${l()}`}export{m as B,s as g};
@@ -1,4 +1,4 @@
1
- import{e as $,j as t,q as J,b as he,F as ae,r as G,J as ke,I as Re,Q as ie,n as xe,K as U,a as be,t as oe,o as D,B as se,c as V,l as Y,s as Ae,D as Oe}from"./index-CXD35HrY.js";import{b as Le}from"./use-virtual-mcp-BRv_CvsW.js";import{k as le}from"./use-navigate-to-agent-D4AslRZm.js";import{b as Ge,u as ye}from"./use-connection-BP0gNEj8.js";import{W as Pe,u as H,S as ce}from"./constants-_OexfFJl.js";import{D as we,a as Ce,b as Ie,c as Ne,d as $e}from"./dialog-N8dYL9IV.js";import{i as ue}from"./RefreshCcw01-BPWCc7Ui.js";import{C as je}from"./collection-search-Dnrehh9Y.js";import{C as pe}from"./checkbox-Bpq-GtnK.js";import{n as He}from"./agent-icon-DkS6Ap-C.js";import{u as Me}from"./use-mcp-tools-CP1ukXK9.js";import{e as De}from"./extract-connection-data-BMrTOxqq.js";const Ue=`<svg width="74" height="84" viewBox="0 0 74 84" fill="none" xmlns="http://www.w3.org/2000/svg">
1
+ import{e as $,j as t,q as J,b as he,F as ae,r as G,J as ke,I as Re,Q as ie,n as xe,K as U,a as be,t as oe,o as D,B as se,c as V,l as Y,s as Ae,D as Oe}from"./index-DHt9Mf9G.js";import{b as Le}from"./use-virtual-mcp-Rn9fsUNN.js";import{k as le}from"./use-navigate-to-agent-BYyEy_zS.js";import{b as Ge,u as ye}from"./use-connection-BAOUEhf6.js";import{W as Pe,u as H,S as ce}from"./constants-C-D4Pmy6.js";import{D as we,a as Ce,b as Ie,c as Ne,d as $e}from"./dialog-m1msdckr.js";import{i as ue}from"./RefreshCcw01-B2-HH-To.js";import{C as je}from"./collection-search-BJxAlGyH.js";import{C as pe}from"./checkbox-BIvxdAqx.js";import{n as He}from"./agent-icon-CEtrmBbc.js";import{u as Me}from"./use-mcp-tools-ftOL48Fr.js";import{e as De}from"./extract-connection-data-CvUd4tJL.js";const Ue=`<svg width="74" height="84" viewBox="0 0 74 84" fill="none" xmlns="http://www.w3.org/2000/svg">
2
2
  <path d="M63.4462 15.3005C63.1414 15.2764 57.2333 15.1845 57.2333 15.1845C57.2333 15.1845 52.2906 10.3849 51.8019 9.89426C51.6127 9.71981 51.3729 9.60981 51.1172 9.58008V83.0253L73.2664 77.5175C73.2664 77.5175 64.2277 16.3953 64.1696 15.9772C64.1417 15.7997 64.055 15.6366 63.9235 15.5139C63.7919 15.3913 63.6255 15.3162 63.4462 15.3005Z" fill="#171717"/>
3
3
  <path fill-rule="evenodd" clip-rule="evenodd" d="M32.748 0.00356357C34.8334 -0.0568526 36.5759 0.651298 37.9307 2.10122C38.0276 2.20613 38.1209 2.31463 38.2109 2.42544L38.2354 2.42349C38.4434 2.40657 38.6494 2.38638 38.8574 2.38638H38.8672C41.9831 2.3913 44.5571 4.16796 46.3184 7.527C46.8023 8.4621 47.2004 9.43976 47.5068 10.4469L49.9883 9.67837C50.3609 9.56961 51.315 9.42163 51.8037 9.90981L51.9922 82.3883L51.1162 83.0387L0 74.1979C0.0195597 74.0466 6.09952 27.0238 6.3291 25.3629C6.63636 23.1661 6.70922 23.0933 9.03906 22.361L16.957 19.9079C17.4531 16.377 19.1884 11.8165 21.4746 8.18423C24.7237 3.02487 28.7273 0.119714 32.748 0.00356357ZM38.8408 26.7077C38.8133 26.694 36.5926 25.6009 32.2842 25.8747C21.032 26.5853 15.9341 34.4515 16.4229 42.2213C17.0059 51.4485 26.2283 51.1199 26.584 56.734C26.6686 58.0922 25.8271 60.0114 23.4658 60.1588C19.8562 60.3883 15.3438 56.9831 15.3438 56.9831L13.6191 64.3249C13.6191 64.3249 18.1021 69.1296 26.2432 68.6149C33.027 68.1895 37.7351 62.759 37.2344 54.8249C36.5981 44.7397 25.2729 43.7966 25.002 39.4948C24.9512 38.7038 25.0055 35.556 29.9932 35.2418C33.3786 35.0279 36.2354 36.3195 36.2666 36.3336L38.8408 26.7077ZM32.8262 2.6813C26.6181 2.86014 21.2028 12.5587 19.8213 19.0211L26.8311 16.8512C27.6101 12.7476 29.5648 8.48928 32.1221 5.74868C33.0162 4.76667 34.0719 3.94401 35.2432 3.31704H35.2451C34.5654 2.87005 33.7695 2.66203 32.8262 2.6813ZM36.9775 5.46548C35.7921 5.95366 34.7952 6.80972 34.0791 7.57583C32.1608 9.63716 30.5951 12.7807 29.7725 15.9391L38.3057 13.2956C38.3322 11.0721 38.0904 7.7854 36.9775 5.46548ZM39.7568 5.14907C40.7052 7.59721 40.9505 10.4321 40.9795 12.4694L44.9473 11.2389C44.3133 9.17981 42.8075 5.72907 39.7568 5.14907Z" fill="#393939"/>
4
4
  </svg>`,Fe=`data:image/svg+xml,${encodeURIComponent(Ue)}`,Nt={title:"New Website",description:"Website cloned from a public template",url:"https://github.com/decocms/webapp-template",owner:"decocms",name:"webapp-template"},jt={title:"Shopify Headless Store",description:"Shopify Headless Store cloned from a public template",url:"https://github.com/Shopify/hydrogen-demo-store",owner:"Shopify",name:"hydrogen-demo-store",icon:Fe};function St(){const o=$.c(6),e=Le(),n=le();let s;o[0]!==e.create||o[1]!==n?(s=async r=>{const f=await e.create.mutateAsync({title:r.title,description:r.description,icon:r.icon??null,status:"active",pinned:!1,connections:[],metadata:{githubRepo:{url:r.url,owner:r.owner,name:r.name},instructions:null,ui:{pinnedViews:null,layout:{defaultMainView:{type:"preview"},chatDefaultOpen:!0}}}});return f.id&&n(f.id),f},o[0]=e.create,o[1]=n,o[2]=s):s=o[2];const l=s;let i;return o[3]!==e.create.isPending||o[4]!==l?(i={createFromTemplate:l,isCreating:e.create.isPending},o[3]=e.create.isPending,o[4]=l,o[5]=i):i=o[5],i}function F(o){const e=$.c(4),{size:n,className:s}=o;let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsx("path",{d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0016 8c0-4.42-3.58-8-8-8z"}),e[0]=l):l=e[0];let i;return e[1]!==s||e[2]!==n?(i=t.jsx("svg",{width:n,height:n,viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",className:s,children:l}),e[1]=s,e[2]=n,e[3]=i):i=e[3],i}function ze(o,e){const n=$.c(12),{org:s}=J();let l;n[0]!==s.id?(l=Pe.REGISTRY(s.id),n[0]=s.id,n[1]=l):l=n[1];const i=l;let r;n[2]!==s.id||n[3]!==s.slug||n[4]!==i?(r={connectionId:i,orgId:s.id,orgSlug:s.slug},n[2]=s.id,n[3]=s.slug,n[4]=i,n[5]=r):r=n[5];const f=H(r);let b;n[6]!==o?(b={name:o},n[6]=o,n[7]=b):b=n[7];const a=e?.enabled??!0;let C;return n[8]!==f||n[9]!==b||n[10]!==a?(C={client:f,toolName:"COLLECTION_REGISTRY_APP_GET",toolArguments:b,enabled:a,staleTime:3e5,select:qe},n[8]=f,n[9]=b,n[10]=a,n[11]=C):C=n[11],Me(C)}function qe(o){return o.structuredContent?.item??null}const Be="deco/mcp-github";function Se(o){const{org:e}=J(),{data:n}=he.useSession(),s=Ge(),l=ae(),[i,r]=G.useState("idle"),[f,b]=G.useState(null),[a,C]=G.useState(null),{data:h,isLoading:m}=ze(Be,{enabled:o.enabled}),x=G.useRef(!1);o.enabled&&h&&!m&&!x.current&&n?.user?.id&&i==="idle"&&(x.current=!0,N());async function N(){if(!(!h||!n?.user?.id||!e))try{r("installing"),b(null);const p=De(h,e.id,n.user.id,{remoteIndex:0});if(!p.connection_url)throw new Error("Registry item is missing a remote URL for mcp-github");const{id:w}=await s.create.mutateAsync(p);r("authenticating");const j=new URL(`/api/${e.slug}/mcp/${w}`,window.location.origin),d=await ke({url:j.href,token:null,orgId:e.id});if(d.supportsOAuth&&!d.isAuthenticated){const{token:S,tokenInfo:c,error:v}=await Re({connectionId:w,orgSlug:e.slug,scope:"offline_access"});if(v||!S){try{await s.delete.mutateAsync(w)}catch{}throw new Error(v??"No token received from GitHub")}if(c)try{(await fetch(`/api/${e.slug}/connections/${w}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:c.accessToken,refreshToken:c.refreshToken,expiresIn:c.expiresIn,scope:c.scope,clientId:c.clientId,clientSecret:c.clientSecret,tokenEndpoint:c.tokenEndpoint})})).ok||await s.update.mutateAsync({id:w,data:{connection_token:S}})}catch{await s.update.mutateAsync({id:w,data:{connection_token:S}})}}ie(l,e.id),C(p),r("ready")}catch(p){b(p instanceof Error?p.message:String(p)),r("error")}}function y(){r("idle"),b(null),C(null),x.current=!1}return o.enabled&&m&&i==="idle"?{status:"installing",error:null,connection:null,retry:y}:{status:i,error:f,connection:a,retry:y}}const Ve="deco-sites";function Ke(o){if(!o||typeof o!="object")return null;const e=o.github;if(!e||typeof e!="object")return null;const n=e.owner,s=e.repo;return typeof n!="string"||typeof s!="string"||n.length===0||s.length===0?null:{owner:n,repo:s}}function Qe(o,e){const n=e?Ke(e):null,s=n?.owner??Ve,l=n?.repo??o;return{owner:s,name:l,url:`https://github.com/${s}/${l}`}}const K={contents:"write",metadata:"read",pull_requests:"write",issues:"write"};function Je(o){if(!o||typeof o!="object"||Array.isArray(o))return K;const e=o;return Object.values(e).some(n=>typeof n!="string")?K:e}function Ye(o){if(!(typeof o!="number"||!Number.isFinite(o)||!Number.isInteger(o)||o<=0))return o}function We(o){const e=o.metadata?.repoScope;if(!e||typeof e.installationId!="number"||!Number.isFinite(e.installationId)||!Number.isInteger(e.installationId)||e.installationId<=0||typeof e.owner!="string"||typeof e.repo!="string"||e.owner.length===0||e.repo.length===0)return null;const n=Ye(e.repositoryId);return{sourceConnectionId:typeof e.sourceConnectionId=="string"?e.sourceConnectionId:void 0,installationId:e.installationId,repositoryId:n,owner:e.owner,repo:e.repo,permissions:Je(e.permissions),grantProvider:e.grantProvider==="github-mcp"?"github-mcp":void 0}}function ve(o){return o.filter(e=>We(e)===null)}async function Ee(o,e){const s=(await o({name:"GITHUB_LIST_USER_ORGS",arguments:{connectionId:e}})).content?.[0]?.text;if(!s)throw new Error("No response from GITHUB_LIST_USER_ORGS");try{return JSON.parse(s)}catch{throw new Error("Invalid response from GITHUB_LIST_USER_ORGS")}}function Ze(o,e){const n=e.toLowerCase();return o.find(s=>s.login.toLowerCase()===n)}const ge="GitHub MCP did not return refreshable repo grant metadata";function q(o){if(typeof o!="string")return null;const e=o.trim();return e.length>0?e:null}function Xe(o){try{const e=new URL(o);return(e.protocol==="http:"||e.protocol==="https:")&&!e.username&&!e.password}catch{return!1}}function et(o){return typeof o=="number"&&Number.isFinite(o)&&Number.isInteger(o)&&o>0?o:void 0}async function Te(o){const{orgSlug:e,sourceConnection:n,installationId:s,owner:l,repo:i,githubCallTool:r,selfCallTool:f}=o,b=await r({name:"MINT_REPO_TOKEN",arguments:{installationId:s,owner:l,repo:i,permissions:K}}),a=b.structuredContent;if(b.isError||!a?.token){const A=b.content?.find(T=>T.type==="text")?.text;throw new Error(A?`Failed to mint a repo-scoped GitHub token: ${A}`:"Failed to mint a repo-scoped GitHub token")}const C=q(a.refreshToken),h=q(a.tokenEndpoint),m=q(a.clientId);if(!C||!h||!m)throw new Error(ge);if(!Xe(h))throw new Error(ge);const x=q(a.repository?.owner),N=q(a.repository?.name),y="GitHub MCP returned refresh metadata for a different repository";if(a.repository?.owner!==void 0&&(!x||x.toLowerCase()!==l.toLowerCase()))throw new Error(y);if(a.repository?.name!==void 0&&(!N||N.toLowerCase()!==i.toLowerCase()))throw new Error(y);const p=et(a.repository?.id),I=a.expiresAt?Date.parse(a.expiresAt):NaN,w=Number.isFinite(I)?Math.max(0,Math.floor((I-Date.now())/1e3)):null,d=(typeof a.expiresIn=="number"&&Number.isFinite(a.expiresIn)&&Number.isInteger(a.expiresIn)&&a.expiresIn>0?a.expiresIn:null)??w,S=await f({name:"COLLECTION_CONNECTIONS_CREATE",arguments:{data:{title:`GitHub: ${l}/${i}`,description:`Repo-scoped GitHub access for ${l}/${i}`,icon:n.icon,app_name:n.app_name,app_id:n.app_id,connection_type:n.connection_type,connection_url:n.connection_url,metadata:{repoScope:{installationId:s,repositoryId:p,owner:l,repo:i,permissions:K,grantProvider:"github-mcp"}}}}}),c=S.structuredContent??S,v=c.item?.id??c.id;if(!v)throw new Error("Failed to create the repo-scoped GitHub connection");if(!(await fetch(`/api/${e}/connections/${v}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:a.token,refreshToken:C,expiresIn:d,scope:a.scope??null,clientId:m,tokenEndpoint:h})})).ok)throw await f({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:v,force:!0}}).catch(()=>{}),new Error("Failed to persist the repo-scoped token");return{childConnectionId:v}}function tt(o){return o.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}async function nt(o){const e=await fetch(`/api/${o}/deco-sites`);if(!e.ok){const n=await e.json().catch(()=>({}));throw new Error(n.error??`Failed to load sites (${e.status})`)}return e.json()}function vt({open:o,onOpenChange:e,onBack:n}){const{org:s}=J(),l=le(),i=ae(),{data:r}=he.useSession(),[f,b]=G.useState(null),[a,C]=G.useState(null),[h,m]=G.useState(""),x=H({connectionId:ce,orgId:s.id,orgSlug:s.slug}),N=ye({slug:"mcp-github"}),y=ve(N),p=Se({enabled:o&&y.length===0}),I=y.length===1?y[0]??null:a,w=y.length>1&&!I,j=H({connectionId:I?.id??"",orgId:s.id,orgSlug:s.slug}),d=o&&y.length===0&&(p.status==="installing"||p.status==="authenticating"||p.status==="idle"),{data:S,isLoading:c,error:v}=xe({queryKey:U.decoSites(r?.user?.email),queryFn:()=>nt(s.slug),enabled:o&&!!r?.user?.email,staleTime:6e4,retry:!1}),O=S?.sites??[],A=u=>{u||(b(null),C(null),m("")),e(u)},T=O.filter(u=>u.name.toLowerCase().includes(h.toLowerCase())||(u.domains?.[0]?.domain?.toLowerCase().includes(h.toLowerCase())??!1)),g=!f||T.some(u=>u.name===f),k=be({mutationFn:async u=>{if(!I)throw new Error("GitHub is not connected. Complete GitHub setup and try again.");oe("deco_site_import_started",{site_name:u});const{installations:R,appSlug:_}=await Ee(P=>x.callTool(P),I.id),L=O.find(P=>P.name===u);if(!L)throw new Error("Selected site is no longer available");const E=Qe(u,L.metadata),z=Ze(R,E.owner);if(!z){const P=_?`https://github.com/apps/${_}/installations/new`:"https://github.com/settings/installations";throw new Error(`Install the GitHub App on the "${E.owner}" organization to import this site. ${P}`)}let W=null,Z=null,X=null;const _e=async()=>{X&&await x.callTool({name:"COLLECTION_VIRTUAL_MCP_DELETE",arguments:{id:X}}).catch(()=>{}),Z&&await x.callTool({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:Z,force:!0}}).catch(()=>{}),W&&await x.callTool({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:W,force:!0}}).catch(()=>{})};try{const P=await fetch(`/api/${s.slug}/deco-sites/connection`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({siteName:u})}),ee=await P.json().catch(()=>({}));if(!P.ok)throw new Error(ee.error??`Failed to create connection (${P.status})`);const M=ee.connId;if(!M)throw new Error("Server did not return a connection ID");W=M;const{childConnectionId:te}=await Te({orgSlug:s.slug,sourceConnection:I,installationId:z.installationId,owner:E.owner,repo:E.name,githubCallTool:ne=>j.callTool(ne),selfCallTool:ne=>x.callTool(ne)});Z=te;const de=ee.icon??null,me=tt(u),fe=await x.callTool({name:"COLLECTION_VIRTUAL_MCP_CREATE",arguments:{data:{title:u,description:"Imported from deco.cx",pinned:!1,icon:de??null,subtype:"project",metadata:{instructions:null,enabled_plugins:[],githubRepo:{owner:E.owner,name:E.name,url:E.url,installationId:z.installationId,connectionId:te},ui:{banner:null,bannerColor:"#22C55E",icon:de,themeColor:"#22C55E",slug:me,pinnedViews:[{connectionId:M,toolName:"fetch_assets",label:"Assets",icon:null},{connectionId:M,toolName:"get_monitor_data",label:"Monitor",icon:null}],layout:{defaultMainView:{type:"preview"},chatDefaultOpen:!0}}},connections:[{connection_id:M},{connection_id:te}]}}}),B=fe.structuredContent??fe;if(!B.item?.id)throw new Error("Failed to create the imported agent");return X=B.item.id,{slug:me,virtualMcpId:B.item.id,connId:M,item:B.item}}catch(P){throw await _e(),P}},onSuccess:({slug:u,virtualMcpId:R,item:_})=>{oe("deco_site_import_succeeded",{site_name:_.title,virtual_mcp_id:R,slug:u}),i.setQueryData(U.collectionItem(x,s.id,"","VIRTUAL_MCP",R),{item:_}),i.invalidateQueries({predicate:L=>{const E=L.queryKey;return E[1]===s.id&&E[3]==="collection"&&E[4]==="VIRTUAL_MCP"}}),i.invalidateQueries({queryKey:U.projects(s.id)}),D.success(`Imported ${u} from deco.cx`),A(!1),localStorage.setItem("mesh:sidebar-open",JSON.stringify(!1)),l(R)},onError:u=>{oe("deco_site_import_failed",{error:u instanceof Error?u.message:"Unknown error"}),D.error("Import failed: "+(u instanceof Error?u.message:"Unknown error"))}});return t.jsx(we,{open:o,onOpenChange:A,children:t.jsxs(Ce,{className:"sm:max-w-[900px] p-0 gap-0 overflow-hidden",children:[t.jsx(Ie,{className:"sr-only",children:t.jsx(Ne,{children:"Import from deco.cx"})}),t.jsxs("div",{className:"flex items-center h-12 border-b border-border px-4 gap-3",children:[n&&t.jsx("button",{type:"button",onClick:n,className:"flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors","aria-label":"Go back",children:t.jsx(ue,{size:18})}),t.jsx("span",{className:"text-sm font-medium text-foreground",children:"Import from deco.cx"})]}),t.jsx("div",{children:t.jsx(je,{value:h,onChange:m,placeholder:"Search sites...",onKeyDown:u=>{u.key==="Escape"&&m("")}})}),t.jsxs("div",{className:"pb-0 min-h-[300px]",children:[p.status==="error"&&t.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 h-48 px-8 text-center",children:[t.jsx("p",{className:"text-sm text-destructive",children:p.error??"Failed to connect GitHub"}),t.jsx(se,{variant:"outline",size:"sm",onClick:p.retry,children:"Retry GitHub setup"})]}),d&&p.status!=="error"&&t.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:"Setting up GitHub connection..."}),w&&!d&&p.status!=="error"&&t.jsxs("div",{className:"flex flex-col py-2",children:[t.jsx("div",{className:"px-8 py-2",children:t.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Select a GitHub connection"})}),y.map(u=>t.jsxs("button",{type:"button",onClick:()=>C(u),className:"flex items-center gap-3 px-8 py-3 hover:bg-accent transition-colors text-left",children:[u.icon?t.jsx("img",{src:u.icon,alt:u.title,className:"size-7 rounded-full shrink-0"}):t.jsx("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center shrink-0",children:t.jsx(F,{className:"size-3.5 text-muted-foreground"})}),t.jsx("span",{className:"text-sm font-medium",children:u.title})]},u.id))]}),c&&!d&&p.status!=="error"&&t.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:"Loading sites..."}),!c&&!d&&!w&&p.status!=="error"&&!v&&O.length===0&&t.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:"No sites found for this account."}),!c&&!d&&!w&&p.status!=="error"&&O.length>0&&t.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4 max-h-[420px] overflow-y-auto py-4 px-8 [scrollbar-gutter:stable]",children:[T.length===0&&t.jsxs("p",{className:"col-span-3 text-sm text-muted-foreground text-center py-8",children:["No sites match “",h,"”"]}),T.map(u=>{const R=u.domains?.find(L=>L.production)?.domain??u.domains?.[0]?.domain,_=f===u.name;return t.jsxs("button",{type:"button",onClick:()=>b(u.name),className:V("flex flex-col rounded-xl border overflow-hidden text-left transition-all cursor-pointer",_?"border-primary ring-1 ring-primary":"border-border hover:border-muted-foreground/40"),children:[t.jsx("div",{className:"w-full aspect-video bg-muted overflow-hidden",children:u.thumb_url?t.jsx("img",{src:u.thumb_url,alt:u.name,className:"w-full h-full object-cover",loading:"lazy"}):t.jsx("div",{className:"w-full h-full bg-muted"})}),t.jsxs("div",{className:"px-4 py-3",children:[t.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:u.name}),R&&t.jsx("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:R})]})]},u.name)})]})]}),t.jsxs($e,{className:"px-8 py-5 border-t border-border",children:[t.jsx(se,{variant:"outline",onClick:()=>A(!1),disabled:k.isPending,children:"Cancel"}),t.jsx(se,{disabled:!f||!g||k.isPending||c||d||w||!I||p.status==="error",onClick:()=>f&&k.mutate(f),children:k.isPending?"Importing...":"Import"})]})]})})}function ot(o,e){const n=$.c(4),[s,l]=G.useState(o);let i,r;return n[0]!==e||n[1]!==o?(i=()=>{const f=setTimeout(()=>l(o),e);return()=>clearTimeout(f)},r=[o,e],n[0]=e,n[1]=o,n[2]=i,n[3]=r):(i=n[2],r=n[3]),G.useEffect(i,r),s}const Q=[{key:"auto-respond-to-issues",triggerType:"github.issues.opened",nameSuffix:"auto-respond to issues",label:"Auto-respond to new issues",defaultEnabled:!0,instructions:({owner:o,name:e})=>`A new GitHub issue has been opened in ${o}/${e}. Read the issue, explore relevant code, create a branch, implement the fix, and open a PR referencing the issue number.`},{key:"review-incoming-prs",triggerType:"github.pull_request.opened",nameSuffix:"review incoming PRs",label:"Review incoming pull requests",defaultEnabled:!0,instructions:({owner:o,name:e})=>`A pull request was opened in ${o}/${e}. Read the diff, summarize what changed, flag risks (security, perf, breaking changes), and leave a review comment.`},{key:"note-merged-prs",triggerType:"github.pull_request.closed",nameSuffix:"note merged/closed PRs",label:"Note merged or closed PRs",defaultEnabled:!1,instructions:({owner:o,name:e})=>`A pull request was closed in ${o}/${e}. If it was merged, update changelog/release notes as appropriate.`}];function st(o,e){const n=new Set;if(o.paramsSchema)for(const l of Object.keys(o.paramsSchema))n.add(l);if(Array.isArray(o.params))for(const l of o.params)n.add(l.name);else if(o.params&&typeof o.params=="object")for(const l of Object.keys(o.params))n.add(l);if(n.has("repo"))return{repo:`${e.owner}/${e.name}`};const s={};return n.has("owner")&&(s.owner=e.owner),n.has("name")&&(s.name=e.name),n.has("repository")&&(s.repository=`${e.owner}/${e.name}`),s}async function rt({githubCallTool:o,selfCallTool:e,virtualMcpId:n,repo:s,connectionId:l,selectedKeys:i}){const r=await o({name:"TRIGGER_LIST",arguments:{}}),f=r.structuredContent??r,b=new Map((f.triggers??[]).map(m=>[m.type,m])),a=Q.filter(m=>i.has(m.key)),C=await Promise.allSettled(a.map(async m=>{const x=b.get(m.triggerType);if(!x)throw new Error(`Trigger ${m.triggerType} not exposed`);const N=await e({name:"AUTOMATION_CREATE",arguments:{name:`${s.name}: ${m.nameSuffix}`,virtual_mcp_id:n,messages:m.instructions(s),active:!0}}),y=(N.structuredContent??N).id;if(!y)throw new Error(`AUTOMATION_CREATE returned no id for ${m.key}`);await e({name:"AUTOMATION_TRIGGER_ADD",arguments:{automation_id:y,type:"event",connection_id:l,event_type:m.triggerType,params:st(x,s)}})})),h=C.filter(m=>m.status==="rejected").length;return h>0&&console.error("Some GitHub automations failed to set up:",C.filter(m=>m.status==="rejected")),{total:C.length,failed:h}}function Et(o){const e=$.c(22),{open:n,onOpenChange:s,title:l,hideAutoRespondCheckbox:i,onImportComplete:r}=o,f=l===void 0?"Import from GitHub":l,b=i===void 0?!1:i,[a,C]=G.useState(null);let h;e[0]!==f?(h=t.jsx(Ie,{className:"sr-only",children:t.jsx(Ne,{children:f})}),e[0]=f,e[1]=h):h=e[1];let m;e[2]!==a||e[3]!==f?(m=t.jsx("div",{className:"flex items-center h-12 border-b border-border px-4 gap-3 shrink-0",children:a?t.jsxs(t.Fragment,{children:[t.jsx("button",{type:"button",onClick:()=>C(null),className:"flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors shrink-0","aria-label":"Back to accounts",children:t.jsx(ue,{size:16})}),t.jsx("img",{src:a.avatarUrl,alt:a.login,className:"size-5 rounded-full ring-1 ring-border shrink-0"}),t.jsx("span",{className:"text-sm font-medium text-foreground",children:a.login})]}):t.jsxs(t.Fragment,{children:[t.jsx(F,{className:"size-4 text-foreground shrink-0"}),t.jsx("span",{className:"text-sm font-medium text-foreground",children:f})]})}),e[2]=a,e[3]=f,e[4]=m):m=e[4];let x;e[5]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsx(Y,{size:18,className:"animate-spin text-muted-foreground"})}),e[5]=x):x=e[5];let N;e[6]!==s?(N=()=>s(!1),e[6]=s,e[7]=N):N=e[7];let y;e[8]!==b||e[9]!==r||e[10]!==n||e[11]!==a||e[12]!==N?(y=t.jsx("div",{className:"flex-1 overflow-hidden flex flex-col min-w-0",children:t.jsx(G.Suspense,{fallback:x,children:t.jsx(it,{open:n,onComplete:N,selectedInstallation:a,onSelectInstallation:C,hideAutoRespondCheckbox:b,onImportComplete:r})})}),e[8]=b,e[9]=r,e[10]=n,e[11]=a,e[12]=N,e[13]=y):y=e[13];let p;e[14]!==h||e[15]!==m||e[16]!==y?(p=t.jsxs(Ce,{className:"sm:max-w-[560px] h-[85svh] sm:h-[520px] p-0 gap-0 overflow-hidden flex flex-col",children:[h,m,y]}),e[14]=h,e[15]=m,e[16]=y,e[17]=p):p=e[17];let I;return e[18]!==s||e[19]!==n||e[20]!==p?(I=t.jsx(we,{open:n,onOpenChange:s,children:p}),e[18]=s,e[19]=n,e[20]=p,e[21]=I):I=e[21],I}function it({open:o,onComplete:e,selectedInstallation:n,onSelectInstallation:s,hideAutoRespondCheckbox:l,onImportComplete:i}){const{org:r}=J(),f=ae(),b=le(),[a,C]=G.useState(null),[h,m]=G.useState(!0),[x,N]=G.useState(()=>new Set(Q.filter(g=>g.defaultEnabled).map(g=>g.key))),y=Q.filter(g=>g.defaultEnabled).map(g=>g.key),p=l?new Set(y):h?x:new Set,I=ye({slug:"mcp-github"}),w=ve(I),j=Se({enabled:o&&w.length===0}),d=w.length===1?w[0]??null:a,S=H({connectionId:d?.id??"",orgId:r.id,orgSlug:r.slug}),c=H({connectionId:ce,orgId:r.id,orgSlug:r.slug}),v=async(g,k)=>{try{const R=await S.callTool({name:"get_file_contents",arguments:{owner:g.owner,repo:g.name,path:k}});if(R.isError)return null;const L=R.content?.find(E=>E.type==="resource")?.resource?.text;if(!L)return null;try{const E=JSON.parse(L);return typeof E=="string"?E:JSON.stringify(E)}catch{return L}}catch{return null}},O=(g,k)=>{Promise.all([v(k,"AGENTS.md"),v(k,"CLAUDE.md")]).then(async([u,R])=>{const _=u??R??null;_&&(await c.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:g,data:{metadata:{instructions:_}}}}),ie(f,r.id))}).catch(u=>{console.error("GitHub instructions fetch failed:",u)})},A=async({virtualMcpId:g,repo:k,connectionId:u,selectedKeys:R})=>{const{total:_,failed:L}=await rt({githubCallTool:E=>S.callTool(E),selfCallTool:E=>c.callTool(E),virtualMcpId:g,repo:k,connectionId:u,selectedKeys:R});L>0&&D.warning(`Set up ${_-L}/${_} GitHub automations. Add the rest from the automations view.`)},T=be({mutationFn:async g=>{if(!d||!n)throw new Error("No GitHub connection or installation");const k=n.installationId,{childConnectionId:u}=await Te({orgSlug:r.slug,sourceConnection:d,installationId:k,owner:g.owner,repo:g.name,githubCallTool:_=>S.callTool(_),selfCallTool:_=>c.callTool(_)});let R=null;try{const _=await c.callTool({name:"COLLECTION_VIRTUAL_MCP_CREATE",arguments:{data:{title:g.name,description:g.description||"Imported from GitHub",pinned:!1,icon:null,metadata:{githubRepo:{owner:g.owner,name:g.name,url:g.url,installationId:k,connectionId:u},instructions:null,ui:{pinnedViews:null,layout:{defaultMainView:{type:"preview"},chatDefaultOpen:!0}}},connections:[{connection_id:u}]}}}),L=_.structuredContent??_,E=L.item?.id;if(!L.item||!E)throw new Error("Failed to create the imported agent");return R=E,p.size>0&&await A({virtualMcpId:E,repo:g,connectionId:u,selectedKeys:p}).catch(z=>{console.error("Failed to set up GitHub automations:",z),D.warning("Imported repo, but failed to set up GitHub automations. You can add triggers manually from the automations view.")}),{virtualMcpId:E,repo:g,connectionId:u,item:L.item}}catch(_){throw R&&await c.callTool({name:"COLLECTION_VIRTUAL_MCP_DELETE",arguments:{id:R}}).catch(()=>{}),await c.callTool({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:u,force:!0}}).catch(()=>{}),_}},onSuccess:({virtualMcpId:g,repo:k,connectionId:u,item:R})=>{if(f.setQueryData(U.collectionItem(c,r.id,"","VIRTUAL_MCP",g),{item:R}),ie(f,r.id),O(g,k),i){i({virtualMcpId:g,repo:k,connectionId:u});return}D.success(`Imported ${k.name} from GitHub`),e(),localStorage.setItem("mesh:sidebar-open",JSON.stringify(!1)),b(g)},onError:g=>{D.error("Failed to import repo: "+(g instanceof Error?g.message:"Unknown error"))}});return j.status==="installing"||j.status==="authenticating"?t.jsx(re,{status:j.status,error:null,retry:j.retry}):j.status==="error"?t.jsx(re,{status:"error",error:j.error,retry:j.retry}):w.length===0&&j.status==="idle"?t.jsx(re,{status:"installing",error:null,retry:j.retry}):w.length>1&&!d?t.jsxs("div",{className:"flex flex-col py-2",children:[t.jsx("div",{className:"px-4 py-2",children:t.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Select a connection"})}),w.map(g=>t.jsxs("button",{type:"button",onClick:()=>C(g),className:"flex items-center gap-3 px-4 py-3 hover:bg-accent transition-colors text-left",children:[g.icon?t.jsx("img",{src:g.icon,alt:g.title,className:"size-7 rounded-full shrink-0"}):t.jsx("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center shrink-0",children:t.jsx(F,{className:"size-3.5 text-muted-foreground"})}),t.jsx("span",{className:"text-sm font-medium",children:g.title})]},g.id))]}):d?n?t.jsx(lt,{connectionId:d.id,orgId:r.id,orgSlug:r.slug,installation:n,onSelectRepo:g=>T.mutate(g),isSaving:T.isPending,autoRespondEnabled:h,onAutoRespondChange:m,selectedAutomationKeys:x,onAutomationKeysChange:N,hideAutoRespondCheckbox:l}):t.jsx(at,{connectionId:d.id,orgId:r.id,orgSlug:r.slug,onSelect:s,showBackButton:w.length>1,onBack:()=>C(null)}):null}function at(o){const e=$.c(31),{connectionId:n,orgId:s,orgSlug:l,onSelect:i,showBackButton:r,onBack:f}=o;let b;e[0]!==s||e[1]!==l?(b={connectionId:ce,orgId:s,orgSlug:l},e[0]=s,e[1]=l,e[2]=b):b=e[2];const a=H(b);let C;e[3]!==n||e[4]!==s?(C=U.githubUserOrgs(s,n),e[3]=n,e[4]=s,e[5]=C):C=e[5];let h;e[6]!==n||e[7]!==a?(h=()=>Ee(c=>a.callTool(c),n),e[6]=n,e[7]=a,e[8]=h):h=e[8];let m;e[9]!==C||e[10]!==h?(m={queryKey:C,queryFn:h},e[9]=C,e[10]=h,e[11]=m):m=e[11];const x=xe(m);if(x.isLoading){let c;return e[12]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsx(Y,{size:18,className:"animate-spin text-muted-foreground"})}),e[12]=c):c=e[12],c}if(x.isError){let c;return e[13]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsx("p",{className:"text-sm text-destructive",children:"Failed to load GitHub accounts"})}),e[13]=c):c=e[13],c}const N=x.data;if(!N)return null;let y;e[14]!==f||e[15]!==r?(y=r&&t.jsx("div",{className:"flex items-center gap-1 px-4 pt-3 pb-1 shrink-0",children:t.jsxs("button",{type:"button",onClick:f,className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[t.jsx(ue,{size:12}),"Change connection"]})}),e[14]=f,e[15]=r,e[16]=y):y=e[16];let p;if(e[17]!==N.installations||e[18]!==i){let c;e[20]!==i?(c=v=>t.jsxs("button",{type:"button",onClick:()=>i(v),className:"w-full flex items-center gap-3 px-4 py-3 hover:bg-accent transition-colors text-left group",children:[t.jsx("img",{src:v.avatarUrl,alt:v.login,className:"size-7 rounded-full shrink-0 ring-1 ring-border"}),t.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[t.jsx("span",{className:"text-sm font-medium leading-none",children:v.login}),v.type==="User"&&t.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"Personal account"})]}),t.jsx("span",{className:"text-xs text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity shrink-0",children:"Select →"})]},v.installationId),e[20]=i,e[21]=c):c=e[21],p=N.installations.map(c),e[17]=N.installations,e[18]=i,e[19]=p}else p=e[19];let I;e[22]!==p?(I=t.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden [scrollbar-gutter:stable]",children:p}),e[22]=p,e[23]=I):I=e[23];const w=N.appSlug?`https://github.com/apps/${N.appSlug}/installations/new`:"https://github.com/settings/installations";let j;e[24]===Symbol.for("react.memo_cache_sentinel")?(j=t.jsx("span",{className:"underline underline-offset-2",children:"Install the GitHub App"}),e[24]=j):j=e[24];let d;e[25]!==w?(d=t.jsx("div",{className:"px-4 py-3 border-t border-border shrink-0",children:t.jsxs("a",{href:w,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:["Account not listed?"," ",j]})}),e[25]=w,e[26]=d):d=e[26];let S;return e[27]!==d||e[28]!==y||e[29]!==I?(S=t.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[y,I,d]}),e[27]=d,e[28]=y,e[29]=I,e[30]=S):S=e[30],S}function lt(o){const e=$.c(27),{connectionId:n,orgId:s,orgSlug:l,installation:i,onSelectRepo:r,isSaving:f,autoRespondEnabled:b,onAutoRespondChange:a,selectedAutomationKeys:C,onAutomationKeysChange:h,hideAutoRespondCheckbox:m}=o,[x,N]=G.useState(""),y=ot(x,300),p=G.useDeferredValue(y),I=x!==p;let w;e[0]!==I||e[1]!==x?(w=t.jsx(je,{placeholder:"Search repositories...",value:x,onChange:N,isSearching:I}),e[0]=I,e[1]=x,e[2]=w):w=e[2];const j=I?"opacity-40":"opacity-100";let d;e[3]!==j?(d=V("flex-1 overflow-hidden flex flex-col transition-opacity duration-150",j),e[3]=j,e[4]=d):d=e[4];let S;e[5]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsx(Y,{size:18,className:"animate-spin text-muted-foreground"})}),e[5]=S):S=e[5];let c;e[6]!==n||e[7]!==p||e[8]!==i||e[9]!==f||e[10]!==r||e[11]!==s||e[12]!==l?(c=t.jsx(G.Suspense,{fallback:S,children:t.jsx(ct,{connectionId:n,orgId:s,orgSlug:l,installation:i,query:p,onSelectRepo:r,isSaving:f})}),e[6]=n,e[7]=p,e[8]=i,e[9]=f,e[10]=r,e[11]=s,e[12]=l,e[13]=c):c=e[13];let v;e[14]!==d||e[15]!==c?(v=t.jsx("div",{className:d,children:c}),e[14]=d,e[15]=c,e[16]=v):v=e[16];let O;e[17]!==b||e[18]!==m||e[19]!==a||e[20]!==h||e[21]!==C?(O=!m&&t.jsxs("div",{className:"border-t border-border shrink-0",children:[t.jsxs("label",{className:"flex items-center gap-2 px-4 py-3 cursor-pointer select-none",children:[t.jsx(pe,{checked:b,onCheckedChange:T=>a(T===!0)}),t.jsx("span",{className:"text-xs text-foreground",children:"Set up GitHub automations for this repo"})]}),b&&t.jsx("div",{className:"px-4 pb-3 pl-9 flex flex-col gap-1.5",children:Q.map(T=>t.jsxs("label",{className:"flex items-center gap-2 cursor-pointer select-none",children:[t.jsx(pe,{checked:C.has(T.key),onCheckedChange:g=>{const k=new Set(C);g===!0?k.add(T.key):k.delete(T.key),h(k)}}),t.jsx("span",{className:"text-xs text-muted-foreground",children:T.label})]},T.key))})]}),e[17]=b,e[18]=m,e[19]=a,e[20]=h,e[21]=C,e[22]=O):O=e[22];let A;return e[23]!==w||e[24]!==v||e[25]!==O?(A=t.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[w,v,O]}),e[23]=w,e[24]=v,e[25]=O,e[26]=A):A=e[26],A}function ct(o){const e=$.c(29),{connectionId:n,orgId:s,orgSlug:l,installation:i,query:r,onSelectRepo:f,isSaving:b}=o;let a;e[0]!==n||e[1]!==s||e[2]!==l?(a={connectionId:n,orgId:s,orgSlug:l},e[0]=n,e[1]=s,e[2]=l,e[3]=a):a=e[3];const C=H(a),h=i.type==="User"?"user":"org",m=r?`${h}:${i.login} ${r} in:name`:`${h}:${i.login}`;let x;e[4]!==n||e[5]!==i.login||e[6]!==s||e[7]!==r?(x=U.githubOrgRepos(s,n,i.login,r),e[4]=n,e[5]=i.login,e[6]=s,e[7]=r,e[8]=x):x=e[8];let N;e[9]!==C||e[10]!==m?(N=async j=>{const{signal:d}=j,c=(await C.callTool({name:"search_repositories",arguments:{query:m,page:1,perPage:30}},void 0,{signal:d})).content?.[0]?.text;if(!c)throw new Error("No response from search_repositories");return(JSON.parse(c).items??[]).map(ut)},e[9]=C,e[10]=m,e[11]=N):N=e[11];let y;e[12]!==x||e[13]!==N?(y={queryKey:x,queryFn:N},e[12]=x,e[13]=N,e[14]=y):y=e[14];const{data:p}=Ae(y);if(p.length===0){let j;e[15]===Symbol.for("react.memo_cache_sentinel")?(j=t.jsx("p",{className:"text-sm text-muted-foreground",children:"No repositories found"}),e[15]=j):j=e[15];let d;e[16]!==r?(d=r&&t.jsx("p",{className:"text-xs text-muted-foreground/60",children:"Try a different search term"}),e[16]=r,e[17]=d):d=e[17];let S;return e[18]!==d?(S=t.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-1",children:[j,d]}),e[18]=d,e[19]=S):S=e[19],S}let I;if(e[20]!==b||e[21]!==f||e[22]!==p){let j;e[24]!==b||e[25]!==f?(j=d=>t.jsxs("button",{type:"button",onClick:()=>f(d),disabled:b,className:"flex items-start gap-3 px-4 py-3 hover:bg-accent transition-colors text-left disabled:opacity-50 disabled:cursor-not-allowed",children:[t.jsx(F,{className:"size-4 text-muted-foreground mt-0.5 shrink-0"}),t.jsx("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:t.jsx("span",{className:"text-sm font-medium truncate",children:d.name})}),t.jsxs("span",{className:"flex items-center gap-1 text-xs font-medium text-muted-foreground border border-border rounded px-1.5 py-0.5 shrink-0 leading-none",children:[d.private?t.jsx(Oe,{size:10}):t.jsx(He,{size:10}),d.private?"Private":"Public"]})]},d.fullName),e[24]=b,e[25]=f,e[26]=j):j=e[26],I=p.map(j),e[20]=b,e[21]=f,e[22]=p,e[23]=I}else I=e[23];let w;return e[27]!==I?(w=t.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden flex flex-col [scrollbar-gutter:stable]",children:I}),e[27]=I,e[28]=w):w=e[28],w}function ut(o){return{name:o.name,fullName:o.full_name,owner:o.full_name.split("/")[0]??"",url:o.html_url,private:o.private,description:o.description,updatedAt:o.updated_at}}function re(o){const e=$.c(33),{status:n,error:s,retry:l}=o;if(n==="error"){let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx("div",{className:"size-10 rounded-full bg-destructive/10 flex items-center justify-center",children:t.jsx(F,{className:"size-5 text-destructive"})}),e[0]=c):c=e[0];let v;e[1]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsx("p",{className:"text-sm font-medium",children:"Connection failed"}),e[1]=v):v=e[1];const O=s??"Something went wrong while connecting to GitHub.";let A;e[2]!==O?(A=t.jsxs("div",{className:"flex flex-col items-center gap-1 text-center",children:[v,t.jsx("p",{className:"text-xs text-muted-foreground max-w-[260px] leading-relaxed",children:O})]}),e[2]=O,e[3]=A):A=e[3];let T;e[4]!==l?(T=t.jsx("button",{type:"button",onClick:l,className:"text-xs font-medium text-foreground border border-border rounded-md px-3 py-1.5 hover:bg-accent transition-colors",children:"Try again"}),e[4]=l,e[5]=T):T=e[5];let g;return e[6]!==A||e[7]!==T?(g=t.jsxs("div",{className:"flex flex-col items-center gap-4 px-6 py-10",children:[c,A,T]}),e[6]=A,e[7]=T,e[8]=g):g=e[8],g}const i=n==="authenticating";let r;e[9]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx("div",{className:"size-10 rounded-full bg-muted flex items-center justify-center",children:t.jsx(F,{className:"size-5 text-foreground"})}),e[9]=r):r=e[9];let f;e[10]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsxs("div",{className:"relative size-10",children:[r,t.jsx("div",{className:"absolute -bottom-0.5 -right-0.5 size-4 rounded-full bg-background flex items-center justify-center",children:t.jsx(Y,{size:12,className:"animate-spin text-muted-foreground"})})]}),e[10]=f):f=e[10];const b=i?"Authenticating with GitHub":"Setting up GitHub";let a;e[11]!==b?(a=t.jsx("p",{className:"text-sm font-medium",children:b}),e[11]=b,e[12]=a):a=e[12];const C=i?"Complete the OAuth flow in your browser":"Installing the GitHub connection...";let h;e[13]!==C?(h=t.jsx("p",{className:"text-xs text-muted-foreground",children:C}),e[13]=C,e[14]=h):h=e[14];let m;e[15]!==a||e[16]!==h?(m=t.jsxs("div",{className:"flex flex-col items-center gap-1 text-center",children:[a,h]}),e[15]=a,e[16]=h,e[17]=m):m=e[17];const x=i?"bg-muted-foreground/30":"bg-foreground animate-pulse";let N;e[18]!==x?(N=V("size-1.5 rounded-full",x),e[18]=x,e[19]=N):N=e[19];let y;e[20]!==N?(y=t.jsx("span",{className:N}),e[20]=N,e[21]=y):y=e[21];const p=i?"bg-foreground animate-pulse":"bg-muted-foreground/30";let I;e[22]!==p?(I=V("size-1.5 rounded-full",p),e[22]=p,e[23]=I):I=e[23];let w;e[24]!==I?(w=t.jsx("span",{className:I}),e[24]=I,e[25]=w):w=e[25];let j;e[26]===Symbol.for("react.memo_cache_sentinel")?(j=t.jsx("span",{className:"size-1.5 rounded-full bg-muted-foreground/30"}),e[26]=j):j=e[26];let d;e[27]!==y||e[28]!==w?(d=t.jsxs("div",{className:"flex items-center gap-1.5",children:[y,w,j]}),e[27]=y,e[28]=w,e[29]=d):d=e[29];let S;return e[30]!==d||e[31]!==m?(S=t.jsxs("div",{className:"flex flex-col items-center gap-4 px-6 py-10",children:[f,m,d]}),e[30]=d,e[31]=m,e[32]=S):S=e[32],S}export{F as G,jt as H,vt as I,Fe as S,Nt as W,Et as a,St as u};
@@ -1,3 +1,3 @@
1
- import{e as h,a0 as N,j as i,l as W,B as _,K as E,n as S,c as z}from"./index-CXD35HrY.js";import{S as p}from"./skeleton-DIe_hcjh.js";import{n as $}from"./Globe01-C0ij8Y-s.js";import{l as T,F as U}from"./index-BLLBrYfT.js";import{F as P,M as B}from"./file-type-icon-Bscuxmvi.js";import{a as F}from"./ZoomOut-1w3s7N6o.js";const ee=1e4,L=3;function j(r){return r.trim()?(r.startsWith("/")?r:`/${r}`).replace(/\/+/g,"/"):"/"}function g(r){return r.startsWith("/")?r.slice(1):r}function w(r){return r.trim()?r.startsWith("/")?r:`/${r}`:"/"}function C(r){const e=w(r);if(e==="/")return"/";const t=e.split("/").filter(Boolean);return t.pop(),t.length===0?"/":`/${t.join("/")}`}function te(r,e){const t=e.replace(/^\/+|\/+$/g,"");return w(t?`${r==="/"?"":r}/${t}`:r)}function ne(r,e){return e==="directory"?r:C(r)}function re(r){const e=r.trim();return e?e.includes("/")||e.includes("\\")||e.includes("..")||e.includes("\0")?"Name cannot contain /, \\, or ..":e.startsWith(".")?"Name cannot start with a dot":null:"Name is required"}function R(r){const e=g(r);return e?e.split("/").filter(Boolean).length:0}function se(r,e,t,s=!1){return{files:[...new Set([...r,...t.files])],directories:[...new Set([...e,...t.directories??[]])],truncated:s||!!t.truncated}}function ie(r,e){return R(r)>L&&!e.has(r)}function le(r,e,t=[]){const s=g(r);if(e.includes(s)||t.includes(s))return!0;if(!s)return!1;const n=`${s}/`;return e.some(o=>o.startsWith(n))||t.some(o=>o.startsWith(n))}function oe(r){const e=g(r),t=".deco/blocks/";if(!e.startsWith(t)||!e.endsWith(".json"))return null;const s=e.slice(t.length,-5);try{return decodeURIComponent(s)}catch{return s}}function D(r){if(!r)return"plaintext";const e=r.toLowerCase();return e.endsWith(".tsx")||e.endsWith(".ts")?"typescript":e.endsWith(".jsx")||e.endsWith(".js")||e.endsWith(".mjs")||e.endsWith(".cjs")?"javascript":e.endsWith(".json")?"json":e.endsWith(".md")||e.endsWith(".mdx")?"markdown":e.endsWith(".css")?"css":e.endsWith(".scss")?"scss":e.endsWith(".html")?"html":e.endsWith(".yaml")||e.endsWith(".yml")?"yaml":e.endsWith(".xml")||e.endsWith(".svg")?"xml":e.endsWith(".py")?"python":e.endsWith(".sql")?"sql":e.endsWith(".sh")?"shell":"plaintext"}function ae(r){const e=j(r).split("/").filter(Boolean),t=["/"];let s="";for(const n of e.slice(0,-1))s+=`/${n}`,t.push(s);return t}function ce(r,e=[]){const t={children:[]},s=o=>{const c=j(o).split("/").filter(Boolean);let f=t,m="";for(const d of c){m+=`/${d}`;let l=f.children.find(u=>u.name===d);l?l.kind==="file"&&(l.kind="directory"):(l={name:d,path:m,kind:"directory",children:[]},f.children.push(l)),f=l}};for(const o of r){const c=j(o).split("/").filter(Boolean);let f=t,m="";c.forEach((d,l)=>{m+=`/${d}`;const u=l===c.length-1;let x=f.children.find(k=>k.name===d);x||(x={name:d,path:m,kind:u?"file":"directory",children:[]},f.children.push(x)),f=x})}for(const o of e)s(w(o));const n=o=>{o.sort((a,c)=>a.kind!==c.kind?a.kind==="directory"?-1:1:a.name.localeCompare(c.name));for(const a of o)a.children.length>0&&n(a.children)};return n(t.children),t.children}function M(r,e,t=0){const s=[];for(const n of r)n.name!==".gitkeep"&&(s.push({node:n,depth:t}),n.kind==="directory"&&n.children.length>0&&e.has(n.path)&&s.push(...M(n.children,e,t+1)));return s}function fe(r){return r.split(`
1
+ import{e as h,a0 as N,j as i,l as W,B as _,K as E,n as S,c as z}from"./index-DHt9Mf9G.js";import{S as p}from"./skeleton-HacfcGLU.js";import{n as $}from"./Globe01-CXHtWC8F.js";import{l as T,F as U}from"./index-Dg2RoULU.js";import{F as P,M as B}from"./file-type-icon-aSS_wfKX.js";import{a as F}from"./ZoomOut-CFJklA2J.js";const ee=1e4,L=3;function j(r){return r.trim()?(r.startsWith("/")?r:`/${r}`).replace(/\/+/g,"/"):"/"}function g(r){return r.startsWith("/")?r.slice(1):r}function w(r){return r.trim()?r.startsWith("/")?r:`/${r}`:"/"}function C(r){const e=w(r);if(e==="/")return"/";const t=e.split("/").filter(Boolean);return t.pop(),t.length===0?"/":`/${t.join("/")}`}function te(r,e){const t=e.replace(/^\/+|\/+$/g,"");return w(t?`${r==="/"?"":r}/${t}`:r)}function ne(r,e){return e==="directory"?r:C(r)}function re(r){const e=r.trim();return e?e.includes("/")||e.includes("\\")||e.includes("..")||e.includes("\0")?"Name cannot contain /, \\, or ..":e.startsWith(".")?"Name cannot start with a dot":null:"Name is required"}function R(r){const e=g(r);return e?e.split("/").filter(Boolean).length:0}function se(r,e,t,s=!1){return{files:[...new Set([...r,...t.files])],directories:[...new Set([...e,...t.directories??[]])],truncated:s||!!t.truncated}}function ie(r,e){return R(r)>L&&!e.has(r)}function le(r,e,t=[]){const s=g(r);if(e.includes(s)||t.includes(s))return!0;if(!s)return!1;const n=`${s}/`;return e.some(o=>o.startsWith(n))||t.some(o=>o.startsWith(n))}function oe(r){const e=g(r),t=".deco/blocks/";if(!e.startsWith(t)||!e.endsWith(".json"))return null;const s=e.slice(t.length,-5);try{return decodeURIComponent(s)}catch{return s}}function D(r){if(!r)return"plaintext";const e=r.toLowerCase();return e.endsWith(".tsx")||e.endsWith(".ts")?"typescript":e.endsWith(".jsx")||e.endsWith(".js")||e.endsWith(".mjs")||e.endsWith(".cjs")?"javascript":e.endsWith(".json")?"json":e.endsWith(".md")||e.endsWith(".mdx")?"markdown":e.endsWith(".css")?"css":e.endsWith(".scss")?"scss":e.endsWith(".html")?"html":e.endsWith(".yaml")||e.endsWith(".yml")?"yaml":e.endsWith(".xml")||e.endsWith(".svg")?"xml":e.endsWith(".py")?"python":e.endsWith(".sql")?"sql":e.endsWith(".sh")?"shell":"plaintext"}function ae(r){const e=j(r).split("/").filter(Boolean),t=["/"];let s="";for(const n of e.slice(0,-1))s+=`/${n}`,t.push(s);return t}function ce(r,e=[]){const t={children:[]},s=o=>{const c=j(o).split("/").filter(Boolean);let f=t,m="";for(const d of c){m+=`/${d}`;let l=f.children.find(u=>u.name===d);l?l.kind==="file"&&(l.kind="directory"):(l={name:d,path:m,kind:"directory",children:[]},f.children.push(l)),f=l}};for(const o of r){const c=j(o).split("/").filter(Boolean);let f=t,m="";c.forEach((d,l)=>{m+=`/${d}`;const u=l===c.length-1;let x=f.children.find(k=>k.name===d);x||(x={name:d,path:m,kind:u?"file":"directory",children:[]},f.children.push(x)),f=x})}for(const o of e)s(w(o));const n=o=>{o.sort((a,c)=>a.kind!==c.kind?a.kind==="directory"?-1:1:a.name.localeCompare(c.name));for(const a of o)a.children.length>0&&n(a.children)};return n(t.children),t.children}function M(r,e,t=0){const s=[];for(const n of r)n.name!==".gitkeep"&&(s.push({node:n,depth:t}),n.kind==="directory"&&n.children.length>0&&e.has(n.path)&&s.push(...M(n.children,e,t+1)));return s}function fe(r){return r.split(`
2
2
  `).map(e=>{const t=e.match(/^\d+\t(.*)/);return t?t[1]:e}).join(`
3
3
  `)}T.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.0/min/vs"}});function I(r){const e=h.c(11),{value:t,filename:s}=r,[n]=N(),o=n.theme==="dark"||n.theme==="system"&&typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches;let a;e[0]!==s?(a=D(s),e[0]=s,e[1]=a):a=e[1];const c=o?"vs-dark":"light";let f;e[2]===Symbol.for("react.memo_cache_sentinel")?(f=i.jsx("div",{className:"flex h-full w-full items-center justify-center",children:i.jsx(W,{size:20,className:"animate-spin text-muted-foreground"})}),e[2]=f):f=e[2];let m,d;e[3]===Symbol.for("react.memo_cache_sentinel")?(m={enabled:!1},d={top:12,bottom:12},e[3]=m,e[4]=d):(m=e[3],d=e[4]);let l;e[5]===Symbol.for("react.memo_cache_sentinel")?(l={readOnly:!0,domReadOnly:!0,fontSize:13,scrollBeyondLastLine:!1,automaticLayout:!0,lineNumbersMinChars:3,wordWrap:"on",minimap:m,padding:d,renderLineHighlight:"none",scrollbar:{vertical:"auto",horizontal:"auto",verticalScrollbarSize:8,horizontalScrollbarSize:8}},e[5]=l):l=e[5];let u;return e[6]!==s||e[7]!==a||e[8]!==c||e[9]!==t?(u=i.jsx(U,{path:s,language:a,value:t,theme:c,loading:f,options:l},s),e[6]=s,e[7]=a,e[8]=c,e[9]=t,e[10]=u):u=e[10],u}function X(r){return r<1024?`${r} B`:r<1024*1024?`${(r/1024).toFixed(1)} KB`:`${(r/(1024*1024)).toFixed(1)} MB`}const q=new Set(["png","jpg","jpeg","gif","webp","svg","avif"]),K=new Set(["txt","json","csv","tsv","log","yaml","yml","xml","toml","ts","tsx","js","jsx","py","rb","go","rs","java","sh","sql"]),y=2*1024*1024;function O(r,e){const t=r.split(".").pop()?.toLowerCase()??"";return q.has(t)?"image":t==="pdf"?"pdf":t==="html"||t==="htm"?"html":t==="md"||t==="markdown"?e<=y?"markdown":"download":K.has(t)&&e<=y?"text":"download"}function A(){const r=h.c(2);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx(p,{className:"h-6 w-2/3"}),r[0]=e):e=r[0];let t;return r[1]===Symbol.for("react.memo_cache_sentinel")?(t=i.jsx("div",{className:"flex h-full w-full items-center justify-center",children:i.jsxs("div",{className:"flex w-3/4 max-w-md flex-col gap-3 p-6",children:[e,i.jsxs("div",{className:"flex flex-col gap-1.5",children:[i.jsx(p,{className:"h-3 w-full"}),i.jsx(p,{className:"h-3 w-5/6"}),i.jsx(p,{className:"h-3 w-2/3"})]})]})}),r[1]=t):t=r[1],t}function v(r){const e=h.c(20),{file:t,note:s}=r;let n;e[0]!==t.filename?(n=i.jsx(P,{filename:t.filename,className:"h-12 w-10"}),e[0]=t.filename,e[1]=n):n=e[1];let o;e[2]!==t.filename?(o=i.jsx("span",{className:"text-sm font-medium text-foreground",children:t.filename}),e[2]=t.filename,e[3]=o):o=e[3];let a;e[4]!==t.size?(a=X(t.size),e[4]=t.size,e[5]=a):a=e[5];const c=s?` · ${s}`:"";let f;e[6]!==a||e[7]!==c?(f=i.jsxs("span",{className:"text-xs text-muted-foreground",children:[a,c]}),e[6]=a,e[7]=c,e[8]=f):f=e[8];let m;e[9]!==o||e[10]!==f?(m=i.jsxs("div",{className:"flex flex-col items-center gap-0.5",children:[o,f]}),e[9]=o,e[10]=f,e[11]=m):m=e[11];let d;e[12]===Symbol.for("react.memo_cache_sentinel")?(d=i.jsx($,{size:14}),e[12]=d):d=e[12];let l;e[13]!==t.downloadUrl||e[14]!==t.filename?(l=i.jsx(_,{asChild:!0,variant:"outline",size:"sm",children:i.jsxs("a",{href:t.downloadUrl,download:t.filename,children:[d,"Download"]})}),e[13]=t.downloadUrl,e[14]=t.filename,e[15]=l):l=e[15];let u;return e[16]!==n||e[17]!==m||e[18]!==l?(u=i.jsx("div",{className:"flex h-full w-full items-center justify-center",children:i.jsxs("div",{className:"flex flex-col items-center gap-3 rounded-xl border border-border bg-muted/30 px-10 py-8",children:[n,m,l]})}),e[16]=n,e[17]=m,e[18]=l,e[19]=u):u=e[19],u}function b(r){const e=h.c(16),{file:t,markdown:s}=r;let n;e[0]!==t.downloadUrl?(n=E.fileText(t.downloadUrl),e[0]=t.downloadUrl,e[1]=n):n=e[1];let o;e[2]!==t.downloadUrl?(o=async()=>{const l=await fetch(t.downloadUrl,{credentials:"include"});if(!l.ok)throw new Error(`fetch failed: ${l.status}`);return l.text()},e[2]=t.downloadUrl,e[3]=o):o=e[3];let a;e[4]!==n||e[5]!==o?(a={queryKey:n,queryFn:o,staleTime:6e4,retry:!1},e[4]=n,e[5]=o,e[6]=a):a=e[6];const{data:c,isPending:f,isError:m}=S(a);if(f){let l;return e[7]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx(A,{}),e[7]=l):l=e[7],l}if(m||c===void 0){let l;return e[8]!==t?(l=i.jsx(v,{file:t,note:"preview unavailable"}),e[8]=t,e[9]=l):l=e[9],l}if(s){const l=`file-preview-${t.key}`;let u;return e[10]!==c||e[11]!==l?(u=i.jsx("div",{className:"h-full overflow-y-auto",children:i.jsx("div",{className:"prose prose-sm dark:prose-invert mx-auto max-w-3xl px-6 py-6",children:i.jsx(B,{id:l,text:c})})}),e[10]=c,e[11]=l,e[12]=u):u=e[12],u}let d;return e[13]!==c||e[14]!==t.filename?(d=i.jsx(I,{value:c,filename:t.filename}),e[13]=c,e[14]=t.filename,e[15]=d):d=e[15],d}function de(r){const e=h.c(15),{file:t}=r;switch(O(t.filename,t.size)){case"image":{let n;return e[0]!==t.downloadUrl||e[1]!==t.filename?(n=i.jsx("div",{className:"flex h-full w-full items-center justify-center overflow-auto bg-muted/30 p-4",children:i.jsx("img",{src:t.downloadUrl,alt:t.filename,className:"max-h-full max-w-full rounded-lg object-contain"})}),e[0]=t.downloadUrl,e[1]=t.filename,e[2]=n):n=e[2],n}case"pdf":{let n;return e[3]!==t.downloadUrl||e[4]!==t.filename?(n=i.jsx("iframe",{src:t.downloadUrl,title:t.filename,className:"block h-full w-full bg-white"}),e[3]=t.downloadUrl,e[4]=t.filename,e[5]=n):n=e[5],n}case"html":{let n;return e[6]!==t.downloadUrl||e[7]!==t.filename?(n=i.jsx("iframe",{src:t.downloadUrl,title:t.filename,sandbox:"allow-scripts",className:"block h-full w-full bg-white"}),e[6]=t.downloadUrl,e[7]=t.filename,e[8]=n):n=e[8],n}case"markdown":{let n;return e[9]!==t?(n=i.jsx(b,{file:t,markdown:!0}),e[9]=t,e[10]=n):n=e[10],n}case"text":{let n;return e[11]!==t?(n=i.jsx(b,{file:t,markdown:!1}),e[11]=t,e[12]=n):n=e[12],n}default:{let n;return e[13]!==t?(n=i.jsx(v,{file:t}),e[13]=t,e[14]=n):n=e[14],n}}}function me(r){const e=h.c(13),{title:t,icon:s,active:n,onClick:o}=r,a=n?"bg-sidebar-accent text-sidebar-foreground":"text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground";let c;e[0]!==a?(c=z("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]=c):c=e[1];let f;e[2]!==s?(f=i.jsx("span",{className:"flex size-5 items-center justify-center shrink-0",children:i.jsx(G,{icon:s})}),e[2]=s,e[3]=f):f=e[3];let m;e[4]!==t?(m=i.jsx("span",{className:"whitespace-nowrap text-sm font-medium leading-none",children:t}),e[4]=t,e[5]=m):m=e[5];let d;return e[6]!==n||e[7]!==o||e[8]!==c||e[9]!==f||e[10]!==m||e[11]!==t?(d=i.jsxs("button",{type:"button",onClick:o,"aria-pressed":n,"aria-label":t,className:c,children:[f,m]}),e[6]=n,e[7]=o,e[8]=c,e[9]=f,e[10]=m,e[11]=t,e[12]=d):d=e[12],d}function G(r){const e=h.c(5),{icon:t}=r;if(t.kind==="component"){const{Component:n}=t;let o;return e[0]!==n?(o=i.jsx(n,{className:"size-4"}),e[0]=n,e[1]=o):o=e[1],o}if(t.kind==="url"){let n;return e[2]!==t.src?(n=i.jsx("img",{src:t.src,alt:"",className:"size-4 rounded-sm object-cover"}),e[2]=t.src,e[3]=n):n=e[3],n}let s;return e[4]===Symbol.for("react.memo_cache_sentinel")?(s=i.jsx(F,{className:"size-4"}),e[4]=s):s=e[4],s}export{L as E,A as F,me as H,de as a,ee as b,ae as c,ce as d,M as e,X as f,D as g,ne as h,w as i,ie as j,C as k,te as l,oe as m,se as n,le as p,fe as s,g as t,re as v};
@@ -1 +1 @@
1
- import{r as c,j as d,db as k,a6 as F,a7 as f,dd as T,af as $,bf as O,bq as I,de as U,df as W,dh as z,dc as B,bc as G,da as K,e as E,c as q}from"./index-CXD35HrY.js";var w,b="HoverCard",[N]=$(b,[T]),R=T(),[V,S]=N(b),_=o=>{const{__scopeHoverCard:e,children:t,open:r,defaultOpen:a,onOpenChange:s,openDelay:l=700,closeDelay:u=300}=o,i=R(e),p=c.useRef(0),v=c.useRef(0),C=c.useRef(!1),h=c.useRef(!1),[m,n]=G({prop:r,defaultProp:a??!1,onChange:s,caller:b}),x=c.useCallback(()=>{clearTimeout(v.current),p.current=window.setTimeout(()=>n(!0),l)},[l,n]),L=c.useCallback(()=>{clearTimeout(p.current),!C.current&&!h.current&&(v.current=window.setTimeout(()=>n(!1),u))},[u,n]),M=c.useCallback(()=>n(!1),[n]);return c.useEffect(()=>()=>{clearTimeout(p.current),clearTimeout(v.current)},[]),d.jsx(V,{scope:e,open:m,onOpenChange:n,onOpen:x,onClose:L,onDismiss:M,hasSelectionRef:C,isPointerDownOnContentRef:h,children:d.jsx(K,{...i,children:t})})};_.displayName=b;var y="HoverCardTrigger",D=c.forwardRef((o,e)=>{const{__scopeHoverCard:t,...r}=o,a=S(y,t),s=R(t);return d.jsx(k,{asChild:!0,...s,children:d.jsx(F.a,{"data-state":a.open?"open":"closed",...r,ref:e,onPointerEnter:f(o.onPointerEnter,P(a.onOpen)),onPointerLeave:f(o.onPointerLeave,P(a.onClose)),onFocus:f(o.onFocus,a.onOpen),onBlur:f(o.onBlur,a.onClose),onTouchStart:f(o.onTouchStart,l=>l.preventDefault())})})});D.displayName=y;var H="HoverCardPortal",[J,Q]=N(H,{forceMount:void 0}),j=o=>{const{__scopeHoverCard:e,forceMount:t,children:r,container:a}=o,s=S(H,e);return d.jsx(J,{scope:e,forceMount:t,children:d.jsx(O,{present:t||s.open,children:d.jsx(B,{asChild:!0,container:a,children:r})})})};j.displayName=H;var g="HoverCardContent",A=c.forwardRef((o,e)=>{const t=Q(g,o.__scopeHoverCard),{forceMount:r=t.forceMount,...a}=o,s=S(g,o.__scopeHoverCard);return d.jsx(O,{present:r||s.open,children:d.jsx(X,{"data-state":s.open?"open":"closed",...a,onPointerEnter:f(o.onPointerEnter,P(s.onOpen)),onPointerLeave:f(o.onPointerLeave,P(s.onClose)),ref:e})})});A.displayName=g;var X=c.forwardRef((o,e)=>{const{__scopeHoverCard:t,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:s,onInteractOutside:l,...u}=o,i=S(g,t),p=R(t),v=c.useRef(null),C=I(e,v),[h,m]=c.useState(!1);return c.useEffect(()=>{if(h){const n=document.body;return w=n.style.userSelect||n.style.webkitUserSelect,n.style.userSelect="none",n.style.webkitUserSelect="none",()=>{n.style.userSelect=w,n.style.webkitUserSelect=w}}},[h]),c.useEffect(()=>{if(v.current){const n=()=>{m(!1),i.isPointerDownOnContentRef.current=!1,setTimeout(()=>{document.getSelection()?.toString()!==""&&(i.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",n),()=>{document.removeEventListener("pointerup",n),i.hasSelectionRef.current=!1,i.isPointerDownOnContentRef.current=!1}}},[i.isPointerDownOnContentRef,i.hasSelectionRef]),c.useEffect(()=>{v.current&&ee(v.current).forEach(x=>x.setAttribute("tabindex","-1"))}),d.jsx(U,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:l,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:f(s,n=>{n.preventDefault()}),onDismiss:i.onDismiss,children:d.jsx(W,{...p,...u,onPointerDown:f(u.onPointerDown,n=>{n.currentTarget.contains(n.target)&&m(!0),i.hasSelectionRef.current=!1,i.isPointerDownOnContentRef.current=!0}),ref:C,style:{...u.style,userSelect:h?"text":void 0,WebkitUserSelect:h?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),Y="HoverCardArrow",Z=c.forwardRef((o,e)=>{const{__scopeHoverCard:t,...r}=o,a=R(t);return d.jsx(z,{...a,...r,ref:e})});Z.displayName=Y;function P(o){return e=>e.pointerType==="touch"?void 0:o()}function ee(o){const e=[],t=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();)e.push(t.currentNode);return e}var te=_,oe=D,re=j,ne=A;function se(o){const e=E.c(4);let t;e[0]!==o?({...t}=o,e[0]=o,e[1]=t):t=e[1];let r;return e[2]!==t?(r=d.jsx(te,{"data-slot":"hover-card",...t}),e[2]=t,e[3]=r):r=e[3],r}function ie(o){const e=E.c(4);let t;e[0]!==o?({...t}=o,e[0]=o,e[1]=t):t=e[1];let r;return e[2]!==t?(r=d.jsx(oe,{"data-slot":"hover-card-trigger",...t}),e[2]=t,e[3]=r):r=e[3],r}function ce(o){const e=E.c(12);let t,r,a,s;e[0]!==o?({className:t,align:a,sideOffset:s,...r}=o,e[0]=o,e[1]=t,e[2]=r,e[3]=a,e[4]=s):(t=e[1],r=e[2],a=e[3],s=e[4]);const l=a===void 0?"center":a,u=s===void 0?4:s;let i;e[5]!==t?(i=q("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 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),e[5]=t,e[6]=i):i=e[6];let p;return e[7]!==l||e[8]!==r||e[9]!==u||e[10]!==i?(p=d.jsx(re,{"data-slot":"hover-card-portal",children:d.jsx(ne,{"data-slot":"hover-card-content",align:l,sideOffset:u,className:i,...r})}),e[7]=l,e[8]=r,e[9]=u,e[10]=i,e[11]=p):p=e[11],p}export{ie as H,ce as a,se as b};
1
+ import{r as c,j as d,db as k,a6 as F,a7 as f,dd as T,af as $,bf as O,bq as I,de as U,df as W,dh as z,dc as B,bc as G,da as K,e as E,c as q}from"./index-DHt9Mf9G.js";var w,b="HoverCard",[N]=$(b,[T]),R=T(),[V,S]=N(b),_=o=>{const{__scopeHoverCard:e,children:t,open:r,defaultOpen:a,onOpenChange:s,openDelay:l=700,closeDelay:u=300}=o,i=R(e),p=c.useRef(0),v=c.useRef(0),C=c.useRef(!1),h=c.useRef(!1),[m,n]=G({prop:r,defaultProp:a??!1,onChange:s,caller:b}),x=c.useCallback(()=>{clearTimeout(v.current),p.current=window.setTimeout(()=>n(!0),l)},[l,n]),L=c.useCallback(()=>{clearTimeout(p.current),!C.current&&!h.current&&(v.current=window.setTimeout(()=>n(!1),u))},[u,n]),M=c.useCallback(()=>n(!1),[n]);return c.useEffect(()=>()=>{clearTimeout(p.current),clearTimeout(v.current)},[]),d.jsx(V,{scope:e,open:m,onOpenChange:n,onOpen:x,onClose:L,onDismiss:M,hasSelectionRef:C,isPointerDownOnContentRef:h,children:d.jsx(K,{...i,children:t})})};_.displayName=b;var y="HoverCardTrigger",D=c.forwardRef((o,e)=>{const{__scopeHoverCard:t,...r}=o,a=S(y,t),s=R(t);return d.jsx(k,{asChild:!0,...s,children:d.jsx(F.a,{"data-state":a.open?"open":"closed",...r,ref:e,onPointerEnter:f(o.onPointerEnter,P(a.onOpen)),onPointerLeave:f(o.onPointerLeave,P(a.onClose)),onFocus:f(o.onFocus,a.onOpen),onBlur:f(o.onBlur,a.onClose),onTouchStart:f(o.onTouchStart,l=>l.preventDefault())})})});D.displayName=y;var H="HoverCardPortal",[J,Q]=N(H,{forceMount:void 0}),j=o=>{const{__scopeHoverCard:e,forceMount:t,children:r,container:a}=o,s=S(H,e);return d.jsx(J,{scope:e,forceMount:t,children:d.jsx(O,{present:t||s.open,children:d.jsx(B,{asChild:!0,container:a,children:r})})})};j.displayName=H;var g="HoverCardContent",A=c.forwardRef((o,e)=>{const t=Q(g,o.__scopeHoverCard),{forceMount:r=t.forceMount,...a}=o,s=S(g,o.__scopeHoverCard);return d.jsx(O,{present:r||s.open,children:d.jsx(X,{"data-state":s.open?"open":"closed",...a,onPointerEnter:f(o.onPointerEnter,P(s.onOpen)),onPointerLeave:f(o.onPointerLeave,P(s.onClose)),ref:e})})});A.displayName=g;var X=c.forwardRef((o,e)=>{const{__scopeHoverCard:t,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:s,onInteractOutside:l,...u}=o,i=S(g,t),p=R(t),v=c.useRef(null),C=I(e,v),[h,m]=c.useState(!1);return c.useEffect(()=>{if(h){const n=document.body;return w=n.style.userSelect||n.style.webkitUserSelect,n.style.userSelect="none",n.style.webkitUserSelect="none",()=>{n.style.userSelect=w,n.style.webkitUserSelect=w}}},[h]),c.useEffect(()=>{if(v.current){const n=()=>{m(!1),i.isPointerDownOnContentRef.current=!1,setTimeout(()=>{document.getSelection()?.toString()!==""&&(i.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",n),()=>{document.removeEventListener("pointerup",n),i.hasSelectionRef.current=!1,i.isPointerDownOnContentRef.current=!1}}},[i.isPointerDownOnContentRef,i.hasSelectionRef]),c.useEffect(()=>{v.current&&ee(v.current).forEach(x=>x.setAttribute("tabindex","-1"))}),d.jsx(U,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:l,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:f(s,n=>{n.preventDefault()}),onDismiss:i.onDismiss,children:d.jsx(W,{...p,...u,onPointerDown:f(u.onPointerDown,n=>{n.currentTarget.contains(n.target)&&m(!0),i.hasSelectionRef.current=!1,i.isPointerDownOnContentRef.current=!0}),ref:C,style:{...u.style,userSelect:h?"text":void 0,WebkitUserSelect:h?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),Y="HoverCardArrow",Z=c.forwardRef((o,e)=>{const{__scopeHoverCard:t,...r}=o,a=R(t);return d.jsx(z,{...a,...r,ref:e})});Z.displayName=Y;function P(o){return e=>e.pointerType==="touch"?void 0:o()}function ee(o){const e=[],t=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();)e.push(t.currentNode);return e}var te=_,oe=D,re=j,ne=A;function se(o){const e=E.c(4);let t;e[0]!==o?({...t}=o,e[0]=o,e[1]=t):t=e[1];let r;return e[2]!==t?(r=d.jsx(te,{"data-slot":"hover-card",...t}),e[2]=t,e[3]=r):r=e[3],r}function ie(o){const e=E.c(4);let t;e[0]!==o?({...t}=o,e[0]=o,e[1]=t):t=e[1];let r;return e[2]!==t?(r=d.jsx(oe,{"data-slot":"hover-card-trigger",...t}),e[2]=t,e[3]=r):r=e[3],r}function ce(o){const e=E.c(12);let t,r,a,s;e[0]!==o?({className:t,align:a,sideOffset:s,...r}=o,e[0]=o,e[1]=t,e[2]=r,e[3]=a,e[4]=s):(t=e[1],r=e[2],a=e[3],s=e[4]);const l=a===void 0?"center":a,u=s===void 0?4:s;let i;e[5]!==t?(i=q("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 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),e[5]=t,e[6]=i):i=e[6];let p;return e[7]!==l||e[8]!==r||e[9]!==u||e[10]!==i?(p=d.jsx(re,{"data-slot":"hover-card-portal",children:d.jsx(ne,{"data-slot":"hover-card-content",align:l,sideOffset:u,className:i,...r})}),e[7]=l,e[8]=r,e[9]=u,e[10]=i,e[11]=p):p=e[11],p}export{ie as H,ce as a,se as b};
@@ -1 +1 @@
1
- import{e as w,q as be,a as Ne,K as ke,j as t,E as we,r as $,c as de,B as Y,l as Ce,M as Ie,o as Q}from"./index-CXD35HrY.js";import{a as W}from"./Tool01-Cjv1XJEb.js";import{s as Se}from"./Trash01-CxCHXGOx.js";import{i as fe}from"./Upload01-CeYSkJhe.js";import{I as _e}from"./input-C9wjfV7v.js";import{L as Pe}from"./label-g7qALGmg.js";import{i as Ue}from"./AlertCircle-ByuuAmrP.js";import{i as ge}from"./Check-BbSnE7nF.js";import{a as $e}from"./Eye-CNWO8gM7.js";import{i as De}from"./DotsVertical-BQNv4yup.js";import{F as ze}from"./agent-icon-DkS6Ap-C.js";import{n as Fe}from"./LinkExternal01-BDqI6g0z.js";import{D as Te,c as Ee,e as Le,b as Oe,a as Ae}from"./dialog-N8dYL9IV.js";import{c as ce,a as Me,D as Re,b as Be}from"./dropdown-menu-Jaik1o9W.js";import{S as Ge}from"./skeleton-DIe_hcjh.js";import{T as Ve,a as Ke,b as qe,c as Je}from"./tabs-DU8yElp1.js";import{u as Qe,c as Ye}from"./use-file-configs-DryWc5C3.js";import{u as We}from"./useInfiniteQuery-Dsby0HYE.js";import{S as He,u as Xe}from"./constants-_OexfFJl.js";import{u as Ze}from"./unwrap-tool-result-BYXdCQMg.js";function et(s){if(typeof s=="string")return s;if(!s||typeof s!="object")return"";const e=s;if(Array.isArray(e.variants)){const n=e.variants,l=n.find(o=>o.rule?.__resolveType?.includes("always"));if(typeof l?.value=="string")return l.value;const i=n.find(o=>typeof o.value=="string");if(i)return i.value}return typeof e.src=="string"?e.src:typeof e.url=="string"?e.url:typeof e.value=="string"?e.value:""}function tt(s){const e=w.c(13),{org:n}=be();let l;e[0]!==n.id||e[1]!==n.slug?(l={connectionId:He,orgId:n.id,orgSlug:n.slug},e[0]=n.id,e[1]=n.slug,e[2]=l):l=e[2];const i=Xe(l);let o;e[3]!==n.id||e[4]!==s.configId?(o=ke.filePickerObjects(n.id,s.configId),e[3]=n.id,e[4]=s.configId,e[5]=o):o=e[5];const a=s.enabled!==!1&&!!s.configId;let r;e[6]!==i||e[7]!==s.configId?(r=async c=>{const{pageParam:g}=c,f=await i.callTool({name:"FILE_OBJECTS_LIST",arguments:{configId:s.configId,cursor:g??void 0}});return Ze(f)},e[6]=i,e[7]=s.configId,e[8]=r):r=e[8];let d;return e[9]!==o||e[10]!==a||e[11]!==r?(d={queryKey:o,enabled:a,staleTime:3e4,initialPageParam:null,queryFn:r,getNextPageParam:st},e[9]=o,e[10]=a,e[11]=r,e[12]=d):d=e[12],We(d)}function st(s){return s.nextCursor??void 0}function je(){const s=w.c(2),{org:e}=be();let n;return s[0]!==e?(n={mutationFn:async l=>{const i=l.file.type||"application/octet-stream",o=await fetch(`/api/${encodeURIComponent(e.slug)}/file-configs/${encodeURIComponent(l.configId)}/upload?filename=${encodeURIComponent(l.file.name)}`,{method:"POST",headers:{"Content-Type":i},body:l.file});if(!o.ok){const a=await o.text().catch(nt);let r=`${o.status} ${o.statusText}`;try{const d=JSON.parse(a);d.message&&(r=d.message)}catch{a&&(r=a.slice(0,200))}throw new Error(`Upload failed: ${r}`)}return await o.json()}},s[0]=e,s[1]=n):n=s[1],Ne(n)}function nt(){return""}const ue="file-picker:last-config-id";function it(s){const e=w.c(18),n=s.mode==="image"?"Pick an image":"Pick a file";let l;e[0]!==n?(l=t.jsx(Ee,{children:n}),e[0]=n,e[1]=l):l=e[1];let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(Le,{children:"Upload a new file or pick one previously uploaded to a configured bucket."}),e[2]=i):i=e[2];let o;e[3]!==l?(o=t.jsxs(Oe,{children:[l,i]}),e[3]=l,e[4]=o):o=e[4];let a;e[5]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx(Ge,{className:"h-64 w-full"}),e[5]=a):a=e[5];let r;e[6]!==s?(r=f=>{s.onSelect(f),s.onOpenChange(!1)},e[6]=s,e[7]=r):r=e[7];let d;e[8]!==s.mode||e[9]!==r?(d=t.jsx(we,{fallback:lt,children:t.jsx($.Suspense,{fallback:a,children:t.jsx(ot,{mode:s.mode,onSelect:r})})}),e[8]=s.mode,e[9]=r,e[10]=d):d=e[10];let c;e[11]!==o||e[12]!==d?(c=t.jsxs(Ae,{className:"sm:max-w-3xl max-h-[85vh] overflow-hidden flex flex-col",children:[o,d]}),e[11]=o,e[12]=d,e[13]=c):c=e[13];let g;return e[14]!==s.onOpenChange||e[15]!==s.open||e[16]!==c?(g=t.jsx(Te,{open:s.open,onOpenChange:s.onOpenChange,children:c}),e[14]=s.onOpenChange,e[15]=s.open,e[16]=c,e[17]=g):g=e[17],g}function lt(s){const{error:e}=s;return t.jsx(rt,{error:e??new Error("Failed to load buckets")})}function rt(s){const e=w.c(3),{error:n}=s;let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsx(Ue,{size:16}),e[0]=l):l=e[0];let i;return e[1]!==n.message?(i=t.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[l,t.jsx("span",{className:"text-sm font-medium",children:n.message})]}),e[1]=n.message,e[2]=i):i=e[2],i}function ot(s){const e=w.c(23),{mode:n,onSelect:l}=s,i=Qe();if(i.length===0){let u;return e[0]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx(dt,{}),e[0]=u):u=e[0],u}if(i.length===1){const u=i[0];let p;return e[1]!==u||e[2]!==n||e[3]!==l?(p=t.jsx(pe,{config:u,mode:n,onSelect:l}),e[1]=u,e[2]=n,e[3]=l,e[4]=p):p=e[4],p}let o;e[5]===Symbol.for("react.memo_cache_sentinel")?(o=typeof window<"u"?window.localStorage.getItem(ue):null,e[5]=o):o=e[5];const a=o;let r;e[6]!==i?(r=i.find(u=>u.id===a)?.id??i[0].id,e[6]=i,e[7]=r):r=e[7];const d=r;let c;e[8]!==i?(c=i.map(at),e[8]=i,e[9]=c):c=e[9];let g;e[10]!==c?(g=t.jsx(Ke,{className:"self-start",children:c}),e[10]=c,e[11]=g):g=e[11];let f;if(e[12]!==i||e[13]!==n||e[14]!==l){let u;e[16]!==n||e[17]!==l?(u=p=>t.jsx(qe,{value:p.id,className:"min-h-0 flex-1 overflow-hidden",children:t.jsx(pe,{config:p,mode:n,onSelect:l})},p.id),e[16]=n,e[17]=l,e[18]=u):u=e[18],f=i.map(u),e[12]=i,e[13]=n,e[14]=l,e[15]=f}else f=e[15];let x;return e[19]!==d||e[20]!==g||e[21]!==f?(x=t.jsxs(Je,{defaultValue:d,onValueChange:ct,className:"min-h-0 flex-1 flex flex-col",children:[g,f]}),e[19]=d,e[20]=g,e[21]=f,e[22]=x):x=e[22],x}function at(s){return t.jsx(Ve,{value:s.id,children:s.name},s.id)}function ct(s){typeof window<"u"&&window.localStorage.setItem(ue,s)}function dt(){const s=w.c(3);let e,n;s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx("div",{className:"size-12 rounded-full bg-muted flex items-center justify-center",children:t.jsx(fe,{size:20,className:"text-muted-foreground"})}),n=t.jsxs("div",{children:[t.jsx("p",{className:"font-medium text-sm",children:"No bucket configured"}),t.jsx("p",{className:"text-xs text-muted-foreground mt-1 max-w-sm",children:"Add an S3-compatible bucket in Settings before you can upload files."})]}),s[0]=e,s[1]=n):(e=s[0],n=s[1]);let l;return s[2]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsxs("div",{className:"rounded-xl border border-dashed border-border/60 p-10 flex flex-col items-center justify-center text-center gap-3",children:[e,n,t.jsx(Y,{asChild:!0,size:"sm",className:"mt-2",children:t.jsx(Ie,{to:"/settings/files",children:"Configure a bucket"})})]}),s[2]=l):l=s[2],l}function pe({config:s,mode:e,onSelect:n}){const l=tt({configId:s.id}),i=je(),[o,a]=$.useState(!1),r=$.useRef(null),d=e==="image"?"image/*":void 0;async function c(m){if(!m)return;const y=Array.from(m);if(y.length===0)return;let k=null;const b=[];for(const N of y)try{const h=await i.mutateAsync({configId:s.id,file:N});k??=h.publicUrl}catch(h){b.push(`${N.name} (${h instanceof Error?h.message:"upload failed"})`)}await l.refetch(),b.length>0&&Q.error(b.length===y.length?`Upload failed: ${b.join("; ")}`:`Some files failed: ${b.join("; ")}`),k&&n(k)}function g(m){m.preventDefault(),a(!0)}function f(){a(!1)}function x(m){m.preventDefault(),a(!1),c(m.dataTransfer.files)}const p=(l.data?.pages??[]).flatMap(m=>m.items),j=p.filter(m=>e==="image"?ye(m.key):!0);return t.jsxs("div",{className:"flex flex-col gap-3 min-h-0 h-full",children:[t.jsxs("button",{type:"button",onClick:()=>r.current?.click(),onDragOver:g,onDragLeave:f,onDrop:x,className:de("rounded-xl border border-dashed border-border/60 p-6 flex flex-col items-center justify-center gap-2 text-center transition-colors",o&&"border-primary bg-primary/5",i.isPending&&"opacity-60 pointer-events-none"),children:[t.jsx(fe,{size:18,className:"text-muted-foreground"}),t.jsx("p",{className:"text-sm font-medium",children:i.isPending?"Uploading…":"Drop files here or click to upload"}),t.jsxs("p",{className:"text-xs text-muted-foreground",children:["Up to 100 MB."," ",e==="image"?"Images only (PNG, JPEG, WebP, GIF, SVG, AVIF).":"Common image, video, audio, and document types."]}),t.jsx("input",{ref:r,type:"file",accept:d,multiple:!0,className:"hidden",onChange:m=>{const y=m.target.files;m.target.value="",c(y)}})]}),l.isFetching&&!l.isFetchingNextPage?t.jsx("div",{className:"flex justify-end",children:t.jsx("span",{className:"text-xs text-muted-foreground",children:"Loading…"})}):null,t.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto pr-1",children:[j.length===0?e==="image"&&p.length>0?t.jsx(ut,{}):t.jsx(ft,{}):e==="image"?t.jsx(gt,{items:j,onSelect:n}):t.jsx(pt,{items:j,onSelect:n}),l.hasNextPage&&t.jsx("div",{className:"flex justify-center py-4",children:t.jsx(Y,{type:"button",variant:"outline",size:"sm",disabled:l.isFetchingNextPage,onClick:()=>l.fetchNextPage(),children:l.isFetchingNextPage?t.jsxs(t.Fragment,{children:[t.jsx(Ce,{size:14,className:"animate-spin"}),"Loading…"]}):"Load more"})})]})]})}function ft(){const s=w.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsxs("div",{className:"flex h-full min-h-40 flex-col items-center justify-center gap-2 py-8 text-center",children:[t.jsx("div",{className:"flex size-10 items-center justify-center rounded-full bg-muted",children:t.jsx(W,{size:18,className:"text-muted-foreground"})}),t.jsx("p",{className:"text-sm font-medium",children:"No files in this bucket yet"}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Drop a file above to get started."})]}),s[0]=e):e=s[0],e}function ut(){const s=w.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsxs("div",{className:"flex h-full min-h-40 flex-col items-center justify-center gap-2 py-8 text-center",children:[t.jsx("div",{className:"flex size-10 items-center justify-center rounded-full bg-muted",children:t.jsx(W,{size:18,className:"text-muted-foreground"})}),t.jsx("p",{className:"text-sm font-medium",children:"No images in this bucket yet"}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"The bucket has other files, but none match common image formats."})]}),s[0]=e):e=s[0],e}function ye(s){return/\.(png|jpe?g|gif|webp|svg|avif|bmp)$/i.test(s)}function mt(s){const e=s.lastIndexOf(".");return e<0||e===s.length-1?"file":s.slice(e+1).toLowerCase()}function gt(s){const e=w.c(7),{items:n,onSelect:l}=s;let i;if(e[0]!==n||e[1]!==l){let a;e[3]!==l?(a=r=>t.jsx(ve,{item:r,variant:"image",onSelect:l},r.key),e[3]=l,e[4]=a):a=e[4],i=n.map(a),e[0]=n,e[1]=l,e[2]=i}else i=e[2];let o;return e[5]!==i?(o=t.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3",children:i}),e[5]=i,e[6]=o):o=e[6],o}function pt(s){const e=w.c(7),{items:n,onSelect:l}=s;let i;if(e[0]!==n||e[1]!==l){let a;e[3]!==l?(a=r=>t.jsx("li",{children:t.jsx(ve,{item:r,variant:"row",onSelect:l})},r.key),e[3]=l,e[4]=a):a=e[4],i=n.map(a),e[0]=n,e[1]=l,e[2]=i}else i=e[2];let o;return e[5]!==i?(o=t.jsx("ul",{className:"divide-y divide-border/60 rounded-lg border border-border/60",children:i}),e[5]=i,e[6]=o):o=e[6],o}function ve(s){const e=w.c(58),{item:n,variant:l,onSelect:i}=s;let o;e[0]!==n.key?(o=mt(n.key),e[0]=n.key,e[1]=o):o=e[1];const a=o;if(l==="image"){let b;e[2]!==n.publicUrl||e[3]!==i?(b=()=>i(n.publicUrl),e[2]=n.publicUrl,e[3]=i,e[4]=b):b=e[4];let N;e[5]!==n.key||e[6]!==n.publicUrl?(N=t.jsx("img",{src:n.publicUrl,alt:n.key,loading:"lazy",className:"h-full w-full object-cover",onError:xt}),e[5]=n.key,e[6]=n.publicUrl,e[7]=N):N=e[7];let h;e[8]!==n.key||e[9]!==b||e[10]!==N?(h=t.jsx("button",{type:"button",onClick:b,className:"block h-full w-full transition hover:ring-2 hover:ring-primary",title:n.key,children:N}),e[8]=n.key,e[9]=b,e[10]=N,e[11]=h):h=e[11];let C;e[12]!==a?(C=t.jsx("span",{className:"pointer-events-none absolute left-1.5 top-1.5 rounded bg-background/80 px-1.5 py-0.5 text-[10px] font-medium uppercase text-foreground opacity-0 backdrop-blur-sm transition-opacity group-hover:opacity-100",children:a}),e[12]=a,e[13]=C):C=e[13];let S;e[14]!==n||e[15]!==i?(S=t.jsx("div",{className:"absolute right-1.5 top-1.5 opacity-0 transition-opacity group-hover:opacity-100",children:t.jsx(xe,{item:n,onSelect:i})}),e[14]=n,e[15]=i,e[16]=S):S=e[16];let I;e[17]!==n.key?(I=he(n.key),e[17]=n.key,e[18]=I):I=e[18];let _;e[19]!==I?(_=t.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2 opacity-0 transition-opacity group-hover:opacity-100",children:t.jsx("p",{className:"truncate text-xs text-white",children:I})}),e[19]=I,e[20]=_):_=e[20];let P;return e[21]!==h||e[22]!==C||e[23]!==S||e[24]!==_?(P=t.jsxs("div",{className:"group relative aspect-square overflow-hidden rounded-lg border border-border/60 bg-muted",children:[h,C,S,_]}),e[21]=h,e[22]=C,e[23]=S,e[24]=_,e[25]=P):P=e[25],P}let r;e[26]!==n.publicUrl||e[27]!==i?(r=()=>i(n.publicUrl),e[26]=n.publicUrl,e[27]=i,e[28]=r):r=e[28];let d;e[29]!==n.key?(d=t.jsx("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-muted",children:ye(n.key)?t.jsx(W,{size:16,className:"text-muted-foreground"}):t.jsx(ze,{size:16,className:"text-muted-foreground"})}),e[29]=n.key,e[30]=d):d=e[30];let c;e[31]!==n.key?(c=he(n.key),e[31]=n.key,e[32]=c):c=e[32];let g;e[33]!==c?(g=t.jsx("p",{className:"truncate text-sm font-medium",children:c}),e[33]=c,e[34]=g):g=e[34];let f;e[35]!==n.key?(f=t.jsx("p",{className:"truncate font-mono text-xs text-muted-foreground",children:n.key}),e[35]=n.key,e[36]=f):f=e[36];let x;e[37]!==g||e[38]!==f?(x=t.jsxs("div",{className:"min-w-0 flex-1",children:[g,f]}),e[37]=g,e[38]=f,e[39]=x):x=e[39];let u;e[40]!==a?(u=t.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase text-muted-foreground",children:a}),e[40]=a,e[41]=u):u=e[41];let p;e[42]!==n.size?(p=yt(n.size),e[42]=n.size,e[43]=p):p=e[43];let j;e[44]!==p?(j=t.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:p}),e[44]=p,e[45]=j):j=e[45];let m;e[46]!==j||e[47]!==r||e[48]!==d||e[49]!==x||e[50]!==u?(m=t.jsxs("button",{type:"button",onClick:r,className:"flex min-w-0 flex-1 items-center gap-3 text-left",children:[d,x,u,j]}),e[46]=j,e[47]=r,e[48]=d,e[49]=x,e[50]=u,e[51]=m):m=e[51];let y;e[52]!==n||e[53]!==i?(y=t.jsx(xe,{item:n,onSelect:i}),e[52]=n,e[53]=i,e[54]=y):y=e[54];let k;return e[55]!==m||e[56]!==y?(k=t.jsxs("div",{className:"group flex items-center gap-3 px-3 py-2 transition hover:bg-muted/50",children:[m,y]}),e[55]=m,e[56]=y,e[57]=k):k=e[57],k}function xt(s){s.target.style.display="none"}function xe(s){const e=w.c(22),{item:n,onSelect:l}=s,[i,o]=$.useState(!1);let a;e[0]!==n.publicUrl?(a=async function(b){b.preventDefault(),b.stopPropagation();try{await navigator.clipboard.writeText(n.publicUrl),o(!0),window.setTimeout(()=>o(!1),1500)}catch{Q.error("Failed to copy URL")}},e[0]=n.publicUrl,e[1]=a):a=e[1];const r=a;let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=t.jsx(Me,{asChild:!0,children:t.jsx(Y,{type:"button",variant:"ghost",size:"icon",className:"size-7 rounded-md bg-background/80 backdrop-blur-sm",onClick:jt,"aria-label":"Asset actions",children:t.jsx(De,{size:14})})}),e[2]=d):d=e[2];let c;e[3]!==n.publicUrl||e[4]!==l?(c=()=>l(n.publicUrl),e[3]=n.publicUrl,e[4]=l,e[5]=c):c=e[5];let g;e[6]===Symbol.for("react.memo_cache_sentinel")?(g=t.jsx(ge,{size:14}),e[6]=g):g=e[6];let f;e[7]!==c?(f=t.jsxs(ce,{onClick:c,children:[g,"Use this"]}),e[7]=c,e[8]=f):f=e[8];let x;e[9]!==i?(x=i?t.jsx(ge,{size:14}):t.jsx($e,{size:14}),e[9]=i,e[10]=x):x=e[10];const u=i?"Copied":"Copy URL";let p;e[11]!==r||e[12]!==x||e[13]!==u?(p=t.jsxs(ce,{onClick:r,children:[x,u]}),e[11]=r,e[12]=x,e[13]=u,e[14]=p):p=e[14];let j;e[15]===Symbol.for("react.memo_cache_sentinel")?(j=t.jsx(Fe,{size:14}),e[15]=j):j=e[15];let m;e[16]!==n.publicUrl?(m=t.jsx(ce,{asChild:!0,children:t.jsxs("a",{href:n.publicUrl,target:"_blank",rel:"noreferrer",onClick:ht,children:[j,"Open in new tab"]})}),e[16]=n.publicUrl,e[17]=m):m=e[17];let y;return e[18]!==m||e[19]!==f||e[20]!==p?(y=t.jsxs(Re,{children:[d,t.jsxs(Be,{align:"end",onClick:bt,children:[f,p,m]})]}),e[18]=m,e[19]=f,e[20]=p,e[21]=y):y=e[21],y}function ht(s){return s.stopPropagation()}function bt(s){return s.stopPropagation()}function jt(s){return s.stopPropagation()}function he(s){const e=s.split("/");return e[e.length-1]??s}function yt(s){return s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:`${(s/(1024*1024)).toFixed(1)} MB`}function vt(s){try{const e=new URL(s).pathname;return decodeURIComponent(e.split("/").pop()??s)}catch{return s.split("/").pop()??s}}function Nt(s){const e=s.lastIndexOf(".");return e<0||e===s.length-1?"":s.slice(e+1).toLowerCase()}const kt=new Set(["image/png","image/jpeg","image/gif","image/webp","image/svg+xml","image/avif"]);function Kt(s){const e=w.c(79),{schema:n,value:l,onChange:i,path:o,label:a}=s,r=et(l),[d,c]=$.useState(!1),[g,f]=$.useState(!1),[x,u]=$.useState(!1),[p,j]=$.useState(!1),m=r?vt(r):"",y=m?Nt(m):"",k=Ye(),b=je();let N;e[0]!==i||e[1]!==j||e[2]!==u?(N=function(v){u(!1),j(!1),i(v)},e[0]=i,e[1]=j,e[2]=u,e[3]=N):N=e[3];const h=N;let C;e[4]!==k.data?.configs?(C=function(){const v=k.data?.configs??[];if(v.length===1)return v[0].id;if(v.length===0)return null;const D=typeof window<"u"?window.localStorage.getItem(ue):null;return v.some(te=>te.id===D)?D:null},e[4]=k.data?.configs,e[5]=C):C=e[5];const S=C;let I;e[6]!==S||e[7]!==c||e[8]!==h||e[9]!==b?(I=async function(v){if(!v)return;const D=Array.from(v).filter(wt);if(D.length===0){Q.error("Only image files are accepted here.");return}const te=S();if(!te){c(!0);return}try{const ae=await b.mutateAsync({configId:te,file:D[0]});h(ae.publicUrl),D.length>1&&Q.info(`Uploaded ${D[0].name}; extra files were ignored (single-select field).`)}catch(ae){const me=ae;Q.error(me instanceof Error?me.message:"Upload failed")}},e[6]=S,e[7]=c,e[8]=h,e[9]=b,e[10]=I):I=e[10];const _=I;let P;e[11]!==f?(P=function(v){v.preventDefault(),v.dataTransfer.types.includes("Files")&&f(!0)},e[11]=f,e[12]=P):P=e[12];const se=P;let H;e[13]!==f?(H=function(v){v.currentTarget===v.target&&f(!1)},e[13]=f,e[14]=H):H=e[14];const ne=H;let X;e[15]!==_||e[16]!==f?(X=function(v){v.preventDefault(),f(!1),_(v.dataTransfer.files)},e[15]=_,e[16]=f,e[17]=X):X=e[17];const ie=X;let z;e[18]!==a||e[19]!==o?(z=t.jsx(Pe,{htmlFor:o,className:"text-muted-foreground",children:a}),e[18]=a,e[19]=o,e[20]=z):z=e[20];let F;e[21]!==n.description?(F=n.description&&t.jsx("p",{className:"text-xs leading-normal text-muted-foreground",children:n.description}),e[21]=n.description,e[22]=F):F=e[22];let T;e[23]!==z||e[24]!==F?(T=t.jsxs("div",{className:"min-w-0 space-y-0.5",children:[z,F]}),e[23]=z,e[24]=F,e[25]=T):T=e[25];const le=g&&"border-primary ring-2 ring-primary/30",re=b.isPending&&"pointer-events-none opacity-60";let E;e[26]!==le||e[27]!==re?(E=de("group relative w-full overflow-hidden rounded-xl border border-border/60 bg-muted/30 transition",le,re),e[26]=le,e[27]=re,e[28]=E):E=e[28];let L;e[29]!==y||e[30]!==m||e[31]!==p||e[32]!==x||e[33]!==a||e[34]!==j||e[35]!==u||e[36]!==c||e[37]!==r||e[38]!==b.isPending?(L=r?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"relative h-40 w-full bg-[image:linear-gradient(45deg,rgba(0,0,0,0.04)_25%,transparent_25%,transparent_75%,rgba(0,0,0,0.04)_75%),linear-gradient(45deg,rgba(0,0,0,0.04)_25%,transparent_25%,transparent_75%,rgba(0,0,0,0.04)_75%)] bg-[position:0_0,8px_8px] [background-size:16px_16px]",children:[!p&&t.jsx("img",{src:r,alt:a,className:de("h-full w-full object-contain transition-opacity",!x&&"opacity-0"),onLoad:()=>u(!0),onError:()=>j(!0)},r),p&&t.jsxs("div",{className:"flex h-full w-full flex-col items-center justify-center gap-1 text-muted-foreground",children:[t.jsx(W,{size:20}),t.jsx("p",{className:"text-xs",children:"Preview unavailable"})]}),!x&&!p&&t.jsx("div",{className:"absolute inset-0 animate-pulse bg-muted/60"})]}),t.jsxs("div",{className:"flex items-center gap-2 border-t border-border/60 bg-background/50 px-3 py-2",children:[t.jsx("span",{className:"min-w-0 flex-1 truncate text-xs font-medium",children:m}),y&&t.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase text-muted-foreground",children:y})]})]}):t.jsxs("button",{type:"button",onClick:()=>c(!0),className:"flex h-40 w-full flex-col items-center justify-center gap-2 text-sm text-muted-foreground hover:bg-muted/60 hover:text-foreground",children:[t.jsx(W,{size:20}),t.jsx("span",{className:"text-sm font-medium",children:b.isPending?"Uploading…":"Drop an image or click to browse"}),t.jsx("span",{className:"text-xs text-muted-foreground",children:"PNG, JPEG, WebP, GIF, SVG, AVIF — up to 100 MB"})]}),e[29]=y,e[30]=m,e[31]=p,e[32]=x,e[33]=a,e[34]=j,e[35]=u,e[36]=c,e[37]=r,e[38]=b.isPending,e[39]=L):L=e[39];let O;e[40]!==g?(O=g&&t.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center bg-primary/10 backdrop-blur-[1px]",children:t.jsx("span",{className:"rounded-md bg-background px-3 py-1.5 text-xs font-medium shadow",children:"Drop to upload"})}),e[40]=g,e[41]=O):O=e[41];let A;e[42]!==ne||e[43]!==se||e[44]!==ie||e[45]!==E||e[46]!==L||e[47]!==O?(A=t.jsxs("div",{onDragOver:se,onDragLeave:ne,onDrop:ie,className:E,children:[L,O]}),e[42]=ne,e[43]=se,e[44]=ie,e[45]=E,e[46]=L,e[47]=O,e[48]=A):A=e[48];let M;e[49]!==h?(M=U=>h(U.target.value),e[49]=h,e[50]=M):M=e[50];let R;e[51]!==o||e[52]!==r||e[53]!==M?(R=t.jsx(_e,{id:o,type:"url",value:r,onChange:M,placeholder:"https://...",className:"h-9 min-w-0 flex-1"}),e[51]=o,e[52]=r,e[53]=M,e[54]=R):R=e[54];let B;e[55]!==c?(B=()=>c(!0),e[55]=c,e[56]=B):B=e[56];let Z;e[57]===Symbol.for("react.memo_cache_sentinel")?(Z=t.jsx(fe,{size:14}),e[57]=Z):Z=e[57];const oe=r?"Replace":"Browse";let G;e[58]!==B||e[59]!==oe?(G=t.jsxs(Y,{type:"button",variant:"outline",size:"sm",onClick:B,className:"h-9 shrink-0",children:[Z,oe]}),e[58]=B,e[59]=oe,e[60]=G):G=e[60];let V;e[61]!==h||e[62]!==r?(V=r&&t.jsx(Y,{type:"button",variant:"ghost",size:"sm",onClick:()=>h(""),className:"h-9 shrink-0","aria-label":"Remove image",children:t.jsx(Se,{size:14})}),e[61]=h,e[62]=r,e[63]=V):V=e[63];let K;e[64]!==R||e[65]!==G||e[66]!==V?(K=t.jsxs("div",{className:"flex w-full min-w-0 items-center gap-2",children:[R,G,V]}),e[64]=R,e[65]=G,e[66]=V,e[67]=K):K=e[67];let q;e[68]!==h?(q=U=>h(U),e[68]=h,e[69]=q):q=e[69];let J;e[70]!==d||e[71]!==c||e[72]!==q?(J=t.jsx(it,{open:d,onOpenChange:c,mode:"image",onSelect:q}),e[70]=d,e[71]=c,e[72]=q,e[73]=J):J=e[73];let ee;return e[74]!==A||e[75]!==K||e[76]!==J||e[77]!==T?(ee=t.jsxs("div",{className:"grid w-full min-w-0 grid-cols-[minmax(0,1fr)] gap-2",children:[T,A,K,J]}),e[74]=A,e[75]=K,e[76]=J,e[77]=T,e[78]=ee):ee=e[78],ee}function wt(s){return kt.has(s.type||"")}export{it as F,Kt as I,ue as L,et as e,je as u};
1
+ import{e as w,q as be,a as Ne,K as ke,j as t,E as we,r as $,c as de,B as Y,l as Ce,M as Ie,o as Q}from"./index-DHt9Mf9G.js";import{a as W}from"./Tool01-CBtpfChg.js";import{s as Se}from"./Trash01-DDKaJVRQ.js";import{i as fe}from"./Upload01-B5AbRmag.js";import{I as _e}from"./input-D2dMhViX.js";import{L as Pe}from"./label-W8QKQ71a.js";import{i as Ue}from"./AlertCircle-C8E06jfW.js";import{i as ge}from"./Check-DwRXhDYN.js";import{a as $e}from"./Eye-CbDINxSR.js";import{i as De}from"./DotsVertical-BZEdPJTY.js";import{F as ze}from"./agent-icon-CEtrmBbc.js";import{n as Fe}from"./LinkExternal01-D7lnMhd-.js";import{D as Te,c as Ee,e as Le,b as Oe,a as Ae}from"./dialog-m1msdckr.js";import{c as ce,a as Me,D as Re,b as Be}from"./dropdown-menu-BXhpM-R_.js";import{S as Ge}from"./skeleton-HacfcGLU.js";import{T as Ve,a as Ke,b as qe,c as Je}from"./tabs-33vYy1bT.js";import{u as Qe,c as Ye}from"./use-file-configs-BDCkFZ7E.js";import{u as We}from"./useInfiniteQuery-CWJ6mtkH.js";import{S as He,u as Xe}from"./constants-C-D4Pmy6.js";import{u as Ze}from"./unwrap-tool-result-BYXdCQMg.js";function et(s){if(typeof s=="string")return s;if(!s||typeof s!="object")return"";const e=s;if(Array.isArray(e.variants)){const n=e.variants,l=n.find(o=>o.rule?.__resolveType?.includes("always"));if(typeof l?.value=="string")return l.value;const i=n.find(o=>typeof o.value=="string");if(i)return i.value}return typeof e.src=="string"?e.src:typeof e.url=="string"?e.url:typeof e.value=="string"?e.value:""}function tt(s){const e=w.c(13),{org:n}=be();let l;e[0]!==n.id||e[1]!==n.slug?(l={connectionId:He,orgId:n.id,orgSlug:n.slug},e[0]=n.id,e[1]=n.slug,e[2]=l):l=e[2];const i=Xe(l);let o;e[3]!==n.id||e[4]!==s.configId?(o=ke.filePickerObjects(n.id,s.configId),e[3]=n.id,e[4]=s.configId,e[5]=o):o=e[5];const a=s.enabled!==!1&&!!s.configId;let r;e[6]!==i||e[7]!==s.configId?(r=async c=>{const{pageParam:g}=c,f=await i.callTool({name:"FILE_OBJECTS_LIST",arguments:{configId:s.configId,cursor:g??void 0}});return Ze(f)},e[6]=i,e[7]=s.configId,e[8]=r):r=e[8];let d;return e[9]!==o||e[10]!==a||e[11]!==r?(d={queryKey:o,enabled:a,staleTime:3e4,initialPageParam:null,queryFn:r,getNextPageParam:st},e[9]=o,e[10]=a,e[11]=r,e[12]=d):d=e[12],We(d)}function st(s){return s.nextCursor??void 0}function je(){const s=w.c(2),{org:e}=be();let n;return s[0]!==e?(n={mutationFn:async l=>{const i=l.file.type||"application/octet-stream",o=await fetch(`/api/${encodeURIComponent(e.slug)}/file-configs/${encodeURIComponent(l.configId)}/upload?filename=${encodeURIComponent(l.file.name)}`,{method:"POST",headers:{"Content-Type":i},body:l.file});if(!o.ok){const a=await o.text().catch(nt);let r=`${o.status} ${o.statusText}`;try{const d=JSON.parse(a);d.message&&(r=d.message)}catch{a&&(r=a.slice(0,200))}throw new Error(`Upload failed: ${r}`)}return await o.json()}},s[0]=e,s[1]=n):n=s[1],Ne(n)}function nt(){return""}const ue="file-picker:last-config-id";function it(s){const e=w.c(18),n=s.mode==="image"?"Pick an image":"Pick a file";let l;e[0]!==n?(l=t.jsx(Ee,{children:n}),e[0]=n,e[1]=l):l=e[1];let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(Le,{children:"Upload a new file or pick one previously uploaded to a configured bucket."}),e[2]=i):i=e[2];let o;e[3]!==l?(o=t.jsxs(Oe,{children:[l,i]}),e[3]=l,e[4]=o):o=e[4];let a;e[5]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx(Ge,{className:"h-64 w-full"}),e[5]=a):a=e[5];let r;e[6]!==s?(r=f=>{s.onSelect(f),s.onOpenChange(!1)},e[6]=s,e[7]=r):r=e[7];let d;e[8]!==s.mode||e[9]!==r?(d=t.jsx(we,{fallback:lt,children:t.jsx($.Suspense,{fallback:a,children:t.jsx(ot,{mode:s.mode,onSelect:r})})}),e[8]=s.mode,e[9]=r,e[10]=d):d=e[10];let c;e[11]!==o||e[12]!==d?(c=t.jsxs(Ae,{className:"sm:max-w-3xl max-h-[85vh] overflow-hidden flex flex-col",children:[o,d]}),e[11]=o,e[12]=d,e[13]=c):c=e[13];let g;return e[14]!==s.onOpenChange||e[15]!==s.open||e[16]!==c?(g=t.jsx(Te,{open:s.open,onOpenChange:s.onOpenChange,children:c}),e[14]=s.onOpenChange,e[15]=s.open,e[16]=c,e[17]=g):g=e[17],g}function lt(s){const{error:e}=s;return t.jsx(rt,{error:e??new Error("Failed to load buckets")})}function rt(s){const e=w.c(3),{error:n}=s;let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsx(Ue,{size:16}),e[0]=l):l=e[0];let i;return e[1]!==n.message?(i=t.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[l,t.jsx("span",{className:"text-sm font-medium",children:n.message})]}),e[1]=n.message,e[2]=i):i=e[2],i}function ot(s){const e=w.c(23),{mode:n,onSelect:l}=s,i=Qe();if(i.length===0){let u;return e[0]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx(dt,{}),e[0]=u):u=e[0],u}if(i.length===1){const u=i[0];let p;return e[1]!==u||e[2]!==n||e[3]!==l?(p=t.jsx(pe,{config:u,mode:n,onSelect:l}),e[1]=u,e[2]=n,e[3]=l,e[4]=p):p=e[4],p}let o;e[5]===Symbol.for("react.memo_cache_sentinel")?(o=typeof window<"u"?window.localStorage.getItem(ue):null,e[5]=o):o=e[5];const a=o;let r;e[6]!==i?(r=i.find(u=>u.id===a)?.id??i[0].id,e[6]=i,e[7]=r):r=e[7];const d=r;let c;e[8]!==i?(c=i.map(at),e[8]=i,e[9]=c):c=e[9];let g;e[10]!==c?(g=t.jsx(Ke,{className:"self-start",children:c}),e[10]=c,e[11]=g):g=e[11];let f;if(e[12]!==i||e[13]!==n||e[14]!==l){let u;e[16]!==n||e[17]!==l?(u=p=>t.jsx(qe,{value:p.id,className:"min-h-0 flex-1 overflow-hidden",children:t.jsx(pe,{config:p,mode:n,onSelect:l})},p.id),e[16]=n,e[17]=l,e[18]=u):u=e[18],f=i.map(u),e[12]=i,e[13]=n,e[14]=l,e[15]=f}else f=e[15];let x;return e[19]!==d||e[20]!==g||e[21]!==f?(x=t.jsxs(Je,{defaultValue:d,onValueChange:ct,className:"min-h-0 flex-1 flex flex-col",children:[g,f]}),e[19]=d,e[20]=g,e[21]=f,e[22]=x):x=e[22],x}function at(s){return t.jsx(Ve,{value:s.id,children:s.name},s.id)}function ct(s){typeof window<"u"&&window.localStorage.setItem(ue,s)}function dt(){const s=w.c(3);let e,n;s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx("div",{className:"size-12 rounded-full bg-muted flex items-center justify-center",children:t.jsx(fe,{size:20,className:"text-muted-foreground"})}),n=t.jsxs("div",{children:[t.jsx("p",{className:"font-medium text-sm",children:"No bucket configured"}),t.jsx("p",{className:"text-xs text-muted-foreground mt-1 max-w-sm",children:"Add an S3-compatible bucket in Settings before you can upload files."})]}),s[0]=e,s[1]=n):(e=s[0],n=s[1]);let l;return s[2]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsxs("div",{className:"rounded-xl border border-dashed border-border/60 p-10 flex flex-col items-center justify-center text-center gap-3",children:[e,n,t.jsx(Y,{asChild:!0,size:"sm",className:"mt-2",children:t.jsx(Ie,{to:"/settings/files",children:"Configure a bucket"})})]}),s[2]=l):l=s[2],l}function pe({config:s,mode:e,onSelect:n}){const l=tt({configId:s.id}),i=je(),[o,a]=$.useState(!1),r=$.useRef(null),d=e==="image"?"image/*":void 0;async function c(m){if(!m)return;const y=Array.from(m);if(y.length===0)return;let k=null;const b=[];for(const N of y)try{const h=await i.mutateAsync({configId:s.id,file:N});k??=h.publicUrl}catch(h){b.push(`${N.name} (${h instanceof Error?h.message:"upload failed"})`)}await l.refetch(),b.length>0&&Q.error(b.length===y.length?`Upload failed: ${b.join("; ")}`:`Some files failed: ${b.join("; ")}`),k&&n(k)}function g(m){m.preventDefault(),a(!0)}function f(){a(!1)}function x(m){m.preventDefault(),a(!1),c(m.dataTransfer.files)}const p=(l.data?.pages??[]).flatMap(m=>m.items),j=p.filter(m=>e==="image"?ye(m.key):!0);return t.jsxs("div",{className:"flex flex-col gap-3 min-h-0 h-full",children:[t.jsxs("button",{type:"button",onClick:()=>r.current?.click(),onDragOver:g,onDragLeave:f,onDrop:x,className:de("rounded-xl border border-dashed border-border/60 p-6 flex flex-col items-center justify-center gap-2 text-center transition-colors",o&&"border-primary bg-primary/5",i.isPending&&"opacity-60 pointer-events-none"),children:[t.jsx(fe,{size:18,className:"text-muted-foreground"}),t.jsx("p",{className:"text-sm font-medium",children:i.isPending?"Uploading…":"Drop files here or click to upload"}),t.jsxs("p",{className:"text-xs text-muted-foreground",children:["Up to 100 MB."," ",e==="image"?"Images only (PNG, JPEG, WebP, GIF, SVG, AVIF).":"Common image, video, audio, and document types."]}),t.jsx("input",{ref:r,type:"file",accept:d,multiple:!0,className:"hidden",onChange:m=>{const y=m.target.files;m.target.value="",c(y)}})]}),l.isFetching&&!l.isFetchingNextPage?t.jsx("div",{className:"flex justify-end",children:t.jsx("span",{className:"text-xs text-muted-foreground",children:"Loading…"})}):null,t.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto pr-1",children:[j.length===0?e==="image"&&p.length>0?t.jsx(ut,{}):t.jsx(ft,{}):e==="image"?t.jsx(gt,{items:j,onSelect:n}):t.jsx(pt,{items:j,onSelect:n}),l.hasNextPage&&t.jsx("div",{className:"flex justify-center py-4",children:t.jsx(Y,{type:"button",variant:"outline",size:"sm",disabled:l.isFetchingNextPage,onClick:()=>l.fetchNextPage(),children:l.isFetchingNextPage?t.jsxs(t.Fragment,{children:[t.jsx(Ce,{size:14,className:"animate-spin"}),"Loading…"]}):"Load more"})})]})]})}function ft(){const s=w.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsxs("div",{className:"flex h-full min-h-40 flex-col items-center justify-center gap-2 py-8 text-center",children:[t.jsx("div",{className:"flex size-10 items-center justify-center rounded-full bg-muted",children:t.jsx(W,{size:18,className:"text-muted-foreground"})}),t.jsx("p",{className:"text-sm font-medium",children:"No files in this bucket yet"}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Drop a file above to get started."})]}),s[0]=e):e=s[0],e}function ut(){const s=w.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsxs("div",{className:"flex h-full min-h-40 flex-col items-center justify-center gap-2 py-8 text-center",children:[t.jsx("div",{className:"flex size-10 items-center justify-center rounded-full bg-muted",children:t.jsx(W,{size:18,className:"text-muted-foreground"})}),t.jsx("p",{className:"text-sm font-medium",children:"No images in this bucket yet"}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"The bucket has other files, but none match common image formats."})]}),s[0]=e):e=s[0],e}function ye(s){return/\.(png|jpe?g|gif|webp|svg|avif|bmp)$/i.test(s)}function mt(s){const e=s.lastIndexOf(".");return e<0||e===s.length-1?"file":s.slice(e+1).toLowerCase()}function gt(s){const e=w.c(7),{items:n,onSelect:l}=s;let i;if(e[0]!==n||e[1]!==l){let a;e[3]!==l?(a=r=>t.jsx(ve,{item:r,variant:"image",onSelect:l},r.key),e[3]=l,e[4]=a):a=e[4],i=n.map(a),e[0]=n,e[1]=l,e[2]=i}else i=e[2];let o;return e[5]!==i?(o=t.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3",children:i}),e[5]=i,e[6]=o):o=e[6],o}function pt(s){const e=w.c(7),{items:n,onSelect:l}=s;let i;if(e[0]!==n||e[1]!==l){let a;e[3]!==l?(a=r=>t.jsx("li",{children:t.jsx(ve,{item:r,variant:"row",onSelect:l})},r.key),e[3]=l,e[4]=a):a=e[4],i=n.map(a),e[0]=n,e[1]=l,e[2]=i}else i=e[2];let o;return e[5]!==i?(o=t.jsx("ul",{className:"divide-y divide-border/60 rounded-lg border border-border/60",children:i}),e[5]=i,e[6]=o):o=e[6],o}function ve(s){const e=w.c(58),{item:n,variant:l,onSelect:i}=s;let o;e[0]!==n.key?(o=mt(n.key),e[0]=n.key,e[1]=o):o=e[1];const a=o;if(l==="image"){let b;e[2]!==n.publicUrl||e[3]!==i?(b=()=>i(n.publicUrl),e[2]=n.publicUrl,e[3]=i,e[4]=b):b=e[4];let N;e[5]!==n.key||e[6]!==n.publicUrl?(N=t.jsx("img",{src:n.publicUrl,alt:n.key,loading:"lazy",className:"h-full w-full object-cover",onError:xt}),e[5]=n.key,e[6]=n.publicUrl,e[7]=N):N=e[7];let h;e[8]!==n.key||e[9]!==b||e[10]!==N?(h=t.jsx("button",{type:"button",onClick:b,className:"block h-full w-full transition hover:ring-2 hover:ring-primary",title:n.key,children:N}),e[8]=n.key,e[9]=b,e[10]=N,e[11]=h):h=e[11];let C;e[12]!==a?(C=t.jsx("span",{className:"pointer-events-none absolute left-1.5 top-1.5 rounded bg-background/80 px-1.5 py-0.5 text-[10px] font-medium uppercase text-foreground opacity-0 backdrop-blur-sm transition-opacity group-hover:opacity-100",children:a}),e[12]=a,e[13]=C):C=e[13];let S;e[14]!==n||e[15]!==i?(S=t.jsx("div",{className:"absolute right-1.5 top-1.5 opacity-0 transition-opacity group-hover:opacity-100",children:t.jsx(xe,{item:n,onSelect:i})}),e[14]=n,e[15]=i,e[16]=S):S=e[16];let I;e[17]!==n.key?(I=he(n.key),e[17]=n.key,e[18]=I):I=e[18];let _;e[19]!==I?(_=t.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2 opacity-0 transition-opacity group-hover:opacity-100",children:t.jsx("p",{className:"truncate text-xs text-white",children:I})}),e[19]=I,e[20]=_):_=e[20];let P;return e[21]!==h||e[22]!==C||e[23]!==S||e[24]!==_?(P=t.jsxs("div",{className:"group relative aspect-square overflow-hidden rounded-lg border border-border/60 bg-muted",children:[h,C,S,_]}),e[21]=h,e[22]=C,e[23]=S,e[24]=_,e[25]=P):P=e[25],P}let r;e[26]!==n.publicUrl||e[27]!==i?(r=()=>i(n.publicUrl),e[26]=n.publicUrl,e[27]=i,e[28]=r):r=e[28];let d;e[29]!==n.key?(d=t.jsx("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-muted",children:ye(n.key)?t.jsx(W,{size:16,className:"text-muted-foreground"}):t.jsx(ze,{size:16,className:"text-muted-foreground"})}),e[29]=n.key,e[30]=d):d=e[30];let c;e[31]!==n.key?(c=he(n.key),e[31]=n.key,e[32]=c):c=e[32];let g;e[33]!==c?(g=t.jsx("p",{className:"truncate text-sm font-medium",children:c}),e[33]=c,e[34]=g):g=e[34];let f;e[35]!==n.key?(f=t.jsx("p",{className:"truncate font-mono text-xs text-muted-foreground",children:n.key}),e[35]=n.key,e[36]=f):f=e[36];let x;e[37]!==g||e[38]!==f?(x=t.jsxs("div",{className:"min-w-0 flex-1",children:[g,f]}),e[37]=g,e[38]=f,e[39]=x):x=e[39];let u;e[40]!==a?(u=t.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase text-muted-foreground",children:a}),e[40]=a,e[41]=u):u=e[41];let p;e[42]!==n.size?(p=yt(n.size),e[42]=n.size,e[43]=p):p=e[43];let j;e[44]!==p?(j=t.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:p}),e[44]=p,e[45]=j):j=e[45];let m;e[46]!==j||e[47]!==r||e[48]!==d||e[49]!==x||e[50]!==u?(m=t.jsxs("button",{type:"button",onClick:r,className:"flex min-w-0 flex-1 items-center gap-3 text-left",children:[d,x,u,j]}),e[46]=j,e[47]=r,e[48]=d,e[49]=x,e[50]=u,e[51]=m):m=e[51];let y;e[52]!==n||e[53]!==i?(y=t.jsx(xe,{item:n,onSelect:i}),e[52]=n,e[53]=i,e[54]=y):y=e[54];let k;return e[55]!==m||e[56]!==y?(k=t.jsxs("div",{className:"group flex items-center gap-3 px-3 py-2 transition hover:bg-muted/50",children:[m,y]}),e[55]=m,e[56]=y,e[57]=k):k=e[57],k}function xt(s){s.target.style.display="none"}function xe(s){const e=w.c(22),{item:n,onSelect:l}=s,[i,o]=$.useState(!1);let a;e[0]!==n.publicUrl?(a=async function(b){b.preventDefault(),b.stopPropagation();try{await navigator.clipboard.writeText(n.publicUrl),o(!0),window.setTimeout(()=>o(!1),1500)}catch{Q.error("Failed to copy URL")}},e[0]=n.publicUrl,e[1]=a):a=e[1];const r=a;let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=t.jsx(Me,{asChild:!0,children:t.jsx(Y,{type:"button",variant:"ghost",size:"icon",className:"size-7 rounded-md bg-background/80 backdrop-blur-sm",onClick:jt,"aria-label":"Asset actions",children:t.jsx(De,{size:14})})}),e[2]=d):d=e[2];let c;e[3]!==n.publicUrl||e[4]!==l?(c=()=>l(n.publicUrl),e[3]=n.publicUrl,e[4]=l,e[5]=c):c=e[5];let g;e[6]===Symbol.for("react.memo_cache_sentinel")?(g=t.jsx(ge,{size:14}),e[6]=g):g=e[6];let f;e[7]!==c?(f=t.jsxs(ce,{onClick:c,children:[g,"Use this"]}),e[7]=c,e[8]=f):f=e[8];let x;e[9]!==i?(x=i?t.jsx(ge,{size:14}):t.jsx($e,{size:14}),e[9]=i,e[10]=x):x=e[10];const u=i?"Copied":"Copy URL";let p;e[11]!==r||e[12]!==x||e[13]!==u?(p=t.jsxs(ce,{onClick:r,children:[x,u]}),e[11]=r,e[12]=x,e[13]=u,e[14]=p):p=e[14];let j;e[15]===Symbol.for("react.memo_cache_sentinel")?(j=t.jsx(Fe,{size:14}),e[15]=j):j=e[15];let m;e[16]!==n.publicUrl?(m=t.jsx(ce,{asChild:!0,children:t.jsxs("a",{href:n.publicUrl,target:"_blank",rel:"noreferrer",onClick:ht,children:[j,"Open in new tab"]})}),e[16]=n.publicUrl,e[17]=m):m=e[17];let y;return e[18]!==m||e[19]!==f||e[20]!==p?(y=t.jsxs(Re,{children:[d,t.jsxs(Be,{align:"end",onClick:bt,children:[f,p,m]})]}),e[18]=m,e[19]=f,e[20]=p,e[21]=y):y=e[21],y}function ht(s){return s.stopPropagation()}function bt(s){return s.stopPropagation()}function jt(s){return s.stopPropagation()}function he(s){const e=s.split("/");return e[e.length-1]??s}function yt(s){return s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:`${(s/(1024*1024)).toFixed(1)} MB`}function vt(s){try{const e=new URL(s).pathname;return decodeURIComponent(e.split("/").pop()??s)}catch{return s.split("/").pop()??s}}function Nt(s){const e=s.lastIndexOf(".");return e<0||e===s.length-1?"":s.slice(e+1).toLowerCase()}const kt=new Set(["image/png","image/jpeg","image/gif","image/webp","image/svg+xml","image/avif"]);function Kt(s){const e=w.c(79),{schema:n,value:l,onChange:i,path:o,label:a}=s,r=et(l),[d,c]=$.useState(!1),[g,f]=$.useState(!1),[x,u]=$.useState(!1),[p,j]=$.useState(!1),m=r?vt(r):"",y=m?Nt(m):"",k=Ye(),b=je();let N;e[0]!==i||e[1]!==j||e[2]!==u?(N=function(v){u(!1),j(!1),i(v)},e[0]=i,e[1]=j,e[2]=u,e[3]=N):N=e[3];const h=N;let C;e[4]!==k.data?.configs?(C=function(){const v=k.data?.configs??[];if(v.length===1)return v[0].id;if(v.length===0)return null;const D=typeof window<"u"?window.localStorage.getItem(ue):null;return v.some(te=>te.id===D)?D:null},e[4]=k.data?.configs,e[5]=C):C=e[5];const S=C;let I;e[6]!==S||e[7]!==c||e[8]!==h||e[9]!==b?(I=async function(v){if(!v)return;const D=Array.from(v).filter(wt);if(D.length===0){Q.error("Only image files are accepted here.");return}const te=S();if(!te){c(!0);return}try{const ae=await b.mutateAsync({configId:te,file:D[0]});h(ae.publicUrl),D.length>1&&Q.info(`Uploaded ${D[0].name}; extra files were ignored (single-select field).`)}catch(ae){const me=ae;Q.error(me instanceof Error?me.message:"Upload failed")}},e[6]=S,e[7]=c,e[8]=h,e[9]=b,e[10]=I):I=e[10];const _=I;let P;e[11]!==f?(P=function(v){v.preventDefault(),v.dataTransfer.types.includes("Files")&&f(!0)},e[11]=f,e[12]=P):P=e[12];const se=P;let H;e[13]!==f?(H=function(v){v.currentTarget===v.target&&f(!1)},e[13]=f,e[14]=H):H=e[14];const ne=H;let X;e[15]!==_||e[16]!==f?(X=function(v){v.preventDefault(),f(!1),_(v.dataTransfer.files)},e[15]=_,e[16]=f,e[17]=X):X=e[17];const ie=X;let z;e[18]!==a||e[19]!==o?(z=t.jsx(Pe,{htmlFor:o,className:"text-muted-foreground",children:a}),e[18]=a,e[19]=o,e[20]=z):z=e[20];let F;e[21]!==n.description?(F=n.description&&t.jsx("p",{className:"text-xs leading-normal text-muted-foreground",children:n.description}),e[21]=n.description,e[22]=F):F=e[22];let T;e[23]!==z||e[24]!==F?(T=t.jsxs("div",{className:"min-w-0 space-y-0.5",children:[z,F]}),e[23]=z,e[24]=F,e[25]=T):T=e[25];const le=g&&"border-primary ring-2 ring-primary/30",re=b.isPending&&"pointer-events-none opacity-60";let E;e[26]!==le||e[27]!==re?(E=de("group relative w-full overflow-hidden rounded-xl border border-border/60 bg-muted/30 transition",le,re),e[26]=le,e[27]=re,e[28]=E):E=e[28];let L;e[29]!==y||e[30]!==m||e[31]!==p||e[32]!==x||e[33]!==a||e[34]!==j||e[35]!==u||e[36]!==c||e[37]!==r||e[38]!==b.isPending?(L=r?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"relative h-40 w-full bg-[image:linear-gradient(45deg,rgba(0,0,0,0.04)_25%,transparent_25%,transparent_75%,rgba(0,0,0,0.04)_75%),linear-gradient(45deg,rgba(0,0,0,0.04)_25%,transparent_25%,transparent_75%,rgba(0,0,0,0.04)_75%)] bg-[position:0_0,8px_8px] [background-size:16px_16px]",children:[!p&&t.jsx("img",{src:r,alt:a,className:de("h-full w-full object-contain transition-opacity",!x&&"opacity-0"),onLoad:()=>u(!0),onError:()=>j(!0)},r),p&&t.jsxs("div",{className:"flex h-full w-full flex-col items-center justify-center gap-1 text-muted-foreground",children:[t.jsx(W,{size:20}),t.jsx("p",{className:"text-xs",children:"Preview unavailable"})]}),!x&&!p&&t.jsx("div",{className:"absolute inset-0 animate-pulse bg-muted/60"})]}),t.jsxs("div",{className:"flex items-center gap-2 border-t border-border/60 bg-background/50 px-3 py-2",children:[t.jsx("span",{className:"min-w-0 flex-1 truncate text-xs font-medium",children:m}),y&&t.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase text-muted-foreground",children:y})]})]}):t.jsxs("button",{type:"button",onClick:()=>c(!0),className:"flex h-40 w-full flex-col items-center justify-center gap-2 text-sm text-muted-foreground hover:bg-muted/60 hover:text-foreground",children:[t.jsx(W,{size:20}),t.jsx("span",{className:"text-sm font-medium",children:b.isPending?"Uploading…":"Drop an image or click to browse"}),t.jsx("span",{className:"text-xs text-muted-foreground",children:"PNG, JPEG, WebP, GIF, SVG, AVIF — up to 100 MB"})]}),e[29]=y,e[30]=m,e[31]=p,e[32]=x,e[33]=a,e[34]=j,e[35]=u,e[36]=c,e[37]=r,e[38]=b.isPending,e[39]=L):L=e[39];let O;e[40]!==g?(O=g&&t.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center bg-primary/10 backdrop-blur-[1px]",children:t.jsx("span",{className:"rounded-md bg-background px-3 py-1.5 text-xs font-medium shadow",children:"Drop to upload"})}),e[40]=g,e[41]=O):O=e[41];let A;e[42]!==ne||e[43]!==se||e[44]!==ie||e[45]!==E||e[46]!==L||e[47]!==O?(A=t.jsxs("div",{onDragOver:se,onDragLeave:ne,onDrop:ie,className:E,children:[L,O]}),e[42]=ne,e[43]=se,e[44]=ie,e[45]=E,e[46]=L,e[47]=O,e[48]=A):A=e[48];let M;e[49]!==h?(M=U=>h(U.target.value),e[49]=h,e[50]=M):M=e[50];let R;e[51]!==o||e[52]!==r||e[53]!==M?(R=t.jsx(_e,{id:o,type:"url",value:r,onChange:M,placeholder:"https://...",className:"h-9 min-w-0 flex-1"}),e[51]=o,e[52]=r,e[53]=M,e[54]=R):R=e[54];let B;e[55]!==c?(B=()=>c(!0),e[55]=c,e[56]=B):B=e[56];let Z;e[57]===Symbol.for("react.memo_cache_sentinel")?(Z=t.jsx(fe,{size:14}),e[57]=Z):Z=e[57];const oe=r?"Replace":"Browse";let G;e[58]!==B||e[59]!==oe?(G=t.jsxs(Y,{type:"button",variant:"outline",size:"sm",onClick:B,className:"h-9 shrink-0",children:[Z,oe]}),e[58]=B,e[59]=oe,e[60]=G):G=e[60];let V;e[61]!==h||e[62]!==r?(V=r&&t.jsx(Y,{type:"button",variant:"ghost",size:"sm",onClick:()=>h(""),className:"h-9 shrink-0","aria-label":"Remove image",children:t.jsx(Se,{size:14})}),e[61]=h,e[62]=r,e[63]=V):V=e[63];let K;e[64]!==R||e[65]!==G||e[66]!==V?(K=t.jsxs("div",{className:"flex w-full min-w-0 items-center gap-2",children:[R,G,V]}),e[64]=R,e[65]=G,e[66]=V,e[67]=K):K=e[67];let q;e[68]!==h?(q=U=>h(U),e[68]=h,e[69]=q):q=e[69];let J;e[70]!==d||e[71]!==c||e[72]!==q?(J=t.jsx(it,{open:d,onOpenChange:c,mode:"image",onSelect:q}),e[70]=d,e[71]=c,e[72]=q,e[73]=J):J=e[73];let ee;return e[74]!==A||e[75]!==K||e[76]!==J||e[77]!==T?(ee=t.jsxs("div",{className:"grid w-full min-w-0 grid-cols-[minmax(0,1fr)] gap-2",children:[T,A,K,J]}),e[74]=A,e[75]=K,e[76]=J,e[77]=T,e[78]=ee):ee=e[78],ee}function wt(s){return kt.has(s.type||"")}export{it as F,Kt as I,ue as L,et as e,je as u};
@@ -1,4 +1,4 @@
1
- import{e as le,r as K,f as bt,q as Be,j as t,B as Z,o as Ce,c as ce,K as it,n as yt,v as rs,d as ls,t as xt,E as os}from"./index-CXD35HrY.js";import{S as as}from"./search-input-Bo1czWuc.js";import{P as Me}from"./index-meHkju0S.js";import{E as wt}from"./empty-state-DmuFPxSA.js";import{R as ns}from"./require-capability-B83Rfplv.js";import{B as rt}from"./badge-B8xisPo_.js";import{P as ct,a as dt,b as mt}from"./popover-OD-r-fVD.js";import{b as Ze,T as et,a as tt}from"./tooltip-BLOVWRLB.js";import{i as ft}from"./Check-BbSnE7nF.js";import{a as Xe}from"./Eye-CNWO8gM7.js";import{n as Mt}from"./Globe01-C0ij8Y-s.js";import{i as Vt}from"./FilterLines-Cpimx7eF.js";import{i as is}from"./Key01-Bfuisq2G.js";import{i as cs}from"./Play-Bb6uueKI.js";import{a7 as ds,a8 as ms,P as us,E as xs}from"./agent-icon-DkS6Ap-C.js";import{M as _t}from"./monaco-editor-CIVDk0X4.js";import{u as fs}from"./use-members-DJtUNna_.js";import{u as Dt}from"./use-connection-BP0gNEj8.js";import{S as St,u as It,W as ps}from"./constants-_OexfFJl.js";import{a as hs}from"./use-virtual-mcp-BRv_CvsW.js";import{n as Qe}from"./Container-RPSmr1XN.js";import{c as gs}from"./SwitchHorizontal01-DsrQHrpb.js";import{s as js}from"./Plus-CZ_sF7TZ.js";import{s as vs}from"./Trash01-CxCHXGOx.js";import{I as Ge}from"./input-C9wjfV7v.js";import{g as Ns,b as Lt,f as st,a as Ut,c as pt,d as bs,e as Ft,h as Kt,A as ys,T as ws,i as Ss,M as ht}from"./automation-runs-CTZmIulC.js";import{S as lt,a as ot,b as at,c as Fe,d as nt}from"./select-D_rADyeN.js";import{S as Is}from"./scroll-area-huDDjp9h.js";import{t as qt}from"./ChevronDown-B3TWWBuw.js";import{C as Cs}from"./calendar-BvvsEYKA.js";import{T as ks}from"./textarea-Bg3_-gyq.js";import{C as Bt}from"./collection-tabs-CoI7UjOp.js";import{S as Ts}from"./switch-CCm7Q442.js";import{L as Ms}from"./label-g7qALGmg.js";import{I as qe}from"./integration-icon-DsMTB170.js";import{A as Ht}from"./avatar-6TETgWGc.js";import{A as _s,a as Ds,b as Ls}from"./alert-DN73WALn.js";import{C as Jt}from"./card-XQIiSY-b.js";import{K as ke}from"./monitoring-stats-row-DVsMM237.js";import{g as Fs}from"./connection-slug-eyAPH6o3.js";import{u as $s}from"./useSuspenseInfiniteQuery-DMzYQ3Lt.js";import{d as Rs,S as Os,a as zs,b as Es}from"./sheet-Pz5-NB3k.js";import{T as De,a as ut,b as Gt,c as Qt,d as Wt,e as oe}from"./table-BYsCVFvU.js";import{n as Ps}from"./ChevronUp-0T6APBSE.js";import{u as As}from"./use-infinite-scroll-G1byfuk0.js";import{c as Vs,b as Us}from"./use-automations-B9xj4bsi.js";import"./SearchMd-BFlkVflN.js";import"./sidebar-B-j-nI2l.js";import"./use-capability-D90XVo0g.js";import"./access-gate-DUP-FMW_.js";import"./capability-load-error-VErw4nLB.js";import"./AlertCircle-ByuuAmrP.js";import"./Tool01-Cjv1XJEb.js";import"./RefreshCcw01-BPWCc7Ui.js";import"./XCircle--wEB3Wnr.js";import"./ArrowUpRight-7eXsw1ql.js";import"./ZapSquare-DW4J95z9.js";import"./Users03-C9tAd5Ba.js";import"./CheckCircle-Ca1wJWW6.js";import"./ChevronLeft-CuRKchB5.js";import"./ChevronRight-CYgA53ZB.js";import"./DotsVertical-BQNv4yup.js";import"./ZoomOut-1w3s7N6o.js";import"./Star01-CNXX9diU.js";import"./Palette-DKpoyUgd.js";import"./HardDrive-ChaMHCwz.js";import"./Stars02-CSL2rgyN.js";import"./LinkExternal01-BDqI6g0z.js";import"./Monitor01-CcL8iOzY.js";import"./Sun-Ck3cYoCA.js";import"./Settings02-Ch7efITK.js";import"./Shield01-rrS6w-7t.js";import"./Stars01-BQswryR6.js";import"./Upload01-CeYSkJhe.js";import"./User01-DrA8Lgm7.js";import"./Users01-3z4KNhww.js";import"./XClose-SBhbV0jV.js";import"./X-DSdGdxng.js";import"./Zap-BRXknHpU.js";import"./index-BLLBrYfT.js";import"./spinner-B0UNMt-U.js";import"./use-org-auth-client-CxpHs_Vn.js";import"./use-collections-DoCz8MGT.js";import"./useInfiniteQuery-Dsby0HYE.js";import"./infiniteQueryObserver-CGU6vZCH.js";import"./task-status-DukwwWFW.js";import"./checkbox-Bpq-GtnK.js";import"./command-B39UMlEv.js";import"./index-BQjzxwMq.js";import"./dialog-N8dYL9IV.js";import"./pair-zYr2GmQ7.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-QEEDdK3_.js";import"./file-type-icon-Bscuxmvi.js";import"./content-blocks-o63cs2vh.js";import"./types-BDkt4vmT.js";import"./chat-context-DzUbC-xr.js";import"./tab-id-Bw_e4wJV.js";import"./decopilot-sse-pool-B9TJutJ9.js";import"./create-sse-subscription-BS5983N4.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./use-ai-providers-D8uqA8F3.js";import"./use-organization-settings-1zemtEzS.js";import"./shell-layout-Dgdt_8rv.js";import"./required-auth-layout-DCPdZlSg.js";import"./useRouterState-DNu2gJlX.js";import"./use-org-sso-RJt5vtQj.js";import"./use-navigate-to-agent-D4AslRZm.js";import"./use-mcp-prompts-Dsxmrp6C.js";import"./form-BzUl5L3O.js";import"./index-BLB4nIBt.js";const vt={maxJsonRenderSize:5e4,pageSize:50,streamingRefetchInterval:3e3};function Le(s){return s.filter(e=>e.key.trim()).map(e=>{const r=encodeURIComponent(e.key.trim()),l=encodeURIComponent(e.value||"");return`${r}:${e.operator}:${l}`}).join(",")}function Ks(s){return s?s.split(",").map(e=>{const[r,l,...a]=e.split(":");return{key:decodeURIComponent(r||""),operator:l||"eq",value:decodeURIComponent(a.join(":")||"")}}):[]}function Ye(s){return s.filter(e=>e.key.trim()).map(e=>{switch(e.operator){case"eq":return`${e.key}=${e.value}`;case"contains":return`${e.key}~${e.value}`;case"exists":return`${e.key}?`;case"in":return`${e.key}@${e.value}`}}).join(`
1
+ import{e as le,r as K,f as bt,q as Be,j as t,B as Z,o as Ce,c as ce,K as it,n as yt,v as rs,d as ls,t as xt,E as os}from"./index-DHt9Mf9G.js";import{S as as}from"./search-input-BMiEmNCi.js";import{P as Me}from"./index-BWtmYkwi.js";import{E as wt}from"./empty-state-D3juNsZ6.js";import{R as ns}from"./require-capability-DvXpu1NE.js";import{B as rt}from"./badge-CnPW-GqK.js";import{P as ct,a as dt,b as mt}from"./popover-CBH5jqt8.js";import{b as Ze,T as et,a as tt}from"./tooltip-DY1LX4fr.js";import{i as ft}from"./Check-DwRXhDYN.js";import{a as Xe}from"./Eye-CbDINxSR.js";import{n as Mt}from"./Globe01-CXHtWC8F.js";import{i as Vt}from"./FilterLines-DGIJAfna.js";import{i as is}from"./Key01-BTeVSARy.js";import{i as cs}from"./Play-sw2az4p0.js";import{a7 as ds,a8 as ms,P as us,E as xs}from"./agent-icon-CEtrmBbc.js";import{M as _t}from"./monaco-editor-637MBJHf.js";import{u as fs}from"./use-members-D0MeIqsF.js";import{u as Dt}from"./use-connection-BAOUEhf6.js";import{S as St,u as It,W as ps}from"./constants-C-D4Pmy6.js";import{a as hs}from"./use-virtual-mcp-Rn9fsUNN.js";import{n as Qe}from"./Container-DrffveDY.js";import{c as gs}from"./SwitchHorizontal01-Caie0gIK.js";import{s as js}from"./Plus-dxS60FPA.js";import{s as vs}from"./Trash01-DDKaJVRQ.js";import{I as Ge}from"./input-D2dMhViX.js";import{g as Ns,b as Lt,f as st,a as Ut,c as pt,d as bs,e as Ft,h as Kt,A as ys,T as ws,i as Ss,M as ht}from"./automation-runs-d4uENwdC.js";import{S as lt,a as ot,b as at,c as Fe,d as nt}from"./select-BISzCSVs.js";import{S as Is}from"./scroll-area-DVU-pYpl.js";import{t as qt}from"./ChevronDown-k1VC2srD.js";import{C as Cs}from"./calendar-DeW_DdNU.js";import{T as ks}from"./textarea-C-zVkKAJ.js";import{C as Bt}from"./collection-tabs-CbsCH9v8.js";import{S as Ts}from"./switch-CWfvQ3qI.js";import{L as Ms}from"./label-W8QKQ71a.js";import{I as qe}from"./integration-icon-D5ZAVm0g.js";import{A as Ht}from"./avatar-DXqnRYfU.js";import{A as _s,a as Ds,b as Ls}from"./alert-C0wwDo4J.js";import{C as Jt}from"./card-DJApDAXW.js";import{K as ke}from"./monitoring-stats-row-vcZ8M2dk.js";import{g as Fs}from"./connection-slug-eyAPH6o3.js";import{u as $s}from"./useSuspenseInfiniteQuery-DDVcuWif.js";import{d as Rs,S as Os,a as zs,b as Es}from"./sheet-C-msc_1A.js";import{T as De,a as ut,b as Gt,c as Qt,d as Wt,e as oe}from"./table--UQXxBBH.js";import{n as Ps}from"./ChevronUp-gzUJvPqk.js";import{u as As}from"./use-infinite-scroll-CAJkZLHC.js";import{c as Vs,b as Us}from"./use-automations-BPP1PerV.js";import"./SearchMd-88iVjfqP.js";import"./sidebar-C1EbFBeG.js";import"./use-capability-BsGHGYLW.js";import"./access-gate-Bxa3dGfK.js";import"./capability-load-error-BGVv1fL5.js";import"./AlertCircle-C8E06jfW.js";import"./Tool01-CBtpfChg.js";import"./RefreshCcw01-B2-HH-To.js";import"./XCircle-toDSs4J6.js";import"./ArrowUpRight-CkF0i1No.js";import"./ZapSquare-D_bnCoLi.js";import"./Users03-CS9FNDsP.js";import"./CheckCircle-2iMrjx7D.js";import"./ChevronLeft-7V2_qQ3E.js";import"./ChevronRight-bA2PmkN9.js";import"./DotsVertical-BZEdPJTY.js";import"./ZoomOut-CFJklA2J.js";import"./Star01-K2L8_aik.js";import"./Palette-szvJEqXU.js";import"./HardDrive-HIDpzn4I.js";import"./Stars02-nn8T1-WQ.js";import"./LinkExternal01-D7lnMhd-.js";import"./Monitor01-F6bKl6tK.js";import"./Sun-Bk5MW5gf.js";import"./Settings02-CdYsqAUT.js";import"./Shield01-D6lV8m1d.js";import"./Stars01-Bmg9xGSu.js";import"./Upload01-B5AbRmag.js";import"./User01-C5NUNAi1.js";import"./Users01-BCOOK-yw.js";import"./XClose-C8XjR0Oj.js";import"./X-D96et_XK.js";import"./Zap-DPY_aC88.js";import"./index-Dg2RoULU.js";import"./spinner-CXR5LEFP.js";import"./use-org-auth-client-YKBoNqBy.js";import"./use-collections-ZGWkQryR.js";import"./useInfiniteQuery-CWJ6mtkH.js";import"./infiniteQueryObserver-C0HsJFoc.js";import"./task-status-DdX5GyQu.js";import"./checkbox-BIvxdAqx.js";import"./command-BFgPrNtf.js";import"./index-CWjORjiD.js";import"./dialog-m1msdckr.js";import"./pair-BzvzVihx.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-eq8o4JlH.js";import"./file-type-icon-aSS_wfKX.js";import"./content-blocks-o63cs2vh.js";import"./types-Dl5kxJ-o.js";import"./chat-context-CQlAaKi3.js";import"./tab-id-CuSxDIM1.js";import"./decopilot-sse-pool-BrQw0UAm.js";import"./create-sse-subscription-BS5983N4.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./use-ai-providers-BcOqTKKC.js";import"./use-organization-settings-C-jLCwb5.js";import"./shell-layout-xcJQ-oXv.js";import"./required-auth-layout-CceJrchr.js";import"./useRouterState-CXGDCAP4.js";import"./use-org-sso-Lxt3NvQV.js";import"./use-navigate-to-agent-BYyEy_zS.js";import"./use-mcp-prompts-BJKxU2Na.js";import"./form-DIz1lXzt.js";import"./index-DLIj-Jcg.js";const vt={maxJsonRenderSize:5e4,pageSize:50,streamingRefetchInterval:3e3};function Le(s){return s.filter(e=>e.key.trim()).map(e=>{const r=encodeURIComponent(e.key.trim()),l=encodeURIComponent(e.value||"");return`${r}:${e.operator}:${l}`}).join(",")}function Ks(s){return s?s.split(",").map(e=>{const[r,l,...a]=e.split(":");return{key:decodeURIComponent(r||""),operator:l||"eq",value:decodeURIComponent(a.join(":")||"")}}):[]}function Ye(s){return s.filter(e=>e.key.trim()).map(e=>{switch(e.operator){case"eq":return`${e.key}=${e.value}`;case"contains":return`${e.key}~${e.value}`;case"exists":return`${e.key}?`;case"in":return`${e.key}@${e.value}`}}).join(`
2
2
  `)}function $t(s){return s.trim()?s.split(`
3
3
  `).map(e=>e.trim()).filter(e=>e.length>0).map(e=>{if(e.endsWith("?"))return{key:e.slice(0,-1),operator:"exists",value:""};if(e.includes("=")){const[r,...l]=e.split("=");return{key:r||"",operator:"eq",value:l.join("=")}}if(e.includes("~")){const[r,...l]=e.split("~");return{key:r||"",operator:"contains",value:l.join("~")}}if(e.includes("@")){const[r,...l]=e.split("@");return{key:r||"",operator:"in",value:l.join("@")}}return{key:e,operator:"exists",value:""}}):[]}function qs(s){const e={},r={},l=[],a={};for(const o of s)if(o.key.trim())switch(o.operator){case"eq":o.value&&(e[o.key]=o.value);break;case"contains":o.value&&(r[o.key]=`%${o.value}%`);break;case"exists":l.push(o.key);break;case"in":o.value&&(a[o.key]=o.value);break}return{properties:Object.keys(e).length>0?e:void 0,propertyPatterns:Object.keys(r).length>0?r:void 0,propertyKeys:l.length>0?l:void 0,propertyInValues:Object.keys(a).length>0?a:void 0}}function Rt(s){if(!s)return{content:"null",isTruncated:!1,originalSize:4};if(typeof s._decocms_truncated=="string")return{content:s._decocms_truncated,isTruncated:!0,originalSize:s._decocms_truncated.length};const e=JSON.stringify(s,null,2),r=e.length;return r<=vt.maxJsonRenderSize?{content:e,isTruncated:!1,originalSize:r}:{content:e.slice(0,vt.maxJsonRenderSize)+`
4
4
 
@@ -1 +1 @@
1
- import{e as k,j as o,p as T,r as N,O as D}from"./index-CXD35HrY.js";import{u as z,S as E,a as I,b as L}from"./sidebar-B-j-nI2l.js";import{T as M,a as O,b as A,u as P}from"./tooltip-BLOVWRLB.js";import{S as $,a as W,b as B}from"./shell-route-loading-CB1BVSfX.js";import{u as X,C as H}from"./chat-context-DzUbC-xr.js";import{T as F}from"./tab-id-Bw_e4wJV.js";import{i as q}from"./Monitor01-CcL8iOzY.js";import{v as G,C as K}from"./connect-desktop-dialog-B_fv-zC_.js";import{T as Y,a as b}from"./toolbar-BcNvXnW_.js";import{S as U,M as J}from"./shell-controls-C0ImSETI.js";import"./sheet-Pz5-NB3k.js";import"./X-DSdGdxng.js";import"./useRouterState-DNu2gJlX.js";import"./ZoomOut-1w3s7N6o.js";import"./skeleton-DIe_hcjh.js";import"./popover-OD-r-fVD.js";import"./drawer-BDyeiuJ6.js";import"./SearchMd-BFlkVflN.js";import"./Star01-CNXX9diU.js";import"./Plus-CZ_sF7TZ.js";import"./constants-_OexfFJl.js";import"./use-virtual-mcp-BRv_CvsW.js";import"./use-collections-DoCz8MGT.js";import"./use-create-virtual-mcp-BH7S5Lx3.js";import"./use-navigate-to-agent-D4AslRZm.js";import"./github-repo-picker-BFiC9cbF.js";import"./use-connection-BP0gNEj8.js";import"./dialog-N8dYL9IV.js";import"./RefreshCcw01-BPWCc7Ui.js";import"./collection-search-Dnrehh9Y.js";import"./checkbox-Bpq-GtnK.js";import"./Check-BbSnE7nF.js";import"./agent-icon-DkS6Ap-C.js";import"./AlertCircle-ByuuAmrP.js";import"./Tool01-Cjv1XJEb.js";import"./SwitchHorizontal01-DsrQHrpb.js";import"./XCircle--wEB3Wnr.js";import"./ArrowUpRight-7eXsw1ql.js";import"./ZapSquare-DW4J95z9.js";import"./Users03-C9tAd5Ba.js";import"./CheckCircle-Ca1wJWW6.js";import"./ChevronDown-B3TWWBuw.js";import"./ChevronLeft-CuRKchB5.js";import"./ChevronRight-CYgA53ZB.js";import"./ChevronUp-0T6APBSE.js";import"./DotsVertical-BQNv4yup.js";import"./Container-RPSmr1XN.js";import"./Eye-CNWO8gM7.js";import"./Globe01-C0ij8Y-s.js";import"./FilterLines-Cpimx7eF.js";import"./Palette-DKpoyUgd.js";import"./HardDrive-ChaMHCwz.js";import"./Stars02-CSL2rgyN.js";import"./Key01-Bfuisq2G.js";import"./LinkExternal01-BDqI6g0z.js";import"./Sun-Ck3cYoCA.js";import"./Play-Bb6uueKI.js";import"./Settings02-Ch7efITK.js";import"./Shield01-rrS6w-7t.js";import"./Stars01-BQswryR6.js";import"./Trash01-CxCHXGOx.js";import"./Upload01-CeYSkJhe.js";import"./User01-DrA8Lgm7.js";import"./Users01-3z4KNhww.js";import"./XClose-SBhbV0jV.js";import"./Zap-BRXknHpU.js";import"./use-mcp-tools-CP1ukXK9.js";import"./extract-connection-data-BMrTOxqq.js";import"./generate-id-BHkehxKG.js";import"./collections-B7jkmTPa.js";import"./shell-layout-Dgdt_8rv.js";import"./avatar-6TETgWGc.js";import"./required-auth-layout-DCPdZlSg.js";import"./use-organization-settings-1zemtEzS.js";import"./use-org-sso-RJt5vtQj.js";import"./alert-dialog-Bw7NBbRz.js";import"./form-BzUl5L3O.js";import"./label-g7qALGmg.js";import"./input-C9wjfV7v.js";import"./spinner-B0UNMt-U.js";import"./index-WmwIsUVI.js";import"./sortable.esm-DY8YVkDQ.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-BxD3hzYk.js";import"./use-registry-connections-Ex6acs_f.js";import"./useInfiniteQuery-Dsby0HYE.js";import"./infiniteQueryObserver-CGU6vZCH.js";import"./card-XQIiSY-b.js";import"./integration-icon-DsMTB170.js";import"./collection-tabs-CoI7UjOp.js";import"./badge-B8xisPo_.js";import"./select-D_rADyeN.js";import"./textarea-Bg3_-gyq.js";import"./connection-form-helpers-qDos9L_s.js";import"./use-infinite-scroll-G1byfuk0.js";import"./useSuspenseInfiniteQuery-DMzYQ3Lt.js";import"./use-ai-providers-D8uqA8F3.js";import"./command-B39UMlEv.js";import"./index-BQjzxwMq.js";import"./use-org-auth-client-CxpHs_Vn.js";import"./hover-card-Cd5Q8igo.js";import"./task-status-DukwwWFW.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./decopilot-sse-pool-B9TJutJ9.js";import"./create-sse-subscription-BS5983N4.js";function Q(e){const t=k.c(5),{onPointerDown:r,onDoubleClick:d}=e,{state:f,isMobile:u}=z();if(u||f==="collapsed")return null;let s,n;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={left:"var(--sidebar-width)"},n=o.jsx("span",{className:"pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 bg-transparent transition-colors duration-150 group-hover/resize:bg-border group-active/resize:bg-border"}),t[0]=s,t[1]=n):(s=t[0],n=t[1]);let i;return t[2]!==d||t[3]!==r?(i=o.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize sidebar",title:"Drag to resize, double-click to reset",onPointerDown:r,onDoubleClick:d,className:"group/resize absolute top-0 z-20 h-full w-2 -translate-x-1/2 cursor-col-resize",style:s,children:n}),t[2]=d,t[3]=r,t[4]=i):i=t[4],i}const R=240,V=400,Z="sidebar.width";function _(e){return Math.max(R,Math.min(V,e))}function ee(){const e=k.c(11),[t,r]=T(Z,te),d=N.useRef(null);let f;e[0]!==r||e[1]!==t?(f=a=>{a.preventDefault();const m=a.clientX,p=_(t),c=d.current??(typeof document<"u"?document.querySelector('[data-slot="sidebar-wrapper"]'):null),h=c?Array.from(c.querySelectorAll('[data-slot="sidebar"], [data-slot="sidebar-container"]')):[];for(const x of h)x.style.transition="none";const j=x=>{const g=_(p+(x.clientX-m));c?.style.setProperty("--sidebar-width",`${g}px`)},S=x=>{const g=_(p+(x.clientX-m));r(g);for(const v of h)v.style.transition="";window.removeEventListener("pointermove",j),window.removeEventListener("pointerup",S),document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="col-resize",window.addEventListener("pointermove",j),window.addEventListener("pointerup",S)},e[0]=r,e[1]=t,e[2]=f):f=e[2];const u=f;let s;e[3]!==r?(s=()=>{r(R)},e[3]=r,e[4]=s):s=e[4];const n=s;let i;e[5]!==t?(i=_(t),e[5]=t,e[6]=i):i=e[6];let l;return e[7]!==u||e[8]!==n||e[9]!==i?(l={width:i,wrapperRef:d,onStartResize:u,resetWidth:n},e[7]=u,e[8]=n,e[9]=i,e[10]=l):l=e[10],l}function te(e){return typeof e=="number"?_(e):R}function oe(){const e=k.c(22),t=X(),[r,d]=N.useState(!1);let f;if(e[0]!==t.capabilities||e[1]!==t.hostname||e[2]!==t.machineId||e[3]!==t.online){const j=G(t.capabilities);f=t.online?o.jsxs("div",{className:"flex flex-col gap-0.5 text-xs",children:[o.jsx("span",{className:"font-medium",children:t.hostname??t.machineId??"Desktop linked"}),o.jsx("span",{className:"text-muted-foreground",children:j.length>0?`Available: ${j.join(", ")}`:"No CLI agents detected"})]}):o.jsx("span",{className:"text-xs",children:"Desktop disconnected"}),e[0]=t.capabilities,e[1]=t.hostname,e[2]=t.machineId,e[3]=t.online,e[4]=f}else f=e[4];const u=f;let s;e[5]===Symbol.for("react.memo_cache_sentinel")?(s=()=>d(!0),e[5]=s):s=e[5];const n=t.online?"Desktop linked":"Connect your desktop";let i;e[6]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(q,{size:16}),e[6]=i):i=e[6];let l;e[7]!==t.online?(l=t.online&&o.jsx("span",{className:"absolute top-1 right-1 size-2 rounded-full bg-success ring-2 ring-background animate-pulse"}),e[7]=t.online,e[8]=l):l=e[8];let a;e[9]!==n||e[10]!==l?(a=o.jsx(M,{asChild:!0,children:o.jsxs(Y,{onClick:s,"aria-label":n,children:[i,l]})}),e[9]=n,e[10]=l,e[11]=a):a=e[11];let m;e[12]!==u?(m=o.jsx(O,{side:"bottom",children:u}),e[12]=u,e[13]=m):m=e[13];let p;e[14]!==a||e[15]!==m?(p=o.jsxs(A,{children:[a,m]}),e[14]=a,e[15]=m,e[16]=p):p=e[16];let c;e[17]!==r?(c=o.jsx(K,{open:r,onOpenChange:d}),e[17]=r,e[18]=c):c=e[18];let h;return e[19]!==p||e[20]!==c?(h=o.jsxs(o.Fragment,{children:[p,c]}),e[19]=p,e[20]=c,e[21]=h):h=e[21],h}const ie="sidebar.open";function re(){const e=k.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=o.jsx(B,{}),e[0]=t):t=e[0],t}function so(){const e=k.c(26),t=P(),[r,d]=T(ie,!1),{width:f,wrapperRef:u,onStartResize:s,resetWidth:n}=ee();let i,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(b.LogoLink,{}),l=o.jsx(U,{}),e[0]=i,e[1]=l):(i=e[0],l=e[1]);let a,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=o.jsxs(b.LeftColumn,{children:[i,l,o.jsx("span",{className:"hidden md:contents",children:o.jsx(b.Nav,{})}),o.jsx(b.TogglesSlot,{}),o.jsx(oe,{})]}),m=o.jsx(b.CenterSlot,{}),e[2]=a,e[3]=m):(a=e[2],m=e[3]);let p;e[4]===Symbol.for("react.memo_cache_sentinel")?(p=o.jsxs(b.Header,{children:[a,m,o.jsxs(b.RightColumn,{children:[o.jsx("div",{className:"min-w-0 flex-1 overflow-x-auto [scrollbar-width:none] flex justify-end",children:o.jsx(b.TabsSlot,{})}),o.jsx(b.RightSlot,{})]})]}),e[4]=p):p=e[4];const c=`${f}px`;let h;e[5]!==c?(h={"--sidebar-width":c,"--sidebar-width-icon":"3.5rem"},e[5]=c,e[6]=h):h=e[6];const j=h;let S;e[7]!==t||e[8]!==s||e[9]!==n?(S=!t&&o.jsxs(o.Fragment,{children:[o.jsx($,{}),o.jsx(Q,{onPointerDown:s,onDoubleClick:n})]}),e[7]=t,e[8]=s,e[9]=n,e[10]=S):S=e[10];let x;e[11]===Symbol.for("react.memo_cache_sentinel")?(x={background:"transparent",containerType:"inline-size"},e[11]=x):x=e[11];let g;e[12]===Symbol.for("react.memo_cache_sentinel")?(g=o.jsx(E,{className:"flex flex-col",style:x,children:o.jsx("div",{className:"flex flex-col h-full min-h-0",children:o.jsx("div",{className:"relative flex-1 min-h-0 flex flex-row",children:o.jsx(N.Suspense,{fallback:o.jsx(re,{}),children:o.jsx(D,{})})})})}),e[12]=g):g=e[12];let v;e[13]!==j||e[14]!==S||e[15]!==u?(v=o.jsxs(I,{ref:u,className:"flex-1 bg-sidebar relative min-h-0",style:j,children:[S,g]}),e[13]=j,e[14]=S,e[15]=u,e[16]=v):v=e[16];let y;e[17]!==t?(y=t&&o.jsx(J,{renderSidebar:se}),e[17]=t,e[18]=y):y=e[18];let w;e[19]!==v||e[20]!==y?(w=o.jsx(H,{children:o.jsxs("div",{className:"app-shell-root flex flex-col h-dvh overflow-hidden",children:[p,v,y]})}),e[19]=v,e[20]=y,e[21]=w):w=e[21];let C;return e[22]!==d||e[23]!==r||e[24]!==w?(C=o.jsx(F,{children:o.jsx(b.Provider,{children:o.jsx(L,{open:r,onOpenChange:d,children:w})})}),e[22]=d,e[23]=r,e[24]=w,e[25]=C):C=e[25],C}function se(e){const{onClose:t}=e;return o.jsx("div",{className:"flex h-full",children:o.jsx("div",{className:"w-full bg-sidebar flex flex-col overflow-y-auto group/sidebar","data-state":"expanded",children:o.jsx(W,{onClose:t})})})}export{so as default};
1
+ import{e as k,j as o,p as T,r as N,O as D}from"./index-DHt9Mf9G.js";import{u as z,S as E,a as I,b as L}from"./sidebar-C1EbFBeG.js";import{T as M,a as O,b as A,u as P}from"./tooltip-DY1LX4fr.js";import{S as $,a as W,b as B}from"./shell-route-loading-BToLUOm_.js";import{u as X,C as H}from"./chat-context-CQlAaKi3.js";import{T as F}from"./tab-id-CuSxDIM1.js";import{i as q}from"./Monitor01-F6bKl6tK.js";import{v as G,C as K}from"./connect-desktop-dialog-Dh1zqCgF.js";import{T as Y,a as b}from"./toolbar-BmXelHzT.js";import{S as U,M as J}from"./shell-controls-BvFNuvl3.js";import"./sheet-C-msc_1A.js";import"./X-D96et_XK.js";import"./useRouterState-CXGDCAP4.js";import"./ZoomOut-CFJklA2J.js";import"./skeleton-HacfcGLU.js";import"./popover-CBH5jqt8.js";import"./drawer-KxvT14L5.js";import"./SearchMd-88iVjfqP.js";import"./Star01-K2L8_aik.js";import"./Plus-dxS60FPA.js";import"./constants-C-D4Pmy6.js";import"./use-virtual-mcp-Rn9fsUNN.js";import"./use-collections-ZGWkQryR.js";import"./use-create-virtual-mcp-KZ5vkVjY.js";import"./use-navigate-to-agent-BYyEy_zS.js";import"./github-repo-picker-CUBnWzWO.js";import"./use-connection-BAOUEhf6.js";import"./dialog-m1msdckr.js";import"./RefreshCcw01-B2-HH-To.js";import"./collection-search-BJxAlGyH.js";import"./checkbox-BIvxdAqx.js";import"./Check-DwRXhDYN.js";import"./agent-icon-CEtrmBbc.js";import"./AlertCircle-C8E06jfW.js";import"./Tool01-CBtpfChg.js";import"./SwitchHorizontal01-Caie0gIK.js";import"./XCircle-toDSs4J6.js";import"./ArrowUpRight-CkF0i1No.js";import"./ZapSquare-D_bnCoLi.js";import"./Users03-CS9FNDsP.js";import"./CheckCircle-2iMrjx7D.js";import"./ChevronDown-k1VC2srD.js";import"./ChevronLeft-7V2_qQ3E.js";import"./ChevronRight-bA2PmkN9.js";import"./ChevronUp-gzUJvPqk.js";import"./DotsVertical-BZEdPJTY.js";import"./Container-DrffveDY.js";import"./Eye-CbDINxSR.js";import"./Globe01-CXHtWC8F.js";import"./FilterLines-DGIJAfna.js";import"./Palette-szvJEqXU.js";import"./HardDrive-HIDpzn4I.js";import"./Stars02-nn8T1-WQ.js";import"./Key01-BTeVSARy.js";import"./LinkExternal01-D7lnMhd-.js";import"./Sun-Bk5MW5gf.js";import"./Play-sw2az4p0.js";import"./Settings02-CdYsqAUT.js";import"./Shield01-D6lV8m1d.js";import"./Stars01-Bmg9xGSu.js";import"./Trash01-DDKaJVRQ.js";import"./Upload01-B5AbRmag.js";import"./User01-C5NUNAi1.js";import"./Users01-BCOOK-yw.js";import"./XClose-C8XjR0Oj.js";import"./Zap-DPY_aC88.js";import"./use-mcp-tools-ftOL48Fr.js";import"./extract-connection-data-CvUd4tJL.js";import"./generate-id-MICojNT7.js";import"./collections-Btisq60d.js";import"./shell-layout-xcJQ-oXv.js";import"./avatar-DXqnRYfU.js";import"./required-auth-layout-CceJrchr.js";import"./use-organization-settings-C-jLCwb5.js";import"./use-org-sso-Lxt3NvQV.js";import"./alert-dialog-jD0HIb4F.js";import"./form-DIz1lXzt.js";import"./label-W8QKQ71a.js";import"./input-D2dMhViX.js";import"./spinner-CXR5LEFP.js";import"./index-Dla-fDpI.js";import"./sortable.esm-Dlj8q3TW.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-DHoKYS6O.js";import"./use-registry-connections-DWZHQxm0.js";import"./useInfiniteQuery-CWJ6mtkH.js";import"./infiniteQueryObserver-C0HsJFoc.js";import"./card-DJApDAXW.js";import"./integration-icon-D5ZAVm0g.js";import"./collection-tabs-CbsCH9v8.js";import"./badge-CnPW-GqK.js";import"./select-BISzCSVs.js";import"./textarea-C-zVkKAJ.js";import"./connection-form-helpers-q_5sAECo.js";import"./use-infinite-scroll-CAJkZLHC.js";import"./useSuspenseInfiniteQuery-DDVcuWif.js";import"./use-ai-providers-BcOqTKKC.js";import"./command-BFgPrNtf.js";import"./index-CWjORjiD.js";import"./use-org-auth-client-YKBoNqBy.js";import"./hover-card-BagBBHwl.js";import"./task-status-DdX5GyQu.js";import"./format-time-Cy7tTmZp.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./decopilot-sse-pool-BrQw0UAm.js";import"./create-sse-subscription-BS5983N4.js";function Q(e){const t=k.c(5),{onPointerDown:r,onDoubleClick:d}=e,{state:f,isMobile:u}=z();if(u||f==="collapsed")return null;let s,n;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={left:"var(--sidebar-width)"},n=o.jsx("span",{className:"pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 bg-transparent transition-colors duration-150 group-hover/resize:bg-border group-active/resize:bg-border"}),t[0]=s,t[1]=n):(s=t[0],n=t[1]);let i;return t[2]!==d||t[3]!==r?(i=o.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize sidebar",title:"Drag to resize, double-click to reset",onPointerDown:r,onDoubleClick:d,className:"group/resize absolute top-0 z-20 h-full w-2 -translate-x-1/2 cursor-col-resize",style:s,children:n}),t[2]=d,t[3]=r,t[4]=i):i=t[4],i}const R=240,V=400,Z="sidebar.width";function _(e){return Math.max(R,Math.min(V,e))}function ee(){const e=k.c(11),[t,r]=T(Z,te),d=N.useRef(null);let f;e[0]!==r||e[1]!==t?(f=a=>{a.preventDefault();const m=a.clientX,p=_(t),c=d.current??(typeof document<"u"?document.querySelector('[data-slot="sidebar-wrapper"]'):null),h=c?Array.from(c.querySelectorAll('[data-slot="sidebar"], [data-slot="sidebar-container"]')):[];for(const x of h)x.style.transition="none";const j=x=>{const g=_(p+(x.clientX-m));c?.style.setProperty("--sidebar-width",`${g}px`)},S=x=>{const g=_(p+(x.clientX-m));r(g);for(const v of h)v.style.transition="";window.removeEventListener("pointermove",j),window.removeEventListener("pointerup",S),document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="col-resize",window.addEventListener("pointermove",j),window.addEventListener("pointerup",S)},e[0]=r,e[1]=t,e[2]=f):f=e[2];const u=f;let s;e[3]!==r?(s=()=>{r(R)},e[3]=r,e[4]=s):s=e[4];const n=s;let i;e[5]!==t?(i=_(t),e[5]=t,e[6]=i):i=e[6];let l;return e[7]!==u||e[8]!==n||e[9]!==i?(l={width:i,wrapperRef:d,onStartResize:u,resetWidth:n},e[7]=u,e[8]=n,e[9]=i,e[10]=l):l=e[10],l}function te(e){return typeof e=="number"?_(e):R}function oe(){const e=k.c(22),t=X(),[r,d]=N.useState(!1);let f;if(e[0]!==t.capabilities||e[1]!==t.hostname||e[2]!==t.machineId||e[3]!==t.online){const j=G(t.capabilities);f=t.online?o.jsxs("div",{className:"flex flex-col gap-0.5 text-xs",children:[o.jsx("span",{className:"font-medium",children:t.hostname??t.machineId??"Desktop linked"}),o.jsx("span",{className:"text-muted-foreground",children:j.length>0?`Available: ${j.join(", ")}`:"No CLI agents detected"})]}):o.jsx("span",{className:"text-xs",children:"Desktop disconnected"}),e[0]=t.capabilities,e[1]=t.hostname,e[2]=t.machineId,e[3]=t.online,e[4]=f}else f=e[4];const u=f;let s;e[5]===Symbol.for("react.memo_cache_sentinel")?(s=()=>d(!0),e[5]=s):s=e[5];const n=t.online?"Desktop linked":"Connect your desktop";let i;e[6]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(q,{size:16}),e[6]=i):i=e[6];let l;e[7]!==t.online?(l=t.online&&o.jsx("span",{className:"absolute top-1 right-1 size-2 rounded-full bg-success ring-2 ring-background animate-pulse"}),e[7]=t.online,e[8]=l):l=e[8];let a;e[9]!==n||e[10]!==l?(a=o.jsx(M,{asChild:!0,children:o.jsxs(Y,{onClick:s,"aria-label":n,children:[i,l]})}),e[9]=n,e[10]=l,e[11]=a):a=e[11];let m;e[12]!==u?(m=o.jsx(O,{side:"bottom",children:u}),e[12]=u,e[13]=m):m=e[13];let p;e[14]!==a||e[15]!==m?(p=o.jsxs(A,{children:[a,m]}),e[14]=a,e[15]=m,e[16]=p):p=e[16];let c;e[17]!==r?(c=o.jsx(K,{open:r,onOpenChange:d}),e[17]=r,e[18]=c):c=e[18];let h;return e[19]!==p||e[20]!==c?(h=o.jsxs(o.Fragment,{children:[p,c]}),e[19]=p,e[20]=c,e[21]=h):h=e[21],h}const ie="sidebar.open";function re(){const e=k.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=o.jsx(B,{}),e[0]=t):t=e[0],t}function so(){const e=k.c(26),t=P(),[r,d]=T(ie,!1),{width:f,wrapperRef:u,onStartResize:s,resetWidth:n}=ee();let i,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(b.LogoLink,{}),l=o.jsx(U,{}),e[0]=i,e[1]=l):(i=e[0],l=e[1]);let a,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=o.jsxs(b.LeftColumn,{children:[i,l,o.jsx("span",{className:"hidden md:contents",children:o.jsx(b.Nav,{})}),o.jsx(b.TogglesSlot,{}),o.jsx(oe,{})]}),m=o.jsx(b.CenterSlot,{}),e[2]=a,e[3]=m):(a=e[2],m=e[3]);let p;e[4]===Symbol.for("react.memo_cache_sentinel")?(p=o.jsxs(b.Header,{children:[a,m,o.jsxs(b.RightColumn,{children:[o.jsx("div",{className:"min-w-0 flex-1 overflow-x-auto [scrollbar-width:none] flex justify-end",children:o.jsx(b.TabsSlot,{})}),o.jsx(b.RightSlot,{})]})]}),e[4]=p):p=e[4];const c=`${f}px`;let h;e[5]!==c?(h={"--sidebar-width":c,"--sidebar-width-icon":"3.5rem"},e[5]=c,e[6]=h):h=e[6];const j=h;let S;e[7]!==t||e[8]!==s||e[9]!==n?(S=!t&&o.jsxs(o.Fragment,{children:[o.jsx($,{}),o.jsx(Q,{onPointerDown:s,onDoubleClick:n})]}),e[7]=t,e[8]=s,e[9]=n,e[10]=S):S=e[10];let x;e[11]===Symbol.for("react.memo_cache_sentinel")?(x={background:"transparent",containerType:"inline-size"},e[11]=x):x=e[11];let g;e[12]===Symbol.for("react.memo_cache_sentinel")?(g=o.jsx(E,{className:"flex flex-col",style:x,children:o.jsx("div",{className:"flex flex-col h-full min-h-0",children:o.jsx("div",{className:"relative flex-1 min-h-0 flex flex-row",children:o.jsx(N.Suspense,{fallback:o.jsx(re,{}),children:o.jsx(D,{})})})})}),e[12]=g):g=e[12];let v;e[13]!==j||e[14]!==S||e[15]!==u?(v=o.jsxs(I,{ref:u,className:"flex-1 bg-sidebar relative min-h-0",style:j,children:[S,g]}),e[13]=j,e[14]=S,e[15]=u,e[16]=v):v=e[16];let y;e[17]!==t?(y=t&&o.jsx(J,{renderSidebar:se}),e[17]=t,e[18]=y):y=e[18];let w;e[19]!==v||e[20]!==y?(w=o.jsx(H,{children:o.jsxs("div",{className:"app-shell-root flex flex-col h-dvh overflow-hidden",children:[p,v,y]})}),e[19]=v,e[20]=y,e[21]=w):w=e[21];let C;return e[22]!==d||e[23]!==r||e[24]!==w?(C=o.jsx(F,{children:o.jsx(b.Provider,{children:o.jsx(L,{open:r,onOpenChange:d,children:w})})}),e[22]=d,e[23]=r,e[24]=w,e[25]=C):C=e[25],C}function se(e){const{onClose:t}=e;return o.jsx("div",{className:"flex h-full",children:o.jsx("div",{className:"w-full bg-sidebar flex flex-col overflow-y-auto group/sidebar","data-state":"expanded",children:o.jsx(W,{onClose:t})})})}export{so as default};
@@ -1 +1 @@
1
- import{e as f,c as d,r as p,j as r}from"./index-CXD35HrY.js";import{m as w}from"./sidebar-B-j-nI2l.js";const v=p.createContext(void 0),H=v.Provider;function N(c,e){const l=p.Children.toArray(c);for(const i of l)if(p.isValidElement(i)&&i.type===e)return i;return null}function P(c){const e=f.c(5),{children:l,className:i}=c;let s;e[0]!==i?(s=d("flex flex-col h-full w-full bg-background overflow-hidden",i),e[0]=i,e[1]=s):s=e[1];let t;return e[2]!==l||e[3]!==s?(t=r.jsx("div",{className:s,children:l}),e[2]=l,e[3]=s,e[4]=t):t=e[4],t}function C(c){const e=f.c(17),{children:l,className:i,hideSidebarTrigger:s}=c;let t;e[0]!==l?(t=N(l,j),e[0]=l,e[1]=t):t=e[1];const n=t;let a;e[2]!==l?(a=N(l,b),e[2]=l,e[3]=a):a=e[3];const o=a;let m;e[4]!==i?(m=d("shrink-0 w-full border-b border-border/50 h-11","flex items-center justify-between gap-3 pr-2 pl-2 md:pl-4",i),e[4]=i,e[5]=m):m=e[5];let x;e[6]!==s?(x=!s&&r.jsx(w,{className:"md:hidden shrink-0"}),e[6]=s,e[7]=x):x=e[7];let u;e[8]!==n||e[9]!==x?(u=r.jsxs("div",{className:"flex items-center gap-1 min-w-0 flex-1",children:[x,n]}),e[8]=n,e[9]=x,e[10]=u):u=e[10];let h;e[11]!==o?(h=r.jsx("div",{className:"flex items-center",children:o}),e[11]=o,e[12]=h):h=e[12];let g;return e[13]!==m||e[14]!==u||e[15]!==h?(g=r.jsxs("div",{className:m,children:[u,h]}),e[13]=m,e[14]=u,e[15]=h,e[16]=g):g=e[16],g}function j(c){const e=f.c(5),{children:l,className:i}=c;let s;e[0]!==i?(s=d("flex items-center gap-2 min-w-0 overflow-hidden",i),e[0]=i,e[1]=s):s=e[1];let t;return e[2]!==l||e[3]!==s?(t=r.jsx("div",{className:s,children:l}),e[2]=l,e[3]=s,e[4]=t):t=e[4],t}function b(c){const e=f.c(5),{children:l,className:i}=c;let s;e[0]!==i?(s=d("flex items-center gap-2 shrink-0 overflow-hidden",i),e[0]=i,e[1]=s):s=e[1];let t;return e[2]!==l||e[3]!==s?(t=r.jsx("div",{className:s,children:l}),e[2]=l,e[3]=s,e[4]=t):t=e[4],t}function $(c){const e=f.c(6),{children:l,className:i}=c,s=p.useContext(v);let t;e[0]!==i||e[1]!==s?(t=d("flex-1 overflow-auto",s,i),e[0]=i,e[1]=s,e[2]=t):t=e[2];let n;return e[3]!==l||e[4]!==t?(n=r.jsx("div",{className:t,children:l}),e[3]=l,e[4]=t,e[5]=n):n=e[5],n}function y(c){const e=f.c(10),{children:l,actions:i,className:s}=c;let t;e[0]!==s?(t=d("flex flex-wrap items-center justify-between gap-3",s),e[0]=s,e[1]=t):t=e[1];let n;e[2]!==l?(n=r.jsx("div",{className:"text-xl font-medium min-w-0",children:l}),e[2]=l,e[3]=n):n=e[3];let a;e[4]!==i?(a=i&&r.jsx("div",{className:"flex items-center gap-2",children:i}),e[4]=i,e[5]=a):a=e[5];let o;return e[6]!==t||e[7]!==n||e[8]!==a?(o=r.jsxs("div",{className:t,children:[n,a]}),e[6]=t,e[7]=n,e[8]=a,e[9]=o):o=e[9],o}function R(c){const e=f.c(6),{children:l,className:i,maxWidth:s}=c,t=s===void 0?"max-w-[1200px]":s;let n;e[0]!==i||e[1]!==t?(n=d("mx-auto w-full px-4 pt-8 pb-6 md:px-10 md:pt-12 md:pb-10",t,i),e[0]=i,e[1]=t,e[2]=n):n=e[2];let a;return e[3]!==l||e[4]!==n?(a=r.jsx("div",{className:n,children:l}),e[3]=l,e[4]=n,e[5]=a):a=e[5],a}const T=Object.assign(P,{Header:Object.assign(C,{Left:j,Right:b}),Content:$,Title:y,Body:R});export{T as P,H as a};
1
+ import{e as f,c as d,r as p,j as r}from"./index-DHt9Mf9G.js";import{m as w}from"./sidebar-C1EbFBeG.js";const v=p.createContext(void 0),H=v.Provider;function N(c,e){const l=p.Children.toArray(c);for(const i of l)if(p.isValidElement(i)&&i.type===e)return i;return null}function P(c){const e=f.c(5),{children:l,className:i}=c;let s;e[0]!==i?(s=d("flex flex-col h-full w-full bg-background overflow-hidden",i),e[0]=i,e[1]=s):s=e[1];let t;return e[2]!==l||e[3]!==s?(t=r.jsx("div",{className:s,children:l}),e[2]=l,e[3]=s,e[4]=t):t=e[4],t}function C(c){const e=f.c(17),{children:l,className:i,hideSidebarTrigger:s}=c;let t;e[0]!==l?(t=N(l,j),e[0]=l,e[1]=t):t=e[1];const n=t;let a;e[2]!==l?(a=N(l,b),e[2]=l,e[3]=a):a=e[3];const o=a;let m;e[4]!==i?(m=d("shrink-0 w-full border-b border-border/50 h-11","flex items-center justify-between gap-3 pr-2 pl-2 md:pl-4",i),e[4]=i,e[5]=m):m=e[5];let x;e[6]!==s?(x=!s&&r.jsx(w,{className:"md:hidden shrink-0"}),e[6]=s,e[7]=x):x=e[7];let u;e[8]!==n||e[9]!==x?(u=r.jsxs("div",{className:"flex items-center gap-1 min-w-0 flex-1",children:[x,n]}),e[8]=n,e[9]=x,e[10]=u):u=e[10];let h;e[11]!==o?(h=r.jsx("div",{className:"flex items-center",children:o}),e[11]=o,e[12]=h):h=e[12];let g;return e[13]!==m||e[14]!==u||e[15]!==h?(g=r.jsxs("div",{className:m,children:[u,h]}),e[13]=m,e[14]=u,e[15]=h,e[16]=g):g=e[16],g}function j(c){const e=f.c(5),{children:l,className:i}=c;let s;e[0]!==i?(s=d("flex items-center gap-2 min-w-0 overflow-hidden",i),e[0]=i,e[1]=s):s=e[1];let t;return e[2]!==l||e[3]!==s?(t=r.jsx("div",{className:s,children:l}),e[2]=l,e[3]=s,e[4]=t):t=e[4],t}function b(c){const e=f.c(5),{children:l,className:i}=c;let s;e[0]!==i?(s=d("flex items-center gap-2 shrink-0 overflow-hidden",i),e[0]=i,e[1]=s):s=e[1];let t;return e[2]!==l||e[3]!==s?(t=r.jsx("div",{className:s,children:l}),e[2]=l,e[3]=s,e[4]=t):t=e[4],t}function $(c){const e=f.c(6),{children:l,className:i}=c,s=p.useContext(v);let t;e[0]!==i||e[1]!==s?(t=d("flex-1 overflow-auto",s,i),e[0]=i,e[1]=s,e[2]=t):t=e[2];let n;return e[3]!==l||e[4]!==t?(n=r.jsx("div",{className:t,children:l}),e[3]=l,e[4]=t,e[5]=n):n=e[5],n}function y(c){const e=f.c(10),{children:l,actions:i,className:s}=c;let t;e[0]!==s?(t=d("flex flex-wrap items-center justify-between gap-3",s),e[0]=s,e[1]=t):t=e[1];let n;e[2]!==l?(n=r.jsx("div",{className:"text-xl font-medium min-w-0",children:l}),e[2]=l,e[3]=n):n=e[3];let a;e[4]!==i?(a=i&&r.jsx("div",{className:"flex items-center gap-2",children:i}),e[4]=i,e[5]=a):a=e[5];let o;return e[6]!==t||e[7]!==n||e[8]!==a?(o=r.jsxs("div",{className:t,children:[n,a]}),e[6]=t,e[7]=n,e[8]=a,e[9]=o):o=e[9],o}function R(c){const e=f.c(6),{children:l,className:i,maxWidth:s}=c,t=s===void 0?"max-w-[1200px]":s;let n;e[0]!==i||e[1]!==t?(n=d("mx-auto w-full px-4 pt-8 pb-6 md:px-10 md:pt-12 md:pb-10",t,i),e[0]=i,e[1]=t,e[2]=n):n=e[2];let a;return e[3]!==l||e[4]!==n?(a=r.jsx("div",{className:n,children:l}),e[3]=l,e[4]=n,e[5]=a):a=e[5],a}const T=Object.assign(P,{Header:Object.assign(C,{Left:j,Right:b}),Content:$,Title:y,Body:R});export{T as P,H as a};