decocms 3.36.1 → 3.36.2

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 (236) hide show
  1. package/dist/client/assets/{AlertCircle-BnqV2fhH.js → AlertCircle-Bdl8L7il.js} +1 -1
  2. package/dist/client/assets/{ArrowUpRight-DLu3LSuz.js → ArrowUpRight-C4gNBzMY.js} +1 -1
  3. package/dist/client/assets/{Check-eh46ZGML.js → Check-Cb8huOHH.js} +1 -1
  4. package/dist/client/assets/{CheckCircle-C0r3mBzW.js → CheckCircle-CGJnw6dP.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-4LxQ5oPz.js → ChevronDown-D_ybfzhh.js} +1 -1
  6. package/dist/client/assets/{ChevronLeft-D0NHXMar.js → ChevronLeft-CBi5hL_n.js} +1 -1
  7. package/dist/client/assets/{ChevronRight-CxxNo5xV.js → ChevronRight-D0iMeTJ5.js} +1 -1
  8. package/dist/client/assets/{ChevronUp-ATBl3MAi.js → ChevronUp-BXLaNqVW.js} +1 -1
  9. package/dist/client/assets/{Container-CV0p7hHO.js → Container-BGdfxKsK.js} +1 -1
  10. package/dist/client/assets/{DotsVertical-CNRvkzVu.js → DotsVertical-BhoFPdMN.js} +1 -1
  11. package/dist/client/assets/{Eye-DVlN5jxk.js → Eye-DcL-kKgm.js} +1 -1
  12. package/dist/client/assets/{FilterLines-L07hHUB-.js → FilterLines-DSwseOu_.js} +1 -1
  13. package/dist/client/assets/{Globe01-B9VL3QNT.js → Globe01-BX4SSb6A.js} +1 -1
  14. package/dist/client/assets/{HardDrive-COh7IrR0.js → HardDrive-DcbBi9w_.js} +1 -1
  15. package/dist/client/assets/{Key01-aulVwqL7.js → Key01-R_z_EgAZ.js} +1 -1
  16. package/dist/client/assets/{LayoutLeft-DWk83m69.js → LayoutLeft-hGFocSnW.js} +1 -1
  17. package/dist/client/assets/{LinkExternal01-D_x8dxjY.js → LinkExternal01-DQiI5oxv.js} +1 -1
  18. package/dist/client/assets/{Monitor01-2xEKWZVQ.js → Monitor01-CRf7BSF8.js} +1 -1
  19. package/dist/client/assets/{Palette-IBuOwnrk.js → Palette-EMfX7hNs.js} +1 -1
  20. package/dist/client/assets/{Play-C1Dc-lf9.js → Play-mcRrv0lp.js} +1 -1
  21. package/dist/client/assets/{Plus-BLTD9g1p.js → Plus-_ThoLvvV.js} +1 -1
  22. package/dist/client/assets/{RefreshCcw01-CXJQK3v9.js → RefreshCcw01-CyAHVf6q.js} +1 -1
  23. package/dist/client/assets/{SearchMd-B3lNgj0Q.js → SearchMd-D6F8AHrW.js} +1 -1
  24. package/dist/client/assets/{Settings02-BtL-CPg2.js → Settings02-B100KruV.js} +1 -1
  25. package/dist/client/assets/{Shield01-JtF9z5lI.js → Shield01-DxJYzxVh.js} +1 -1
  26. package/dist/client/assets/{Star01-D0denzoA.js → Star01-DgOBkoy7.js} +1 -1
  27. package/dist/client/assets/{Stars01-b6QvFAbV.js → Stars01-CF50N3iu.js} +1 -1
  28. package/dist/client/assets/{Stars02-DiuJq52q.js → Stars02-AWskXgtc.js} +1 -1
  29. package/dist/client/assets/{Sun-BQHzenzm.js → Sun-Ddl5HYpL.js} +1 -1
  30. package/dist/client/assets/{SwitchHorizontal01-C4dRfRR7.js → SwitchHorizontal01-DHHfKBMD.js} +1 -1
  31. package/dist/client/assets/{Tool01-DCdaNaEY.js → Tool01-BLdHAOru.js} +1 -1
  32. package/dist/client/assets/{Trash01-mLRbM1z9.js → Trash01-4Tg-x6Q1.js} +1 -1
  33. package/dist/client/assets/{Upload01-BP26EgoC.js → Upload01-CBpPl05N.js} +1 -1
  34. package/dist/client/assets/{User01-DpZZxZQw.js → User01-CChZgMNn.js} +1 -1
  35. package/dist/client/assets/{Users01-CTI49oYx.js → Users01-CxX1e6cq.js} +1 -1
  36. package/dist/client/assets/{Users03-CORMvH6Y.js → Users03-DE6tDcyz.js} +1 -1
  37. package/dist/client/assets/{X-gn1ly4Nc.js → X-BRH2Y8Wq.js} +1 -1
  38. package/dist/client/assets/{XCircle-BGJwPzuZ.js → XCircle-CShXLucc.js} +1 -1
  39. package/dist/client/assets/{XClose-BwlE-Nu8.js → XClose-BFJ573RS.js} +1 -1
  40. package/dist/client/assets/{Zap-DqD6AduN.js → Zap-ZgVQTmT-.js} +1 -1
  41. package/dist/client/assets/{ZapSquare-B2POR1ZS.js → ZapSquare-Cz0n89qc.js} +1 -1
  42. package/dist/client/assets/{ZoomOut-BM2NUDgV.js → ZoomOut-CqeB-Ycx.js} +1 -1
  43. package/dist/client/assets/{access-gate-DACRNgiY.js → access-gate-qCShaDhO.js} +1 -1
  44. package/dist/client/assets/{accordion-DggLsDzc.js → accordion-QuD2RrzW.js} +1 -1
  45. package/dist/client/assets/{add-section-modal-C3xNe_xo.js → add-section-modal-Xr54wDg5.js} +1 -1
  46. package/dist/client/assets/{agent-capabilities-Bm-PLFs1.js → agent-capabilities-CFJ9p-mV.js} +1 -1
  47. package/dist/client/assets/{agent-icon-CkXhv6DR.js → agent-icon-rbRaklR8.js} +1 -1
  48. package/dist/client/assets/{agents-list-_LMmNXh7.js → agents-list-Dcl00RIN.js} +1 -1
  49. package/dist/client/assets/{ai-providers-CdE9elzv.js → ai-providers-B3fmOzya.js} +1 -1
  50. package/dist/client/assets/{alert-Di1nAgGl.js → alert-NPCB1uGq.js} +1 -1
  51. package/dist/client/assets/{alert-dialog-ZJsAqfzl.js → alert-dialog-DU_hTH_e.js} +1 -1
  52. package/dist/client/assets/app-editor-vPhjMJAN.js +1 -0
  53. package/dist/client/assets/{auth-C28A30Tc.js → auth-DOEa4Xg-.js} +1 -1
  54. package/dist/client/assets/{auth-catchall-Gykc1ayZ.js → auth-catchall-C9GzLyRU.js} +1 -1
  55. package/dist/client/assets/{auth-split-layout-BLQZfqqR.js → auth-split-layout-D-gXvj1z.js} +1 -1
  56. package/dist/client/assets/{automation-list-row-BS580Xxk.js → automation-list-row-BmMbzVcz.js} +1 -1
  57. package/dist/client/assets/{automation-runs-C1x-2avW.js → automation-runs-CHOhgiKg.js} +1 -1
  58. package/dist/client/assets/{automations-D045v3lS.js → automations-vinGS7sH.js} +1 -1
  59. package/dist/client/assets/{avatar-B_BYzpDz.js → avatar-BqZJEvBP.js} +1 -1
  60. package/dist/client/assets/{badge-BzbbNtAh.js → badge-B2khBz0-.js} +1 -1
  61. package/dist/client/assets/{brand-context-BwCpbN9i.js → brand-context-B_nK7LrX.js} +1 -1
  62. package/dist/client/assets/{buckets-UoUGoesM.js → buckets-B0he9ykT.js} +1 -1
  63. package/dist/client/assets/{calendar-CVM_PlWs.js → calendar-DTQK53My.js} +1 -1
  64. package/dist/client/assets/{capability-load-error-C8q5gpVF.js → capability-load-error-ErUeqyMr.js} +1 -1
  65. package/dist/client/assets/{card-DV27UhYe.js → card-C0ZJxFoq.js} +1 -1
  66. package/dist/client/assets/{chat-context-B17fAiGJ.js → chat-context-D-8AD0J7.js} +1 -1
  67. package/dist/client/assets/{checkbox-C8E6yiOS.js → checkbox-DxApZ9yh.js} +1 -1
  68. package/dist/client/assets/{cli-auth-success-DXKtTRqn.js → cli-auth-success-D_1gXhC0.js} +1 -1
  69. package/dist/client/assets/{collection-detail-DYTXe-vX.js → collection-detail-7xb9CmFQ.js} +1 -1
  70. package/dist/client/assets/{collection-display-button-DkvliZfy.js → collection-display-button-BAzLR9Of.js} +1 -1
  71. package/dist/client/assets/{collection-search-6oM8sAkn.js → collection-search-DTKnEcQS.js} +1 -1
  72. package/dist/client/assets/{collection-table-wrapper-BoznEa1p.js → collection-table-wrapper-injrdYM-.js} +1 -1
  73. package/dist/client/assets/{collection-tabs-IWqiXV1e.js → collection-tabs-BDWQ17XJ.js} +1 -1
  74. package/dist/client/assets/{collections-DFNd7jPX.js → collections-DFjqouMx.js} +1 -1
  75. package/dist/client/assets/{command-D1SdiPwD.js → command-DYklD3Up.js} +1 -1
  76. package/dist/client/assets/{connect-desktop-dialog-D-tmt4pE.js → connect-desktop-dialog-C4HCeyrm.js} +1 -1
  77. package/dist/client/assets/{connection-card-DIcosm0X.js → connection-card-BjkWUX4T.js} +1 -1
  78. package/dist/client/assets/{connection-detail-Bb7E7eEJ.js → connection-detail-S0rM47Fu.js} +1 -1
  79. package/dist/client/assets/{connection-form-helpers-ChlYhyg6.js → connection-form-helpers-DTy5Iwrw.js} +1 -1
  80. package/dist/client/assets/{connections-BkTeF878.js → connections-C9XIC_5l.js} +1 -1
  81. package/dist/client/assets/{decopilot-D_s8NcrD.js → decopilot-D05Xyy-k.js} +1 -1
  82. package/dist/client/assets/decopilot-sse-pool-Bs8CtAgZ.js +1 -0
  83. package/dist/client/assets/{dialog-BSB689j7.js → dialog-B2mbqsst.js} +1 -1
  84. package/dist/client/assets/{domain-settings-DHNs_g_j.js → domain-settings-BGmkBDeq.js} +1 -1
  85. package/dist/client/assets/{drawer-C82Ms0Cv.js → drawer-iJV16qgy.js} +1 -1
  86. package/dist/client/assets/{dropdown-menu-FYqDJehF.js → dropdown-menu-D2SV-kWF.js} +1 -1
  87. package/dist/client/assets/{dynamic-plugin-layout-5sKc8jyc.js → dynamic-plugin-layout-BI5KEXy_.js} +1 -1
  88. package/dist/client/assets/{empty-state-C1tavIlq.js → empty-state-BvWByj-2.js} +1 -1
  89. package/dist/client/assets/{empty-state-BxzxLrPP.js → empty-state-C_DVBzcU.js} +1 -1
  90. package/dist/client/assets/{extract-connection-data-CnLrafQF.js → extract-connection-data-bssph-WQ.js} +1 -1
  91. package/dist/client/assets/{features-BpHY8f6J.js → features-iKNVVztW.js} +1 -1
  92. package/dist/client/assets/{file-explorer-BZVx-0O5.js → file-explorer-jTZzWDYA.js} +1 -1
  93. package/dist/client/assets/{file-type-icon-Bw8qs6o2.js → file-type-icon-C6U2veNU.js} +1 -1
  94. package/dist/client/assets/{files-DxGJVld5.js → files-BMloqr5Z.js} +1 -1
  95. package/dist/client/assets/{form-UO3a-lMt.js → form-CU3vQdRi.js} +1 -1
  96. package/dist/client/assets/{general-B1BA_GZn.js → general-BgdjTbWO.js} +1 -1
  97. package/dist/client/assets/{generate-id-CZUSC7-8.js → generate-id-yj5Hc06j.js} +1 -1
  98. package/dist/client/assets/{github-repo-picker-FLFbegfT.js → github-repo-picker-Bp_Rai-x.js} +1 -1
  99. package/dist/client/assets/{header-tab-button-BOKDj9bu.js → header-tab-button-D3vC9cXp.js} +1 -1
  100. package/dist/client/assets/{hover-card-C3LYC-kn.js → hover-card-BUcaRmlM.js} +1 -1
  101. package/dist/client/assets/{image-field-B-axyZ2P.js → image-field-FQeZHP_K.js} +1 -1
  102. package/dist/client/assets/{index-B1OoDAS2.js → index--7JSPThb.js} +1 -1
  103. package/dist/client/assets/{index-CiybtfLu.js → index-3ttoiVWU.js} +3 -3
  104. package/dist/client/assets/{index-C6tCJ6iD.js → index-B0th8sGF.js} +1 -1
  105. package/dist/client/assets/{index-DEbs6yYd.js → index-B3hxsYs6.js} +1 -1
  106. package/dist/client/assets/{index-BMLWSX3S.js → index-BZhcIh0y.js} +1 -1
  107. package/dist/client/assets/{index-DppM2zVg.js → index-C1Lwsift.js} +1 -1
  108. package/dist/client/assets/{index-DJOtAj7h.js → index-C7sErToY.js} +1 -1
  109. package/dist/client/assets/{index-SkqPgX26.js → index-COSo4xcs.js} +1 -1
  110. package/dist/client/assets/{index-CflW-8xl.js → index-CZzfDV_a.js} +1 -1
  111. package/dist/client/assets/{index-DR94I8IC.js → index-CeYNxCgl.js} +1 -1
  112. package/dist/client/assets/{index-CPTdDHuM.js → index-DusmqmHr.js} +1 -1
  113. package/dist/client/assets/{index-DGUKxx9B.js → index-DyEqkA0D.js} +1 -1
  114. package/dist/client/assets/{index-BHwbsS0f.js → index-RSpfYKVW.js} +1 -1
  115. package/dist/client/assets/{index-WvB9UFs-.js → index-TaHJgDzY.js} +1 -1
  116. package/dist/client/assets/{index-redirect-DxTNMkbp.js → index-redirect-B3cJS778.js} +1 -1
  117. package/dist/client/assets/{index-Cb4WTt-q.js → index-xWbPmICt.js} +4 -4
  118. package/dist/client/assets/{input-BIou7x1s.js → input-DVih3Sjm.js} +1 -1
  119. package/dist/client/assets/{integration-icon-BG6b6lUb.js → integration-icon-BRZNp1S0.js} +1 -1
  120. package/dist/client/assets/{label-BALZ87Ne.js → label-C0uUNmvX.js} +1 -1
  121. package/dist/client/assets/{layout-D3wKVNIg.js → layout-BP4_ZWgl.js} +1 -1
  122. package/dist/client/assets/{login-njuJcB71.js → login-rd7n3mUN.js} +1 -1
  123. package/dist/client/assets/{mcp-oauth-CJ3fuseB.js → mcp-oauth-BQWbsE1s.js} +1 -1
  124. package/dist/client/assets/{members-BeYdJt0r.js → members-D60AKUfH.js} +1 -1
  125. package/dist/client/assets/{monaco-editor-CLILoFVJ.js → monaco-editor-D-Xn_h_i.js} +1 -1
  126. package/dist/client/assets/{monitoring-stats-row-u_reVPx1.js → monitoring-stats-row-DIUkTh7Z.js} +1 -1
  127. package/dist/client/assets/{oauth-callback-DirC5TV0.js → oauth-callback-CN_Q3L8-.js} +1 -1
  128. package/dist/client/assets/{oauth-callback-ai-provider-BDRagMAu.js → oauth-callback-ai-provider-CXBvt-3U.js} +1 -1
  129. package/dist/client/assets/{onboarding-DlgWGyxq.js → onboarding-4vgLSBnB.js} +1 -1
  130. package/dist/client/assets/{org-install-DVgIW0Qi.js → org-install-BAfI3ABO.js} +1 -1
  131. package/dist/client/assets/{org-layout-Bre11PNt.js → org-layout-BX9VaywI.js} +1 -1
  132. package/dist/client/assets/{org-plugin-layout-BXBCHZWd.js → org-plugin-layout-CPX7c1_z.js} +1 -1
  133. package/dist/client/assets/{page-seo-form-DUSMHeEJ.js → page-seo-form-BQBXyb0O.js} +1 -1
  134. package/dist/client/assets/page-seo-sheet-DoMYq7bJ.js +1 -0
  135. package/dist/client/assets/{pair-lHmdq1Qv.js → pair-vWhfM9EW.js} +1 -1
  136. package/dist/client/assets/{plugin-empty-state-DAWeTPEc.js → plugin-empty-state-e0Wbrqvl.js} +1 -1
  137. package/dist/client/assets/{plugin-header-DFfO2BIK.js → plugin-header-wAvZu5-j.js} +1 -1
  138. package/dist/client/assets/{plugin-layout-syGxbFUV.js → plugin-layout-BYUyfvt2.js} +1 -1
  139. package/dist/client/assets/{popover-DwdaLh0V.js → popover-CydIugVg.js} +1 -1
  140. package/dist/client/assets/{post-editor-C9ncA3ry.js → post-editor--xRkfN-u.js} +1 -1
  141. package/dist/client/assets/{primitives-B-U4LZoe.js → primitives-D1vGUoIn.js} +1 -1
  142. package/dist/client/assets/{profile-Ht_-FnbL.js → profile-L6NxK-ky.js} +1 -1
  143. package/dist/client/assets/project-app-view-BZMnBtvK.js +1 -0
  144. package/dist/client/assets/record-editor-DV9l-O7a.js +1 -0
  145. package/dist/client/assets/registry-HfyP6hgN.js +2 -0
  146. package/dist/client/assets/{registry-layout-Bw_kbjOh.js → registry-layout-lkoxfdjb.js} +1 -1
  147. package/dist/client/assets/{require-capability-BJtu48OI.js → require-capability-ctj3w0Hy.js} +1 -1
  148. package/dist/client/assets/{required-auth-layout-DI6zQAQY.js → required-auth-layout-1KnSml1h.js} +1 -1
  149. package/dist/client/assets/{reset-password-D4hK6pUY.js → reset-password-Cncp0vG1.js} +1 -1
  150. package/dist/client/assets/{resizable-B2XskWDt.js → resizable-DUax5XQL.js} +1 -1
  151. package/dist/client/assets/{roles-Cqt-ohZl.js → roles-CX88Wo-B.js} +1 -1
  152. package/dist/client/assets/save-referenced-block-BCkoUa1r.js +1 -0
  153. package/dist/client/assets/{save-status-B5RVyMMa.js → save-status-CilJNEDS.js} +1 -1
  154. package/dist/client/assets/{schema-form-MsvEbpzs.js → schema-form-36ITxJTs.js} +1 -1
  155. package/dist/client/assets/{scroll-area-CUtpZ3i2.js → scroll-area-G2D-rhCe.js} +1 -1
  156. package/dist/client/assets/{search-input-D_Czo7sj.js → search-input-DZtcJZGI.js} +1 -1
  157. package/dist/client/assets/{secrets-DqDtbfQI.js → secrets-B-dXGiHw.js} +1 -1
  158. package/dist/client/assets/{sections-editor-TRTd4goB.js → sections-editor-Bh4-voaV.js} +1 -1
  159. package/dist/client/assets/{select-DyYLWAtt.js → select-C8qI9qzJ.js} +1 -1
  160. package/dist/client/assets/{select-model-Bgdox0ak.js → select-model-CJrkcp8L.js} +1 -1
  161. package/dist/client/assets/{seo-editor-NEYssb1U.js → seo-editor-CTlhny9b.js} +1 -1
  162. package/dist/client/assets/{settings-layout-BjHnX_Rv.js → settings-layout-CpbacBmZ.js} +1 -1
  163. package/dist/client/assets/{settings-section-ByNQkiKy.js → settings-section-7sN_1nHI.js} +1 -1
  164. package/dist/client/assets/{sheet-CJSR0f_J.js → sheet-B6uVK7Gd.js} +1 -1
  165. package/dist/client/assets/{shell-controls-0WsfKqkV.js → shell-controls-BrMNTCJc.js} +1 -1
  166. package/dist/client/assets/{shell-layout-CvbgPIaO.js → shell-layout-B0RfVT3C.js} +1 -1
  167. package/dist/client/assets/shell-route-loading-BdonEPNR.js +1 -0
  168. package/dist/client/assets/{sidebar-CT4nDj9F.js → sidebar-CeOOq5ye.js} +1 -1
  169. package/dist/client/assets/{skeleton-C0n2MBSC.js → skeleton-vEwazeas.js} +1 -1
  170. package/dist/client/assets/{sortable.esm-BzXaOB_3.js → sortable.esm-CH8RPvw-.js} +1 -1
  171. package/dist/client/assets/{spinner-DBVYiKjc.js → spinner-2N-kj7x0.js} +1 -1
  172. package/dist/client/assets/{sso-DqRvx49i.js → sso-Wq5ejlq_.js} +1 -1
  173. package/dist/client/assets/{store-BYx1pzM7.js → store-CvprJD_R.js} +1 -1
  174. package/dist/client/assets/store-registry-BzpUZbWs.js +2 -0
  175. package/dist/client/assets/{studio-tools-ByWE0fVB.js → studio-tools-C7SlPTsZ.js} +1 -1
  176. package/dist/client/assets/{switch-CFZgZOoT.js → switch-DDUT3a8C.js} +1 -1
  177. package/dist/client/assets/{tab-id-D6XV4CDL.js → tab-id-rjh-jKlB.js} +1 -1
  178. package/dist/client/assets/{table-DRy0atlv.js → table-CXgtsUd4.js} +1 -1
  179. package/dist/client/assets/{tabs-B4Xt74wj.js → tabs-DkUWsc-a.js} +1 -1
  180. package/dist/client/assets/{task-status-CizXRJxN.js → task-status-DczQDaYF.js} +1 -1
  181. package/dist/client/assets/{textarea-CpqLWirc.js → textarea-RmWXPTvx.js} +1 -1
  182. package/dist/client/assets/{toggle-group-CUuptLSP.js → toggle-group-CBraKNJ7.js} +1 -1
  183. package/dist/client/assets/{toolbar-Brcztx2Q.js → toolbar-CE9gJtYo.js} +1 -1
  184. package/dist/client/assets/{tools-list-DJunsBR9.js → tools-list-yuhbQkhw.js} +1 -1
  185. package/dist/client/assets/{tooltip-BjyXwk4-.js → tooltip-FBNw4nVO.js} +1 -1
  186. package/dist/client/assets/{types-CTAso5N_.js → types-n2YDSxA4.js} +1 -1
  187. package/dist/client/assets/{use-ai-providers-BJZDY8Y9.js → use-ai-providers-suUCAMGx.js} +1 -1
  188. package/dist/client/assets/{use-automations-Cmrz96gF.js → use-automations-F8sxpovP.js} +1 -1
  189. package/dist/client/assets/{use-capability-B0pYY0r2.js → use-capability-CVFP3WhT.js} +1 -1
  190. package/dist/client/assets/{use-clock-tick-B7ba5G_w.js → use-clock-tick-DervAiLh.js} +1 -1
  191. package/dist/client/assets/{use-collections-DJpkyqRG.js → use-collections-BENY1kCP.js} +1 -1
  192. package/dist/client/assets/{use-connection-B5A06L65.js → use-connection-DYg5H00C.js} +1 -1
  193. package/dist/client/assets/{use-copy-Dp9AIDyE.js → use-copy-CeVxNpud.js} +1 -1
  194. package/dist/client/assets/{use-create-virtual-mcp-DvFTy-qt.js → use-create-virtual-mcp-izJw-zXR.js} +1 -1
  195. package/dist/client/assets/{use-debounced-autosave-BYXOYkk-.js → use-debounced-autosave-DSCKWvQF.js} +1 -1
  196. package/dist/client/assets/{use-delete-connection-WF5NfIcz.js → use-delete-connection-DP7dz4xf.js} +1 -1
  197. package/dist/client/assets/{use-file-configs-DZ1IbDAN.js → use-file-configs-B9X5drJT.js} +1 -1
  198. package/dist/client/assets/{use-infinite-scroll-DUQ6svQh.js → use-infinite-scroll--_mmqYnT.js} +1 -1
  199. package/dist/client/assets/{use-list-state-Bx7Ncrk2.js → use-list-state-DsyTKO23.js} +1 -1
  200. package/dist/client/assets/{use-mcp-client-D1Wt1Ama.js → use-mcp-client-CLwLq9Vl.js} +1 -1
  201. package/dist/client/assets/{use-mcp-prompts-C3lAYJn0.js → use-mcp-prompts-B267X-_C.js} +1 -1
  202. package/dist/client/assets/{use-mcp-tools-B_6LkwOm.js → use-mcp-tools-D4ZIO9iv.js} +1 -1
  203. package/dist/client/assets/{use-members-Ch8rP11v.js → use-members-CPWF2UIp.js} +1 -1
  204. package/dist/client/assets/{use-navigate-to-agent-Df96tRB5.js → use-navigate-to-agent-B002vpC6.js} +1 -1
  205. package/dist/client/assets/{use-org-auth-client-BafLVU4c.js → use-org-auth-client-bsfac5xt.js} +1 -1
  206. package/dist/client/assets/{use-org-sso-Dy5nNvp5.js → use-org-sso-C1kwoIRD.js} +1 -1
  207. package/dist/client/assets/{use-organization-roles-D6FDnuQ7.js → use-organization-roles-_DPpq5Wg.js} +1 -1
  208. package/dist/client/assets/{use-organization-settings-9bjAS-Lz.js → use-organization-settings-25l1s_BF.js} +1 -1
  209. package/dist/client/assets/{use-registry-connections-zD4mCaEh.js → use-registry-connections-CMrhWNW5.js} +1 -1
  210. package/dist/client/assets/{use-secrets-ClIBWX3M.js → use-secrets-B00xpt4M.js} +1 -1
  211. package/dist/client/assets/{use-status-sounds-DCDAeOy7.js → use-status-sounds-C7cE6rna.js} +1 -1
  212. package/dist/client/assets/{use-view-mode-lpAtoRqW.js → use-view-mode-BrzlZey1.js} +1 -1
  213. package/dist/client/assets/{use-virtual-mcp-BsZRrdSO.js → use-virtual-mcp-BgfAZ5Jr.js} +1 -1
  214. package/dist/client/assets/useInfiniteQuery-mF7h7Kib.js +1 -0
  215. package/dist/client/assets/{useRouterState-D6isJH0F.js → useRouterState-CcHttnTA.js} +1 -1
  216. package/dist/client/assets/useSuspenseInfiniteQuery-D6t37oXN.js +1 -0
  217. package/dist/client/assets/{user-BLD1kA1s.js → user-D2mv81pj.js} +1 -1
  218. package/dist/client/assets/{view-mode-toggle-C-NsBriE.js → view-mode-toggle-dEyORvRn.js} +1 -1
  219. package/dist/client/assets/{watch-sse-pool-BSUvJM1x.js → watch-sse-pool-ymdzZonG.js} +1 -1
  220. package/dist/client/assets/{workflow-BxTaQjnF.js → workflow-BhoGGrwE.js} +1 -1
  221. package/dist/client/assets/workflow-detail-y0Js5k1o.js +1 -0
  222. package/dist/client/index.html +1 -1
  223. package/dist/server/cli.js +1 -1
  224. package/package.json +1 -1
  225. package/dist/client/assets/app-editor-CwrKwl6S.js +0 -1
  226. package/dist/client/assets/decopilot-sse-pool-DqoHsSxc.js +0 -1
  227. package/dist/client/assets/page-seo-sheet-NSwZ2Bog.js +0 -1
  228. package/dist/client/assets/project-app-view-HB2vBeZ5.js +0 -1
  229. package/dist/client/assets/record-editor-8FmeVsnk.js +0 -1
  230. package/dist/client/assets/registry-FHAA-0GH.js +0 -2
  231. package/dist/client/assets/save-referenced-block-CjAVAUIA.js +0 -1
  232. package/dist/client/assets/shell-route-loading-BQKfSVKy.js +0 -1
  233. package/dist/client/assets/store-registry-6iSO897G.js +0 -2
  234. package/dist/client/assets/useInfiniteQuery-CvW-Zfuj.js +0 -1
  235. package/dist/client/assets/useSuspenseInfiniteQuery-DGYfhNPQ.js +0 -1
  236. package/dist/client/assets/workflow-detail-Dw0wzylw.js +0 -1
@@ -108331,7 +108331,7 @@ ${c}`;_($);return}if(f(null,D),u.strategy==="count"){if(r--,r===0)_()}if(u.strat
108331
108331
  `);if(_===-1)return;let g=c.subarray(0,_).toString("utf8"),h=c.subarray(_+4),v=g.split(`\r
108332
108332
  `,1)[0]??"";if(!/^HTTP\/1\.[01] 101(?:\s|$)/.test(v)){Vy(t,1011,i.upstreamErrorReason);try{f.end()}catch{}return}r=!0,t.data.upstream=f;let E=ZTl((x,$)=>{try{if(x===1)t.send($.toString("utf8"));else if(x===2)t.send($);else if(x===8){let{code:D,reason:O}=PTl($);Vy(t,D,O);try{f.end()}catch{}}}catch{}});if(f.removeAllListeners("data"),h.length>0)E(h);f.on("data",(x)=>E(x));for(let x of t.data.pending)try{f.write(_Rt(x,!0))}catch{}t.data.pending.length=0})}function BTl(t,i){let u=[`GET ${t} HTTP/1.1`];for(let[l,n]of Object.entries(i))u.push(`${l}: ${n}`);return u.push("",""),u.join(`\r
108333
108333
  `)}function Vy(t,i,u){try{if(i!==void 0)t.close(i,u??"");else t.close()}catch{}}function _Rt(t,i,u){let l,n;if(typeof t==="string")l=Buffer.from(t,"utf8"),n=1;else if(t instanceof ArrayBuffer)l=Buffer.from(t),n=2;else if(Buffer.isBuffer(t))l=t,n=2;else l=Buffer.from(t),n=2;let e=u??n,f=l.length,c=[];c.push(128|e&15);let r=i?128:0;if(f<126)c.push(r|f);else if(f<65536)c.push(r|126,f>>8&255,f&255);else c.push(r|127,0,0,0,0),c.push(f>>>24&255,f>>>16&255,f>>>8&255,f&255);let d=i?4:0,_=Buffer.allocUnsafe(c.length+d+f),g=0;for(let h=0;h<c.length;h++)_[g++]=c[h];if(i){let h=PJi(4);_[g++]=h[0],_[g++]=h[1],_[g++]=h[2],_[g++]=h[3];for(let v=0;v<f;v++)_[g++]=l[v]^h[v&3]}else l.copy(_,g);return _}function PTl(t){if(t.length<2)return{code:1000,reason:""};return{code:t.readUInt16BE(0),reason:t.subarray(2).toString("utf8")}}function ZTl(t){let i=Buffer.alloc(0);return(u)=>{i=i.length===0?u:Buffer.concat([i,u]);while(!0){if(i.length<2)return;let l=i[0],n=i[1],e=l&15,f=(n&128)!==0,c=n&127,r=2;if(c===126){if(i.length<r+2)return;c=i[r]<<8|i[r+1],r+=2}else if(c===127){if(i.length<r+8)return;c=i[r+4]*16777216+(i[r+5]<<16|i[r+6]<<8|i[r+7]),r+=8}let d=null;if(f){if(i.length<r+4)return;d=i.subarray(r,r+4),r+=4}if(i.length<r+c)return;let _=i.subarray(r,r+c);if(d){let g=Buffer.alloc(c);for(let h=0;h<c;h++)g[h]=_[h]^d[h&3];_=g}i=i.subarray(r+c),t(e,_)}}}var FTl=256;var kJi=w(()=>{BJi()});function jJi(t){if(typeof t!=="string"||t.length===0)return null;let i=t.lastIndexOf(":");if(t.startsWith("["))return null;let l=(i>=0?t.slice(0,i):t).replace(/\.$/,"").toLowerCase(),n=".localhost";if(!l.endsWith(n))return null;let e=l.slice(0,-n.length);if(e.length===0)return null;if(e.includes("."))return null;return e}async function GJi(t){let i=SJi({maxPendingFrames:t.maxPendingWsFrames??ATl,backlogOverflowReason:"ingress backlog overflow"}),u=Bun.serve({port:t.port,hostname:"127.0.0.1",idleTimeout:0,async fetch(l,n){let e=l.headers.get("host"),f=jJi(e);if(!f)return new Response("not found",{status:404});let c=t.lookupSandboxPort(f);if(!c){if(l.headers.get("upgrade")==="websocket")return new Response("unknown handle",{status:404});return new Response(STl,{status:503,headers:{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store","Retry-After":"1"}})}if(l.headers.get("upgrade")==="websocket"){let g=new URL(l.url);if(!n.upgrade(l,{data:AJi({port:c,pathQuery:`${g.pathname}${g.search}`,protocols:ZJi(l.headers)})}))return new Response("ws upgrade failed",{status:400});return}let r=new URL(l.url),d=`http://127.0.0.1:${c}${r.pathname}${r.search}`,_=new Headers(l.headers);return _.set("host",`127.0.0.1:${c}`),fetch(d,{method:l.method,headers:_,body:l.body,redirect:"manual"})},websocket:{open:i.open,message:i.message,close:i.close}});return{port:u.port??0,async stop(){u.stop(!0)}}}var ATl=256,STl='<!DOCTYPE html><html><head><meta charset="utf-8"><title>Connecting\u2026</title><style>body{font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;background:#fafafa;color:#555}div{text-align:center;max-width:420px;padding:24px}h3{margin:0 0 8px}p{margin:0;font-size:14px;color:#999;line-height:1.5}</style></head><body><div><h3>Connecting to sandbox\u2026</h3><p>Waiting for the local sandbox to come online. This page refreshes automatically.</p></div><script>setTimeout(function(){window.location.reload()},1500)</script></body></html>';var aJi=w(()=>{kJi()});var WJi={};Vt(WJi,{resolveClaudeCodeExecutable:()=>gRt,nativeVariantOrder:()=>KJi,isMuslLibc:()=>LJi,decideMusl:()=>JJi});import{existsSync as zJi}from"fs";import{createRequire as kTl}from"module";import{dirname as RJi,join as jTl}from"path";function JJi(t){if(t.platform!=="linux")return!1;if(typeof t.glibcVersionRuntime==="string"&&t.glibcVersionRuntime.length>0)return!1;return t.hasMuslLoader}function KJi(t,i,u){if(t!=="linux")return[`${t}-${i}`];let l=`linux-${i}`,n=`linux-${i}-musl`;return u?[n,l]:[l,n]}function GTl(t){if(t==="arm64")return"aarch64";if(t==="x64")return"x86_64";return t}function aTl(t){let i=GTl(t);return[`/lib/ld-musl-${i}.so.1`,`/usr/lib/ld-musl-${i}.so.1`].some((u)=>zJi(u))}function RTl(){return(typeof process.report?.getReport==="function"?process.report.getReport():null)?.header?.glibcVersionRuntime}function LJi(){return JJi({platform:process.platform,glibcVersionRuntime:RTl(),hasMuslLoader:aTl(process.arch)})}function gRt(){if(process.platform!=="linux")return;let t;try{let i=kTl(import.meta.url).resolve(zTl);t=RJi(RJi(i))}catch{return}for(let i of KJi(process.platform,process.arch,LJi())){let u=jTl(t,`claude-agent-sdk-${i}`,"claude");if(zJi(u))return u}return}var zTl="@anthropic-ai/claude-agent-sdk";var hRt=()=>{};async function vRt(t=YTl){let i=["decopilot-sandbox","body-offload"],[u,l]=await Promise.all([t.detectClaudeCode().catch(()=>!1),t.detectCodex().catch(()=>!1)]);if(u)i.push("claude-code");if(l)i.push("codex");return i}function KTl(t){return JTl.filter((i)=>!t.includes(i))}function LTl(t,i){let u=i.filter((l)=>!t.includes(l));return t.push(...u),u}function XJi(t,i={}){let u=i.detect??(()=>vRt()),l=setInterval(()=>{if(KTl(t).length===0)return;u().then((n)=>{let e=LTl(t,n);if(e.length>0)i.onChange?.(e)}).catch(()=>{})},i.intervalMs??60000);return l.unref?.(),()=>clearInterval(l)}async function WTl(){try{let[{query:t},{resolveClaudeCodeExecutable:i}]=await Promise.all([import("@anthropic-ai/claude-agent-sdk"),Promise.resolve().then(() => (hRt(),WJi))]),u=i(),l=t({prompt:"",options:{maxTurns:1,...u?{pathToClaudeCodeExecutable:u}:{}}}),n=await l.accountInfo();return l.return(void 0),Boolean(n.email)}catch{return!1}}async function XTl(){try{let t=Bun.spawn(["codex","--version"],{stdout:"ignore",stderr:"ignore"}),i=setTimeout(()=>t.kill(),1e4),u=await t.exited;return clearTimeout(i),u===0}catch{return!1}}var JTl,YTl;var YJi=w(()=>{JTl=["claude-code","codex"];YTl={detectClaudeCode:WTl,detectCodex:XTl}});import{randomBytes as CTl}from"crypto";import{mkdir as HTl,readFile as QTl,writeFile as oTl}from"fs/promises";import{dirname as MTl,join as qTl}from"path";function mTl(t){return qTl(t,"machine-id")}async function CJi(t){let i=mTl(t);try{let n=(await QTl(i,"utf8")).trim();if(n)return n}catch{}let u=CTl(16).toString("hex");return await HTl(MTl(i),{recursive:!0}),await oTl(i,u),u}var HJi=()=>{};import{randomBytes as VTl}from"crypto";import{mkdir as sTl}from"fs/promises";import{createServer as pTl}from"net";import{join as tbl}from"path";function QJi(t,i){return Error(`sandbox failed to start: ${t}`,{cause:i})}function ibl(t){if(!(t instanceof Error))return!1;return t.name==="TimeoutError"||/timed out|timeout|operation was aborted|aborted/i.test(t.message)}function ubl(t){if(t instanceof Error){let i=t.cause;if(i instanceof Error&&i.message)return i.message;return t.message}return String(t)}function oJi(t){let i=t.maxSandboxes??20,u=new Map,l=t.pickPort??lbl,n=t.fetchImpl??fetch,e=t.resolvePreviewUrl??((h,v)=>`http://127.0.0.1:${v}`),f=(h)=>{try{t.onEvent?.(h)}catch{}},c=async(h)=>{let v=new AbortController,E=setTimeout(()=>v.abort(),1500);try{let x=await n(`${h}/health`,{signal:v.signal});if(!x.ok)console.warn(`[user-desktop] probe ${h}/health \u2192 ${x.status} (treating as dead)`);return x.ok}catch(x){return console.warn(`[user-desktop] probe ${h}/health failed: ${x instanceof Error?x.message:String(x)} (treating as dead)`),!1}finally{clearTimeout(E)}},r=(h)=>{console.warn(`[user-desktop] evicting dead daemon handle=${h.handle} port=${h.port}`);try{h.process.kill("SIGTERM")}catch{}if(u.get(h.handle)===h)u.delete(h.handle),f({handle:h.handle,phase:"evicted"})},d=new Map;function _(){if(u.size<i)return;let h=[...u.values()].filter((E)=>E.activeDispatchCount===0).sort((E,x)=>E.lastUsedAt-x.lastUsedAt);if(h.length===0){console.warn(`[user-desktop] at cap ${u.size}/${i} but every sandbox is pinned (active dispatch) \u2014 exceeding cap temporarily`);return}let v=h[0];console.log(`[user-desktop] evicting LRU victim handle=${v.handle} port=${v.port} (cap ${i} reached, size=${u.size})`);try{v.process.kill("SIGTERM")}catch{}u.delete(v.handle),f({handle:v.handle,phase:"evicted"})}let g=async(h)=>{f({handle:h.handle,phase:"spawning"}),_();let v=tbl(t.dataDir,"sandboxes",h.handle);await sTl(v,{recursive:!0}),console.log(`[user-desktop] ensure handle=${h.handle} repo=${h.repo?.cloneUrl??"(none)"} branch=${h.repo?.branch??"(none)"} runtime=${h.workload?.runtime??"(autodetect)"} pm=${h.workload?.packageManager??"(autodetect)"}`);let E=VTl(24).toString("hex"),[x,$]=await Promise.all([l(),l()]);console.log(`[user-desktop] spawn handle=${h.handle} port=${x} devPort=${$} workdir=${v}`);let D=await Promise.resolve(t.spawnDaemon({workdir:v,handle:h.handle,port:x,daemonToken:E,offloadAllowedHosts:h.offloadAllowedHosts??[],offloadAllowSameHostDev:h.offloadAllowSameHostDev??!1,orgFsConfigJson:h.orgFsConfigJson}));try{try{await t.waitForHealth(x)}catch(b){throw QJi("the sandbox didn't come online in time",b)}console.log(`[user-desktop] healthy handle=${h.handle} port=${x} \u2014 posting config`);try{await t.postConfig(x,$,{repo:h.repo,workload:h.workload,operator:h.operator},E)}catch(b){throw QJi(ibl(b)?"configuration timed out":"the sandbox rejected its configuration",b)}}catch(b){console.error(`[user-desktop] sandbox bring-up failed handle=${h.handle} port=${x} (killing daemon):`,b);try{D.kill("SIGKILL")}catch{}throw f({handle:h.handle,phase:"failed",error:ubl(b)}),b}let O=`http://127.0.0.1:${x}`,N=e(h.handle,x);console.log(`[user-desktop] ready handle=${h.handle} port=${x} sandboxApiUrl=${O} previewUrl=${N}`);let T={handle:h.handle,port:x,process:D,sandboxApiUrl:O,previewUrl:N,lastUsedAt:Date.now(),activeDispatchCount:0,daemonToken:E};if(u.set(h.handle,T),f({handle:h.handle,phase:"ready",port:x,previewUrl:N}),D.exited)D.exited.then(()=>{if(u.get(h.handle)===T)console.warn(`[user-desktop] daemon process exited unexpectedly handle=${h.handle} port=${x} \u2014 removing from cache`),u.delete(h.handle),f({handle:h.handle,phase:"evicted"});else console.log(`[user-desktop] daemon process exited handle=${h.handle} port=${x} (already replaced/removed)`)});return{sandboxApiUrl:O,previewUrl:N,port:x}};return{async ensureSandbox(h){let v=u.get(h.handle);if(v){if(await c(v.sandboxApiUrl))return console.log(`[user-desktop] cache hit handle=${h.handle} port=${v.port} (alive)`),v.lastUsedAt=Date.now(),{sandboxApiUrl:v.sandboxApiUrl,previewUrl:v.previewUrl,port:v.port};console.warn(`[user-desktop] cache stale handle=${h.handle} port=${v.port} \u2014 respawning`),r(v)}let E=d.get(h.handle);if(E)return console.log(`[user-desktop] joining in-flight ensure handle=${h.handle}`),E;let x=g(h).finally(()=>{d.delete(h.handle)});return d.set(h.handle,x),x},proxyPort(h){let v=u.get(h);if(v)v.lastUsedAt=Date.now();return v?.port??null},getDaemonToken(h){return u.get(h)?.daemonToken??null},hasHandle(h){return u.has(h)||d.has(h)},recordHit(h){let v=u.get(h);if(v)v.lastUsedAt=Date.now()},acquireDispatch(h){let v=u.get(h);if(!v)return()=>{};v.activeDispatchCount+=1;let E=!1;return()=>{if(E)return;E=!0;let x=u.get(h);if(x)x.activeDispatchCount=Math.max(0,x.activeDispatchCount-1)}},listSandboxes(){return[...u.values()]},async deleteSandbox(h){let v=u.get(h);if(!v){console.log(`[user-desktop] delete handle=${h} (not found, no-op)`);return}console.log(`[user-desktop] delete handle=${h} port=${v.port}`);try{v.process.kill("SIGTERM")}catch{}u.delete(h),f({handle:h,phase:"deleted"})},async shutdown(){console.log(`[user-desktop] shutdown \u2014 killing ${u.size} sandbox(es)`);for(let h of u.values())try{h.process.kill("SIGTERM")}catch{}u.clear()}}}function lbl(){return new Promise((t,i)=>{let u=pTl();u.unref(),u.on("error",i),u.listen(0,"127.0.0.1",()=>{let l=u.address();if(l&&typeof l==="object"){let n=l.port;u.close(()=>t(n))}else u.close(()=>i(Error("could not allocate port")))})})}var MJi=()=>{};import{randomUUID as nbl}from"crypto";import{hostname as ebl}from"os";async function qJi(t){let i=ebl()||void 0;t.monitor?.onMachine?.(i??"this machine");let u=gGi(t.dataDir,{outFd:t.logFd,perSandboxLog:t.perSandboxLogs,hotReload:t.hotReload}),l=0,n=oJi({dataDir:t.dataDir,resolvePreviewUrl:(b,B)=>l>0?`http://${b}.localhost:${l}`:`http://127.0.0.1:${B}`,spawnDaemon:async(b)=>{let B={DAEMON_BOOT_ID:nbl(),APP_ROOT:b.workdir,PROXY_PORT:String(b.port),DAEMON_TOKEN:b.daemonToken,OFFLOAD_ALLOWED_HOSTS:b.offloadAllowedHosts.join(","),...b.offloadAllowSameHostDev?{OFFLOAD_ALLOW_SAME_HOST_DEV:"1"}:{}};if(b.orgFsConfigJson){let P=await wGi(t.dataDir);if(P)B.ORGFS_CONFIG=b.orgFsConfigJson,B.ORGFS_RCLONE_PATH=P}let A=await u({workdir:b.workdir,env:B,daemonPort:b.port});return{port:b.port,kill:(P)=>A.kill(P),exited:A.exited.then(()=>{return})}},postConfig:async(b,B,A,P)=>{let k={port:B};if(A.workload)k.runtime=A.workload.runtime,k.packageManager={name:A.workload.packageManager,...A.workload.packageManagerPath?{path:A.workload.packageManagerPath}:{}};let Q={application:k},R=fh(A.operator??null);if(R)Q.operator=R;if(A.repo)Q.git={repository:{cloneUrl:A.repo.cloneUrl,branch:A.repo.branch},...A.repo.userName&&A.repo.userEmail?{identity:{userName:A.repo.userName,userEmail:A.repo.userEmail}}:{}};await Xy(`http://127.0.0.1:${b}`,P,Q)},waitForHealth:async(b)=>{await wnt(`http://127.0.0.1:${b}`)},maxSandboxes:20,onEvent:t.monitor?.onEvent}),e=await GJi({port:t.port,lookupSandboxPort:(b)=>n.proxyPort(b)});l=e.port,console.log(`Local ingress listening on http://127.0.0.1:${e.port} (use http://<handle>.localhost:${e.port}/)`),t.monitor?.onIngress?.(e.port);let f=$Gi({provider:n}),c=async()=>{let b=await Yx({dataDir:t.dataDir,target:t.clusterBaseUrl});if(!b)throw Object.assign(Error(`Session for ${t.clusterBaseUrl} is no longer valid \u2014 run \`deco auth login --target ${t.clusterBaseUrl}\` and restart \`deco link\`.`),{fatal:!0});return b.accessToken},r=await CJi(t.dataDir),d=process.env.npm_package_version??"0.0.0",_=await vRt(),g=XJi(_,{onChange:(b)=>{console.log(`[link-daemon] capabilities detected: +${b.join(",")} (now: ${_.join(",")})`)}}),h=aGt({path:`${t.dataDir}/link/outbox.sqlite`}),v=()=>{},E=new AbortController,x={clusterBaseUrl:t.clusterBaseUrl,getAccessToken:c,provider:n,outbox:h,controlHandler:f,capabilities:_,machineId:r,cliVersion:d,previewPort:e.port,onConnected:()=>{t.monitor?.onCluster?.("linked"),console.log(`Linked to ${t.clusterBaseUrl}`)},onShutdown:()=>v(),runLifetimeSignal:E.signal};console.log(`[link-daemon] transport=tunnel cluster=${t.clusterBaseUrl}`);let $=await TJi(x);console.log("[link-daemon] active transport=tunnel");let D,O=new Promise((b)=>{D=b}),N=!1,T=async()=>{if(N)return;N=!0,E.abort(),console.log(`
108334
- Shutting down\u2026`),g();try{await $.close()}catch{}try{await e.stop()}catch{}try{await n.shutdown()}catch{}try{h.close()}catch{}D(0)};return process.on("SIGINT",()=>void T()),process.on("SIGTERM",()=>void T()),v=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms@latest link` to reconnect."),T()},$.closed.then(()=>{if(t.monitor?.onCluster?.("closed"),!N)console.error("Cluster connection closed permanently; exiting."),T()}),{stopped:O,stop:T}}var mJi=w(()=>{UGt();NX();hGi();xGi();yGi();RGt();bJi();aJi();YJi();HJi();OX();MJi()});function ERt(t){return t.map((i)=>typeof i==="string"?i:String(i)).join(" ")}var pnt;var wRt=w(()=>{pnt={name:"decocms",version:"3.36.1",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","test:ct":"playwright test -c playwright-ct.config.ts","test:ct:ui":"playwright test -c playwright-ct.config.ts --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts","smoke:link":"bun run scripts/smoke-link.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.3.181","@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.17.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0",kysely:"^0.28.12","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.210","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/std":"workspace:*","@decocms/tunnel":"workspace:*","@floating-ui/react":"^0.27.16","@happy-dom/global-registrator":"^20.9.0","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/experimental-ct-react":"1.59.1","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.208","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","lucide-react":"^0.468.0",marked:"^15.0.6","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});var XX={};Vt(XX,{printBanner:()=>rbl,bannerLines:()=>VJi,BANNER_LINES:()=>t0t,BANNER_GRADIENT:()=>i0t});function cbl(t){let i=Number.parseInt(t.slice(1),16);return[i>>16&255,i>>8&255,i&255]}function VJi(t){let i=t0t.map((u,l)=>{let[n,e,f]=cbl(i0t[l]);return`\x1B[38;2;${n};${e};${f}m${u}\x1B[39m`});if(t!==void 0)i.push(`\x1B[2m v${t}\x1B[22m`);return i}function rbl(t){console.log("");for(let i of VJi(t))console.log(i);console.log("")}var t0t,i0t;var LG=w(()=>{t0t=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],i0t=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as dbl,Text as sJi}from"ink";import{jsx as _bl,jsxs as pJi}from"react/jsx-runtime";function u0t({version:t}){return pJi(dbl,{flexDirection:"column",marginTop:1,children:[t0t.map((i,u)=>_bl(sJi,{color:i0t[u],children:i},u)),pJi(sJi,{dimColor:!0,children:[" v",t]})]})}var xRt=w(()=>{LG()});var iKi={};Vt(iKi,{subscribeLinkState:()=>DRt,setMachine:()=>Ebl,setLogPath:()=>xbl,setIngress:()=>vbl,setDaemonError:()=>wbl,setClusterUrl:()=>hbl,setCluster:()=>gbl,pushSandboxEvent:()=>$bl,getLinkState:()=>yRt,applySandboxEvent:()=>tKi});function tKi(t,i){let u=new Map(t);if(i.phase==="evicted"||i.phase==="deleted")return u.delete(i.handle),u;let l=u.get(i.handle);return u.set(i.handle,{handle:i.handle,port:i.port??l?.port??null,previewUrl:i.previewUrl??l?.previewUrl??null,status:i.phase,error:i.phase==="failed"?i.error??"failed":null}),u}function sy(){for(let t of $Rt)t()}function yRt(){return cr}function DRt(t){return $Rt.add(t),()=>$Rt.delete(t)}function gbl(t){cr={...cr,cluster:t},sy()}function hbl(t){cr={...cr,clusterUrl:t},sy()}function vbl(t,i){cr={...cr,ingressPort:t,ingressUrl:i},sy()}function Ebl(t){cr={...cr,machine:t},sy()}function wbl(t){cr={...cr,daemonError:t},sy()}function xbl(t){cr={...cr,logPath:t},sy()}function $bl(t){cr={...cr,sandboxes:tKi(cr.sandboxes,t)},sy()}var cr,$Rt;var ORt=w(()=>{cr={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},$Rt=new Set});var uKi={};Vt(uKi,{LinkApp:()=>Obl});import{Box as rr,Text as dr}from"ink";import{useSyncExternalStore as ybl}from"react";import{jsx as _f,jsxs as Qv}from"react/jsx-runtime";function Dbl(t){if(t.status==="ready")return{color:"green",text:"\u25CF Live"};if(t.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${t.error??""}`}}function Obl(){let t=ybl(DRt,yRt),i=[...t.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return Qv(rr,{flexDirection:"column",children:[_f(u0t,{version:pnt.version}),_f(rr,{marginBottom:1,children:_f(dr,{dimColor:!0,children:"\u2500".repeat(80)})}),_f(rr,{children:t.cluster==="linked"?Qv(dr,{color:"green",children:["\u2713 Connected to ",t.clusterUrl??"deco"]}):t.cluster==="connecting"?Qv(dr,{color:"yellow",children:["\u25CC Connecting to ",t.clusterUrl??"deco","\u2026"]}):Qv(dr,{color:"red",children:["\u2717 Disconnected from ",t.clusterUrl??"deco"]})}),_f(rr,{children:t.ingressUrl?Qv(dr,{color:"green",children:["\u2713 Serving at ",t.ingressUrl]}):_f(dr,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),_f(rr,{marginBottom:1,children:_f(dr,{dimColor:!0,children:`${"Computer".padEnd(16)}${t.machine??"this computer"} \xB7 ${i.length} of ${t.cap} previews`})}),i.length===0?_f(dr,{dimColor:!0,children:"No previews running yet."}):Qv(rr,{flexDirection:"column",children:[Qv(rr,{children:[_f(rr,{width:l0t.project,flexShrink:0,marginRight:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),_f(rr,{width:l0t.status,flexShrink:0,marginRight:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),_f(rr,{flexGrow:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),i.map((u)=>{let l=Dbl(u);return Qv(rr,{children:[_f(rr,{width:l0t.project,flexShrink:0,marginRight:1,children:_f(dr,{wrap:"truncate-end",children:u.handle})}),_f(rr,{width:l0t.status,flexShrink:0,marginRight:1,children:_f(dr,{color:l.color,wrap:"truncate-end",children:l.text})}),_f(rr,{flexGrow:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),t.daemonError?_f(rr,{marginTop:1,children:Qv(dr,{color:"red",children:["\u26A0 ",t.daemonError]})}):null,t.logPath?_f(rr,{marginTop:1,children:Qv(dr,{dimColor:!0,children:["Logs: ",t.logPath]})}):null]})}var l0t;var lKi=w(()=>{wRt();xRt();ORt();l0t={project:18,status:14}});var eKi={};Vt(eKi,{runLinkCommand:()=>Pbl});import{closeSync as Nbl,mkdirSync as Tbl,openSync as bbl,writeSync as Ibl}from"fs";import{homedir as Fbl}from"os";import{join as nKi}from"path";function Ubl(t,i){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(i===void 0)return;try{Ibl(i,`${ERt(n)}
108334
+ Shutting down\u2026`),g();try{await $.close()}catch{}try{await e.stop()}catch{}try{await n.shutdown()}catch{}try{h.close()}catch{}D(0)};return process.on("SIGINT",()=>void T()),process.on("SIGTERM",()=>void T()),v=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms@latest link` to reconnect."),T()},$.closed.then(()=>{if(t.monitor?.onCluster?.("closed"),!N)console.error("Cluster connection closed permanently; exiting."),T()}),{stopped:O,stop:T}}var mJi=w(()=>{UGt();NX();hGi();xGi();yGi();RGt();bJi();aJi();YJi();HJi();OX();MJi()});function ERt(t){return t.map((i)=>typeof i==="string"?i:String(i)).join(" ")}var pnt;var wRt=w(()=>{pnt={name:"decocms",version:"3.36.2",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","test:ct":"playwright test -c playwright-ct.config.ts","test:ct:ui":"playwright test -c playwright-ct.config.ts --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts","smoke:link":"bun run scripts/smoke-link.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.3.181","@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.17.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0",kysely:"^0.28.12","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.210","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/std":"workspace:*","@decocms/tunnel":"workspace:*","@floating-ui/react":"^0.27.16","@happy-dom/global-registrator":"^20.9.0","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/experimental-ct-react":"1.59.1","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.208","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","lucide-react":"^0.468.0",marked:"^15.0.6","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});var XX={};Vt(XX,{printBanner:()=>rbl,bannerLines:()=>VJi,BANNER_LINES:()=>t0t,BANNER_GRADIENT:()=>i0t});function cbl(t){let i=Number.parseInt(t.slice(1),16);return[i>>16&255,i>>8&255,i&255]}function VJi(t){let i=t0t.map((u,l)=>{let[n,e,f]=cbl(i0t[l]);return`\x1B[38;2;${n};${e};${f}m${u}\x1B[39m`});if(t!==void 0)i.push(`\x1B[2m v${t}\x1B[22m`);return i}function rbl(t){console.log("");for(let i of VJi(t))console.log(i);console.log("")}var t0t,i0t;var LG=w(()=>{t0t=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],i0t=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as dbl,Text as sJi}from"ink";import{jsx as _bl,jsxs as pJi}from"react/jsx-runtime";function u0t({version:t}){return pJi(dbl,{flexDirection:"column",marginTop:1,children:[t0t.map((i,u)=>_bl(sJi,{color:i0t[u],children:i},u)),pJi(sJi,{dimColor:!0,children:[" v",t]})]})}var xRt=w(()=>{LG()});var iKi={};Vt(iKi,{subscribeLinkState:()=>DRt,setMachine:()=>Ebl,setLogPath:()=>xbl,setIngress:()=>vbl,setDaemonError:()=>wbl,setClusterUrl:()=>hbl,setCluster:()=>gbl,pushSandboxEvent:()=>$bl,getLinkState:()=>yRt,applySandboxEvent:()=>tKi});function tKi(t,i){let u=new Map(t);if(i.phase==="evicted"||i.phase==="deleted")return u.delete(i.handle),u;let l=u.get(i.handle);return u.set(i.handle,{handle:i.handle,port:i.port??l?.port??null,previewUrl:i.previewUrl??l?.previewUrl??null,status:i.phase,error:i.phase==="failed"?i.error??"failed":null}),u}function sy(){for(let t of $Rt)t()}function yRt(){return cr}function DRt(t){return $Rt.add(t),()=>$Rt.delete(t)}function gbl(t){cr={...cr,cluster:t},sy()}function hbl(t){cr={...cr,clusterUrl:t},sy()}function vbl(t,i){cr={...cr,ingressPort:t,ingressUrl:i},sy()}function Ebl(t){cr={...cr,machine:t},sy()}function wbl(t){cr={...cr,daemonError:t},sy()}function xbl(t){cr={...cr,logPath:t},sy()}function $bl(t){cr={...cr,sandboxes:tKi(cr.sandboxes,t)},sy()}var cr,$Rt;var ORt=w(()=>{cr={cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:20,sandboxes:new Map,daemonError:null,logPath:null},$Rt=new Set});var uKi={};Vt(uKi,{LinkApp:()=>Obl});import{Box as rr,Text as dr}from"ink";import{useSyncExternalStore as ybl}from"react";import{jsx as _f,jsxs as Qv}from"react/jsx-runtime";function Dbl(t){if(t.status==="ready")return{color:"green",text:"\u25CF Live"};if(t.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};return{color:"red",text:`\u2717 Error: ${t.error??""}`}}function Obl(){let t=ybl(DRt,yRt),i=[...t.sandboxes.values()].sort((u,l)=>u.handle.localeCompare(l.handle));return Qv(rr,{flexDirection:"column",children:[_f(u0t,{version:pnt.version}),_f(rr,{marginBottom:1,children:_f(dr,{dimColor:!0,children:"\u2500".repeat(80)})}),_f(rr,{children:t.cluster==="linked"?Qv(dr,{color:"green",children:["\u2713 Connected to ",t.clusterUrl??"deco"]}):t.cluster==="connecting"?Qv(dr,{color:"yellow",children:["\u25CC Connecting to ",t.clusterUrl??"deco","\u2026"]}):Qv(dr,{color:"red",children:["\u2717 Disconnected from ",t.clusterUrl??"deco"]})}),_f(rr,{children:t.ingressUrl?Qv(dr,{color:"green",children:["\u2713 Serving at ",t.ingressUrl]}):_f(dr,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),_f(rr,{marginBottom:1,children:_f(dr,{dimColor:!0,children:`${"Computer".padEnd(16)}${t.machine??"this computer"} \xB7 ${i.length} of ${t.cap} previews`})}),i.length===0?_f(dr,{dimColor:!0,children:"No previews running yet."}):Qv(rr,{flexDirection:"column",children:[Qv(rr,{children:[_f(rr,{width:l0t.project,flexShrink:0,marginRight:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),_f(rr,{width:l0t.status,flexShrink:0,marginRight:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),_f(rr,{flexGrow:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),i.map((u)=>{let l=Dbl(u);return Qv(rr,{children:[_f(rr,{width:l0t.project,flexShrink:0,marginRight:1,children:_f(dr,{wrap:"truncate-end",children:u.handle})}),_f(rr,{width:l0t.status,flexShrink:0,marginRight:1,children:_f(dr,{color:l.color,wrap:"truncate-end",children:l.text})}),_f(rr,{flexGrow:1,children:_f(dr,{dimColor:!0,wrap:"truncate-end",children:u.previewUrl??"\u2014"})})]},u.handle)})]}),t.daemonError?_f(rr,{marginTop:1,children:Qv(dr,{color:"red",children:["\u26A0 ",t.daemonError]})}):null,t.logPath?_f(rr,{marginTop:1,children:Qv(dr,{dimColor:!0,children:["Logs: ",t.logPath]})}):null]})}var l0t;var lKi=w(()=>{wRt();xRt();ORt();l0t={project:18,status:14}});var eKi={};Vt(eKi,{runLinkCommand:()=>Pbl});import{closeSync as Nbl,mkdirSync as Tbl,openSync as bbl,writeSync as Ibl}from"fs";import{homedir as Fbl}from"os";import{join as nKi}from"path";function Ubl(t,i){let u={log:console.log,warn:console.warn,error:console.error},l=(n)=>{if(i===void 0)return;try{Ibl(i,`${ERt(n)}
108335
108335
  `)}catch{}};return console.log=(...n)=>l(n),console.warn=(...n)=>l(n),console.error=(...n)=>{l(n),t(ERt(n))},()=>{console.log=u.log,console.warn=u.warn,console.error=u.error}}async function Bbl(t,i){let u;try{u=await fetch(`${t}/api/links/me`,{headers:{authorization:`Bearer ${i}`},signal:AbortSignal.timeout(1e4)})}catch{return}if(u.status===401||u.status===403)throw Error(`Authentication rejected by ${t} \u2014 the session token was not accepted. `+`Run \`deco auth login --target ${t}\` and try again.`)}async function Pbl(t={}){let i=t.port??5174,u=t.dataDir??process.env.DATA_DIR??process.env.DECOCMS_HOME??nKi(Fbl(),"deco"),l=t.clusterBaseUrl??process.env.MESH_CLUSTER_URL??"https://studio.decocms.com",n,e;try{let f=await gnt({dataDir:u,intent:"Link",target:l});if(process.env.DECOCMS_LINK_MANAGED!=="1")await Bbl(l,f.accessToken);let c;if(t.tui){let{render:_}=await import("ink"),{createElement:g}=await import("react"),{LinkApp:h}=await Promise.resolve().then(() => (lKi(),uKi)),{pushSandboxEvent:v,setCluster:E,setClusterUrl:x,setDaemonError:$,setIngress:D,setLogPath:O,setMachine:N}=await Promise.resolve().then(() => (ORt(),iKi));Tbl(u,{recursive:!0});let T=nKi(u,"link.log");e=bbl(T,"w"),O(T),x(l),E("connecting"),c={onEvent:(b)=>v(b),onIngress:(b)=>D(b,`http://127.0.0.1:${b}`),onCluster:(b)=>E(b),onMachine:(b)=>N(b)},n=Ubl($,e),_(g(h),{patchConsole:!1})}else if(t.banner!==!1){let{printBanner:_}=await Promise.resolve().then(() => (LG(),XX));_(t.version??"0.0.0")}let r=process.env.DECOCMS_LINK_MANAGED!=="1";return await(await qJi({port:i,clusterBaseUrl:l,dataDir:u,session:f,monitor:c,logFd:e,perSandboxLogs:r,hotReload:t.hotReload})).stopped}catch(f){return n?.(),console.error(f instanceof Error?f.message:String(f)),1}finally{if(n?.(),e!==void 0)try{Nbl(e)}catch{}}}var fKi=w(()=>{FGt();mJi()});var URt={};Vt(URt,{resolveDevLinkClusterUrl:()=>kbl,populateDevLinkToxiProxy:()=>hKi,isDevLinkToxiProxyEnabled:()=>Sbl,ensureDevLinkToxiProxy:()=>zbl,buildDevLinkToxiProxyConfig:()=>_Ki,DEV_LINK_TOXIPROXY_SERVICE_NAME:()=>rKi,DEV_LINK_TOXIPROXY_PROXY_NAME:()=>dKi});function Sbl(t=process.env){return t.DECO_DEV_LINK_TOXIPROXY==="1"}function NRt(t,i){if(!Number.isInteger(t)||t<1||t>65535)throw Error(`${i} must be an integer port in 1..65535`);return t}function _Ki(t){let i=new URL(t.serverUrl);if(i.protocol!=="http:")throw Error("DECO_DEV_LINK_TOXIPROXY only supports http local Studio URLs");let u=NRt(t.apiPort,"apiPort"),l=NRt(t.listenPort,"listenPort");if(i.port.length===0)throw Error("serverUrl must include an explicit valid port");let n=NRt(Number.parseInt(i.port,10),"upstreamPort"),e=`http://127.0.0.1:${n}`,f=`http://127.0.0.1:${l}`;return{serviceName:rKi,proxyName:dKi,apiUrl:`http://127.0.0.1:${u}`,listen:`0.0.0.0:${l}`,upstream:`host.docker.internal:${n}`,publicTargetUrl:e,clusterUrl:f,logLine:`[dev-link-toxiproxy] ready: ${f} -> ${e}`}}function kbl(t){return t.toxiproxy?.clusterUrl??t.serverUrl}async function TRt(t,i,u){if(t.ok)return;let l=await t.text();throw Error(`ToxiProxy ${i} failed for ${u}: status=${t.status} statusText=${t.statusText} body=${l}`)}function FRt(t){if(t instanceof Error)return t.name==="Error"?t.message:`${t.name}: ${t.message}`;return String(t)}function gKi(t){if(!(t instanceof Error))return!1;if(t.name==="TimeoutError")return!0;return gKi(t.cause)}async function bRt(t,i,u,l){try{return await t(u,l)}catch(n){throw Error(`ToxiProxy ${i} failed for ${u}: ${FRt(n)}`,{cause:n})}}async function hKi(t,i=fetch){let u=`${t.apiUrl}/reset`,l=await bRt(i,"reset",u,{method:"POST"});await TRt(l,"reset",u);let n=`${t.apiUrl}/populate`,e=await bRt(i,"populate",n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify([{name:t.proxyName,listen:t.listen,upstream:t.upstream,enabled:!0}])});await TRt(e,"populate",n)}async function jbl(t,i){let u=`${t.apiUrl}/version`;try{await Qg(async()=>{let l=await bRt(i,"readiness check",u,{method:"GET",signal:AbortSignal.timeout(Abl)});await TRt(l,"readiness check",u)},{maxAttempts:Zbl,minTimeout:cKi,maxTimeout:cKi,multiplier:1,jitter:0,isRetriable:(l)=>!gKi(l)})}catch(l){let n=l instanceof J_?l.cause:l;throw Error(`ToxiProxy API did not become ready at ${u}: ${FRt(n)}`,{cause:n})}}async function Gbl(t){if(t===null)return"";return await new Response(t).text()}async function IRt(t,i={}){let u=["docker",...t].join(" "),l=(()=>{try{return Bun.spawn(["docker",...t],{stdout:"ignore",stderr:"pipe"})}catch(c){throw Error(`Docker command failed to start (${u}): ${FRt(c)}`,{cause:c})}})(),[n,e]=await Promise.all([l.exited,Gbl(l.stderr)]);if(n===0||i.ignoreFailure===!0)return;let f=e.trim().length>0?`: ${e.trim()}`:"";throw Error(`Docker command failed (${u}) with exit ${n}${f}`)}async function abl(t,i){let u=`deco-dev-link-toxiproxy-${t}`;await IRt(["rm","-f",u],{ignoreFailure:!0}),await IRt(["run","--rm","-d","--name",u,"-p",`127.0.0.1:${t}:8474`,"-p",`127.0.0.1:${i}:${i}`,"ghcr.io/shopify/toxiproxy:2.12.0","-host=0.0.0.0"])}async function Rbl(t,i){let u=`deco-dev-link-toxiproxy-${t}`;await IRt(["rm","-f",u],{ignoreFailure:!0})}async function zbl(t){let i=_Ki(t),u=t.startDaemon??abl,l=t.stopDaemon??(t.startDaemon===void 0?Rbl:void 0);await u(t.apiPort,t.listenPort);let n=t.fetchImpl??fetch;try{await jbl(i,n),await hKi(i,n)}catch(e){if(l!==void 0)try{await l(t.apiPort,t.listenPort)}catch{}throw e}return{config:i,stop:async()=>{if(l!==void 0)await l(t.apiPort,t.listenPort)}}}var rKi="ToxiProxy",dKi="dev_link_studio",Zbl=20,cKi=100,Abl=100;var BRt=w(()=>{Nf()});var vKi={};Vt(vKi,{migrateBetterAuth:()=>PRt});import{getMigrations as Jbl}from"better-auth/db";import{sso as Kbl}from"@better-auth/sso";import{organization as Lbl}from"@decocms/better-auth/plugins";import{admin as Wbl,apiKey as Xbl,jwt as Ybl,magicLink as Cbl,mcp as Hbl,openAPI as Qbl}from"better-auth/plugins";import{emailOTP as obl}from"better-auth/plugins/email-otp";async function PRt(t){let u={database:wX(t||Lx()),plugins:[Lbl({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),Wbl(),Xbl(),Ybl(),Qbl(),Hbl({loginPage:"/login"}),Kbl(),Cbl({sendMagicLink:async()=>{}}),obl({sendVerificationOTP:async()=>{}})]},{toBeAdded:l,toBeCreated:n,runMigrations:e}=await Jbl(u);if(!l.length&&!n.length)return"up to date";return await e(),`${n.length+l.length} table(s) migrated`}var ZRt=w(()=>{or()});var ARt={};Vt(ARt,{up:()=>Mbl,down:()=>qbl});import{sql as ov}from"kysely";async function Mbl(t){await t.schema.createTable("connections").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organizationId","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(i)=>i.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(i)=>i.notNull()).addColumn("connectionUrl","text",(i)=>i.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(i)=>i.notNull().defaultTo("active")).addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(i)=>i.primaryKey()).addColumn("userId","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(i)=>i.notNull()).addColumn("hashedKey","text",(i)=>i.notNull().unique()).addColumn("permissions","text",(i)=>i.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(i)=>i.references("user.id").onDelete("set null")).addColumn("connectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("toolName","text",(i)=>i.notNull()).addColumn("allowed","integer",(i)=>i.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(i)=>i.primaryKey()).addColumn("clientId","text",(i)=>i.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(i)=>i.notNull()).addColumn("redirectUris","text",(i)=>i.notNull()).addColumn("grantTypes","text",(i)=>i.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(i)=>i.primaryKey()).addColumn("clientId","text",(i)=>i.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(i)=>i.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(i)=>i.notNull()).addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(i)=>i.primaryKey()).addColumn("clientId","text",(i)=>i.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(i)=>i.primaryKey()).addColumn("connectionId","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(i)=>i.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(i)=>i.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(ov`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function qbl(t){await t.schema.dropTable("downstream_tokens").execute(),await t.schema.dropTable("oauth_refresh_tokens").execute(),await t.schema.dropTable("oauth_authorization_codes").execute(),await t.schema.dropTable("oauth_clients").execute(),await t.schema.dropTable("audit_logs").execute(),await t.schema.dropTable("api_keys").execute(),await t.schema.dropTable("connections").execute()}var EKi=()=>{};var SRt={};Vt(SRt,{up:()=>mbl,down:()=>Vbl});import{sql as wKi}from"kysely";async function mbl(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(i)=>i.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(i)=>i.notNull().defaultTo(wKi`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(i)=>i.notNull().defaultTo(wKi`CURRENT_TIMESTAMP`)).execute()}async function Vbl(t){await t.schema.dropTable("organization_settings").execute()}var xKi=()=>{};var kRt={};Vt(kRt,{up:()=>sbl,down:()=>pbl});async function sbl(t){await t.schema.alterTable("connections").renameColumn("name","title").execute(),await t.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await t.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await t.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await t.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await t.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await t.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await t.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await t.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await t.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await t.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await t.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function pbl(t){await t.schema.alterTable("connections").renameColumn("title","name").execute(),await t.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await t.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await t.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await t.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await t.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await t.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await t.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await t.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await t.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await t.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await t.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var jRt={};Vt(jRt,{up:()=>tIl,down:()=>iIl});async function tIl(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(i)=>i.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(i)=>i.notNull()).addColumn("updatedAt","text",(i)=>i.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((i)=>i.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function iIl(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(i)=>i.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(i)=>i.notNull()).addColumn("updatedAt","text",(i)=>i.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((i)=>i.selectFrom("organization_settings").select(["organizationId",i.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var GRt={};Vt(GRt,{up:()=>uIl,down:()=>lIl});async function uIl(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function lIl(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var aRt={};Vt(aRt,{up:()=>eIl,down:()=>fIl});import{sql as nIl}from"kysely";async function eIl(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",nIl`text`).execute()}async function fIl(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var $Ki=()=>{};var RRt={};Vt(RRt,{up:()=>cIl,down:()=>rIl});async function cIl(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(i)=>i.notNull()).addColumn("tool_name","text",(i)=>i.notNull()).addColumn("input","text",(i)=>i.notNull()).addColumn("output","text",(i)=>i.notNull()).addColumn("is_error","integer",(i)=>i.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(i)=>i.notNull()).addColumn("timestamp","text",(i)=>i.notNull()).addColumn("user_id","text").addColumn("request_id","text",(i)=>i.notNull()).execute(),await t.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function rIl(t){await t.schema.dropIndex("monitoring_logs_is_error").execute(),await t.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await t.schema.dropTable("monitoring_logs").execute()}var zRt={};Vt(zRt,{up:()=>dIl,down:()=>_Il});import{sql as YX}from"kysely";async function dIl(t){await t.schema.createTable("events").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(i)=>i.notNull()).addColumn("source","text",(i)=>i.notNull()).addColumn("specversion","text",(i)=>i.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(i)=>i.notNull()).addColumn("datacontenttype","text",(i)=>i.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(i)=>i.notNull().defaultTo("pending")).addColumn("attempts","integer",(i)=>i.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(i)=>i.notNull().defaultTo(YX`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(i)=>i.notNull().defaultTo(YX`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(i)=>i.notNull()).addColumn("filter","text").addColumn("enabled","integer",(i)=>i.notNull().defaultTo(1)).addColumn("created_at","text",(i)=>i.notNull().defaultTo(YX`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(i)=>i.notNull().defaultTo(YX`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(i)=>i.primaryKey()).addColumn("event_id","text",(i)=>i.notNull()).addColumn("subscription_id","text",(i)=>i.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(i)=>i.notNull().defaultTo("pending")).addColumn("attempts","integer",(i)=>i.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(i)=>i.notNull().defaultTo(YX`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await t.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await t.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await t.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await t.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await t.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await t.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await t.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await t.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function _Il(t){await t.schema.dropIndex("idx_deliveries_retry").execute(),await t.schema.dropIndex("idx_deliveries_subscription_status").execute(),await t.schema.dropIndex("idx_deliveries_event").execute(),await t.schema.dropIndex("idx_subscriptions_unique").execute(),await t.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await t.schema.dropIndex("idx_subscriptions_type").execute(),await t.schema.dropIndex("idx_subscriptions_connection").execute(),await t.schema.dropIndex("idx_events_retry").execute(),await t.schema.dropIndex("idx_events_type").execute(),await t.schema.dropIndex("idx_events_source").execute(),await t.schema.dropIndex("idx_events_org_status").execute(),await t.schema.dropTable("event_deliveries").execute(),await t.schema.dropTable("event_subscriptions").execute(),await t.schema.dropTable("events").execute()}var yKi=()=>{};var JRt={};Vt(JRt,{up:()=>hIl,down:()=>vIl});import{sql as gIl}from"kysely";async function hIl(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function vIl(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(i)=>i.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(i)=>i.references("user.id").onDelete("set null")).addColumn("connectionId","text",(i)=>i.references("connections.id").onDelete("set null")).addColumn("toolName","text",(i)=>i.notNull()).addColumn("allowed","integer",(i)=>i.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(i)=>i.notNull().defaultTo(gIl`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var DKi=()=>{};var KRt={};Vt(KRt,{up:()=>EIl,down:()=>wIl});import{sql as n0t}from"kysely";async function EIl(t){await t.schema.createTable("gateways").addColumn("id","text",(i)=>i.primaryKey()).addColumn("organization_id","text",(i)=>i.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(i)=>i.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(i)=>i.notNull().defaultTo("active")).addColumn("is_default","integer",(i)=>i.notNull().defaultTo(0)).addColumn("created_at","text",(i)=>i.notNull().defaultTo(n0t`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(i)=>i.notNull().defaultTo(n0t`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(i)=>i.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(i)=>i.primaryKey()).addColumn("gateway_id","text",(i)=>i.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(i)=>i.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(i)=>i.notNull().defaultTo(n0t`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await n0t`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function wIl(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_default_per_org").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropTable("gateway_connections").execute(),await t.schema.dropTable("gateways").execute()}var OKi=()=>{};var LRt={};Vt(LRt,{up:()=>xIl,down:()=>$Il});async function xIl(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function $Il(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var WRt={};Vt(WRt,{up:()=>yIl,down:()=>DIl});import{sql as e0t}from"kysely";async function yIl(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(i)=>i.notNull().defaultTo("inclusion")).execute(),await e0t`
108336
108336
  UPDATE gateways
108337
108337
  SET tool_selection_mode = CASE
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decocms",
3
- "version": "3.36.1",
3
+ "version": "3.36.2",
4
4
  "description": "Deco CMS — Self-hostable MCP Gateway for managing AI connections and tools",
5
5
  "author": "Deco team",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- import{e as W,r as B,j as e,c as X,l as Y}from"./index-CiybtfLu.js";import{i as Z}from"./ChevronRight-CxxNo5xV.js";import{S as tt}from"./scroll-area-CUtpZ3i2.js";import{aa as et,ab as rt,f as ot}from"./index-Cb4WTt-q.js";import{c as it}from"./save-referenced-block-CjAVAUIA.js";import{S as mt}from"./schema-form-MsvEbpzs.js";import{S as pt}from"./save-status-B5RVyMMa.js";import"./select-DyYLWAtt.js";import"./tooltip-BjyXwk4-.js";import"./Check-eh46ZGML.js";import"./ChevronDown-4LxQ5oPz.js";import"./ChevronUp-ATBl3MAi.js";import"./agent-capabilities-Bm-PLFs1.js";import"./chat-context-B17fAiGJ.js";import"./tab-id-D6XV4CDL.js";import"./use-mcp-client-D1Wt1Ama.js";import"./auth-C28A30Tc.js";import"./watch-sse-pool-BSUvJM1x.js";import"./decopilot-sse-pool-DqoHsSxc.js";import"./use-virtual-mcp-BsZRrdSO.js";import"./use-collections-DJpkyqRG.js";import"./use-ai-providers-BJZDY8Y9.js";import"./use-organization-settings-9bjAS-Lz.js";import"./pair-lHmdq1Qv.js";import"./agent-icon-CkXhv6DR.js";import"./AlertCircle-BnqV2fhH.js";import"./Tool01-DCdaNaEY.js";import"./SwitchHorizontal01-C4dRfRR7.js";import"./RefreshCcw01-CXJQK3v9.js";import"./XCircle-BGJwPzuZ.js";import"./ArrowUpRight-DLu3LSuz.js";import"./ZapSquare-B2POR1ZS.js";import"./Users03-CORMvH6Y.js";import"./CheckCircle-C0r3mBzW.js";import"./ChevronLeft-D0NHXMar.js";import"./DotsVertical-CNRvkzVu.js";import"./Container-CV0p7hHO.js";import"./Eye-DVlN5jxk.js";import"./ZoomOut-BM2NUDgV.js";import"./Globe01-B9VL3QNT.js";import"./FilterLines-L07hHUB-.js";import"./Star01-D0denzoA.js";import"./Palette-IBuOwnrk.js";import"./HardDrive-COh7IrR0.js";import"./Stars02-DiuJq52q.js";import"./Key01-aulVwqL7.js";import"./LayoutLeft-DWk83m69.js";import"./LinkExternal01-D_x8dxjY.js";import"./Monitor01-2xEKWZVQ.js";import"./Sun-BQHzenzm.js";import"./Play-C1Dc-lf9.js";import"./Plus-BLTD9g1p.js";import"./SearchMd-B3lNgj0Q.js";import"./Settings02-BtL-CPg2.js";import"./Shield01-JtF9z5lI.js";import"./Stars01-b6QvFAbV.js";import"./Trash01-mLRbM1z9.js";import"./Upload01-BP26EgoC.js";import"./User01-DpZZxZQw.js";import"./Users01-CTI49oYx.js";import"./XClose-BwlE-Nu8.js";import"./X-gn1ly4Nc.js";import"./Zap-DqD6AduN.js";import"./use-clock-tick-B7ba5G_w.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-Dp9AIDyE.js";import"./file-type-icon-Bw8qs6o2.js";import"./dialog-BSB689j7.js";import"./content-blocks-o63cs2vh.js";import"./types-CTAso5N_.js";import"./studio-tools-ByWE0fVB.js";import"./shell-layout-CvbgPIaO.js";import"./avatar-B_BYzpDz.js";import"./required-auth-layout-DI6zQAQY.js";import"./useRouterState-D6isJH0F.js";import"./use-org-sso-Dy5nNvp5.js";import"./integration-icon-BG6b6lUb.js";import"./use-navigate-to-agent-Df96tRB5.js";import"./use-connection-B5A06L65.js";import"./use-mcp-prompts-C3lAYJn0.js";import"./form-UO3a-lMt.js";import"./label-BALZ87Ne.js";import"./input-BIou7x1s.js";import"./spinner-DBVYiKjc.js";import"./drawer-C82Ms0Cv.js";import"./collection-search-6oM8sAkn.js";import"./tabs-B4Xt74wj.js";import"./toggle-group-CUuptLSP.js";import"./sortable.esm-BzXaOB_3.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-DIcosm0X.js";import"./use-registry-connections-zD4mCaEh.js";import"./useInfiniteQuery-CvW-Zfuj.js";import"./use-infinite-scroll-DUQ6svQh.js";import"./extract-connection-data-CnLrafQF.js";import"./generate-id-CZUSC7-8.js";import"./collections-DFNd7jPX.js";import"./card-DV27UhYe.js";import"./collection-tabs-IWqiXV1e.js";import"./badge-BzbbNtAh.js";import"./textarea-CpqLWirc.js";import"./connection-form-helpers-ChlYhyg6.js";import"./useSuspenseInfiniteQuery-DGYfhNPQ.js";import"./mcp-oauth-CJ3fuseB.js";import"./connect-desktop-dialog-D-tmt4pE.js";import"./decopilot-D_s8NcrD.js";import"./checkbox-C8E6yiOS.js";import"./skeleton-C0n2MBSC.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-ByNQkiKy.js";import"./popover-DwdaLh0V.js";import"./command-D1SdiPwD.js";import"./index-B1OoDAS2.js";import"./index-DEbs6yYd.js";import"./dropdown-menu-FYqDJehF.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-BQKfSVKy.js";import"./sidebar-CT4nDj9F.js";import"./sheet-CJSR0f_J.js";import"./toolbar-Brcztx2Q.js";import"./use-create-virtual-mcp-DvFTy-qt.js";import"./github-repo-picker-FLFbegfT.js";import"./use-mcp-tools-B_6LkwOm.js";import"./alert-dialog-ZJsAqfzl.js";import"./index-SkqPgX26.js";import"./use-org-auth-client-BafLVU4c.js";import"./hover-card-C3LYC-kn.js";import"./task-status-CizXRJxN.js";import"./use-status-sounds-DCDAeOy7.js";import"./empty-state-BxzxLrPP.js";import"./resizable-B2XskWDt.js";import"./use-capability-B0pYY0r2.js";import"./header-tab-button-BOKDj9bu.js";import"./index-BMLWSX3S.js";import"./user-BLD1kA1s.js";import"./tools-list-DJunsBR9.js";import"./switch-CFZgZOoT.js";import"./use-debounced-autosave-BYXOYkk-.js";import"./index-C6tCJ6iD.js";import"./search-input-D_Czo7sj.js";import"./use-secrets-ClIBWX3M.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-DggLsDzc.js";import"./view-mode-toggle-C-NsBriE.js";import"./select-model-Bgdox0ak.js";import"./use-automations-Cmrz96gF.js";import"./monaco-editor-CLILoFVJ.js";import"./automation-runs-C1x-2avW.js";import"./table-DRy0atlv.js";import"./use-members-Ch8rP11v.js";import"./automation-list-row-BS580Xxk.js";import"./calendar-CVM_PlWs.js";import"./image-field-B-axyZ2P.js";import"./use-file-configs-DZ1IbDAN.js";function eo(E){const t=W.c(51),{orgSlug:R,virtualMcpId:P,branch:$,blockKey:r,block:m,meta:p,decofile:C,title:F,excludeFields:K,schemaPending:M}=E,V=M===void 0?!1:M,a=typeof m?.__resolveType=="string"?m.__resolveType:"";let v;t[0]!==K||t[1]!==p||t[2]!==a?(v=et(a,p,K),t[0]=K,t[1]=p,t[2]=a,t[3]=v):v=t[3];const s=v;let b;t[4]!==s?(b=!!s&&Object.keys(s.properties??{}).length>0,t[4]=s,t[5]=b):b=t[5];const T=b;let g;t[6]!==m||t[7]!==r||t[8]!==p||t[9]!==F?(g=F??(m?rt(r,m,p):r),t[6]=m,t[7]=r,t[8]=p,t[9]=F,t[10]=g):g=t[10];const n=g;let j;t[11]!==$||t[12]!==R||t[13]!==P?(j={orgSlug:R,virtualMcpId:P,branch:$},t[11]=$,t[12]=R,t[13]=P,t[14]=j):j=t[14];const{save:c,isPending:A}=ot(j);let y;t[15]!==c?(y=it((l,i)=>c(l,i)),t[15]=c,t[16]=y):y=t[16];const L=y,[G,H]=B.useState(r),[J,q]=B.useState(null),[z,Q]=B.useState(0);let S;t[17]===Symbol.for("react.memo_cache_sentinel")?(S=[],t[17]=S):S=t[17];const[o,O]=B.useState(S);G!==r&&(H(r),q(null),Q(st),O([]));let N;t[18]!==m?(N=m??{},t[18]=m,t[19]=N):N=t[19];const D=J??N;let k;t[20]!==r||t[21]!==a||t[22]!==c?(k=l=>{const i=l;q(i),c(r,{...i,__resolveType:a})},t[20]=r,t[21]=a,t[22]=c,t[23]=k):k=t[23];const I=k;let _;t[24]!==o||t[25]!==n?(_=o.length>0?[n,...o]:[],t[24]=o,t[25]=n,t[26]=_):_=t[26];const h=_;let d;t[27]!==o||t[28]!==h||t[29]!==n?(d=h.length>0?e.jsx("nav",{"aria-label":"Editing breadcrumb",className:"flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm",children:h.map((l,i)=>{const U=i===h.length-1;return e.jsxs("span",{className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[i>0&&e.jsx(Z,{className:"size-3 shrink-0 text-muted-foreground/60"}),e.jsx("button",{type:"button",onClick:()=>O(i===0?[]:o.slice(0,i)),title:l,className:X("min-w-0 truncate rounded-md px-1 py-0.5 text-left transition-colors",U?"font-medium text-foreground":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:l})]},`${l}-${i}`)})}):e.jsx("span",{className:"text-sm font-medium",children:n}),t[27]=o,t[28]=h,t[29]=n,t[30]=d):d=t[30];let f;t[31]!==A?(f=e.jsx(pt,{isPending:A,isError:!1}),t[31]=A,t[32]=f):f=t[32];let u;t[33]!==d||t[34]!==f?(u=e.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[d,f]}),t[33]=d,t[34]=f,t[35]=u):u=t[35];let x;t[36]!==r||t[37]!==o||t[38]!==C||t[39]!==D||t[40]!==z||t[41]!==I||t[42]!==T||t[43]!==p||t[44]!==L||t[45]!==s||t[46]!==V?(x=e.jsx(tt,{className:"min-w-0 flex-1 [&_[data-slot=scroll-area-viewport]>div]:!block",children:e.jsx("div",{className:"px-6 py-6",children:e.jsx("div",{className:"mx-auto max-w-xl",children:T?e.jsx(mt,{schema:s,value:D,onChange:I,basePath:"",breadcrumbPath:o,onBreadcrumbChange:O,decofile:C,meta:p,onSaveReferencedBlock:L},`${r}:${z}`):V?e.jsxs("div",{className:"flex flex-col items-center gap-2 py-6 text-center text-xs text-muted-foreground",children:[e.jsx(Y,{size:16,className:"animate-spin"}),"Loading app schema…"]}):e.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:"No editable schema found for this app."})})})}),t[36]=r,t[37]=o,t[38]=C,t[39]=D,t[40]=z,t[41]=I,t[42]=T,t[43]=p,t[44]=L,t[45]=s,t[46]=V,t[47]=x):x=t[47];let w;return t[48]!==u||t[49]!==x?(w=e.jsxs("div",{className:"flex h-full flex-col",children:[u,x]}),t[48]=u,t[49]=x,t[50]=w):w=t[50],w}function st(E){return E+1}export{eo as AppEditor};
@@ -1 +0,0 @@
1
- import{d as o}from"./watch-sse-pool-BSUvJM1x.js";const c=o;export{c as d};
@@ -1 +0,0 @@
1
- import{e as it,r as E,j as e,l as rt}from"./index-CiybtfLu.js";import{S as mt,d as pt,a as st,b as at}from"./sheet-CJSR0f_J.js";import{S as nt}from"./scroll-area-CUtpZ3i2.js";import{r as lt,c as ct,u as dt,a as St,i as ft,f as ut,d as vt,P as ht,S as gt}from"./page-seo-form-DUSMHeEJ.js";import{n as xt}from"./index-Cb4WTt-q.js";import"./X-gn1ly4Nc.js";import"./select-DyYLWAtt.js";import"./tooltip-BjyXwk4-.js";import"./Check-eh46ZGML.js";import"./ChevronDown-4LxQ5oPz.js";import"./ChevronUp-ATBl3MAi.js";import"./label-BALZ87Ne.js";import"./switch-CFZgZOoT.js";import"./schema-form-MsvEbpzs.js";import"./agent-icon-CkXhv6DR.js";import"./AlertCircle-BnqV2fhH.js";import"./Tool01-DCdaNaEY.js";import"./SwitchHorizontal01-C4dRfRR7.js";import"./RefreshCcw01-CXJQK3v9.js";import"./XCircle-BGJwPzuZ.js";import"./ArrowUpRight-DLu3LSuz.js";import"./ZapSquare-B2POR1ZS.js";import"./Users03-CORMvH6Y.js";import"./CheckCircle-C0r3mBzW.js";import"./ChevronLeft-D0NHXMar.js";import"./ChevronRight-CxxNo5xV.js";import"./DotsVertical-CNRvkzVu.js";import"./Container-CV0p7hHO.js";import"./Eye-DVlN5jxk.js";import"./ZoomOut-BM2NUDgV.js";import"./Globe01-B9VL3QNT.js";import"./FilterLines-L07hHUB-.js";import"./Star01-D0denzoA.js";import"./Palette-IBuOwnrk.js";import"./HardDrive-COh7IrR0.js";import"./Stars02-DiuJq52q.js";import"./Key01-aulVwqL7.js";import"./LayoutLeft-DWk83m69.js";import"./LinkExternal01-D_x8dxjY.js";import"./Monitor01-2xEKWZVQ.js";import"./Sun-BQHzenzm.js";import"./Play-C1Dc-lf9.js";import"./Plus-BLTD9g1p.js";import"./SearchMd-B3lNgj0Q.js";import"./Settings02-BtL-CPg2.js";import"./Shield01-JtF9z5lI.js";import"./Stars01-b6QvFAbV.js";import"./Trash01-mLRbM1z9.js";import"./Upload01-BP26EgoC.js";import"./User01-DpZZxZQw.js";import"./Users01-CTI49oYx.js";import"./XClose-BwlE-Nu8.js";import"./Zap-DqD6AduN.js";import"./calendar-CVM_PlWs.js";import"./input-BIou7x1s.js";import"./popover-DwdaLh0V.js";import"./textarea-CpqLWirc.js";import"./dropdown-menu-FYqDJehF.js";import"./image-field-B-axyZ2P.js";import"./dialog-BSB689j7.js";import"./skeleton-C0n2MBSC.js";import"./tabs-B4Xt74wj.js";import"./use-file-configs-DZ1IbDAN.js";import"./studio-tools-ByWE0fVB.js";import"./useInfiniteQuery-CvW-Zfuj.js";import"./use-infinite-scroll-DUQ6svQh.js";import"./agent-capabilities-Bm-PLFs1.js";import"./chat-context-B17fAiGJ.js";import"./tab-id-D6XV4CDL.js";import"./use-mcp-client-D1Wt1Ama.js";import"./auth-C28A30Tc.js";import"./watch-sse-pool-BSUvJM1x.js";import"./decopilot-sse-pool-DqoHsSxc.js";import"./use-virtual-mcp-BsZRrdSO.js";import"./use-collections-DJpkyqRG.js";import"./use-ai-providers-BJZDY8Y9.js";import"./use-organization-settings-9bjAS-Lz.js";import"./pair-lHmdq1Qv.js";import"./use-clock-tick-B7ba5G_w.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-Dp9AIDyE.js";import"./file-type-icon-Bw8qs6o2.js";import"./content-blocks-o63cs2vh.js";import"./types-CTAso5N_.js";import"./shell-layout-CvbgPIaO.js";import"./avatar-B_BYzpDz.js";import"./required-auth-layout-DI6zQAQY.js";import"./useRouterState-D6isJH0F.js";import"./use-org-sso-Dy5nNvp5.js";import"./integration-icon-BG6b6lUb.js";import"./use-navigate-to-agent-Df96tRB5.js";import"./use-connection-B5A06L65.js";import"./use-mcp-prompts-C3lAYJn0.js";import"./form-UO3a-lMt.js";import"./spinner-DBVYiKjc.js";import"./drawer-C82Ms0Cv.js";import"./collection-search-6oM8sAkn.js";import"./toggle-group-CUuptLSP.js";import"./sortable.esm-BzXaOB_3.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-DIcosm0X.js";import"./use-registry-connections-zD4mCaEh.js";import"./extract-connection-data-CnLrafQF.js";import"./generate-id-CZUSC7-8.js";import"./collections-DFNd7jPX.js";import"./card-DV27UhYe.js";import"./collection-tabs-IWqiXV1e.js";import"./badge-BzbbNtAh.js";import"./connection-form-helpers-ChlYhyg6.js";import"./useSuspenseInfiniteQuery-DGYfhNPQ.js";import"./mcp-oauth-CJ3fuseB.js";import"./connect-desktop-dialog-D-tmt4pE.js";import"./decopilot-D_s8NcrD.js";import"./checkbox-C8E6yiOS.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-ByNQkiKy.js";import"./command-D1SdiPwD.js";import"./index-B1OoDAS2.js";import"./index-DEbs6yYd.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-BQKfSVKy.js";import"./sidebar-CT4nDj9F.js";import"./toolbar-Brcztx2Q.js";import"./use-create-virtual-mcp-DvFTy-qt.js";import"./github-repo-picker-FLFbegfT.js";import"./use-mcp-tools-B_6LkwOm.js";import"./alert-dialog-ZJsAqfzl.js";import"./index-SkqPgX26.js";import"./use-org-auth-client-BafLVU4c.js";import"./hover-card-C3LYC-kn.js";import"./task-status-CizXRJxN.js";import"./use-status-sounds-DCDAeOy7.js";import"./empty-state-BxzxLrPP.js";import"./resizable-B2XskWDt.js";import"./use-capability-B0pYY0r2.js";import"./header-tab-button-BOKDj9bu.js";import"./index-BMLWSX3S.js";import"./user-BLD1kA1s.js";import"./tools-list-DJunsBR9.js";import"./use-debounced-autosave-BYXOYkk-.js";import"./index-C6tCJ6iD.js";import"./search-input-D_Czo7sj.js";import"./use-secrets-ClIBWX3M.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-DggLsDzc.js";import"./view-mode-toggle-C-NsBriE.js";import"./select-model-Bgdox0ak.js";import"./use-automations-Cmrz96gF.js";import"./monaco-editor-CLILoFVJ.js";import"./automation-runs-C1x-2avW.js";import"./table-DRy0atlv.js";import"./use-members-Ch8rP11v.js";import"./automation-list-row-BS580Xxk.js";function fi(u){const t=it.c(46),{open:N,onOpenChange:P,orgSlug:Q,virtualMcpId:U,branch:W,decofile:G,meta:s,target:m,onSaved:X}=u,o=lt(G,m,s),k=m.kind==="site"?"site":m.pageKey,[Y,Z]=E.useState(k),[tt,i]=E.useState(null),[J,g]=E.useState(void 0),[x,y]=E.useState(0);Y!==k&&(Z(k),i(null),g(void 0),y(wt));const{persistSeo:a,persistRawSeo:I,flush:K,isPending:D}=ct({orgSlug:Q,virtualMcpId:U,branch:W,target:m,resolved:o,onSaved:X}),w=m.kind==="page",ot=w?o?.rawSeoData:void 0,v=J!==void 0?J:ot,et=w?dt(v)??void 0:void 0,h=tt??et??o?.seoData??{},p=o?St(h,o):null,n=p&&(!w||ft(v))?xt(p,s):null,_=m.kind==="page"?ut(G,s)?.seoData??void 0:void 0;let j;t[0]!==s?(j=vt(s),t[0]=s,t[1]=j):j=t[1];const M=j;let R;t[2]!==a||t[3]!==o||t[4]!==i?(R=r=>{if(!o)return;const L=r;i(L),a(L)},t[2]=a,t[3]=o,t[4]=i,t[5]=R):R=t[5];const V=R;let F;t[6]!==K||t[7]!==P?(F=r=>{r||K(),P(r)},t[6]=K,t[7]=P,t[8]=F):F=t[8];const z=F,A=m.kind==="site"?"Site SEO":"Page SEO",T=w&&o,B=m.kind==="site"&&o&&n,H=m.kind==="site"?"No site-level SEO block found.":o?"SEO schema not found for this page.":"Could not load page SEO.";let C;t[9]!==i?(C=()=>i(null),t[9]=i,t[10]=C):C=t[10];const $=C;let O;t[11]!==y?(O=()=>y(yt),t[11]=y,t[12]=O):O=t[12];const q=O;let l;t[13]!==A?(l=e.jsx(mt,{className:"text-sm font-semibold",children:A}),t[13]=A,t[14]=l):l=t[14];let c;t[15]!==D?(c=D&&e.jsx(rt,{size:14,className:"animate-spin text-muted-foreground"}),t[15]=D,t[16]=c):c=t[16];let d;t[17]!==l||t[18]!==c?(d=e.jsxs(pt,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[l,c]}),t[17]=l,t[18]=c,t[19]=d):d=t[19];let S;t[20]!==p||t[21]!==q||t[22]!==$||t[23]!==M||t[24]!==v||t[25]!==h||t[26]!==H||t[27]!==x||t[28]!==V||t[29]!==I||t[30]!==a||t[31]!==o||t[32]!==n||t[33]!==i||t[34]!==g||t[35]!==T||t[36]!==B||t[37]!==_?(S=!o||!T&&!B?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:H}):e.jsx(nt,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:e.jsx("div",{className:"px-6 py-4",children:e.jsx("div",{className:"mx-auto max-w-sm",children:T?e.jsx(ht,{rawSeo:v,innerSeo:h,defaultResolveType:M,seoSchema:n,activeResolveType:p,seoTypeOptions:o.seoTypeOptions,formResetKey:x,siteDefaultSeo:_,onPersistRaw:r=>{g(r),I(r)},onInnerChange:r=>{i(r),a(r)},onClearForm:$,onBumpFormKey:q}):n&&p&&e.jsx(gt,{schema:n,resolveType:p,value:h,formResetKey:x,onChange:V})})})}),t[20]=p,t[21]=q,t[22]=$,t[23]=M,t[24]=v,t[25]=h,t[26]=H,t[27]=x,t[28]=V,t[29]=I,t[30]=a,t[31]=o,t[32]=n,t[33]=i,t[34]=g,t[35]=T,t[36]=B,t[37]=_,t[38]=S):S=t[38];let f;t[39]!==d||t[40]!==S?(f=e.jsxs(st,{side:"right",className:"w-[400px] sm:max-w-[440px] p-0 gap-0",children:[d,S]}),t[39]=d,t[40]=S,t[41]=f):f=t[41];let b;return t[42]!==z||t[43]!==N||t[44]!==f?(b=e.jsx(at,{open:N,onOpenChange:z,children:f}),t[42]=z,t[43]=N,t[44]=f,t[45]=b):b=t[45],b}function yt(u){return u+1}function wt(u){return u+1}export{fi as SeoSheet};
@@ -1 +0,0 @@
1
- import{e as H,p as $,j}from"./index-CiybtfLu.js";import{h as v,g as O,s as b}from"./pair-lHmdq1Qv.js";import{u as L}from"./use-mcp-client-D1Wt1Ama.js";import{a as q,c as B}from"./use-mcp-tools-B_6LkwOm.js";import{c as Y}from"./content-blocks-o63cs2vh.js";import{g as k,M as G,a as E}from"./types-CTAso5N_.js";import{a as V,c as z}from"./chat-context-B17fAiGJ.js";import{u as F}from"./shell-layout-CvbgPIaO.js";import"./agent-icon-CkXhv6DR.js";import"./AlertCircle-BnqV2fhH.js";import"./Tool01-DCdaNaEY.js";import"./SwitchHorizontal01-C4dRfRR7.js";import"./RefreshCcw01-CXJQK3v9.js";import"./XCircle-BGJwPzuZ.js";import"./ArrowUpRight-DLu3LSuz.js";import"./ZapSquare-B2POR1ZS.js";import"./Users03-CORMvH6Y.js";import"./CheckCircle-C0r3mBzW.js";import"./Check-eh46ZGML.js";import"./ChevronDown-4LxQ5oPz.js";import"./ChevronLeft-D0NHXMar.js";import"./ChevronRight-CxxNo5xV.js";import"./ChevronUp-ATBl3MAi.js";import"./DotsVertical-CNRvkzVu.js";import"./Container-CV0p7hHO.js";import"./Eye-DVlN5jxk.js";import"./ZoomOut-BM2NUDgV.js";import"./Globe01-B9VL3QNT.js";import"./FilterLines-L07hHUB-.js";import"./Star01-D0denzoA.js";import"./Palette-IBuOwnrk.js";import"./HardDrive-COh7IrR0.js";import"./Stars02-DiuJq52q.js";import"./Key01-aulVwqL7.js";import"./LayoutLeft-DWk83m69.js";import"./LinkExternal01-D_x8dxjY.js";import"./Monitor01-2xEKWZVQ.js";import"./Sun-BQHzenzm.js";import"./Play-C1Dc-lf9.js";import"./Plus-BLTD9g1p.js";import"./SearchMd-B3lNgj0Q.js";import"./Settings02-BtL-CPg2.js";import"./Shield01-JtF9z5lI.js";import"./Stars01-b6QvFAbV.js";import"./Trash01-mLRbM1z9.js";import"./Upload01-BP26EgoC.js";import"./User01-DpZZxZQw.js";import"./Users01-CTI49oYx.js";import"./XClose-BwlE-Nu8.js";import"./X-gn1ly4Nc.js";import"./Zap-DqD6AduN.js";import"./use-clock-tick-B7ba5G_w.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./scroll-area-CUtpZ3i2.js";import"./select-DyYLWAtt.js";import"./tooltip-BjyXwk4-.js";import"./use-copy-Dp9AIDyE.js";import"./file-type-icon-Bw8qs6o2.js";import"./dialog-BSB689j7.js";import"./tab-id-D6XV4CDL.js";import"./watch-sse-pool-BSUvJM1x.js";import"./decopilot-sse-pool-DqoHsSxc.js";import"./studio-tools-ByWE0fVB.js";import"./integration-icon-BG6b6lUb.js";import"./use-virtual-mcp-BsZRrdSO.js";import"./use-collections-DJpkyqRG.js";import"./use-navigate-to-agent-Df96tRB5.js";import"./use-connection-B5A06L65.js";import"./use-mcp-prompts-C3lAYJn0.js";import"./form-UO3a-lMt.js";import"./label-BALZ87Ne.js";import"./input-BIou7x1s.js";import"./spinner-DBVYiKjc.js";import"./auth-C28A30Tc.js";import"./use-ai-providers-BJZDY8Y9.js";import"./use-organization-settings-9bjAS-Lz.js";import"./avatar-B_BYzpDz.js";import"./required-auth-layout-DI6zQAQY.js";import"./useRouterState-D6isJH0F.js";import"./use-org-sso-Dy5nNvp5.js";const J={};function K(S){const t=H.c(37),{client:r,resourceURI:g,tool:e,connectionId:s,orgId:a,args:c}=S,{sendMessage:u}=V(),{setAppContext:d,clearAppContext:o}=z(),{setChatOpen:f,openTab:m}=F(),p=`${s}:${e.name}`;let l;t[0]!==m?(l=h=>h==="inline"?(m("0"),"inline"):"fullscreen",t[0]=m,t[1]=l):l=t[1];const i=l,n=c??J;let T;t[2]!==r||t[3]!==e.name||t[4]!==n?(T={client:r,toolName:e.name,toolArguments:n},t[2]=r,t[3]=e.name,t[4]=n,t[5]=T):T=t[5];const{data:x}=B(T);let R;if(t[6]!==e._meta||t[7]!==e.name){const h=O(e._meta);R=b(e.name,h),t[6]=e._meta,t[7]=e.name,t[8]=R}else R=t[8];const U=R;let I;t[9]!==e.inputSchema?(I=e.inputSchema??{type:"object"},t[9]=e.inputSchema,t[10]=I):I=t[10];let N;t[11]!==U||t[12]!==I||t[13]!==e?(N={...e,name:U,inputSchema:I},t[11]=U,t[12]=I,t[13]=e,t[14]=N):N=t[14];const y=N;let _;t[15]!==u||t[16]!==f?(_=h=>{const w=Y(h.content);w.content.length>0&&(f(!0),u({tiptapDoc:w}))},t[15]=u,t[16]=f,t[17]=_):_=t[17];const D=_;let C;t[18]!==y?(C={tool:y},t[18]=y,t[19]=C):C=t[19];let M;t[20]!==d||t[21]!==p?(M=h=>d(p,h),t[20]=d,t[21]=p,t[22]=M):M=t[22];let P;t[23]!==o||t[24]!==p?(P=()=>o(p),t[23]=o,t[24]=p,t[25]=P):P=t[25];let A;return t[26]!==r||t[27]!==D||t[28]!==i||t[29]!==a||t[30]!==g||t[31]!==C||t[32]!==M||t[33]!==P||t[34]!==n||t[35]!==x?(A=j.jsx(G,{resourceURI:g,orgId:a,toolInfo:C,toolInput:n,toolResult:x,displayMode:"fullscreen",minHeight:E.fullscreen.minHeight,maxHeight:E.fullscreen.maxHeight,client:r,onMessage:D,onUpdateModelContext:M,onTeardown:P,onRequestDisplayMode:i,className:"h-full"}),t[26]=r,t[27]=D,t[28]=i,t[29]=a,t[30]=g,t[31]=C,t[32]=M,t[33]=P,t[34]=n,t[35]=x,t[36]=A):A=t[36],A}function Te(S){const t=H.c(20),{connectionId:r,toolName:g,args:e}=S,{org:s}=$();let a;t[0]!==r||t[1]!==s.id||t[2]!==s.slug?(a={connectionId:r,orgId:s.id,orgSlug:s.slug},t[0]=r,t[1]=s.id,t[2]=s.slug,t[3]=a):a=t[3];const c=L(a);let u;t[4]!==c?(u={client:c},t[4]=c,t[5]=u):u=t[5];const{data:d}=q(u);let o,f,m;t[6]!==g||t[7]!==d.tools?(o=v(decodeURIComponent(g)),m=d.tools.find(i=>i.name===o)??d.tools.find(i=>{const n=O(i._meta);if(!n)return!1;if(b(i.name,n)===o)return!0;const x=b(o,n);return x!==o&&i.name===x}),f=m?._meta?k(m._meta):void 0,t[6]=g,t[7]=d.tools,t[8]=o,t[9]=f,t[10]=m):(o=t[8],f=t[9],m=t[10]);const p=f;if(!m||!p){let i;return t[11]!==o?(i=j.jsx("div",{className:"flex items-center justify-center h-full w-full",children:j.jsxs("p",{className:"text-sm text-muted-foreground",children:['Tool "',o,'" not found or has no UI']})}),t[11]=o,t[12]=i):i=t[12],i}let l;return t[13]!==e||t[14]!==c||t[15]!==r||t[16]!==s.id||t[17]!==p||t[18]!==m?(l=j.jsx(K,{client:c,resourceURI:p,tool:m,connectionId:r,orgId:s.id,args:e}),t[13]=e,t[14]=c,t[15]=r,t[16]=s.id,t[17]=p,t[18]=m,t[19]=l):l=t[19],l}export{Te as AppViewContent};
@@ -1 +0,0 @@
1
- import{e as C,j as r}from"./index-CiybtfLu.js";import{I as F}from"./input-BIou7x1s.js";import{L as T}from"./label-BALZ87Ne.js";import{T as L}from"./textarea-CpqLWirc.js";import{I as A}from"./image-field-B-axyZ2P.js";import{ae as R,af as D,ah as J}from"./index-Cb4WTt-q.js";import{u as K,s as S}from"./primitives-B-U4LZoe.js";import{S as M}from"./save-status-B5RVyMMa.js";import"./Tool01-DCdaNaEY.js";import"./Trash01-mLRbM1z9.js";import"./Upload01-BP26EgoC.js";import"./AlertCircle-BnqV2fhH.js";import"./Check-eh46ZGML.js";import"./Eye-DVlN5jxk.js";import"./DotsVertical-CNRvkzVu.js";import"./agent-icon-CkXhv6DR.js";import"./SwitchHorizontal01-C4dRfRR7.js";import"./RefreshCcw01-CXJQK3v9.js";import"./XCircle-BGJwPzuZ.js";import"./ArrowUpRight-DLu3LSuz.js";import"./ZapSquare-B2POR1ZS.js";import"./Users03-CORMvH6Y.js";import"./CheckCircle-C0r3mBzW.js";import"./ChevronDown-4LxQ5oPz.js";import"./ChevronLeft-D0NHXMar.js";import"./ChevronRight-CxxNo5xV.js";import"./ChevronUp-ATBl3MAi.js";import"./Container-CV0p7hHO.js";import"./ZoomOut-BM2NUDgV.js";import"./Globe01-B9VL3QNT.js";import"./FilterLines-L07hHUB-.js";import"./Star01-D0denzoA.js";import"./Palette-IBuOwnrk.js";import"./HardDrive-COh7IrR0.js";import"./Stars02-DiuJq52q.js";import"./Key01-aulVwqL7.js";import"./LayoutLeft-DWk83m69.js";import"./LinkExternal01-D_x8dxjY.js";import"./Monitor01-2xEKWZVQ.js";import"./Sun-BQHzenzm.js";import"./Play-C1Dc-lf9.js";import"./Plus-BLTD9g1p.js";import"./SearchMd-B3lNgj0Q.js";import"./Settings02-BtL-CPg2.js";import"./Shield01-JtF9z5lI.js";import"./Stars01-b6QvFAbV.js";import"./User01-DpZZxZQw.js";import"./Users01-CTI49oYx.js";import"./XClose-BwlE-Nu8.js";import"./X-gn1ly4Nc.js";import"./Zap-DqD6AduN.js";import"./dialog-BSB689j7.js";import"./dropdown-menu-FYqDJehF.js";import"./skeleton-C0n2MBSC.js";import"./tabs-B4Xt74wj.js";import"./use-file-configs-DZ1IbDAN.js";import"./studio-tools-ByWE0fVB.js";import"./useInfiniteQuery-CvW-Zfuj.js";import"./use-infinite-scroll-DUQ6svQh.js";import"./agent-capabilities-Bm-PLFs1.js";import"./chat-context-B17fAiGJ.js";import"./tab-id-D6XV4CDL.js";import"./use-mcp-client-D1Wt1Ama.js";import"./auth-C28A30Tc.js";import"./watch-sse-pool-BSUvJM1x.js";import"./decopilot-sse-pool-DqoHsSxc.js";import"./use-virtual-mcp-BsZRrdSO.js";import"./use-collections-DJpkyqRG.js";import"./use-ai-providers-BJZDY8Y9.js";import"./use-organization-settings-9bjAS-Lz.js";import"./pair-lHmdq1Qv.js";import"./use-clock-tick-B7ba5G_w.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./scroll-area-CUtpZ3i2.js";import"./select-DyYLWAtt.js";import"./tooltip-BjyXwk4-.js";import"./use-copy-Dp9AIDyE.js";import"./file-type-icon-Bw8qs6o2.js";import"./content-blocks-o63cs2vh.js";import"./types-CTAso5N_.js";import"./shell-layout-CvbgPIaO.js";import"./avatar-B_BYzpDz.js";import"./required-auth-layout-DI6zQAQY.js";import"./useRouterState-D6isJH0F.js";import"./use-org-sso-Dy5nNvp5.js";import"./integration-icon-BG6b6lUb.js";import"./use-navigate-to-agent-Df96tRB5.js";import"./use-connection-B5A06L65.js";import"./use-mcp-prompts-C3lAYJn0.js";import"./form-UO3a-lMt.js";import"./spinner-DBVYiKjc.js";import"./drawer-C82Ms0Cv.js";import"./collection-search-6oM8sAkn.js";import"./toggle-group-CUuptLSP.js";import"./sortable.esm-BzXaOB_3.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-DIcosm0X.js";import"./use-registry-connections-zD4mCaEh.js";import"./extract-connection-data-CnLrafQF.js";import"./generate-id-CZUSC7-8.js";import"./collections-DFNd7jPX.js";import"./card-DV27UhYe.js";import"./collection-tabs-IWqiXV1e.js";import"./badge-BzbbNtAh.js";import"./connection-form-helpers-ChlYhyg6.js";import"./useSuspenseInfiniteQuery-DGYfhNPQ.js";import"./mcp-oauth-CJ3fuseB.js";import"./connect-desktop-dialog-D-tmt4pE.js";import"./decopilot-D_s8NcrD.js";import"./checkbox-C8E6yiOS.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-ByNQkiKy.js";import"./popover-DwdaLh0V.js";import"./command-D1SdiPwD.js";import"./index-B1OoDAS2.js";import"./index-DEbs6yYd.js";import"./question-004-sINsf4GQ.js";import"./shell-route-loading-BQKfSVKy.js";import"./sidebar-CT4nDj9F.js";import"./sheet-CJSR0f_J.js";import"./toolbar-Brcztx2Q.js";import"./use-create-virtual-mcp-DvFTy-qt.js";import"./github-repo-picker-FLFbegfT.js";import"./use-mcp-tools-B_6LkwOm.js";import"./alert-dialog-ZJsAqfzl.js";import"./index-SkqPgX26.js";import"./use-org-auth-client-BafLVU4c.js";import"./hover-card-C3LYC-kn.js";import"./task-status-CizXRJxN.js";import"./use-status-sounds-DCDAeOy7.js";import"./empty-state-BxzxLrPP.js";import"./resizable-B2XskWDt.js";import"./use-capability-B0pYY0r2.js";import"./header-tab-button-BOKDj9bu.js";import"./index-BMLWSX3S.js";import"./user-BLD1kA1s.js";import"./tools-list-DJunsBR9.js";import"./switch-CFZgZOoT.js";import"./use-debounced-autosave-BYXOYkk-.js";import"./index-C6tCJ6iD.js";import"./search-input-D_Czo7sj.js";import"./use-secrets-ClIBWX3M.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./accordion-DggLsDzc.js";import"./view-mode-toggle-C-NsBriE.js";import"./select-model-Bgdox0ak.js";import"./use-automations-Cmrz96gF.js";import"./monaco-editor-CLILoFVJ.js";import"./automation-runs-C1x-2avW.js";import"./table-DRy0atlv.js";import"./use-members-Ch8rP11v.js";import"./automation-list-row-BS580Xxk.js";const $={authors:[{key:"name",label:"Name",widget:"text"},{key:"email",label:"Email",widget:"text",placeholder:"author@example.com"},{key:"jobTitle",label:"Job title",widget:"text"},{key:"company",label:"Company",widget:"text"},{key:"avatar",label:"Avatar",widget:"image"}],categories:[{key:"name",label:"Name",widget:"text"},{key:"slug",label:"Slug",widget:"text",placeholder:"my-category"}]},q={authors:"Author",categories:"Category"};function Lr(P){const t=C.c(34),{orgSlug:v,virtualMcpId:j,branch:f,kind:p,blockKey:y,block:w}=P;let u;t[0]!==f||t[1]!==v||t[2]!==j?(u={orgSlug:v,virtualMcpId:j,branch:f},t[0]=f,t[1]=v,t[2]=j,t[3]=u):u=t[3];const m=R(u);let d;t[4]!==w||t[5]!==p?(d=D(w,p),t[4]=w,t[5]=p,t[6]=d):d=t[6];const B=d;let h;t[7]!==y||t[8]!==p||t[9]!==m?(h=e=>{m.mutate({blockKey:y,data:J(y,p,e)})},t[7]=y,t[8]=p,t[9]=m,t[10]=h):h=t[10];const[i,E]=K(B,h);let k;t[11]!==i||t[12]!==E?(k=(e,o)=>E({...i,[e]:o}),t[11]=i,t[12]=E,t[13]=k):k=t[13];const a=k,N=q[p];let s;t[14]!==N?(s=r.jsx("span",{className:"text-sm font-medium",children:N}),t[14]=N,t[15]=s):s=t[15];let l;t[16]!==m.isError||t[17]!==m.isPending?(l=r.jsx(M,{isPending:m.isPending,isError:m.isError}),t[16]=m.isError,t[17]=m.isPending,t[18]=l):l=t[18];let n;t[19]!==s||t[20]!==l?(n=r.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[s,l]}),t[19]=s,t[20]=l,t[21]=n):n=t[21];const I=$[p];let c;if(t[22]!==i||t[23]!==a||t[24]!==I){let e;t[26]!==i||t[27]!==a?(e=o=>r.jsx("div",{className:"space-y-2",children:o.widget==="image"?r.jsx(A,{schema:{type:"string",format:"image-uri",title:o.label},value:i[o.key],onChange:x=>a(o.key,x),path:o.key,label:o.label}):r.jsxs(r.Fragment,{children:[r.jsx(T,{htmlFor:o.key,children:o.label}),o.widget==="textarea"?r.jsx(L,{id:o.key,value:S(i[o.key]),onChange:x=>a(o.key,x.target.value),rows:3}):r.jsx(F,{id:o.key,value:S(i[o.key]),placeholder:o.placeholder,onChange:x=>a(o.key,x.target.value),className:"h-10"})]})},o.key),t[26]=i,t[27]=a,t[28]=e):e=t[28],c=I.map(e),t[22]=i,t[23]=a,t[24]=I,t[25]=c}else c=t[25];let g;t[29]!==c?(g=r.jsx("div",{className:"min-w-0 flex-1 overflow-y-auto px-6 py-6",children:r.jsx("div",{className:"mx-auto max-w-xl space-y-6",children:c})}),t[29]=c,t[30]=g):g=t[30];let b;return t[31]!==g||t[32]!==n?(b=r.jsxs("div",{className:"flex h-full flex-col",children:[n,g]}),t[31]=g,t[32]=n,t[33]=b):b=t[33],b}export{Lr as RecordEditor};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/registry-layout-Bw_kbjOh.js","assets/index-CiybtfLu.js","assets/index-DfYyH4IW.css","assets/XCircle-BGJwPzuZ.js","assets/CheckCircle-C0r3mBzW.js","assets/Container-CV0p7hHO.js","assets/Settings02-BtL-CPg2.js","assets/use-mcp-client-D1Wt1Ama.js","assets/auth-C28A30Tc.js","assets/useInfiniteQuery-CvW-Zfuj.js","assets/use-infinite-scroll-DUQ6svQh.js","assets/studio-tools-ByWE0fVB.js","assets/badge-BzbbNtAh.js","assets/input-BIou7x1s.js","assets/dropdown-menu-FYqDJehF.js","assets/Check-eh46ZGML.js","assets/ChevronRight-CxxNo5xV.js","assets/DotsVertical-CNRvkzVu.js","assets/table-DRy0atlv.js","assets/toggle-group-CUuptLSP.js","assets/use-view-mode-lpAtoRqW.js","assets/tooltip-BjyXwk4-.js","assets/FilterLines-L07hHUB-.js","assets/Globe01-B9VL3QNT.js","assets/SearchMd-B3lNgj0Q.js","assets/dialog-BSB689j7.js","assets/X-gn1ly4Nc.js","assets/AlertCircle-BnqV2fhH.js","assets/Upload01-BP26EgoC.js","assets/alert-dialog-ZJsAqfzl.js","assets/card-DV27UhYe.js","assets/Trash01-mLRbM1z9.js","assets/label-BALZ87Ne.js","assets/select-DyYLWAtt.js","assets/ChevronDown-4LxQ5oPz.js","assets/ChevronUp-ATBl3MAi.js","assets/switch-CFZgZOoT.js","assets/textarea-CpqLWirc.js","assets/RefreshCcw01-CXJQK3v9.js","assets/checkbox-C8E6yiOS.js","assets/Eye-DVlN5jxk.js","assets/LinkExternal01-D_x8dxjY.js","assets/use-copy-Dp9AIDyE.js","assets/Key01-aulVwqL7.js","assets/Plus-BLTD9g1p.js","assets/mcp-oauth-CJ3fuseB.js","assets/Play-C1Dc-lf9.js"])))=>i.map(i=>d[i]);
2
- import{e as i,j as e,r as s,l as a,_ as o}from"./index-CiybtfLu.js";import{R as l}from"./require-capability-BJtu48OI.js";import"./use-capability-B0pYY0r2.js";import"./access-gate-DACRNgiY.js";import"./capability-load-error-C8q5gpVF.js";const m=s.lazy(()=>o(()=>import("./registry-layout-Bw_kbjOh.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46])));function f(){const r=i.c(1);let t;return r[0]===Symbol.for("react.memo_cache_sentinel")?(t=e.jsx(l,{capability:"registry:manage",area:"the registry",children:e.jsx(s.Suspense,{fallback:e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsx(a,{size:20,className:"animate-spin text-muted-foreground"})}),children:e.jsx(m,{})})}),r[0]=t):t=r[0],t}export{f as default};
@@ -1 +0,0 @@
1
- import{p as c}from"./header-tab-button-BOKDj9bu.js";function t(r){return(e,a)=>{c(e),r(e,a)}}export{t as c};